Replies: 3 comments
|
Confirmed against rc.2 source at b150a55: the report identifies the correct scroll-owner gap. The content column already uses the complete pattern on .options; the nav list does not. The important part is keeping all three declarations together on .navList: flex: 1 allocates the remaining column height, min-height: 0 allows the flex child below min-content size, and overflow-y: auto creates the bounded scrollport. Scrolling .nav would move the Settings title; unclipping or scrolling .panel would couple both columns and the close action. I would add a many-section regression that proves scrollHeight > clientHeight, scrolls the final button into view, activates it by pointer and keyboard, and checks short viewport / 200% zoom. The test should target an owned locator rather than a generated CSS-module class. Detailed source trace, containment, test matrix, and partial-fix router: https://github.com/sandbaseai/deepseek-harness-handbook/blob/main/docs/en/troubleshooting/settings-plugin-nav-overflow.md |
|
I implemented and independently verified the minimal scroll-owner fix against official
The patch keeps the Settings title outside the scrollport and adds the complete The assembled-browser regression uses the four shipping section rows at a 900×260 viewport. It traverses backward from Close to the final row, proves focus scrolls that row fully inside the nav list, then activates it with Enter. Rebuilding the prior CSS is a causal negative control: Verification at the exact head: focused browser regression 1/1; settings package 44/44; scrollbar contracts 21/21; independent full GUI run 3,997 passed / 1 skipped; client typecheck, package/web builds, full lint, bilingual docs, translation pairing, links, change-scope, and diff checks all passed. |
|
Quick status check — I'm hitting the exact same issue on current official master. Is there an open PR for the fix yet, or is it still in progress? Happy to test/review a branch if one is available. |
Uh oh!
There was an error while loading. Please reload this page.
Environment
0.1.1-rc.2settings.sectionentry.Problem
The Settings page is a centered modal panel. Its left rail lists General / Models / Plugins / Agent Presets plus one entry per plugin that registers a
settings.section. When the number of entries grows, the nav list overflows the panel bottom:So a user who installs many plugins literally cannot reach the bottom entries in the Settings nav.
Root cause
File:
packages/client/ui-settings-general/src/client/SettingsRoot.module.css(compiled class names shown)..panel(→.VOzbGW_panel):display:flex; ...; overflow:hidden.nav(→.VOzbGW_nav):flex-direction:column; ...; display:flex— nooverflow-y.navList(→.VOzbGW_navList):flex-direction:column;gap:4px;display:flex— no flex growth / no scrollBecause the panel is
overflow:hiddenand the nav list neither grows nor scrolls, when.navListcontent exceeds the panel height the extra entries are simply cut off and no scrollbar appears.Suggested fix
Let the nav list grow and scroll while keeping the panel title fixed:
flex: 1lets the list fill the remaining height of the stretched nav columnmin-height: 0allows it to shrink below its content (the flexbox scroll requirement)overflow-y: autoshows a scrollbar only when entries overflowWith few entries the layout is unchanged (no regression — list is top-aligned with empty space below, exactly as before). The nav rail is
188pxwide, which already works for this pattern. Optionally add a smallpadding-bottomto.navListso the last item is not flush to the bottom edge when scrolled fully down.I verified this on
0.1.1-rc.2: adding the above to.navListmakes the Settings nav scroll correctly and all entries become reachable.All reactions