Replies: 2 comments 1 reply
|
The pain is real — I've hit exactly this wall as an out-of-tree plugin author (I maintain several
Your
The fact that you've already built the full change (tests, regenerated slot/inspect dirs, |
|
Update, and a correction to my own reply above: this landed upstream while the thread was open, and my comment cites code that is gone. Two commits did it, both within two days of this thread opening:
The right column is now a docking-kit pane system, and the keyed dispatch this thread asked for is in it — one layer further in, and with more than I proposed. The header of
So the seats a resident-panel plugin now has, without any change to the tree:
That answers both of the flags in the comment above, and answers them better than the migration I proposed: nothing has to displace a shipped seat, and an out-of-tree panel is the designed case rather than a workaround. Withdrawing the proposal — the branch is 1301 commits behind and edits an API that is gone, so I am not rebasing it. Thanks for the careful read. Sorry it pointed at a moving target. |
Uh oh!
There was an error while loading. Please reload this page.
树外插件(以
dsh plugin --profile web add装进 profile 的 bundle)目前没有办法在右侧拿到一块自己的常驻面板:details是kind: 'single'的会话槽,被 ui-chat 的DetailsPanel占用,且它在内部声明了conversation.details.tool。动态 entry 的优先级低于随产品发布的 entry,第二个注册赢不到 cell;即便赢到,也会连带删掉工具详情和那个座位。生成的 Client catalog 把该槽位标为shadows-shipped-ui。shell.overlay是根作用域、点击穿透、不参与列宽让渡、收不到会话标准 props,只能覆盖在对话上,不是并列一栏。提议把
details改成keyed:一列多面板、按面板 id 分发。ctx.layout.openDetails(panel)打开列并选中面板;ui-chat 的工具详情占固定 keytool,conversation.details.tool子槽保留;注册新 key 的面板在它旁边新增而不是替换。关闭只清宽度、保留面板 id,因此关闭的列仍以零宽挂载同一面板,重开回到原面板,与现有行为一致。工具详情路径的可见行为不变。已在 fork 上做成完整改动(含测试、重生成的 slot / inspect 目录、
docs/subsystems/slots.md、Agent Note 及双语配对),基于 master d347e70:公开仓库不接受外部 PR,所以放在这里。如果维护者愿意收,我可以按你们内部流程整理成需要的形式。
All reactions