From e5762a59d6c205db87383e9f203a4ba0c109dfda Mon Sep 17 00:00:00 2001 From: nntrivi2001 Date: Sat, 3 Oct 2026 12:16:41 +0700 Subject: [PATCH] fix(run): hide the terminal's dead xterm viewport scrollbar The rule hiding .xterm-viewport's scrollbar lived in @layer utilities, where Tailwind purges any class that never appears in the source. xterm creates that element at runtime, so the rule never shipped and an empty scrollbar groove showed beside every terminal. Move it out of the layer. --- client/src/index.css | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/client/src/index.css b/client/src/index.css index 451e2a2f..a0148945 100644 --- a/client/src/index.css +++ b/client/src/index.css @@ -463,18 +463,6 @@ display: none; } - /* The run console's terminal attaches to tmux, which repaints the whole pane - on every frame — xterm's own scrollback stays empty forever, so its - viewport scrollbar renders as a groove with no thumb that never moves. - Scrolling there goes through mouse reports to the pane's program, not the - DOM, so hide the dead affordance. */ - .xterm-viewport { - scrollbar-width: none; - } - .xterm-viewport::-webkit-scrollbar { - display: none; - } - /* Visually hidden until focused — first Tab lands here before the sidebar. */ .skip-to-content { position: absolute; @@ -651,3 +639,17 @@ .md-preview img { max-width: 100%; } + +/* The run console's terminal attaches to tmux, which repaints the whole pane + on every frame — xterm's own scrollback stays empty forever, so its + viewport scrollbar renders as a groove with no thumb that never moves. + Scrolling there goes through mouse reports to the pane's program, not the + DOM, so hide the dead affordance. Deliberately OUTSIDE `@layer utilities`: + Tailwind purges a layered rule whose class never appears in the source, and + xterm creates `.xterm-viewport` at runtime. */ +.xterm-viewport { + scrollbar-width: none; +} +.xterm-viewport::-webkit-scrollbar { + display: none; +}