dsh-plugin-upgrader 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +94 -0
- package/lib/client.js +96 -3
- package/lib/host/install.d.ts +0 -9
- package/lib/host/install.d.ts.map +1 -1
- package/lib/host/install.js +37 -5
- package/lib/host/install.js.map +1 -1
- package/lib/host/lock.d.ts +68 -0
- package/lib/host/lock.d.ts.map +1 -0
- package/lib/host/lock.js +127 -0
- package/lib/host/lock.js.map +1 -0
- package/lib/host/manifest.d.ts +84 -0
- package/lib/host/manifest.d.ts.map +1 -1
- package/lib/host/manifest.js +191 -11
- package/lib/host/manifest.js.map +1 -1
- package/lib/host/overview.d.ts +8 -0
- package/lib/host/overview.d.ts.map +1 -1
- package/lib/host/overview.js +11 -1
- package/lib/host/overview.js.map +1 -1
- package/lib/host/progress.d.ts +1 -1
- package/lib/host/progress.d.ts.map +1 -1
- package/lib/host/progress.js +15 -0
- package/lib/host/progress.js.map +1 -1
- package/lib/host/registry.d.ts +36 -0
- package/lib/host/registry.d.ts.map +1 -1
- package/lib/host/registry.js +45 -0
- package/lib/host/registry.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +50 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,79 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.4.0 — 2026-10-28
|
|
4
|
+
|
|
5
|
+
- **A failed upgrade can no longer leave the profile missing a dependency.** An
|
|
6
|
+
in-place version replacement works by deleting the package's entry from
|
|
7
|
+
`profile/package.json` so the manager's `already-installed` guard stops firing,
|
|
8
|
+
then letting pnpm write the new version back. If the process dies inside that
|
|
9
|
+
window — a restart, a crash, a killed pnpm — nothing on disk remembered the
|
|
10
|
+
entry, and the package stayed on disk while being invisible to the manager.
|
|
11
|
+
That is how a theme update removed the theme: the entry never came back, and
|
|
12
|
+
the next `pnpm install` moved the orphan directory to `node_modules/.ignored`,
|
|
13
|
+
after which the plugin could not be upgraded, removed, or even seen again
|
|
14
|
+
without editing JSON by hand.
|
|
15
|
+
|
|
16
|
+
The intent is now written to `package.json.upgrader-journal.json` *before* the
|
|
17
|
+
entry leaves the manifest, and every load of this plugin repairs a record it
|
|
18
|
+
finds: an entry still missing is put back at the range it carried, and one that
|
|
19
|
+
pnpm did write is settled and the record cleared. Recovery is best-effort and
|
|
20
|
+
never a precondition — a profile that cannot be repaired still loads the tab,
|
|
21
|
+
which is the only way to fix it.
|
|
22
|
+
|
|
23
|
+
- **The panel now says what pnpm is doing, instead of showing one frozen label.**
|
|
24
|
+
A lockfile verification is the longest phase on a cold profile and the least
|
|
25
|
+
self-explanatory: it prints one line and then nothing for minutes while the tab
|
|
26
|
+
sat on `准备中`. That phase is now named (`正在校验依赖锁文件`), and the newest
|
|
27
|
+
line pnpm printed is shown live beside it — a registry timeout and a download
|
|
28
|
+
both used to read as "installing", and only one of them means keep waiting. The
|
|
29
|
+
staleness detector counts that line too, so a step that keeps printing no longer
|
|
30
|
+
reports itself as stale.
|
|
31
|
+
|
|
32
|
+
- **A writer-lock timeout now explains itself.** The harness serializes writers of
|
|
33
|
+
`profile/package.json` through a `package.json.lock` sibling, and the shared
|
|
34
|
+
`atomic-write` helper gives a caller that states no budget two seconds. When an
|
|
35
|
+
upgrade ran long enough for another writer to hold that lock, the tab reported
|
|
36
|
+
`atomic-write: timed out waiting for the writer lock at …/package.json.lock` —
|
|
37
|
+
which names a file and a pid that nobody watching the tab can act on. The
|
|
38
|
+
message is now preceded by what it means and what to do: another operation is
|
|
39
|
+
rewriting the manifest (wait it out), or the lock was never released by an
|
|
40
|
+
upgrade that was killed (restarting DSH clears it). The original sentence is
|
|
41
|
+
kept in brackets, because it is the string to search for in a log.
|
|
42
|
+
|
|
43
|
+
## 1.3.0 — 2026-10-27
|
|
44
|
+
|
|
45
|
+
- **A batch upgrade no longer greets the next start with a startup-error dialog.**
|
|
46
|
+
The desktop shell builds the page from an injection table it takes from the Host
|
|
47
|
+
once, when the Host starts, and serves that same table to every later document.
|
|
48
|
+
It ends in the boot manifest, whose batch URLs carry a revision hash, and the
|
|
49
|
+
Host keeps the response for the current revision plus exactly one previous one.
|
|
50
|
+
An upgrade that replaces two or more plugins rotates that hash twice, so the
|
|
51
|
+
table the shell still hands out names batches the Host has already dropped —
|
|
52
|
+
fetching them gets a bare 404, every entry in the batch fails to load, and the
|
|
53
|
+
shell reports `web boot: N entries did not activate` and shows a fatal dialog
|
|
54
|
+
over a page that was working a second earlier. Nothing in a plugin can rebuild
|
|
55
|
+
the table, and a second launch always starts from a fresh one, which is why the
|
|
56
|
+
dialog looks so arbitrary.
|
|
57
|
+
|
|
58
|
+
One thing made it likely: after replacing a theme plugin the tab reloaded the
|
|
59
|
+
page itself to restore the theme's stylesheet, and that reload could land on a
|
|
60
|
+
dead table. The reload now asks the Host first — a `HEAD` per boot batch — and
|
|
61
|
+
when a batch is gone it says a restart is needed instead of walking into the
|
|
62
|
+
fatal boot. An unclear answer (a refused socket, a 500) is not treated as a
|
|
63
|
+
verdict, so a flaky moment never turns a working reload into a refusal.
|
|
64
|
+
|
|
65
|
+
- **A mirror that is behind no longer looks like an up-to-date package.** The tab
|
|
66
|
+
reads its version list from the registry the profile installs from, and a mirror
|
|
67
|
+
lags the registry it copies — sometimes by hours. The lag is invisible in the
|
|
68
|
+
mirror's own document: it simply does not list the newer release, so the row
|
|
69
|
+
shows an older `latest` and nothing hints that anything is missing. That matters
|
|
70
|
+
because a version absent from the configured registry cannot be installed at
|
|
71
|
+
all — pnpm resolves through it and fails with `ERR_PNPM_NO_MATCHING_VERSION`,
|
|
72
|
+
which takes the whole command down, unrelated packages in the same batch
|
|
73
|
+
included. Each row now also asks the upstream registry what it is missing above
|
|
74
|
+
the installed version and names those releases, so "there is a newer version,
|
|
75
|
+
your mirror has not caught up" reads differently from "nothing to do".
|
|
76
|
+
|
|
3
77
|
## 1.2.0 — 2026-10-27
|
|
4
78
|
|
|
5
79
|
- **A version replacement no longer makes the plugin disappear while it runs.**
|
|
@@ -22,6 +96,26 @@
|
|
|
22
96
|
Every failed attempt restores the entry it dropped first, so a version that can
|
|
23
97
|
only be replaced the slow way is never left worse off for having tried.
|
|
24
98
|
|
|
99
|
+
- **A batch upgrade no longer greets the next start with a startup-error dialog.**
|
|
100
|
+
The desktop shell builds the page from an injection table it takes from the Host
|
|
101
|
+
once, when the Host starts, and serves that same table to every later document.
|
|
102
|
+
It ends in the boot manifest, whose batch URLs carry a revision hash, and the
|
|
103
|
+
Host keeps the response for the current revision plus exactly one previous one.
|
|
104
|
+
An upgrade that replaces two or more plugins rotates that hash twice, so the
|
|
105
|
+
table the shell still hands out names batches the Host has already dropped —
|
|
106
|
+
fetching them gets a bare 404, every entry in the batch fails to load, and the
|
|
107
|
+
shell reports `web boot: N entries did not activate` and shows a fatal dialog
|
|
108
|
+
over a page that was working a second earlier. Nothing in a plugin can rebuild
|
|
109
|
+
the table, and a second launch always starts from a fresh one, which is why the
|
|
110
|
+
dialog looks so arbitrary.
|
|
111
|
+
|
|
112
|
+
One thing made it likely: after replacing a theme plugin the tab reloaded the
|
|
113
|
+
page itself to restore the theme's stylesheet, and that reload could land on a
|
|
114
|
+
dead table. The reload now asks the Host first — a `HEAD` per boot batch — and
|
|
115
|
+
when a batch is gone it says a restart is needed instead of walking into the
|
|
116
|
+
fatal boot. An unclear answer (a refused socket, a 500) is not treated as a
|
|
117
|
+
verdict, so a flaky moment never turns a working reload into a refusal.
|
|
118
|
+
|
|
25
119
|
## 1.1.2 — 2026-10-27
|
|
26
120
|
|
|
27
121
|
- **A failed replacement no longer leaves the plugin unloaded and invisible.**
|
package/lib/client.js
CHANGED
|
@@ -86,6 +86,7 @@ window.__ModuleLoader__.load({
|
|
|
86
86
|
noHistory: "\u6CA1\u6709\u53EF\u7528\u7684\u7248\u672C\u8BB0\u5F55",
|
|
87
87
|
noHistoryWhy: "\u8FD9\u4E2A\u5305\u4E0D\u662F\u4ECE npm \u6CE8\u518C\u8868\u5B89\u88C5\u7684\uFF0C\u6CA1\u6709\u53D1\u5E03\u5386\u53F2\u3002",
|
|
88
88
|
historyFailed: "\u7248\u672C\u5217\u8868\u8BFB\u53D6\u5931\u8D25\uFF0C\u70B9\u300C\u68C0\u67E5\u66F4\u65B0\u300D\u53EF\u91CD\u8BD5",
|
|
89
|
+
mirrorBehind: "\u955C\u50CF\u6E90\u5C1A\u672A\u540C\u6B65\u8FD9\u4E9B\u5DF2\u53D1\u5E03\u7248\u672C\uFF0C\u88C5\u4E0D\u4E86",
|
|
89
90
|
versions: (n) => `${n} \u4E2A\u7248\u672C`,
|
|
90
91
|
showingNewest: (n) => `\u5217\u51FA\u6700\u65B0 ${n} \u4E2A`,
|
|
91
92
|
progress: (done, total) => `\u6B63\u5728\u5904\u7406 ${done}/${total}`,
|
|
@@ -94,6 +95,7 @@ window.__ModuleLoader__.load({
|
|
|
94
95
|
phaseApplying: "\u6B63\u5728\u5199\u5165\u914D\u7F6E",
|
|
95
96
|
phaseCancelling: "\u6B63\u5728\u53D6\u6D88",
|
|
96
97
|
phaseWaiting: "\u51C6\u5907\u4E2D",
|
|
98
|
+
phaseVerifying: "\u6B63\u5728\u6821\u9A8C\u4F9D\u8D56\u9501\u6587\u4EF6",
|
|
97
99
|
registryAttempt: (index, total) => `\u6CE8\u518C\u8868 ${index}/${total}\uFF0C\u4E0A\u4E00\u4E2A\u8D85\u65F6\u4F1A\u81EA\u52A8\u6362\u6E90`,
|
|
98
100
|
slowHint: "\u9996\u6B21\u5B89\u88C5\u6216\u9700\u8981\u6821\u9A8C\u4F9D\u8D56\u65F6\u4F1A\u6BD4\u8F83\u6162\uFF0C\u65E5\u5FD7\u91CC\u80FD\u770B\u5230\u771F\u5B9E\u8FDB\u5EA6\u3002",
|
|
99
101
|
cancelRequested: "\u5DF2\u8BF7\u6C42\u53D6\u6D88",
|
|
@@ -104,6 +106,7 @@ window.__ModuleLoader__.load({
|
|
|
104
106
|
restart: "\u9700\u8981\u91CD\u542F DSH \u624D\u4F1A\u751F\u6548\u3002",
|
|
105
107
|
restartHint: "\u5DF2\u4FDD\u5B58\u7684\u6539\u52A8\u5728\u4E0B\u6B21\u542F\u52A8\u65F6\u751F\u6548\u3002",
|
|
106
108
|
reloadForAppearance: "\u4E3B\u9898\u63D2\u4EF6\u5DF2\u66F4\u65B0\uFF0C\u6B63\u5728\u91CD\u65B0\u52A0\u8F7D\u9875\u9762\u4EE5\u6062\u590D\u4E3B\u9898\u5916\u89C2\uFF08\u4E3B\u9898\u914D\u7F6E\u4FDD\u5B58\u5728\u78C1\u76D8\u4E0A\uFF0C\u4E0D\u4F1A\u4E22\u5931\uFF09\u3002",
|
|
109
|
+
reloadBlocked: "\u5916\u89C2\u5DF2\u6062\u590D\uFF0C\u4F46\u8FD9\u4E00\u9875\u7684\u63D2\u4EF6\u6E05\u5355\u5DF2\u7ECF\u8FC7\u671F\uFF0C\u91CD\u65B0\u52A0\u8F7D\u4F1A\u542F\u52A8\u5931\u8D25\u3002\u8BF7\u91CD\u542F DSH \u5B8C\u6210\u8FD9\u6B21\u5347\u7EA7\u3002",
|
|
107
110
|
done: "\u5B8C\u6210",
|
|
108
111
|
failed: "\u5931\u8D25",
|
|
109
112
|
failedSome: (n) => `${n} \u4E2A\u5931\u8D25`,
|
|
@@ -167,6 +170,7 @@ window.__ModuleLoader__.load({
|
|
|
167
170
|
noHistory: "No published versions found",
|
|
168
171
|
noHistoryWhy: "This package was not installed from an npm registry, so it has no published history.",
|
|
169
172
|
historyFailed: 'Could not read the version list; "Check for updates" retries it',
|
|
173
|
+
mirrorBehind: "Your mirror has not synced these published versions yet, so they cannot be installed",
|
|
170
174
|
versions: (n) => `${n} versions`,
|
|
171
175
|
showingNewest: (n) => `showing newest ${n}`,
|
|
172
176
|
progress: (done, total) => `Working on ${done}/${total}`,
|
|
@@ -175,6 +179,7 @@ window.__ModuleLoader__.load({
|
|
|
175
179
|
phaseApplying: "Writing the profile",
|
|
176
180
|
phaseCancelling: "Cancelling",
|
|
177
181
|
phaseWaiting: "Preparing",
|
|
182
|
+
phaseVerifying: "Verifying the dependency lockfile",
|
|
178
183
|
registryAttempt: (index, total) => `Registry ${index}/${total}; a timeout falls back to the next`,
|
|
179
184
|
slowHint: "A first install, or one that must verify dependencies, takes a while \u2014 the log shows what is happening.",
|
|
180
185
|
cancelRequested: "Cancellation requested",
|
|
@@ -185,6 +190,7 @@ window.__ModuleLoader__.load({
|
|
|
185
190
|
restart: "Restart DSH to finish.",
|
|
186
191
|
restartHint: "Saved changes take effect on the next start.",
|
|
187
192
|
reloadForAppearance: "The theme plugin was updated; reloading the page to restore its look (its settings are on disk and are not lost).",
|
|
193
|
+
reloadBlocked: "The look is restored, but this page's plugin list is out of date and reloading it would fail to start. Restart DSH to finish this upgrade.",
|
|
188
194
|
done: "done",
|
|
189
195
|
failed: "failed",
|
|
190
196
|
failedSome: (n) => `${n} failed`,
|
|
@@ -346,6 +352,68 @@ window.__ModuleLoader__.load({
|
|
|
346
352
|
}
|
|
347
353
|
}
|
|
348
354
|
|
|
355
|
+
// src/client/boot.ts
|
|
356
|
+
function bootBatches(wire) {
|
|
357
|
+
if (typeof wire !== "object" || wire === null) return [];
|
|
358
|
+
const batches = wire.batches;
|
|
359
|
+
if (!Array.isArray(batches)) return [];
|
|
360
|
+
const rows = [];
|
|
361
|
+
for (const value of batches) {
|
|
362
|
+
if (typeof value !== "object" || value === null) continue;
|
|
363
|
+
const batch = value;
|
|
364
|
+
if (typeof batch.url !== "string" || batch.url === "") continue;
|
|
365
|
+
if (typeof batch.rev !== "string") continue;
|
|
366
|
+
const phase = batch.phase === "bootstrap" ? "bootstrap" : "application";
|
|
367
|
+
rows.push({ phase, url: batch.url, rev: batch.rev });
|
|
368
|
+
}
|
|
369
|
+
return rows;
|
|
370
|
+
}
|
|
371
|
+
async function checkBootDocument(options) {
|
|
372
|
+
const rows = bootBatches(options.wire);
|
|
373
|
+
if (rows.length === 0) return "fresh";
|
|
374
|
+
const lookup = options.fetch ?? globalThis.fetch;
|
|
375
|
+
if (lookup === void 0) return "unknown";
|
|
376
|
+
const base = options.href ?? "dsh-app://app/";
|
|
377
|
+
let unclear = false;
|
|
378
|
+
for (const row of rows) {
|
|
379
|
+
let url;
|
|
380
|
+
try {
|
|
381
|
+
url = new URL(row.url, base).href;
|
|
382
|
+
} catch {
|
|
383
|
+
return "unknown";
|
|
384
|
+
}
|
|
385
|
+
let status;
|
|
386
|
+
try {
|
|
387
|
+
status = (await lookup(url, { method: "HEAD", cache: "no-store" })).status;
|
|
388
|
+
} catch {
|
|
389
|
+
return "unknown";
|
|
390
|
+
}
|
|
391
|
+
if (status === 404) return "stale";
|
|
392
|
+
if (status < 200 || status > 299) unclear = true;
|
|
393
|
+
}
|
|
394
|
+
return unclear ? "unknown" : "fresh";
|
|
395
|
+
}
|
|
396
|
+
async function reloadWhenBootDocumentFresh(options) {
|
|
397
|
+
const page = options.window ?? globalThis;
|
|
398
|
+
const freshness = await checkBootDocument({
|
|
399
|
+
wire: page.__DSH_BOOT__,
|
|
400
|
+
href: page.location?.href,
|
|
401
|
+
fetch: options.fetch
|
|
402
|
+
});
|
|
403
|
+
if (freshness === "stale") {
|
|
404
|
+
options.onBlocked?.();
|
|
405
|
+
return false;
|
|
406
|
+
}
|
|
407
|
+
const reload = page.location?.reload;
|
|
408
|
+
if (typeof reload !== "function") return false;
|
|
409
|
+
try {
|
|
410
|
+
reload.call(page.location);
|
|
411
|
+
} catch {
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
414
|
+
return true;
|
|
415
|
+
}
|
|
416
|
+
|
|
349
417
|
// src/client/hooks.ts
|
|
350
418
|
function useLocaleRevision(locale) {
|
|
351
419
|
const React = getReact();
|
|
@@ -470,6 +538,7 @@ window.__ModuleLoader__.load({
|
|
|
470
538
|
.dsh-pu-bar-inner.is-busy { width: 40%; transition: none; animation: dsh-pu-indeterminate 1.4s ease-in-out infinite; }
|
|
471
539
|
@keyframes dsh-pu-indeterminate { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }
|
|
472
540
|
.dsh-pu-hint { font-size: 11px; color: var(--dsw-alias-label-tertiary); }
|
|
541
|
+
.dsh-pu-activity { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 10.5px; line-height: 1.5; color: var(--dsw-alias-label-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
473
542
|
.dsh-pu-log { max-height: 160px; overflow: auto; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 10.5px; line-height: 1.55; color: var(--dsw-alias-label-secondary); white-space: pre-wrap; word-break: break-word; border-top: 1px dashed var(--dsw-alias-border-l1); padding-top: 8px; margin: 0; }
|
|
474
543
|
.dsh-pu-banner { display: flex; align-items: center; gap: 8px; font-size: 11.5px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--dsw-alias-border-l1); background: var(--dsw-alias-bg-layer-2); color: var(--dsw-alias-label-secondary); }
|
|
475
544
|
.dsh-pu-banner.is-warn { border-color: var(--dsw-alias-state-warn-primary); color: var(--dsw-alias-state-warn-primary); }
|
|
@@ -506,12 +575,12 @@ window.__ModuleLoader__.load({
|
|
|
506
575
|
const failed = job.failed ?? 0;
|
|
507
576
|
const inStep = running && job.current !== void 0;
|
|
508
577
|
const now = useNow(inStep, job.stepStartedAt);
|
|
509
|
-
const stamp = `${job.id}|${job.stepStartedAt ?? ""}|${job.done ?? 0}|${job.status}`;
|
|
578
|
+
const stamp = `${job.id}|${job.stepStartedAt ?? ""}|${job.done ?? 0}|${job.status}|${job.activity ?? ""}`;
|
|
510
579
|
const lastChange = React.useRef({ stamp, at: Date.now() });
|
|
511
580
|
if (lastChange.current.stamp !== stamp) lastChange.current = { stamp, at: Date.now() };
|
|
512
581
|
const stale = inStep && Date.now() - lastChange.current.at > STALE_SNAPSHOT_MS;
|
|
513
582
|
const stepMs = job.stepStartedAt === void 0 ? 0 : Math.max(0, now - job.stepStartedAt);
|
|
514
|
-
const phaseKey = job.phase === "installing" ? "phaseInstalling" : job.phase === "applying" ? "phaseApplying" : job.phase === "cancelling" ? "phaseCancelling" : "phaseWaiting";
|
|
583
|
+
const phaseKey = job.phase === "installing" ? "phaseInstalling" : job.phase === "applying" ? "phaseApplying" : job.phase === "cancelling" ? "phaseCancelling" : job.phase === "verifying" ? "phaseVerifying" : "phaseWaiting";
|
|
515
584
|
const phaseText = job.attempt !== void 0 && job.attempt.total > 1 ? t("registryAttempt", job.attempt.index, job.attempt.total) : t(phaseKey);
|
|
516
585
|
const headline = running ? t("progress", done, total) : job.status === "cancelled" ? t("jobCancelled") : t("jobDone");
|
|
517
586
|
return h(
|
|
@@ -553,6 +622,12 @@ window.__ModuleLoader__.load({
|
|
|
553
622
|
{ className: "dsh-pu-bar" },
|
|
554
623
|
inStep ? h("div", { className: "dsh-pu-bar-inner is-busy" }) : h("div", { className: "dsh-pu-bar-inner", style: { width: `${percent}%` } })
|
|
555
624
|
),
|
|
625
|
+
/*
|
|
626
|
+
* The live line pnpm last printed. A phase name says which category of wait
|
|
627
|
+
* this is; this says whether anything is actually happening — a registry
|
|
628
|
+
* timeout and a download both read as "installing" otherwise.
|
|
629
|
+
*/
|
|
630
|
+
inStep && job.activity !== void 0 ? h("div", { className: "dsh-pu-activity", title: job.activity }, job.activity) : null,
|
|
556
631
|
inStep ? h("div", { className: "dsh-pu-hint" }, t("slowHint")) : null,
|
|
557
632
|
showLog && Array.isArray(job.log) ? h("pre", { className: "dsh-pu-log" }, job.log.join("\n")) : null
|
|
558
633
|
);
|
|
@@ -672,6 +747,20 @@ window.__ModuleLoader__.load({
|
|
|
672
747
|
{ className: "dsh-pu-desc" },
|
|
673
748
|
row.description !== void 0 && row.description !== "" ? row.description : versionNote ?? row.name
|
|
674
749
|
),
|
|
750
|
+
/*
|
|
751
|
+
* A mirror that is behind looks exactly like an up-to-date package: the
|
|
752
|
+
* newer release is simply absent from the document the tab reads. Name
|
|
753
|
+
* it, because choosing that version would fail inside pnpm with
|
|
754
|
+
* ERR_PNPM_NO_MATCHING_VERSION and take the whole batch with it.
|
|
755
|
+
*/
|
|
756
|
+
Array.isArray(row.mirrorMissing) && row.mirrorMissing.length > 0 ? h(
|
|
757
|
+
"div",
|
|
758
|
+
{
|
|
759
|
+
className: "dsh-pu-note is-err",
|
|
760
|
+
title: `${t("mirrorBehind")} ${row.mirrorMissing.join(", ")}`
|
|
761
|
+
},
|
|
762
|
+
`${t("mirrorBehind")}: ${row.mirrorMissing.slice(0, 3).join(", ")}${row.mirrorMissing.length > 3 ? " \u2026" : ""}`
|
|
763
|
+
) : null,
|
|
675
764
|
failure !== void 0 && retriable ? h(
|
|
676
765
|
"div",
|
|
677
766
|
{ className: "dsh-pu-note is-err", title: failure },
|
|
@@ -826,7 +915,11 @@ window.__ModuleLoader__.load({
|
|
|
826
915
|
} else if (replacedAppearance(settled?.results)) {
|
|
827
916
|
setBanner({ tone: "info", text: t("reloadForAppearance") });
|
|
828
917
|
window.setTimeout(() => {
|
|
829
|
-
|
|
918
|
+
void reloadWhenBootDocumentFresh({
|
|
919
|
+
onBlocked: () => {
|
|
920
|
+
if (alive.current) setBanner({ tone: "warn", text: t("reloadBlocked") });
|
|
921
|
+
}
|
|
922
|
+
});
|
|
830
923
|
}, APPEARANCE_RELOAD_DELAY_MS);
|
|
831
924
|
}
|
|
832
925
|
return settled;
|
package/lib/host/install.d.ts
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Installing one version, and putting the plugin's state back afterwards.
|
|
3
|
-
*
|
|
4
|
-
* `installBundle` refuses a spec that names an already-installed dependency, so
|
|
5
|
-
* replacing a version means removing first. These helpers wrap that two-step in
|
|
6
|
-
* one call and undo the side effects a reinstall has on the enabled flag.
|
|
7
|
-
*
|
|
8
|
-
* @module dsh-plugin-upgrader/lib/install
|
|
9
|
-
*/
|
|
10
1
|
import type { ChangeResult, PluginManager, StepRecord } from './manager.ts';
|
|
11
2
|
/** Progress sink for one job. */
|
|
12
3
|
export type LogSink = (message: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/host/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/host/install.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAc,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGvF,iCAAiC;AACjC,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;AAE/C;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;AAEvD,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,OAAO,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACvC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,aAAa,CAAC,EAAE;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,gCAAgC;AAChC,eAAO,MAAM,OAAO,aAAyC,CAAA;AA2L7D;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAC9B,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAuB9B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAsGD;;;;;;;;;;;;GAYG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,WAAW,CAAC,CAuItB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAM9D"}
|
package/lib/host/install.js
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Installing one version, and putting the plugin's state back afterwards.
|
|
3
|
+
*
|
|
4
|
+
* `installBundle` refuses a spec that names an already-installed dependency, so
|
|
5
|
+
* replacing a version means removing first. These helpers wrap that two-step in
|
|
6
|
+
* one call and undo the side effects a reinstall has on the enabled flag.
|
|
7
|
+
*
|
|
8
|
+
* @module dsh-plugin-upgrader/lib/install
|
|
9
|
+
*/
|
|
10
|
+
import { explainLockTimeout } from './lock.js';
|
|
11
|
+
import { confirmDependency, dropDependency, profileDirFrom, restoreDependency } from './manifest.js';
|
|
2
12
|
/** Allowed per-step actions. */
|
|
3
13
|
export const ACTIONS = new Set(['upgrade', 'switch']);
|
|
4
14
|
/** The manager's code for "a live loader fiber still owns this bundle". */
|
|
@@ -20,6 +30,19 @@ function codeOf(failure) {
|
|
|
20
30
|
return record.code;
|
|
21
31
|
return typeof record.error?.code === 'string' ? record.error.code : undefined;
|
|
22
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* A failure message with the writer-lock timeout spelled out.
|
|
35
|
+
*
|
|
36
|
+
* The manager composes that sentence inside `atomic-write`, so it cannot be
|
|
37
|
+
* improved at its source; this is the last place that still knows which profile
|
|
38
|
+
* the lock belongs to. Every other message comes back untouched.
|
|
39
|
+
*
|
|
40
|
+
* @param message - the failure message.
|
|
41
|
+
* @returns a message to show the operator.
|
|
42
|
+
*/
|
|
43
|
+
function describeFailure(message) {
|
|
44
|
+
return explainLockTimeout(message, profileDirFrom());
|
|
45
|
+
}
|
|
23
46
|
/**
|
|
24
47
|
* What the operator can do about a bundle the loader will not release.
|
|
25
48
|
*
|
|
@@ -293,7 +316,7 @@ async function replaceWithoutRemoval(manager, step, options, log, announce) {
|
|
|
293
316
|
}
|
|
294
317
|
catch (error) {
|
|
295
318
|
restoreDependency(dir, step.name, dropped.dependency);
|
|
296
|
-
log(` ! in-place install failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
319
|
+
log(` ! in-place install failed: ${describeFailure(error instanceof Error ? error.message : String(error))}`);
|
|
297
320
|
return undefined;
|
|
298
321
|
}
|
|
299
322
|
const installed = result?.application === 'applied' || result?.application === 'restart-required';
|
|
@@ -308,6 +331,15 @@ async function replaceWithoutRemoval(manager, step, options, log, announce) {
|
|
|
308
331
|
return undefined;
|
|
309
332
|
}
|
|
310
333
|
const enabled = await restoreEnabledState(manager, step, options.enabled, log);
|
|
334
|
+
/*
|
|
335
|
+
* The manifest is what the journal guards, so the journal is only settled by
|
|
336
|
+
* what the manifest now says — not by the manager's answer. A success that
|
|
337
|
+
* left no entry is exactly the crash state this record exists to repair, and
|
|
338
|
+
* dropping it there would make the loss permanent.
|
|
339
|
+
*/
|
|
340
|
+
if (!confirmDependency(dir, step.name)) {
|
|
341
|
+
log(` ! ${step.name} is installed but not recorded in the profile manifest; the next start restores it`);
|
|
342
|
+
}
|
|
311
343
|
return {
|
|
312
344
|
name: step.name,
|
|
313
345
|
version: result.version ?? step.version,
|
|
@@ -360,7 +392,7 @@ export async function runStep(manager, step, log, announce) {
|
|
|
360
392
|
...base,
|
|
361
393
|
ok: false,
|
|
362
394
|
stage: 'install',
|
|
363
|
-
message: error instanceof Error ? error.message : String(error),
|
|
395
|
+
message: describeFailure(error instanceof Error ? error.message : String(error)),
|
|
364
396
|
};
|
|
365
397
|
}
|
|
366
398
|
if (result?.error?.code === 'already-installed') {
|
|
@@ -392,7 +424,7 @@ export async function runStep(manager, step, log, announce) {
|
|
|
392
424
|
ok: false,
|
|
393
425
|
stage: 'remove',
|
|
394
426
|
application: 'failed',
|
|
395
|
-
message: code ?? `removal failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
427
|
+
message: code ?? `removal failed: ${describeFailure(error instanceof Error ? error.message : String(error))}`,
|
|
396
428
|
...(typeof diagnostic === 'string' ? { detail: diagnostic } : {}),
|
|
397
429
|
};
|
|
398
430
|
}
|
|
@@ -427,7 +459,7 @@ export async function runStep(manager, step, log, announce) {
|
|
|
427
459
|
ok: false,
|
|
428
460
|
stage: 'install',
|
|
429
461
|
application: 'failed',
|
|
430
|
-
message: `install after removal failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
462
|
+
message: `install after removal failed: ${describeFailure(error instanceof Error ? error.message : String(error))}`,
|
|
431
463
|
};
|
|
432
464
|
}
|
|
433
465
|
}
|
package/lib/host/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/host/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/host/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/** The lock file's name, as `atomic-write` derives it. */
|
|
2
|
+
export declare const LOCK_FILE = "package.json.lock";
|
|
3
|
+
/** What the lock says about its holder. */
|
|
4
|
+
export interface WriterLock {
|
|
5
|
+
/** The pid the holder recorded, when the record is readable. */
|
|
6
|
+
pid?: number;
|
|
7
|
+
/** Whether a process with that pid is running right now. */
|
|
8
|
+
alive: boolean;
|
|
9
|
+
}
|
|
10
|
+
/** Whether a pid names a live process. Never throws. */
|
|
11
|
+
export type LivenessProbe = (pid: number) => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Whether a pid is running, by the same signal-probe `atomic-write` uses.
|
|
14
|
+
*
|
|
15
|
+
* @param pid - the process id to probe.
|
|
16
|
+
* @returns true when the process exists and this account may signal it.
|
|
17
|
+
*/
|
|
18
|
+
export declare function pidIsAlive(pid: number): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Read the profile's writer lock.
|
|
21
|
+
*
|
|
22
|
+
* A lock whose pid cannot be read is reported as alive: the file exists, so
|
|
23
|
+
* somebody created it, and treating an unreadable record as free would defeat
|
|
24
|
+
* the lock it represents.
|
|
25
|
+
*
|
|
26
|
+
* @param dir - the profile directory.
|
|
27
|
+
* @param alive - liveness probe, injectable for tests.
|
|
28
|
+
* @returns the record, or `undefined` when nothing holds the lock.
|
|
29
|
+
*/
|
|
30
|
+
export declare function readWriterLock(dir: string, alive?: LivenessProbe): WriterLock | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Whether a failure message is the writer-lock timeout.
|
|
33
|
+
*
|
|
34
|
+
* Matched on the `atomic-write` prefix and the sentence rather than on the path:
|
|
35
|
+
* the message is assembled by another package, and the path is the one part of
|
|
36
|
+
* it that varies per profile.
|
|
37
|
+
*
|
|
38
|
+
* @param message - a failure message, or anything that might be one.
|
|
39
|
+
* @returns whether this is the lock timeout.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isWriterLockTimeout(message: unknown): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* What the operator can do about a held lock, in both languages.
|
|
44
|
+
*
|
|
45
|
+
* Both travel together for the same reason `restartHint` does: the job log is one
|
|
46
|
+
* stream shown to readers of either language, and the panel cannot translate a
|
|
47
|
+
* sentence the host composed.
|
|
48
|
+
*
|
|
49
|
+
* @param lock - what the lock said, when it was read.
|
|
50
|
+
* @returns one bilingual sentence.
|
|
51
|
+
*/
|
|
52
|
+
export declare function describeWriterLock(lock: WriterLock | undefined): string;
|
|
53
|
+
/**
|
|
54
|
+
* Turn a writer-lock timeout into something the operator can act on.
|
|
55
|
+
*
|
|
56
|
+
* The original sentence is kept in brackets rather than dropped: it names the
|
|
57
|
+
* file and comes from the package that raised it, so it is the string to search
|
|
58
|
+
* for in a log or a bug report. What it cannot say is whose fault it is or what
|
|
59
|
+
* to do, which is what the leading sentence is for.
|
|
60
|
+
*
|
|
61
|
+
* Any other message is returned untouched.
|
|
62
|
+
*
|
|
63
|
+
* @param message - the failure message.
|
|
64
|
+
* @param dir - the profile directory, used to read the lock's current state.
|
|
65
|
+
* @returns a message to show, or the original when this is not a lock timeout.
|
|
66
|
+
*/
|
|
67
|
+
export declare function explainLockTimeout(message: string, dir: string | undefined): string;
|
|
68
|
+
//# sourceMappingURL=lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/host/lock.ts"],"names":[],"mappings":"AA8BA,0DAA0D;AAC1D,eAAO,MAAM,SAAS,sBAA0B,CAAA;AAEhD,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAA;CACf;AAED,wDAAwD;AACxD,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;AAEpD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAS/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,aAA0B,GAChC,UAAU,GAAG,SAAS,CAWxB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CASvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAInF"}
|