Replies: 3 comments
|
Sharing our breakage list from a different upgrade path (0.1.6-alpha.1 → 0.1.7-rc.1 → 0.1.7-rc.2), in case it helps whoever designs the migration path. We run a local customisation set — about 159 files changed vs upstream, plus several in-house plugins. 0.1.6
0.1.7
Longer version with sources: #8096. Your 0.2.0 case (peerDependencies pinned to |
|
Adding one code-level data point to this thread, from a fresh install on Windows + the official 0.2.0-rc.1 desktop build (no prior plugin state, single plugin). The gate itself gives the user no way to learn which version would work. What the gate returns
interface PluginCompatibility {
name: string
version: string
runtimeVersion: string
peers: Record<string, string> // only the *unsatisfied* requirements
exempted: boolean
}There is no field carrying "a published version that satisfies these peers".
That is a dead end: the two instructions are pick a version (which one?) and accept crash/data-loss risk. Nothing in the result lets the agent answer the first one. Concrete case
Installing the bare spec Two questions1. Why did the bare spec resolve to 1.66.3? 2. Can the result carry a satisfying version? Independent of (1), adding the highest published version that satisfies |
|
Adding one more data point from the What we observed (reproducible, bundled pnpm 11.7.0):
So for anyone hand-editing around this: bare-name excludes seem more durable than per-version entries (which can accumulate and then stop being honored). Not claiming this is the exact path in the report above — just the mode we could reproduce, in case it helps the policy-side discussion. Also seconding Bruce-Yii's |
Uh oh!
There was an error while loading. Please reload this page.
Environment
~/.dsh/profiles/desktop, 22 third-party bundlesWhat happened
peerDependenciesonly declare
0.1.xranges, and the 0.2.0 host refuses to load them. None of the adapters had been updatedautomatically; the Settings UI offers enable/disable toggles but no "update plugins" affordance, and the
desktop profile is not manageable via the
dsh pluginCLI, so the only path was hand-running the bundled pnpm.minimumReleaseAge(24h):pnpm update <pkgs>was a no-op (downloaded 0, added 0) with no hint why, andlockfile verification failed with
ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATIONfor entries already in the lockfile.I had to pass
--config.minimum-release-age=0to get the update through.rejects it — from the market log:
update dsh-context → 0.59.2 exit=1 … 这台宿主(官方桌面端)自己执行安装,不接受市场附加的 pnpm 参数(--config.minimum-release-age=0)Net effect: on the day a major version ships — precisely when adapter versions get published — users cannot
install them through any first-party path, and nothing explains why.
Suggestions
action in Settings (the marketplace already knows which installed packages fail the host's peer check).
minimumReleaseAgeinstead of silently skipping; at minimum log why a version was filtered.
way the shell already auto-appends
minimumReleaseAgeExcludeentries for its own packages.All reactions