You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Motivation
左上角侧边栏的「全局面板」导航(
插件 / 自动化任务 / 任务看板 / 上下文洞察 / 工作台 / 知识平台 / …)目前由侧边栏 shell 独占渲染,每装一个带 Web 面板的插件就多一行。面板一多,这一列会持续变长、挤占下方的工作区/会话区,用户既不能折叠它,也不能分组或自定义顺序。现有槽位模型下第三方插件无法改善这一点:
sidebar.panellist贡献图标,shell 用panels.map(...)直接铺开,导航区没有任何可注册的子洞;sidebar本身是 single 座位,第三方低优先级注册会加载冲突,或被迫整列重绘、丢掉工作区树/搜索/底部设置等 shell 行为;sidebar.workspaces被dsh-better-workspace整区替换),唯独这块没有等价入口,折叠/排序/分组这类增强只能改核心。Behavior
希望上游为「全局面板」导航区提供一个插入点,使插件可以折叠/分组/排序该区,同时默认行为不变。符合现有槽位纪律的候选方案(择一即可):
sidebar.workspaces的注册/接管机制),接管方负责渲染列表结构与折叠控件,行图标仍由sidebar.panellist贡献;sidebar.panellist.header(或同级子洞),只让插件渲染区头/折叠按钮,行渲染仍留在 shell;折叠状态由占用方持有;期望的用户可见结果:可折叠(收起的行不占高度,偏好可持久化在浏览器)、可分组或排序,官方默认外观与键盘/无障碍行为不变;不安装插件时无任何变化。
参考实现
我在本地核心
packages/client/ui-sidebar上做了一版最小折叠实现作为可行性参考:在面板列表上加一个分节头按钮(aria-expanded),折叠偏好写localStorage,窄 rail 下仍展示全部图标;包内单测 +test:gui+SNAPSHOT=replay的lifecycle-chrome均通过,golden 仅增量一行。如果上游倾向其中某个方向,我可以按设计调整并提 PR。All reactions