fix(web-shell): clear scrollbar-gutter in collapsed sidebar rail (#12453) (#12652)

* fix(web-shell): clear scrollbar-gutter in collapsed sidebar rail (#12453)

Resubmission of #12454 (closed: commits qwen-dist-backup-* junk).
Single-line source change per maintainer guidance: .body reserves
scrollbar-gutter: stable, which keeps a scrollbar-width gutter in the
collapsed rail where no scrollbar can appear, offsetting the newTaskNav
icon from its siblings. Clear it in .collapsed .body.

* fix(web-shell): hide the scrollbar inside the collapsed rail (#12652 R1)

Pair scrollbar-gutter: auto with scrollbar-width: none plus a
::-webkit-scrollbar reset: the collapsed rail's content box is 32px,
and once the session list overflows a visible scrollbar would re-take
the 8px (per globals.css) and re-create the exact icon offset this PR
fixes — plus overflow-x: hidden would clip the buttons. Non-blocking
gap called out in the PR triage; closed here.

---------

Co-authored-by: Shaojin Wen <[email protected]>
This commit is contained in:
holnyandShaojin Wen authored and GitHub committed 2026-09-26 13:52:13 +00:00
1 parent aeecd59549
commit 939b4db6bc
1 file changed
+9
@@ -1888,6 +1888,15 @@ button.livePendingSession:hover {
margin-right: 0;
padding-right: 0;
margin-bottom: 220px;
scrollbar-gutter: auto;
/* A visible scrollbar inside the 32px rail has no value and would
re-take layout width (re-creating the icon offset) the moment the
session list overflows — hide it so the content box stays stable. */
scrollbar-width: none;
}
.collapsed .body::-webkit-scrollbar {
display: none;
}
.collapsed .newTaskNav {