Skip to content

Windows 上行内工具补位整体失效(exists is not a function),新工具不满足宿主 output 契约 #25

Closed

Description

@morpheus423

dsh-gitbash-shell-0.35.1-issue.md
该报告由dsh生成

Activity

  1. KannaKuron commented on Oct 13, 2026

    @KannaKuron
    Owner

    感谢这份高质量报告——三个 bug 我们逐一核实了,结论如下:

    Bug 1(resolveHostPwsh7() 零参调用)与 Bug 2(output 契约缺失):属实,且已在现行版本修复。 这两个正是 #18(zjh1159086960-crypto)报告的根因一/根因二,修复链是 v0.35.3 → v0.38.4(v0.38.5 完成真机复验,bash 全链路 + 27 工具全量冒烟通过,见 CHANGELOG v0.38.5 与 v0.35.3 条目「the three issue-#18 root causes stay fixed」防回归断言)。你安装的 0.35.1 是修复前的版本——请升级到 0.39.2(现行 latest),行内补位会正常生效。你看到的 npm latest = 0.35.1 应该是安装时的历史状态,现行 registry 的 latest 是 0.39.2。

    Bug 3(SIDEBAR_NS 与真实 row id 不一致):属实,且现行版本仍存在——这是有效的新 bug。 我们已对照 dsh-better-sidebar 官方仓库与 npm 发布包双重确认:其 cordis.patch.yml 的 row id 确为 better-sidebar(第 40 行),而本插件 src/index.js 用 dsh-better-sidebar 作为 settings 命名空间去查询/写入,settings.describe() 永远匹配不到,接管静默失败(与你日志中的 adoption unavailable 一致)。将在下一个版本(v0.39.3)修正。谢谢指出——这条链路此前从未被真机验证命中,失败又是静默的。

    关于四个变体消失:如你所判断,这是 v0.35.0 起 variantPresets 默认关闭的预期行为,不是 bug;旧会话钉在 *-gitbash id 上解析不到预设同理。开启开关即可恢复(volatile,无需重启)。

    另外你报告里的复现与验证记录(升级分水岭日志、会话头对照、假 pwsh 现场)非常扎实,对定位帮助很大——正是这种证据链让 Bug 3 的确认只用了一次源码对照。修复发布后欢迎升级复验。

  2. KannaKuron commented on Oct 13, 2026

    @KannaKuron
    Owner

    后续:Bug 3(SIDEBAR_NS)已随 v0.39.3 修复——命名空间从 npm 包名改为真实 row id better-sidebar(经 dsh-better-sidebar 官方仓库与 npm 0.25.0 发布包双重核实),侧栏终端接管自此真正生效。升级到 0.39.3 后三个 bug(前两个经由版本修复链 + 本条)在你机器上都应闭环,欢迎复验。

  3. KannaKuron commented on Oct 15, 2026

    @KannaKuron
    Owner

    Closing this as all three reported bugs are fixed and shipped — feel free to reopen if you still see any of them on the current release.

    Bug Status Fix
    1. resolveHostPwsh7() zero-arg call ✅ Fixed Same root cause as #18 (root cause 1); fixed in the v0.35.3 → v0.38.4 chain, machine-verified in v0.38.5 (full bash chain + 27-tool smoke)
    2. New tools violate the host output contract ✅ Fixed Same as above (root cause 2) + regression guards (the three issue-#18 root causes stay fixed)
    3. SIDEBAR_NS ≠ real dsh-better-sidebar row id ✅ Fixed v0.39.3 — namespace switched from the npm package name to the real row id better-sidebar (verified against the official repo and the published npm bundle)

    You were on 0.35.1 (pre-fix). The current release is 0.40.0 (2026-10-15), which also carries the #26 experimental native / fail-closed work. Please upgrade to latest and re-test; if anything from this report still reproduces on 0.40.0, comment here and we will reopen immediately.

    Thanks for the high-quality report — the generated diagnostic attachment made all three verifiable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions