Skip to content

Preserve disclosure scroll contract after activity UI update#86

Closed
hamzamerzic wants to merge 1 commit into
mainfrom
review/disclosure-scroll-contract-v2
Closed

Preserve disclosure scroll contract after activity UI update#86
hamzamerzic wants to merge 1 commit into
mainfrom
review/disclosure-scroll-contract-v2

Conversation

@hamzamerzic

Copy link
Copy Markdown
Collaborator

Summary

  • restore the disclosure-target gesture guard after the production rapid-toggle spacer update
  • retain the newer per-message WeakMap spacer bookkeeping unchanged
  • add regression coverage proving a disclosure tap does not transfer reader-scroll ownership

Why both mechanisms are required

The WeakMap unwinds provisional spacer state during a later rapid toggle. The gesture guard handles the earlier phase: the initiating disclosure tap must not be classified as reader scrolling, which would defer authoritative layout and allow a second movement. They cover separate races and are complementary.

Reviewed sibling integration

This branch is based on 32ad6f441 (settled activity labels and type glyphs). That sibling UI change was reviewed for live/settled/failure precedence, ordering, accessibility, unknown-tool fallback, and casing; its focused tests pass on this combined tree.

Verification

  • 1,103 frontend lib tests passed
  • 46 frontend hook tests passed
  • 1,149 frontend tests total
  • production Vite/PWA build passed
  • pre-push repository gates passed

An exact combined-tree Playwright run and full GitHub CI are being completed before merge.

@hamzamerzic

Copy link
Copy Markdown
Collaborator Author

Closing per the direct-to-main workflow. The disclosure guard is already included in the reviewed direct-push stack, with added keyboard coverage; the new main activity-label commit is being reviewed and rebased underneath it.

@hamzamerzic

Copy link
Copy Markdown
Collaborator Author

Exact combined-tree browser verification is green.

  • runtime identity: f136410e8e4a
  • disposable production-like Docker stack built from that committed snapshot
  • tests/chat-redesign.spec.mjs: 13/13 passed in 16.7s
  • includes bottom-authority and message-anchor coverage alongside the disclosure ownership regression

No production containers were modified.

@hamzamerzic hamzamerzic reopened this Jul 16, 2026
@hamzamerzic

Copy link
Copy Markdown
Collaborator Author

Superseded by the reviewed direct-to-main landing at 8ecc841, which includes this disclosure guard plus keyboard activation coverage and the related settled-activity state fix. Closing to keep the requested no-PR workflow.

@hamzamerzic

Copy link
Copy Markdown
Collaborator Author

Superseded by the direct main landing in e1af41536 (patch-equivalent to this exact head), with the follow-up keyboard guard in 8fa8996a7. The correction is therefore present on current main; git cherry origin/main f136410e8 reports it as equivalent.

Preserving the completed evidence here: exact-head GitHub CI was fully green after rerun, and the isolated committed-runtime browser suite passed 13/13. Closing only to remove the duplicate open PR.

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