Skip to content

fix(ci): stabilize responsive overlay interactions - #965

Closed
nocoo wants to merge 12 commits into
mainfrom
fix/ci-cd-20260930-064600
Closed

nocoo wants to merge 12 commits into
mainfrom
fix/ci-cd-20260930-064600

Conversation

@nocoo

@nocoo nocoo commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

Current verification (2026-10-01): ordinary CI 36796771419 passes all 261 cases on the first attempt. Stress 36796811662 fails all five cells on the normal-motion WebKit dialog-close assertion; cell 5 also has a card-visibility flake before interaction. All newly added touch and reduced-motion regressions pass first-attempt in all six reports. This Draft remains blocked; no merge or post-merge verification has occurred.

Outside touch can close a card menu, restore its trigger focus, then generate a compatibility mousedown that removes that focus. The supported outside-pointer callback now cancels the original primary touch PointerEvent default while allowing normal immediate Radix dismissal. It does not cancel the custom dismissal event or depend on a later click. Mouse, keyboard and non-primary behavior are preserved.

Creation-dialog content also honors reduced motion in both open and closed states. The existing app override now keeps class-plus-attribute specificity against the normal entrance rule and overrides the higher-specificity closed-state utility. A regression using the actual built CSS fails on the old closed-state animation and passes with the correction, while normal entrance/exit animation and real Escape/focus behavior remain verified. No normal animation is disabled.

The branch also isolates globally unique fixture slugs, retains complete per-width keyboard checks and same-page resize continuity, and separates runtime-motion behavior from an overloaded compound case. Overlay failure attachments distinguish assertion-catch from after-test-function because automatic failure screenshots precede afterEach. All original timeouts, retries, four CI workers, motion behavior, exact selection assertion and flaky-test gates remain unchanged.

Validation on this correction: a native held-touch regression reproduces lost trigger focus after touchEnd with original application behavior; the corrected light/dark cases pass. Existing Chromium and macOS WebKit card interactions pass 50/50 on their first attempt. Normal hooks pass 3,492 unit tests, 197 in-process integration tests, types, lint and secret scan. All 259 prior candidate cases remain plus two browser reduced-motion CSS regressions, total 261. Normal push runs 222 real HTTP tests and root dependency scanning; separate root/Worker/CLI scans report no issues.

Source evidence: https://github.com/nocoo/zhe/actions/runs/36357254553 (stable main Stress), https://github.com/nocoo/zhe/actions/runs/36790306239 (native touch focus race), https://github.com/nocoo/zhe/actions/runs/36793727979 (superseded click-wait regression), https://github.com/nocoo/zhe/actions/runs/36795187899 (all card/touch cases first-pass; separate normal-motion pending exit and reduced-motion cascade failure). All commits are retained; the superseded listener state machine is removed in the current tree.

Pointer cancellation suppresses compatibility mouse events, not click/auxclick/contextmenu. The native regression verifies actual focus behavior; this is not a general guarantee against background activation. Current-head ordinary CI and all five Stress reports must show all 261 cases passing on the first attempt before merge, followed by fresh main verification. The separate hosted WebKit normal-motion pending-exit issue remains unproven, and the PR stays Draft while gates are unresolved. No workflow, secret or environment protection is changed.

@nocoo nocoo changed the title fix(ci): synchronize mobile overlay verification fix(ci): isolate responsive overlay verification Sep 30, 2026
@nocoo
nocoo marked this pull request as draft September 30, 2026 01:04
@nocoo nocoo changed the title fix(ci): isolate responsive overlay verification fix(ci): isolate overlay fixtures and trace failures Sep 30, 2026
@nocoo nocoo changed the title fix(ci): isolate overlay fixtures and trace failures fix(ci): stabilize responsive overlay checks Sep 30, 2026
@nocoo nocoo changed the title fix(ci): stabilize responsive overlay checks fix(ci): stabilize responsive overlay interactions Sep 30, 2026
@nocoo nocoo closed this Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant