fix(web): remove the terminal pane's app-canvas gutter - #6222
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
The terminal viewport was wrapped in a `p-1` div and clipped to `rounded-[4px]` over `bg-background`. In themes whose terminal surface differs from the app canvas -- an imported VS Code light theme, say, where `--terminal-background` is #f6f8fa and `--background` is #ffffff -- that gutter and those corner nubs rendered as a light frame around the pane. The gutter before the terminal tab sidebar showed the same seam. The gutter was never intentional breathing room: the surface already insets its grid by `CONTENT_PADDING` (4px) inside the canvas, and the renderer fills the whole canvas with the terminal background on every frame. The DOM padding just stacked a second inset in the wrong color. Drop the padding and the rounding, and paint the mount and the terminal row with `--terminal-background` so the sidebar gutter and any sub-cell sliver at the right or bottom edge match the terminal instead of the canvas. Stock light and dark themes are unaffected: they define `--terminal-background: var(--background)`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
f82d9cc to
b2d4ab2
Compare
ApprovabilityVerdict: Approved b2d4ab2 CSS-only changes removing padding classes and updating background color references. No logic or runtime behavior changes beyond visual appearance - classic minor UI adjustment. You can customize Macroscope's approvability policy. Learn more. |
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> (cherry picked from commit 105cd5e)
## What's Changed * fix(desktop): stop automatic passkey prompts by @t3dotgg in pingdotgg/t3code#7522 * fix(web): align version text with its label by @RakshithBhat03 in pingdotgg/t3code#7521 * fix(web): refresh open file with the file tree by @StiensWout in pingdotgg/t3code#7490 * Add OpenCode skill discovery by @dbalders in pingdotgg/t3code#3154 * feat(web): unify workspace navigation by @maria-rcks in pingdotgg/t3code#7153 * fix(web): hide opencode's plan agent when legacy plan mode is off by @UtkarshUsername in pingdotgg/t3code#6420 * feat: refine thread action menus by @maria-rcks in pingdotgg/t3code#7476 * feat(web): redesign usage insights by @maria-rcks in pingdotgg/t3code#7147 * fix(server): outdated gh no longer reads as "not authenticated" by @t3dotgg in pingdotgg/t3code#7588 * fix(desktop): refresh queued updates before install by @SunkenInTime in pingdotgg/t3code#6269 * feat(web): confirm before closing a terminal by @maria-rcks in pingdotgg/t3code#7592 * feat(web): refresh pull request details by @maria-rcks in pingdotgg/t3code#7148 * fix(web): usage hourly breakdown lists every hour chronologically by @lgwacker in pingdotgg/t3code#7595 * fix(web): remove the terminal pane's app-canvas gutter by @jakeleventhal in pingdotgg/t3code#6222 * feat(web): attach composer state drawers by @maria-rcks in pingdotgg/t3code#7150 * fix(server): preserve tool lifecycle identity by @maria-rcks in pingdotgg/t3code#7151 * chore(desktop): use stable Clerk Electron release by @t3dotgg in pingdotgg/t3code#7602 **Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260819.1133...v0.0.34-nightly.20260820.1139 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34-nightly.20260820.1139
Bring in T3 Code pingdotgg#7148 pingdotgg#7595 pingdotgg#6222 pingdotgg#7150 pingdotgg#7151 pingdotgg#7602 pingdotgg#7152 so the fork is not behind pingdotgg/t3code:main. Co-authored-by: Cursor <cursoragent@cursor.com>
Demo
Problem
In a theme whose terminal surface differs from the app canvas, the terminal pane is framed by a light seam:
TerminalViewport's mount was wrapped in ap-1div, so 4px of--backgroundshowed on all four sides of the pane.rounded-[4px] bg-backgroundunderoverflow-hidden, so the clipped corners exposed the canvas color as four nubs.gap-1.5gutter before the terminal tab sidebar showed the same canvas color.Stock light and dark themes hide this because they define
--terminal-background: var(--background). It only surfaces on themes that set the two independently — e.g. an imported VS Code light theme withterminal.background: #f6f8faovereditor.background: #ffffff.Why the gutter is not needed
The terminal already has breathing room, inside the canvas and in the terminal's own color:
apps/web/src/terminal/ghostty/surface.tsinsets the grid byCONTENT_PADDING(4px).apps/web/src/terminal/ghostty/renderer.tsfills the entire canvas with the terminal background on every full repaint.The DOM
p-1was a second 4px inset stacked on top of that one, in the app canvas color — the only one that could ever read as a frame.Change
p-1from both the split and single-terminal wrappers.rounded-[4px]and paint the mount with--terminal-background, so a sub-cell sliver at the right or bottom edge (the grid rounds down to whole cells) matches the terminal rather than the canvas.--terminal-backgroundso the sidebar gutter matches too.Validation
Reproduced with an imported VS Code light theme (
terminal.background: #f6f8fa,editor.background: #ffffff), driving the real app in a browser and measuring the mount rect against the drawer rect:border-tPixel samples at the pane's bottom-left corner:
#ffffffacross the 4px band before,#f6f8fathroughout after. Sidebar gutter:#ffffffbefore,#f6f8faafter.Checked in the app across single-terminal, split view with the tab sidebar, built-in light, and built-in dark — every pane edge samples to a single uniform color, with no contrasting frame.
@t3tools/webtypecheck clean; 2199 tests pass.🤖 Generated with Claude Code
Note
Low Risk
Pure CSS/layout tweak in the terminal drawer UI with no logic, auth, or data-handling changes.
Overview
Removes the app-canvas gutter around the terminal pane so themes with a distinct
--terminal-backgroundno longer show a light frame.Drops the
p-1wrappers aroundTerminalViewport(single and split) and paints the mount/flexcontainer with--terminal-backgroundinstead ofbg-background+rounded-[4px]. The terminal already insets content viaCONTENT_PADDING, so the DOM padding was a redundant second inset in the wrong color.Reviewed by Cursor Bugbot for commit b2d4ab2. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
[!NOTE]
Remove gutter padding and rounded corners from the terminal pane
Removes
p-1padding from the inner terminal containers inThreadTerminalDrawerand drops therounded-[4px]class fromTerminalViewport, eliminating the visible gutter around the terminal canvas. Both components now usebg-[var(--terminal-background)]for consistent background coloring.Macroscope summarized 33573c2.