Skip to content

Constrain macOS overscroll to conversations#1317

Open
thomaspblock wants to merge 1 commit into
mainfrom
brain/overscroll-boundary-lock
Open

Constrain macOS overscroll to conversations#1317
thomaspblock wants to merge 1 commit into
mainfrom
brain/overscroll-boundary-lock

Conversation

@thomaspblock

Copy link
Copy Markdown
Collaborator

Summary

  • add a root webview wheel-boundary lock so non-conversation chrome cannot chain wheel gestures to the WKWebView viewport and rubber-band the whole app
  • lock html, body, and #root to the viewport with hidden overflow / no overscroll behavior
  • mark the real conversation scrollers (main timeline and thread panel), keeping any allowed elastic affordance scoped to conversations
  • add a smoke E2E test covering top chrome, sidebar pinned/nav area, channel header, and conversation timeline behavior

Verification

  • corepack pnpm --dir desktop typecheck
  • corepack pnpm --dir desktop lint
  • corepack pnpm --dir desktop exec playwright test tests/e2e/overscroll-boundary.spec.ts --project=smoke
  • corepack pnpm --dir desktop build

Verification video: https://sprout-oss.stage.blox.sqprod.co/media/5f9ff3dfdecea8b6e04d27146e9ea8b4b5c1925a04ec6019a53264373c4a2019.mp4

Draft while Thomas manually verifies the macOS trackpad/mouse feel in the staging dev app.

Co-authored-by: Thomas Petersen <thomasp@squareup.com>
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
@thomaspblock thomaspblock force-pushed the brain/overscroll-boundary-lock branch from f505b25 to 0c719f6 Compare June 26, 2026 23:27
@thomaspblock thomaspblock marked this pull request as ready for review June 26, 2026 23:51
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