[Bug/Feature] 设置对话框左侧导航栏在分区较多时溢出被裁切:navList 不可滚动 #6710
turbidsoul
started this conversation in
Ideas
Replies: 1 comment
|
补一条相关线索 + 当前状态同步。 这是重复报告:同样的问题在 #4729 已经报过(2026-08-27),而且已经有一份对着官方 master 验证过的修复分支:
那份修复加的是 当前状态:我刚同步到官方 master .navList {
display: flex;
flex-direction: column;
gap: 4px;
}没有任何 关于提 PR: 想请问一下是否有已知的排期或计划? |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
环境
0.1.5-rc.2(Windows / Node 24,vfox 全局安装)现象
Web GUI 设置对话框左侧导航栏,在注册的一级
settings.section变多以后,超出面板高度的条目被直接裁掉——既看不到也点不到,只能靠插件少的时候才切得到后面的分区。根因定位
设置对话框外壳在
packages/client/ui-settings-general/src/client/SettingsRoot.module.css(构建产物为@deepseek-ai/dsh-client-ui-settings-general/lib/client.js里的.VOzbGW_*),DOM 结构:.VOzbGW_panel是overflow:hidden,所以溢出的部分不是"藏起来",而是彻底不可达。.VOzbGW_navList既没有overflow,也没有任何高度约束:作为.nav的 flex 子项,它的min-height:auto在overflow:visible下依然生效,于是按内容撑开、冲出.nav,再被.panel裁掉。.VOzbGW_options已经带overflow-y:auto,只有左侧导航没有。复现步骤
settings.section的插件(官方自带的通用设置、模型、插件、Agent 预设,再加社区的皮肤中心、桌面宠物、创意工坊、任务看板、SSH、Git 图谱、技能中心、用量、社区插件等)。min(800px, 100vh - 48px)之后,列表底部的分区就被切掉了。期望行为
左侧导航分区超出可用高度时,导航栏自身可以滚动(右侧内容区已经是这个行为)。
建议修复
给
.navList加overflow-y: auto:补充说明:flex 子项的
min-height:auto只在overflow为visible时生效;一旦写上overflow-y,它按规范解析为0,.navList就会被.nav的高度约束住并产生自己的滚动条,不需要再额外加min-height: 0。两种取舍:
overflow加在.navList(上例)。overflow加在.nav上,并给.navList去掉可能的约束。目前用户侧只能这样绕行
直接改构建产物:
.../@deepseek-ai/dsh/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js,把改成带
;overflow-y:scroll的版本。问题是:0.1.5-rc.2就被还原,需要重新打);[class*="_navList"]这类 CSS Module 哈希兜底选择器去打补丁(例如移动端适配层已经在这么做),说明这里确实缺一个官方的样式出口 / 稳定锚点。English summary
The settings dialog's left section nav overflows and gets clipped once many plugins register top-level
settings.sectionentries..VOzbGW_navListhas nooverflow(and no height constraint), while the sibling content pane.VOzbGW_optionsalready usesoverflow-y: auto. Suggested fix: addoverflow-y: autoto.navList— themin-height: autoof a flex item only applies whileoverflowisvisible, so this alone bounds the list and makes it scroll.All reactions