Skip to content

Fix issue #500: prevent hidden quicktype dialog overlay from intercepting clicks#504

Merged
thehabes merged 2 commits intomainfrom
500-page-selector-overlay-blocker
Mar 10, 2026
Merged

Fix issue #500: prevent hidden quicktype dialog overlay from intercepting clicks#504
thehabes merged 2 commits intomainfrom
500-page-selector-overlay-blocker

Conversation

@cubap
Copy link
Copy Markdown
Member

@cubap cubap commented Mar 10, 2026

This PR fixes a click interception path where the quicktype dialog overlay could remain interactive beyond intended visibility. The patch adds explicit force-close lifecycle cleanup and tightens pointer-events so the overlay only accepts pointer input while visually shown.

Closes #500

Handle immediate dialog teardown and interaction blocking: register a 'tools-dismiss' listener to call closeNow, call closeNow during disconnectedCallback, and add a closeNow() method that clears any close timeout, removes 'show' classes from overlay/container, and invokes overlay.close(). Also update CSS to disable pointer events by default and enable them only when .show is present so the hidden overlay doesn't intercept clicks.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 10, 2026

@cubap
Copy link
Copy Markdown
Member Author

cubap commented Mar 10, 2026

Implementation details

  1. Added tools-dismiss listener to force-close dialog state.
  2. Added closeNow helper to immediately clear classes, timeout, and dialog open state.
  3. Added disconnect-time force close.
  4. Set dialog overlay pointer-events none by default and pointer-events auto only in visible show state.

Verification

  1. Diagnostics: no file errors in modified file.
  2. Manual test checklist:

Open transcription with multipage project

  1. Open/close quicktype dialog repeatedly
  2. Toggle tools and dismiss
  3. Confirm page selector remains clickable
  4. Confirm no hidden overlay captures pointer events in DevTools

Scope and safety

  1. Single-fix PR only for issue Cannot use page selector on transcription interface #500.
  2. No changes to role-management, privacy, or token/localStorage tracks.

Copy link
Copy Markdown
Member

@thehabes thehabes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I confirm that main still has the bug, and that this branch fixes it. No issues found during static review and manual testing.

@thehabes thehabes merged commit 626ca15 into main Mar 10, 2026
3 checks passed
@thehabes thehabes deleted the 500-page-selector-overlay-blocker branch March 10, 2026 15:46
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.

Cannot use page selector on transcription interface

2 participants