Skip to content

Fix carousel explicit selection being overwritten by scroll sync#9

Draft
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/critical-bug-investigation-af48
Draft

Fix carousel explicit selection being overwritten by scroll sync#9
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/critical-bug-investigation-af48

Conversation

@cursor

@cursor cursor Bot commented May 29, 2026

Copy link
Copy Markdown

Bug and impact

Clicking or keyboard-selecting carousel tabs could settle on the wrong Core Areas tab after smooth scrolling. Reproduced on the current branch: at 480px/640px, selecting AI Penetration Testing reverted to Thick Clients; at 1024px, selecting Thick Clients reverted to Web3 / Blockchain Security.

Root cause

The debounced scroll-sync handler treated the browser's programmatic scrollIntoView() movement from explicit selection as passive user scrolling, then recomputed the active tab from the carousel center and overwrote the user's selected tab.

Fix

Suppress scroll-sync while a programmatic carousel scroll is in progress, clear suppression on scrollend or timeout, and initialize the active tab without generating synthetic scroll work. The cleanup guard preserves normal passive scroll-sync behavior.

Validation

  • Headless Chrome click sweep across 280/320/375/480/640/768/1024 for all Core Areas tabs: no mismatches.
  • Headless Chrome keyboard ArrowRight sweep at 480 and 1024: no mismatches.
  • Headless Chrome passive scroll-sync sweep at 375/480/1024: no mismatches.
  • Static integrity check passed for 5 HTML files, 28 local refs, and 2 inline scripts.
Open in Web View Automation 

cursoragent and others added 3 commits May 29, 2026 11:03
Co-authored-by: pa7ch3s <Pa7ch3s@users.noreply.github.com>
Co-authored-by: pa7ch3s <Pa7ch3s@users.noreply.github.com>
Co-authored-by: pa7ch3s <Pa7ch3s@users.noreply.github.com>
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