Skip to content

fix(desktop): include action buttons in tab bar scroll area#1439

Merged
Kitenite merged 3 commits into
mainfrom
kitenite/top-bar-scroll-should-include-button
Feb 12, 2026
Merged

fix(desktop): include action buttons in tab bar scroll area#1439
Kitenite merged 3 commits into
mainfrom
kitenite/top-bar-scroll-should-include-button

Conversation

@Kitenite
Copy link
Copy Markdown
Collaborator

@Kitenite Kitenite commented Feb 12, 2026

Summary

  • Terminal, Chat, and dropdown buttons were being pushed off-screen when many tabs were open because they sat outside the scrollable area
  • Moved horizontal scroll from the inner tabs container to the outer GroupStrip wrapper so everything scrolls together

Changes

  • GroupStrip.tsx: Moved overflow-x-auto and scrollbarWidth: "none" from the inner tabs div to the outer container; added shrink-0 to the tabs div so it maintains full width
  • NewTabDropZone.tsx: Changed flex-1 min-w-0 to shrink-0 so the button area doesn't collapse

Test Plan

  • Open multiple terminal/chat tabs until they overflow the top bar
  • Verify scrolling the tab bar also scrolls the Terminal, Chat, and chevron buttons into view
  • Verify buttons don't collapse or clip when near the edge
  • Verify drag-and-drop to NewTabDropZone still works

Move overflow scrolling from the inner tabs container to the outer
GroupStrip wrapper so Terminal, Chat, and dropdown buttons scroll
together with tabs instead of being pushed off-screen.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 12, 2026

📝 Walkthrough

Walkthrough

Moved horizontal scrolling from the inner tabs container to a new outer scroll container (hidden scrollbars) and simplified the inner flex layout; adjusted the drop zone's flex sizing; added dotenv preload in a dev script to load environment variables early.

Changes

Cohort / File(s) Summary
Tab Strip Scrolling Architecture
apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/GroupStrip/GroupStrip.tsx
Replaced inner scrollable container with an outer overflow-x-auto container (also overflow-y-hidden, scrollbarWidth: "none"). Inner tabs container is now a simple flex row without its own overflow; left border retained.
Tab Drop Zone Flex Behavior
apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/GroupStrip/NewTabDropZone.tsx
Changed layout class from flex-1 min-w-0 to shrink-0, preventing the drop zone from expanding to fill available space.
Dev Script: env preload
apps/desktop/scripts/patch-dev-protocol.ts
Added dotenv config call (resolved to top-level .env) to preload environment variables before other script execution (override: true, quiet: true).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐇 I nibbled code and found a scroll,
I nudged the strip to play its role,
Tabs now glide where shadows hide,
The drop zone tucks, all snug inside —
A tiny hop, a clean design, hooray! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: moving action buttons into the scrollable tab bar area to prevent them from being pushed off-screen.
Description check ✅ Passed The PR description includes Summary, Changes, and Test Plan sections with clear, specific details about the problem, solution, and verification steps.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch kitenite/top-bar-scroll-should-include-button

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

The predev script reads SUPERSET_WORKSPACE_NAME but runs before
electron-vite loads the .env file, causing protocol registration
to be skipped.
@Kitenite Kitenite merged commit 7976cf0 into main Feb 12, 2026
6 checks passed
@Kitenite Kitenite deleted the kitenite/top-bar-scroll-should-include-button branch February 12, 2026 09:52
@github-actions
Copy link
Copy Markdown
Contributor

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ⚠️ Neon database branch
  • ⚠️ Electric Fly.io app
  • ⚠️ Streams Fly.io app

Thank you for your contribution! 🎉

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