修复 · Bug fixes
- 修复在 dsh 0.1.3-alpha.2 及更高版本上「点击专注按钮没有反应」:官方原语模块
@deepseek-ai/dsh-client-ui-primitives自该版本起移除了MessageText组件,插件仍导入它,得到的是undefined,于是专注遮罩一渲染到含用户消息的会话就抛 React #130,被错误边界接住——状态已进入专注,遮罩却没挂载。现改用官方projectUserText投影渲染用户/steering 文本;它自 0.1.2-rc.1 起持续导出,尾部参数可选,一个调用即覆盖所有受支持版本。
Fix "clicking the Focus button does nothing" on dsh 0.1.3-alpha.2 and later: the official primitives module removed theMessageTextcomponent, so the stale import wasundefinedand the overlay threw React #130 the moment it rendered a session containing a user message — the focus state flipped but the overlay never mounted. User and steering text now render through the officialprojectUserTextprojection (exported continuously since 0.1.2-rc.1, trailing args optional), covering every supported release with one call. - 新增回归 e2e
tests/e2e/header-toggle.mjs:打开有历史记录的会话、点击真实表头按钮,断言遮罩挂载且用户气泡渲染。旧的input-caret.mjs用空会话 +F热键,没有用户消息行,覆盖不到这条路径,所以此前一直漏检。该用例在旧导入上已验证为红,修复后转绿。
New regression e2etests/e2e/header-toggle.mjs: opens a stored session with history, clicks the real header button, and asserts the overlay mounts and a user bubble renders. The oldinput-caret.mjsused a blank session plus theFhotkey, which has no user rows and could not reach this path, so it never caught the bug. The loop was verified red on the stale import and green after the fix.
版本兼容性 · Version compatibility
| dsh 版本 · dsh release | 插件 ≤ 0.12.2 · plugin ≤ 0.12.2 | 插件 0.12.3 · plugin 0.12.3 |
|---|---|---|
| 0.1.2 系列(含 0.1.2-rc.1)· 0.1.2 line (incl. 0.1.2-rc.1) | ✅ 正常 · works | ✅ 正常 · works |
| 0.1.3-alpha.1 | ✅ 正常 · works | ✅ 正常 · works |
| 0.1.3-alpha.2 – 0.1.5-alpha.2 | ❌ 进入专注即崩溃(按钮无反应)· crashes on entering focus (button does nothing) | ✅ 正常 · works |
| 0.1.5-rc.1 | ❌ 同上 · same | ✅ 正常 · works |
- 分界点是
MessageText组件在@deepseek-ai/dsh-client-ui-primitives中被移除(0.1.3-alpha.2);替代品projectUserText自 0.1.2-rc.1 起一直存在,这也是本次修复能兼容全版本区间的原因。
The boundary is the removal of theMessageTextcomponent from@deepseek-ai/dsh-client-ui-primitivesin 0.1.3-alpha.2; its replacementprojectUserTexthas existed since 0.1.2-rc.1, which is why the fix covers the whole supported range. - 受影响组合的症状有个迷惑性:空会话不受影响(没有用户消息行),所以表现为「新建会话时按
F能进专注,但在有内容的会话里点按钮/按F就没反应」。受影响用户升级到 0.12.3 即可。
The affected combination has a misleading symptom: blank sessions were unaffected (no user rows), so it looked like "Fworks on a new session, but on a real session the button orFdoes nothing". Upgrading to 0.12.3 resolves it. package.json的dsh.compatibility.dshReleases现显式声明0.1.5-rc.1: compatible;该字段仅供插件商店展示,DSH 与 dshmarket 都不读取它,因此它不会拦截插件加载,此前版本被拦截也并非由此字段造成。
dsh.compatibility.dshReleasesnow explicitly lists0.1.5-rc.1: compatible. The field is informational for the plugin storefront — neither DSH nor dshmarket reads it, so it does not gate plugin loading, and it was not the cause of any earlier blocked load.
Full Changelog: v0.12.2...v0.12.3