Repository navigation
Preserve chosen editor focus when initial autofocus is delayed - #201
Conversation
🧪 Comprehensive Test Suite
Full-stack smoke gate runs in the CI workflow. |
|
Frozen head The browser runtime was frozen throughout; the only concurrent fixture change replaced a test-only TypeScript callback alias and added the incident documents. Runtime CI 40584709399 remains pending; Node 22/24 + installer checks 40584709580 passed. No integration claim yet. |
|
Dev integration preflight: exact reviewed/tested head Final CI 40584709399 and Node 22/24 + installer checks 40584709580 passed. Actual smoke log: 6 smoke, 44 new-user, 27 mobile, 3 effects, 3 performance, zero failed/flaky/skipped required cases; real-Neo4j contract passed. Main/nightly production job is inapplicable. Proceeding with the standing-authorized exact-head admin merge into dev, not a non-author GitHub approval. Protections and main remain unchanged. Parent/tree verification and final post-merge branch CI are required before #200 closeout. |
|
Integrated through the standing administrative dev-only authorization; independent agent review was used and is not represented as a non-author GitHub approval. Verified remote dev merge Post-merge CI 40588871284 and Comprehensive 40588871695 succeeded. Actual browser results: smoke 6, new-user 44 (732.2s), mobile 27, living effects 3, performance 3; no required skipped/flaky cases. Supported-Node unit jobs and installer/deploy-config passed; the main-only production-stack job is intentionally inapplicable to dev. The regression proved delayed initial focus cannot steal focus already chosen inside or outside the editor; old hook failed two cases while four controls passed. Corrected local component 6/6 and real personas 6/6 passed. Closing #200 for the verified dev fix; this is not a main promotion or live deployment. Owned fixtures remain isolated while the related stack is still under test; the original localhost app and other agents’ worktrees are untouched. |
When quick edit opens and its first animation frame is delayed, initial autofocus can move from the selected status-note field to the title while typing. The note is lost into the title and Add stays disabled. Deferred autofocus now preserves an already focused dialog field or a deliberate focus change elsewhere, while retaining normal first-field focus and keyboard trapping. Fixes #200; unblocks the observed failures in #195 and #197.
The regression renders the actual portaled quick editor with a controlled animation-frame queue. On the unmodified hook, both focus-preservation cases fail and four normal-focus/keyboard/unmount controls pass. With the correction all six pass, including unchanged title and a note-only metadata commit. No retries, sleeps or longer action timeouts were added.
Base: dev
97dc8849db8f257ffa88ab790c4452a8022eeaa6; initial frozen head367e8228748670a790b93c8d94cad7804d4a9bc9. Clean install and initial build/types passed. The initial lint failure on the fixture's DOM callback type is corrected with an explicit local type. Final build/types/lint/full-web/harness, real desktop/phone persona workflows, independent review and exact-head CI are pending. Original failed CI and deterministic negative controls are retained.This changes no authentication policy or dependency. The lesson/index records the incident and its limits; hosted acceptance and full LOD completion remain separate.