@pwa-platform/sw-runtime 0.2.0 → 0.2.3
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/README.md +1 -1
- package/dist/recovery-worker/index.d.ts.map +1 -1
- package/dist/recovery-worker/index.js +40 -6
- package/dist/recovery-worker/index.js.map +1 -1
- package/dist/worker/decide.d.ts +5 -1
- package/dist/worker/decide.d.ts.map +1 -1
- package/dist/worker/decide.js.map +1 -1
- package/dist/worker/handlers.d.ts.map +1 -1
- package/dist/worker/handlers.js +60 -16
- package/dist/worker/handlers.js.map +1 -1
- package/dist/worker/offline-write-flush.d.ts +10 -2
- package/dist/worker/offline-write-flush.d.ts.map +1 -1
- package/dist/worker/offline-write-flush.js +11 -2
- package/dist/worker/offline-write-flush.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ const worker = injectWorkerConfig(workerTemplate, platformConfig);
|
|
|
69
69
|
|
|
70
70
|
`SKIP_WAITING_MESSAGE` 是页面确认更新时发送的唯一接管消息。`isSkipWaitingMessage()`、`isOfflineWriteMessage()`、`isRuntimeCacheServedMessage()` 等守卫只接受闭合的纯数据对象,避免调用不可信 accessor。
|
|
71
71
|
|
|
72
|
-
`checkPushPayload()`/`checkPushPayloadText()`/`validatePushPayload()` 只验证 payload 契约;它们不代表 `@pwa-platform/push` 已公开。当前正式版(0.2.
|
|
72
|
+
`checkPushPayload()`/`checkPushPayloadText()`/`validatePushPayload()` 只验证 payload 契约;它们不代表 `@pwa-platform/push` 已公开。当前正式版(0.2.3)的公开接入面不包含 Push 订阅与后端发送服务。
|
|
73
73
|
|
|
74
74
|
## 安全边界
|
|
75
75
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recovery-worker/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgC,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGjG,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recovery-worker/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgC,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGjG,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAUF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,wBAAwB,GAAG,IAAI,CAWxF"}
|
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
// expiration-records module is local source, not a dependency.
|
|
5
5
|
import { validateRecoveryWorkerConfig } from "../shared/config.js";
|
|
6
6
|
import { deleteExpirationRecords } from "../shared/expiration-records.js";
|
|
7
|
+
/**
|
|
8
|
+
* How long the offline-write database deletion keeps waiting after `onblocked` before it is treated as a failure.
|
|
9
|
+
* The platform's own store closes each connection as soon as its transaction ends, so a legitimate block clears in
|
|
10
|
+
* milliseconds; a connection that never closes (application code holding the platform's database open) does not
|
|
11
|
+
* clear at all in Chrome, and until this expires `activate` — and so recovery — is held up.
|
|
12
|
+
*/
|
|
13
|
+
const BLOCKED_WAIT_MS = 3_000;
|
|
7
14
|
/**
|
|
8
15
|
* Registers the recovery worker (ADR-0005): it takes over immediately only after it removes every cache and the
|
|
9
16
|
* identity-derived offline-write database of this app in this environment, then serves nothing, so page requests go
|
|
@@ -29,14 +36,24 @@ export function registerRecoveryWorker({ scope, config }) {
|
|
|
29
36
|
* identity-derived queue database, cancels this registration's push subscription (if any), then claims the open
|
|
30
37
|
* clients so they stop being controlled by the broken worker. Cancelling the subscription never blocks deletion or
|
|
31
38
|
* takeover: it runs after deletion and before claim, and its own failure is swallowed.
|
|
39
|
+
*
|
|
40
|
+
* One failed deletion never stops the others (review #15): the activate event runs once, so whatever is skipped here
|
|
41
|
+
* would stay behind until the next deployment. After every deletion was attempted, any failure rejects before the
|
|
42
|
+
* push step and the claim, so recovery still fails closed.
|
|
32
43
|
*/
|
|
33
44
|
async function recover(scope, appCachePrefix, offlineWriteDatabaseName) {
|
|
45
|
+
const failures = [];
|
|
46
|
+
const record = (error) => {
|
|
47
|
+
failures.push(error);
|
|
48
|
+
};
|
|
34
49
|
for (const name of await scope.caches.keys()) {
|
|
35
50
|
if (name.startsWith(appCachePrefix))
|
|
36
|
-
await scope.caches.delete(name);
|
|
51
|
+
await scope.caches.delete(name).catch(record);
|
|
37
52
|
}
|
|
38
53
|
await deleteExpirationRecordsBestEffort(appCachePrefix);
|
|
39
|
-
await deleteOfflineWriteDatabase(offlineWriteDatabaseName);
|
|
54
|
+
await deleteOfflineWriteDatabase(offlineWriteDatabaseName).catch(record);
|
|
55
|
+
if (failures.length > 0)
|
|
56
|
+
throw failures[0];
|
|
40
57
|
await cancelPushSubscription(scope);
|
|
41
58
|
await scope.clients.claim();
|
|
42
59
|
}
|
|
@@ -52,13 +69,30 @@ async function deleteExpirationRecordsBestEffort(appCachePrefix) {
|
|
|
52
69
|
// Swallowed: see the doc comment above.
|
|
53
70
|
}
|
|
54
71
|
}
|
|
55
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* Rejects on failure so recovery does not take control while sensitive queue data remains. `onblocked` alone is not
|
|
74
|
+
* a failure (ADR-0012 addendum, R14 residue): it only means another connection to this database has not closed yet
|
|
75
|
+
* — the delete request stays pending in the browser and usually still succeeds once that connection closes. So a
|
|
76
|
+
* `blocked` event keeps this waiting for the eventual `onsuccess`/`onerror`, bounded by `BLOCKED_WAIT_MS`; only a
|
|
77
|
+
* timeout after `blocked`, or an outright `onerror`, is treated as a failure.
|
|
78
|
+
*/
|
|
56
79
|
function deleteOfflineWriteDatabase(name) {
|
|
57
80
|
return new Promise((resolve, reject) => {
|
|
58
81
|
const request = indexedDB.deleteDatabase(name);
|
|
59
|
-
|
|
60
|
-
request.
|
|
61
|
-
|
|
82
|
+
let timer;
|
|
83
|
+
request.onsuccess = () => {
|
|
84
|
+
if (timer !== undefined)
|
|
85
|
+
clearTimeout(timer);
|
|
86
|
+
resolve();
|
|
87
|
+
};
|
|
88
|
+
request.onerror = () => {
|
|
89
|
+
if (timer !== undefined)
|
|
90
|
+
clearTimeout(timer);
|
|
91
|
+
reject(request.error ?? new Error("offline-write database deletion failed"));
|
|
92
|
+
};
|
|
93
|
+
request.onblocked = () => {
|
|
94
|
+
timer = setTimeout(() => reject(new Error("offline-write database deletion blocked")), BLOCKED_WAIT_MS);
|
|
95
|
+
};
|
|
62
96
|
});
|
|
63
97
|
}
|
|
64
98
|
/** Best-effort: environments without a `pushManager` are skipped, and any rejection here is swallowed (ADR-0021). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recovery-worker/index.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,yGAAyG;AACzG,2GAA2G;AAC3G,+DAA+D;AAC/D,OAAO,EAAE,4BAA4B,EAAgC,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAQ1E;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAA4B;IAChF,MAAM,EAAE,cAAc,EAAE,wBAAwB,EAAE,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAE1F,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,wGAAwG;QACxG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3C,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recovery-worker/index.ts"],"names":[],"mappings":"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"}
|
package/dist/worker/decide.d.ts
CHANGED
|
@@ -69,7 +69,11 @@ export type PwaRequestInput = {
|
|
|
69
69
|
readonly navigation: boolean;
|
|
70
70
|
/** `request.headers.has("range")`, whatever the header's value. Ignored for navigations (ADR-0023). */
|
|
71
71
|
readonly range: boolean;
|
|
72
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* `request.headers.has("authorization")`, whatever the header's value. Only acted on under a runtime-cache rule:
|
|
74
|
+
* a `public-data` request passes through, and a `navigation-public-dynamic` navigation navigates as it would without
|
|
75
|
+
* runtime caching.
|
|
76
|
+
*/
|
|
73
77
|
readonly authorization: boolean;
|
|
74
78
|
};
|
|
75
79
|
export type PwaRouterOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../src/worker/decide.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,qBAAqB,CAAC;AAG9F,MAAM,MAAM,oBAAoB;AAC9B,+DAA+D;AAC7D,SAAS,GACT,cAAc;AAChB;;;GAGG;GACD,UAAU;AACZ;;;GAGG;GACD,QAAQ,GACR,cAAc;AAChB,8FAA8F;GAC5F,eAAe;AACjB,qCAAqC;GACnC,YAAY;AACd;;;;;;GAMG;GACD,OAAO;AACT;;;GAGG;GACD,eAAe,CAAC;AAEpB,MAAM,MAAM,kBAAkB;AAC5B,wGAAwG;AACtG;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE;AACzE,sDAAsD;GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE;AAC7D;;;GAGG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE;AACtE;;;;;GAKG;GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,wBAAwB,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,2BAA2B,CAAC;IACpE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,CAAC;AAEN,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4BAA4B;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB
|
|
1
|
+
{"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../src/worker/decide.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,qBAAqB,CAAC;AAG9F,MAAM,MAAM,oBAAoB;AAC9B,+DAA+D;AAC7D,SAAS,GACT,cAAc;AAChB;;;GAGG;GACD,UAAU;AACZ;;;GAGG;GACD,QAAQ,GACR,cAAc;AAChB,8FAA8F;GAC5F,eAAe;AACjB,qCAAqC;GACnC,YAAY;AACd;;;;;;GAMG;GACD,OAAO;AACT;;;GAGG;GACD,eAAe,CAAC;AAEpB,MAAM,MAAM,kBAAkB;AAC5B,wGAAwG;AACtG;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE;AACzE,sDAAsD;GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE;AAC7D;;;GAGG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE;AACtE;;;;;GAKG;GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,wBAAwB,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,2BAA2B,CAAC;IACpE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,CAAC;AAEN,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4BAA4B;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,yFAAyF;IACzF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAAE,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAIjF,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,SAAS,CA+D1F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/worker/decide.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/worker/decide.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/worker/handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAyB,gCAAgC,EAAE,MAAM,qCAAqC,CAAC;AAIhK,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAQnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIrE,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,wBAAwB,CAAC;IACpE;;;;;;OAMG;IACH,QAAQ,CAAC,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IACpF;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;CACnD,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,MAAM,EACN,MAAM,EACN,wBAAwB,EAAE,yBAAyB,EACnD,gCAAgC,EAAE,oBAAoB,EACtD,iBAAiB,EAAE,yBAAyB,GAC7C,EAAE,yBAAyB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/worker/handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAyB,gCAAgC,EAAE,MAAM,qCAAqC,CAAC;AAIhK,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAQnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIrE,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,wBAAwB,CAAC;IACpE;;;;;;OAMG;IACH,QAAQ,CAAC,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IACpF;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;CACnD,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,MAAM,EACN,MAAM,EACN,wBAAwB,EAAE,yBAAyB,EACnD,gCAAgC,EAAE,oBAAoB,EACtD,iBAAiB,EAAE,yBAAyB,GAC7C,EAAE,yBAAyB,GAAG,IAAI,CAoHlC"}
|
package/dist/worker/handlers.js
CHANGED
|
@@ -19,9 +19,11 @@ export function attachPlatformWorker({ scope, config, engine, createRuntimeCache
|
|
|
19
19
|
const origin = new URL(scope.location.href).origin;
|
|
20
20
|
const router = createRouter({ config, manifestUrls: engine.urls(), origin });
|
|
21
21
|
const offlineWriteStore = config.offlineWrites.enabled ? (offlineWriteStoreOverride ?? createOfflineWriteStore(config.offlineWrites)) : undefined;
|
|
22
|
-
// Single-flight per session binding (spec "同一会话绑定的 flush 单飞"
|
|
23
|
-
//
|
|
24
|
-
//
|
|
22
|
+
// Single-flight per session binding, with a trailing pass (spec "同一会话绑定的 flush 单飞" + "增补:flush 单飞的
|
|
23
|
+
// trailing pass", R5/N2): a flush request that joins a round still reading its snapshot (`prepareFlush` not yet
|
|
24
|
+
// resolved) shares that round's result exactly as before; one that arrives after the read — while the round is
|
|
25
|
+
// only still sending — is "late" and is coalesced into exactly one extra round that starts once the current one
|
|
26
|
+
// finishes, so writes enqueued mid-flight are not silently left pending. Different bindings never share an entry.
|
|
25
27
|
const inFlightFlushes = new Map();
|
|
26
28
|
const runtimeEngines = config.runtimeCache.enabled
|
|
27
29
|
? buildRuntimeEngines(config.runtimeCache, config.networkTimeoutSeconds, requireRuntimeCacheEngineFactory(runtimeCacheEngineFactory))
|
|
@@ -29,8 +31,24 @@ export function attachPlatformWorker({ scope, config, engine, createRuntimeCache
|
|
|
29
31
|
// R12 (spec.public-read-cache "响应准入", ADR-0035 探路 2): registered once here, independently of which of the
|
|
30
32
|
// engines above `buildRuntimeEngines` actually builds on demand, so a quota error clears every current runtime
|
|
31
33
|
// cache rather than only the ones this worker's lifetime happened to build an engine for.
|
|
34
|
+
//
|
|
35
|
+
// N3 (docs/review/2026-09-28/06-risks-delta.md): Workbox's quota-error callback is global (registerQuotaErrorCallback
|
|
36
|
+
// in workbox-core), so it also fires for a precache write made by engine-workbox's PrecacheController during
|
|
37
|
+
// *this very worker's own install* — before it has won activation. Running the cleanup then would delete the
|
|
38
|
+
// runtime caches the still-active previous version is serving from, and installation fails anyway (the quota is
|
|
39
|
+
// still exhausted), so it would repeat on every retry. The cleanup therefore skips while the registration has an
|
|
40
|
+
// installing worker. The registration is shared, so this also skips the active worker's own cleanup during another
|
|
41
|
+
// version's install: that runtime write is dropped anyway and the next quota error after the install cleans up,
|
|
42
|
+
// which is simpler than telling the two apart through `self.serviceWorker`, an API the platform does not rely on
|
|
43
|
+
// elsewhere. It is read at the moment of the error, not cached in a flag set by the "activate" listener below: a
|
|
44
|
+
// worker restarted after idle termination re-runs this module without "install" or "activate", so such a flag would
|
|
45
|
+
// stay "not activated" forever for an already-active worker (the scenario R12's browser test exercises).
|
|
32
46
|
if (config.runtimeCache.enabled && registerQuotaCleanup !== undefined) {
|
|
33
|
-
registerQuotaCleanup(() =>
|
|
47
|
+
registerQuotaCleanup(() => {
|
|
48
|
+
if (scope.registration.installing !== null)
|
|
49
|
+
return undefined;
|
|
50
|
+
return deleteRuntimeCaches(scope, config.runtimeCache).catch(() => undefined);
|
|
51
|
+
});
|
|
34
52
|
}
|
|
35
53
|
const pendingSignals = createPendingSignalStore();
|
|
36
54
|
scope.addEventListener("install", (event) => {
|
|
@@ -160,20 +178,46 @@ async function flush(message, config, origin, store, inFlightFlushes, port, send
|
|
|
160
178
|
}
|
|
161
179
|
}
|
|
162
180
|
/**
|
|
163
|
-
* Starts `flushOfflineWrites` for `binding` unless one is already in flight
|
|
164
|
-
*
|
|
165
|
-
*
|
|
181
|
+
* Starts `flushOfflineWrites` for `binding` unless one is already in flight. A request that arrives while the
|
|
182
|
+
* in-flight round is still reading its snapshot joins it and shares its exact result, unchanged from the original
|
|
183
|
+
* single-flight behaviour (R5). A request that arrives after that read has resolved — the round is only still
|
|
184
|
+
* sending — cannot observe writes enqueued from this point on, so instead of joining it is coalesced into exactly
|
|
185
|
+
* one trailing round that starts once the current round finishes (N2); every such late request shares that same
|
|
186
|
+
* trailing round's result. Once a round settles with nothing coalesced into it, its entry is removed so the next
|
|
187
|
+
* flush request for `binding` starts a fresh pass.
|
|
166
188
|
*/
|
|
167
189
|
function flushOnce(store, binding, origin, send, inFlightFlushes) {
|
|
168
|
-
const
|
|
169
|
-
if (
|
|
170
|
-
return
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
190
|
+
const state = inFlightFlushes.get(binding);
|
|
191
|
+
if (state === undefined)
|
|
192
|
+
return startFlushRound(store, binding, origin, send, inFlightFlushes);
|
|
193
|
+
if (!state.readPrepared)
|
|
194
|
+
return state.active;
|
|
195
|
+
if (state.trailing === undefined) {
|
|
196
|
+
// Runs once `state.active` settles, whether it fulfilled or rejected, and replaces this binding's map entry
|
|
197
|
+
// with the new round (see startFlushRound) so any further late arrival coalesces into a round of its own.
|
|
198
|
+
state.trailing = state.active.then(() => startFlushRound(store, binding, origin, send, inFlightFlushes), () => startFlushRound(store, binding, origin, send, inFlightFlushes));
|
|
199
|
+
}
|
|
200
|
+
return state.trailing;
|
|
201
|
+
}
|
|
202
|
+
function startFlushRound(store, binding, origin, send, inFlightFlushes) {
|
|
203
|
+
// `active` is filled in immediately below, before any other code can observe this object (no await in between).
|
|
204
|
+
const state = { readPrepared: false };
|
|
205
|
+
const active = flushOfflineWrites(store, binding, origin, send, () => {
|
|
206
|
+
state.readPrepared = true;
|
|
207
|
+
});
|
|
208
|
+
state.active = active;
|
|
209
|
+
inFlightFlushes.set(binding, state);
|
|
210
|
+
// Settlement cleanup must not itself become an unhandled rejection; the round's own rejection is still delivered
|
|
211
|
+
// to every direct waiter (via `active`, or, for a late caller, via `trailing`'s chained promise).
|
|
212
|
+
void active
|
|
213
|
+
.finally(() => {
|
|
214
|
+
// A trailing pass already replaced this binding's entry with its own fresh state (see flushOnce above); only
|
|
215
|
+
// clear the entry here when this settlement is still the current one and nothing was coalesced into it.
|
|
216
|
+
if (inFlightFlushes.get(binding) === state && state.trailing === undefined)
|
|
217
|
+
inFlightFlushes.delete(binding);
|
|
218
|
+
})
|
|
219
|
+
.catch(() => undefined);
|
|
220
|
+
return active;
|
|
177
221
|
}
|
|
178
222
|
async function enqueue(message, config, origin, store, port) {
|
|
179
223
|
const checked = validateOfflineWriteEnqueue(message, config, origin);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/worker/handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/worker/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,14 @@ export type PwaOfflineWriteFlushResult = {
|
|
|
5
5
|
readonly failed: number;
|
|
6
6
|
readonly purged: number;
|
|
7
7
|
};
|
|
8
|
-
/**
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Explicit FIFO replay; it is never called by fetch, Sync, Push or worker activation.
|
|
10
|
+
*
|
|
11
|
+
* `onPrepared`, when given, runs synchronously right after `store.prepareFlush` resolves, before the send loop
|
|
12
|
+
* starts — handlers.ts's single-flight bookkeeping uses it to tell a flush request that joins this round while the
|
|
13
|
+
* read is still pending (still eligible to observe this round's snapshot) apart from one that arrives afterward,
|
|
14
|
+
* during the send loop, which cannot: that one is coalesced into a trailing pass instead (spec "增补:flush 单飞的
|
|
15
|
+
* trailing pass", N2).
|
|
16
|
+
*/
|
|
17
|
+
export declare function flushOfflineWrites(store: PwaOfflineWriteStore, binding: string, origin: string, send: typeof fetch, onPrepared?: () => void): Promise<PwaOfflineWriteFlushResult>;
|
|
10
18
|
//# sourceMappingURL=offline-write-flush.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offline-write-flush.d.ts","sourceRoot":"","sources":["../../src/worker/offline-write-flush.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,MAAM,0BAA0B,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhJ
|
|
1
|
+
{"version":3,"file":"offline-write-flush.d.ts","sourceRoot":"","sources":["../../src/worker/offline-write-flush.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,MAAM,0BAA0B,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhJ;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,KAAK,EAClB,UAAU,CAAC,EAAE,MAAM,IAAI,GACtB,OAAO,CAAC,0BAA0B,CAAC,CA8BrC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Explicit FIFO replay; it is never called by fetch, Sync, Push or worker activation.
|
|
3
|
+
*
|
|
4
|
+
* `onPrepared`, when given, runs synchronously right after `store.prepareFlush` resolves, before the send loop
|
|
5
|
+
* starts — handlers.ts's single-flight bookkeeping uses it to tell a flush request that joins this round while the
|
|
6
|
+
* read is still pending (still eligible to observe this round's snapshot) apart from one that arrives afterward,
|
|
7
|
+
* during the send loop, which cannot: that one is coalesced into a trailing pass instead (spec "增补:flush 单飞的
|
|
8
|
+
* trailing pass", N2).
|
|
9
|
+
*/
|
|
10
|
+
export async function flushOfflineWrites(store, binding, origin, send, onPrepared) {
|
|
3
11
|
const prepared = await store.prepareFlush(binding);
|
|
12
|
+
onPrepared?.();
|
|
4
13
|
let sent = 0;
|
|
5
14
|
let retained = 0;
|
|
6
15
|
let failed = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offline-write-flush.js","sourceRoot":"","sources":["../../src/worker/offline-write-flush.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"offline-write-flush.js","sourceRoot":"","sources":["../../src/worker/offline-write-flush.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA2B,EAC3B,OAAe,EACf,MAAc,EACd,IAAkB,EAClB,UAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACnD,UAAU,EAAE,EAAE,CAAC;IACf,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;gBACvD,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,aAAa;gBAC1B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,KAAK,CAAC,cAAc,EAAE;gBACxF,IAAI,EAAE,KAAK,CAAC,QAAQ;aACrB,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,CAAC;YACZ,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;gBAAE,QAAQ,IAAI,CAAC,CAAC;iBAC5C,CAAC;gBACJ,MAAM,KAAK,CAAC,UAAU,CACpB,KAAK,CAAC,cAAc,EACpB,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,UAAU,CAC3F,CAAC;gBACF,MAAM,IAAI,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC7D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pwa-platform/sw-runtime",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Service worker and recovery runtime for PWA Platform.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
"dist"
|
|
39
39
|
],
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@pwa-platform/contracts": "0.2.
|
|
42
|
-
"@pwa-platform/engine-workbox": "0.2.
|
|
41
|
+
"@pwa-platform/contracts": "0.2.3",
|
|
42
|
+
"@pwa-platform/engine-workbox": "0.2.3"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@playwright/test": "1.63.0",
|
|
46
46
|
"@types/node": "24.13.4",
|
|
47
47
|
"vite": "8.3.0",
|
|
48
|
-
"@pwa-platform/
|
|
49
|
-
"@pwa-platform/
|
|
48
|
+
"@pwa-platform/core": "0.2.3",
|
|
49
|
+
"@pwa-platform/browser-test-harness": "0.0.0"
|
|
50
50
|
},
|
|
51
51
|
"engines": {
|
|
52
52
|
"node": ">=22.0.0"
|