aboutsummaryrefslogtreecommitdiffstats
path: root/CLAUDE.md
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-21 19:53:33 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-21 19:53:33 +0200
commit9f3445d03f106ee3ebd8b4b1bd546a08d9169af7 (patch)
treefabae2b4c9e2fee75a73c5ba1479075be908a584 /CLAUDE.md
parent24b563d0073849d0ba74c3fce9822a70c98e9d9f (diff)
downloadmeshbay-9f3445d03f106ee3ebd8b4b1bd546a08d9169af7.tar.gz
fix: ask in the page instead of native confirm/alert
A native confirm() or alert() leaves the desktop client unable to type until the window is refocused. ask.js draws both in the page; the SPA test now bans all three browser dialogs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md9
1 files changed, 9 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 928d526..708d1ea 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -334,6 +334,15 @@ do. Read them before writing anything that touches the same mechanism.
refused by the policy, which is T3's mitigation demonstrated rather than
asserted
+- **A native `confirm()` or `alert()` breaks typing in the desktop client.**
+ Once the dialog closes `document.hasFocus()` stays false: a click still moves
+ `activeElement` into a field, and every keystroke goes nowhere until the
+ window loses and regains focus. It was reported as "the Create group fields are
+ frozen" after removing a member, and reproduced with real X input under Xvfb.
+ Events dispatched in the DOM cannot see it, because the focus is lost below
+ the page. `ask.js` draws both in the page, and
+ `test_no_native_dialogs_in_the_spa.py` bans all three browser dialogs
+
- **A user unit cannot carry `User=`.** `meshbay-node.spec` installed the system
template into `%{_userunitdir}`, where systemd refuses the file outright — the
packaged unit could never have started, and nothing noticed because nobody had