Skip to content

fix(web): make right panel tabs easier to scroll - #9461

Merged
maria-rcks merged 2 commits into
pingdotgg:mainfrom
maria-rcks:t3code/improve-right-panel-tab-scrolling
Sep 3, 2026
Merged

fix(web): make right panel tabs easier to scroll#9461
maria-rcks merged 2 commits into
pingdotgg:mainfrom
maria-rcks:t3code/improve-right-panel-tab-scrolling

Conversation

@maria-rcks

@maria-rcks maria-rcks commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Horizontal overflow in the right-panel tabs was difficult to navigate with a Mac trackpad and inaccessible to ordinary mouse wheels. The strip now consumes either wheel axis consistently, keeps the Electron drag region away from the scrolling surface, and shows edge-aware scroll arrows only when tabs overflow. Verified with the web typecheck, focused lint and format checks, the existing RightPanelTabs tests, and real-app wheel and arrow passes at desktop and responsive sheet sizes.

Before

t3-tab-scroll-before.webm

After

t3-tab-scroll-after.webm

Built by gpt-5.6-sol in the Codex harness.


Note

Low Risk
Localized UI interaction changes in RightPanelTabs with no auth, data, or API impact; main risk is wheel/drag-region edge cases on Electron.

Overview
Improves horizontal navigation when the right-panel tab strip overflows.

Wheel and trackpad: The tab list viewport now maps the dominant wheel delta (horizontal or vertical) into horizontal scroll, with preventDefault only when scrolling actually moves—so mouse wheels and awkward trackpad gestures can move tabs without relying on hidden scrollbars.

Overflow UI: A ResizeObserver plus scroll listeners track overflow and edge position; when tabs don't fit, left/right chevron buttons appear (disabled at the ends) and scroll by ~75% of the viewport width, respecting prefers-reduced-motion. Active-tab scrollIntoView runs only when overflow is present.

Electron title bar: The window drag region sits on the outer tab bar while the scrollable ScrollArea is marked no-drag, so users can scroll tabs without fighting window dragging on desktop.

Reviewed by Cursor Bugbot for commit 238a84d. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add scroll buttons and wheel-scroll support to RightPanelTabs

  • Adds left and right scroll buttons to RightPanelTabs that appear when tabs overflow, disabling at the scroll boundaries.
  • Adds a non-passive wheel listener to convert wheel input into horizontal tab scrolling, preserving pinch zoom and native page scrolling when no tab scroll occurs.
  • Moves the Electron drag-region from the ScrollArea to the surrounding tab bar, marking the viewport and buttons as no-drag.
  • Risk: The non-passive wheel listener calls preventDefault on the tab viewport in RightPanelTabs.tsx, which could block page scrolling if the container's overflow state changes.

Macroscope summarized 238a84d.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Sep 3, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit b586983. Configure here.

Comment thread apps/web/src/components/RightPanelTabs.tsx
Comment thread apps/web/src/components/RightPanelTabs.tsx
@macroscopeapp

macroscopeapp Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 238a84d

Macroscope's review found this PR approvable — This is a localized right-panel UX adjustment that adds overflow-aware tab scrolling and controls without changing application data, defaults, or broader workflows. The runtime impact is confined to tab navigation and Electron title-bar hit-testing.

You can add or adjust custom eligibility rules. Learn more.

@maria-rcks
maria-rcks merged commit 46e8b1a into pingdotgg:main Sep 3, 2026
26 checks passed
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 4, 2026
## What's Changed
* fix(web): make right panel tabs easier to scroll by @maria-rcks in pingdotgg/t3code#9461
* fix(web): render transparent previews on white by @UtkarshUsername in pingdotgg/t3code#9463
* fix(mobile): show loading and syncing in the working pill by @juliusmarminge in pingdotgg/t3code#9466
* fix(server): keep a/ and b/ prefixes in rendered git patches by @Mnigos in pingdotgg/t3code#9438
* fix(server): full-access OpenCode threads no longer ask for approvals by @shivamhwp in pingdotgg/t3code#9282
* fix(web): reuse pull request list data while loading by @maria-rcks in pingdotgg/t3code#9467
* feat(web): let users turn off composer collapse on blur and scroll by @juliusmarminge in pingdotgg/t3code#9469

## New Contributors
* @Mnigos made their first contribution in pingdotgg/t3code#9438

**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260903.1272...v0.0.39-nightly.20260903.1273

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1273
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant