Repository navigation
Replies: 3 comments 2 replies
|
One data point on the update prompt: the prompt offering Registry probe readings against target runtime
The installed What you can do:
I maintain dsh-triage, the read-only tool that produced these numbers. This reads published manifests from npm, not your machine. Declaration-layer admission does not prove runtime health. Recompute artifact: https://github.com/jjjjjjjjnnjnn/dsh-triage/blob/main/data/results/remedy-probe-2026-11-05T08-37-26-770Z.json (sha256 |
|
Confirmed in source on current Mechanism. Patch — branch: https://github.com/aturzone/deepseek-harness/tree/fix/plugin-manager-update-line, commit
I deliberately did not collapse the list to only Evidence. Three regressions fail on the old logic and pass after:
One note: the guard uses the installed version's publish time from the same |
|
Quality follow-up on the same branch (tip moved to The ordering is now |
Uh oh!
There was an error while loading. Please reload this page.
What happens
The plugin manager's update check treats any published version with a greater semver as an update. A package that renumbered its releases downward (
0.12.3->0.2.0) therefore shows a false update, and offers a downgrade to code that is weeks older.Real case (plugin
dsh-win-pwsh7, DSH kernel0.2.2-rc.1, desktop shell2.0.22-next):0.2.6; the registry'sdist-tags.latestis also0.2.60.12.3is the previous numbering line: it predates0.2.0, carries no Windows UTF-8 console bridge, and itsengines.dshis one the running build refusesWhere it comes from
@deepseek-ai/dsh-plugin-manager/lib/types/versions.js:26-28The
pnpm view <name> versions time dist-tags --jsonanswer does carrydist-tags;newerVersions()reads them only to label the rows (tags), never to decide what is newer. The client then picks the first installable, non-deprecated, non-prerelease entry (dsh-client-ui-plugin-manager/lib/client.js:2905-2908) and uses it for both the card tag (:5898) and the page headline (:5644).Why it matters
engines.dsh, the "update" can be a build the running host rejects, and an incompatible bundle is skipped silently at boot, so after clicking update the user can end up with no plugin at all.dist-tags.latest; the check has the field and ignores it.Suggested fix
dist-tags.latestwhen it resolves to a valid version: an update exists whensemver.gt(latest, installed); other versions stay reachable through the "install a specific version" path.latestis missing, at least drop versions whosetime[version]is earlier than the installed version's publish time, which is the direct "not newer, older" signal the answer already contains.Workaround used
Unpublished the old
0.12.xversions, which removes them fromversionsand clears the false prompt. Not every author can or should do that, and the next renumbering reproduces the bug.Environment: Windows 11, DSH
0.2.2-rc.1, plugin manager read fromregistry.npmjs.org.All reactions