Skip to content

fix(for-you): the drag reveal starts: a CSS-hidden modal layer is not an open overlay - #668

Merged
kh0pper merged 1 commit into
mainfrom
fix/for-you-drag-overlay-guard
Oct 30, 2026
Merged

kh0pper merged 1 commit into
mainfrom
fix/for-you-drag-overlay-guard

Conversation

@kh0pper

@kh0pper kh0pper commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Why

On the operator's phone, the For You drag reveal (#667) never started. crow-talk.js renders <div id="crow-talk-overlay" role="dialog" aria-modal="true"> into every layout, hidden by CSS until it gets .active. The drag's "a drawer, sheet or dialog is open" guard used [aria-modal="true"]:not([hidden]), which matched that always-present layer on every page, so the drag was refused everywhere.

What changes

  • shell/client.js overlayOpen(): an overlay now counts as open only when it's one of these:
    • an open <dialog>;
    • an aria-modal="true" layer that isn't [hidden], isn't aria-hidden="true", and is actually displayed (computed display isn't none and visibility isn't hidden).

Tests

  • tests/for-you-page.test.js: a new case renders Crow Talk's real overlay shape.
    • Hidden by CSS: the drag lands.
    • .active: no drag.
  • The rig: its default getComputedStyle now models the overlay's CSS.
  • Mutation check: with the old selector, the new case fails.
  • Related files: For You, shell, i18n, crow-talk and the overlay tests pass (377 tests, 0 fail, 1 skipped). The public-hygiene check passes.

https://claude.ai/code/session_01N9fXzvNy8rCEArj1y5p6fp

… an open overlay

On the operator's phone the drag never began. crow-talk.js renders
<div id=crow-talk-overlay role=dialog aria-modal=true> into every layout,
hidden by CSS until .active, and the guard '[aria-modal=true]:not([hidden])'
matched it on every page. Open overlays are now an open <dialog>, or an
aria-modal layer that is actually displayed (computed display and visibility),
not aria-hidden.

Claude-Session: https://claude.ai/code/session_01N9fXzvNy8rCEArj1y5p6fp
@kh0pper
kh0pper merged commit 6c5e863 into main Oct 30, 2026
7 of 8 checks passed
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