Skip to content

fix(desktop): restore panel titlebar interactions - #9591

Merged
maria-rcks merged 2 commits into
pingdotgg:mainfrom
maria-rcks:t3code/fix-panel-controls-and-dragging
Sep 4, 2026
Merged

fix(desktop): restore panel titlebar interactions#9591
maria-rcks merged 2 commits into
pingdotgg:mainfrom
maria-rcks:t3code/fix-panel-controls-and-dragging

Conversation

@maria-rcks

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

Copy link
Copy Markdown
Collaborator

On macOS desktop, the titlebar drag regions swallowed clicks on the panel controls. Moving those controls into the width-animated panel fixed clicks but made the controls disappear and slide in with the panel.

This keeps one viewport-fixed control strip mounted through the full inline-panel transition. Matching no-drag guards inside both titlebar owners keep the strip clickable, while only tabs and the final 112 px control footprint are excluded from dragging.

Verified in the real app with panel animations set to 200 ms. The controls stayed at the same 92 px footprint through open and close at 1280x800 and 1440x900. Maximize/restore, terminal open/close, and right-panel close/reopen all changed state. Web typecheck, focused lint, and formatting also pass.

Right panel open with the stationary maximize, terminal, and panel controls

Implemented with gpt-5.6-sol in T3 Code.


Note

Low Risk
Desktop UI and Electron drag-region styling only; no auth, data, or API changes.

Overview
Fixes Electron cases where right-panel chrome (maximize, terminal, close) stopped receiving clicks and the tab bar blocked window dragging.

ChatView now keys root-level panelLayoutControls on inline right-panel layout (rightPanelControlsAtRoot) instead of “not in sheet titlebar,” and adds a fixed no-drag spacer in WorkspacePageHeader when those controls live at the root so they don’t sit in the draggable titlebar region.

RightPanelTabs moves [-webkit-app-region:no-drag] from the full tab ScrollArea onto each tab row, adds a matching fixed no-drag spacer for native window controls, and leaves the rest of the tab bar draggable for window moves.

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

Note

Fix Electron panel titlebar drag regions and layout control placement

  • Moves panelLayoutControls rendering to the chat view root when a non-sheet right panel is present, falling back to WorkspacePageHeader otherwise.
  • Adds Electron-only fixed non-draggable overlays over native control areas in ChatView.tsx and RightPanelTabs.tsx.
  • Marks individual surface tabs as non-draggable in RightPanelTabs instead of the entire tab-list ScrollArea.
  • Behavioral Change: The tab bar scroll area in RightPanelTabs is now window-draggable in Electron inline mode.

Macroscope summarized 7a9714e.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Sep 4, 2026
Comment thread apps/web/src/components/RightPanelTabs.tsx
@macroscopeapp

macroscopeapp Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 7a9714e

Macroscope's review found this PR approvable — This is a small, self-contained Electron titlebar interaction fix affecting only panel control placement and drag/click hit-testing. It does not change product defaults, application data behavior, or sensitive paths.

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

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 4, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review September 4, 2026 04:52

Dismissing prior approval to re-evaluate 7a9714e

Comment thread apps/web/src/components/RightPanelTabs.tsx
@maria-rcks
maria-rcks merged commit 5783280 into pingdotgg:main Sep 4, 2026
26 checks passed
sheehanmunim added a commit to munimtechnologies/mtcode that referenced this pull request Sep 4, 2026
…tlebar, auth refresh, wordmark)

Brings the fork up to upstream/main f559fe0. Small fixes batch: desktop
panel titlebar interactions (pingdotgg#9591), Connect auth refresh without disconnect
(pingdotgg#9582), sidebar wordmark baseline alignment (pingdotgg#9578), right panel transitions
(pingdotgg#9554), settings sidebar rendering (pingdotgg#9562, pingdotgg#9563), codex restart continuity
(pingdotgg#9560), contributor vouching (pingdotgg#9557), usage proxy dedup (pingdotgg#9584), mobile
markdown images (pingdotgg#8769), antigravity subagent batches (pingdotgg#9579), shell label
syntax (pingdotgg#9371), context meter in compact composer (pingdotgg#9430), disconnected-send
toasts (pingdotgg#9592).

Resolutions (keep-both unless noted):
- ChatComposer: fork voice-session button + showSecondaryStatus kept.
- SettingsSidebarNav: fork MT Teams badge + avatar box kept; upstream Suspense
  wrappers adopted.
- SidebarChrome: fork BrandWordmark kept inside upstream's baseline-aligned
  wordmark row.
- supervisor: upstream fiber-based establishment + replacement loop win (fork
  branches superseded by the auth-refresh rework).

Fork guard script OK.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 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