@venizia/ignis-worker 0.2.0-2 → 0.2.0-4
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/dist/cjs/transport/fetch-bridge.d.ts +35 -0
- package/dist/cjs/transport/fetch-bridge.d.ts.map +1 -0
- package/dist/cjs/transport/fetch-bridge.js +95 -0
- package/dist/cjs/transport/fetch-bridge.js.map +1 -0
- package/dist/cjs/transport/index.d.ts +2 -0
- package/dist/cjs/transport/index.d.ts.map +1 -1
- package/dist/cjs/transport/index.js +2 -0
- package/dist/cjs/transport/index.js.map +1 -1
- package/dist/cjs/transport/shared.d.ts +102 -0
- package/dist/cjs/transport/shared.d.ts.map +1 -0
- package/dist/cjs/transport/shared.js +396 -0
- package/dist/cjs/transport/shared.js.map +1 -0
- package/dist/cjs/transport/worker.d.ts +16 -2
- package/dist/cjs/transport/worker.d.ts.map +1 -1
- package/dist/cjs/transport/worker.js +65 -7
- package/dist/cjs/transport/worker.js.map +1 -1
- package/dist/esm/transport/fetch-bridge.d.ts +35 -0
- package/dist/esm/transport/fetch-bridge.d.ts.map +1 -0
- package/dist/esm/transport/fetch-bridge.js +91 -0
- package/dist/esm/transport/fetch-bridge.js.map +1 -0
- package/dist/esm/transport/index.d.ts +2 -0
- package/dist/esm/transport/index.d.ts.map +1 -1
- package/dist/esm/transport/index.js +2 -0
- package/dist/esm/transport/index.js.map +1 -1
- package/dist/esm/transport/shared.d.ts +102 -0
- package/dist/esm/transport/shared.d.ts.map +1 -0
- package/dist/esm/transport/shared.js +391 -0
- package/dist/esm/transport/shared.js.map +1 -0
- package/dist/esm/transport/worker.d.ts +16 -2
- package/dist/esm/transport/worker.d.ts.map +1 -1
- package/dist/esm/transport/worker.js +65 -7
- package/dist/esm/transport/worker.js.map +1 -1
- package/package.json +3 -3
|
@@ -15,6 +15,10 @@ export declare class WorkerBffTransport extends BaseHelper implements IBffTransp
|
|
|
15
15
|
private readonly timeoutMs;
|
|
16
16
|
private readonly requestIdGenerator;
|
|
17
17
|
private readonly pendingRequests;
|
|
18
|
+
/** Set by `close()`, so a later `fetch()` is refused instead of reaching a worker nothing listens to. */
|
|
19
|
+
private isClosed;
|
|
20
|
+
/** Outstanding `handleWorkerError` grace timers, cleared by `close()` so none outlives the transport. */
|
|
21
|
+
private readonly graceTimers;
|
|
18
22
|
constructor(opts: {
|
|
19
23
|
worker: Worker;
|
|
20
24
|
timeoutMs?: number;
|
|
@@ -23,10 +27,20 @@ export declare class WorkerBffTransport extends BaseHelper implements IBffTransp
|
|
|
23
27
|
private readonly takePending;
|
|
24
28
|
private readonly handleMessage;
|
|
25
29
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
30
|
+
* An `error` event does NOT mean the worker is dead.
|
|
31
|
+
*
|
|
32
|
+
* Measured in Chromium: a synchronous uncaught throw anywhere in the worker - a third-party timer,
|
|
33
|
+
* say - fires this event while the worker keeps serving, and the genuine responses to the
|
|
34
|
+
* in-flight requests arrive a moment later. Rejecting immediately reported a committed POST as
|
|
35
|
+
* failed and then dropped its real 200 on the floor, because nothing was left waiting for it.
|
|
36
|
+
*
|
|
37
|
+
* So the event is logged at once and the requests are given a grace window. Whatever the worker
|
|
38
|
+
* still answers inside it settles normally; whatever is left after it really is lost, and is
|
|
39
|
+
* rejected with the diagnostics rather than left to run out its own timeout.
|
|
28
40
|
*/
|
|
29
41
|
private readonly handleWorkerError;
|
|
42
|
+
/** `ErrorEvent` carries the useful fields; a plain `Event` does not, so both shapes are handled. */
|
|
43
|
+
private describeErrorEvent;
|
|
30
44
|
/**
|
|
31
45
|
* `messageerror` means exactly ONE posted message failed to deserialise, and the event carries
|
|
32
46
|
* nothing that says which. With a single request in flight that is unambiguous, so it settles
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AAInE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AAInE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAoBpD;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,UAAW,YAAW,aAAa;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAEhC;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IAEtE,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAS;IAEzB,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;gBAE5D,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAWxD,wHAAwH;IACxH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAS1B;IAEF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAgC5B;IAEF;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CA+BhC;IAEF,oGAAoG;IACpG,OAAO,CAAC,kBAAkB;IAe1B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAkBjC;IAEI,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IA0E1D,2HAA2H;IAC3H,OAAO,CAAC,YAAY;IAOpB;;;OAGG;IACH,KAAK,IAAI,IAAI;CAmBd"}
|
|
@@ -2,6 +2,8 @@ import { BaseHelper, getError } from '@venizia/ignis-helpers/core';
|
|
|
2
2
|
import { RequestIdGenerator } from '@venizia/ignis-helpers/core';
|
|
3
3
|
import { BffEnvelope } from '../envelope/encode.js';
|
|
4
4
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
5
|
+
/** How long a still-serving worker gets to answer after it reports an error - see `handleWorkerError`. */
|
|
6
|
+
const WORKER_ERROR_GRACE_MS = 250;
|
|
5
7
|
const isErrorEnvelope = (data) => {
|
|
6
8
|
return 'error' in data;
|
|
7
9
|
};
|
|
@@ -22,6 +24,10 @@ export class WorkerBffTransport extends BaseHelper {
|
|
|
22
24
|
scope: WorkerBffTransport.name,
|
|
23
25
|
});
|
|
24
26
|
this.pendingRequests = new Map();
|
|
27
|
+
/** Set by `close()`, so a later `fetch()` is refused instead of reaching a worker nothing listens to. */
|
|
28
|
+
this.isClosed = false;
|
|
29
|
+
/** Outstanding `handleWorkerError` grace timers, cleared by `close()` so none outlives the transport. */
|
|
30
|
+
this.graceTimers = new Set();
|
|
25
31
|
/** Removes a pending request from the map and releases its timer and abort listener, so nothing can settle it twice. */
|
|
26
32
|
this.takePending = (opts) => {
|
|
27
33
|
const pending = this.pendingRequests.get(opts.id);
|
|
@@ -62,15 +68,37 @@ export class WorkerBffTransport extends BaseHelper {
|
|
|
62
68
|
}
|
|
63
69
|
};
|
|
64
70
|
/**
|
|
65
|
-
*
|
|
66
|
-
*
|
|
71
|
+
* An `error` event does NOT mean the worker is dead.
|
|
72
|
+
*
|
|
73
|
+
* Measured in Chromium: a synchronous uncaught throw anywhere in the worker - a third-party timer,
|
|
74
|
+
* say - fires this event while the worker keeps serving, and the genuine responses to the
|
|
75
|
+
* in-flight requests arrive a moment later. Rejecting immediately reported a committed POST as
|
|
76
|
+
* failed and then dropped its real 200 on the floor, because nothing was left waiting for it.
|
|
77
|
+
*
|
|
78
|
+
* So the event is logged at once and the requests are given a grace window. Whatever the worker
|
|
79
|
+
* still answers inside it settles normally; whatever is left after it really is lost, and is
|
|
80
|
+
* rejected with the diagnostics rather than left to run out its own timeout.
|
|
67
81
|
*/
|
|
68
82
|
this.handleWorkerError = (event) => {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
83
|
+
// `String(event)` is always `[object ErrorEvent]` - it says nothing. Read the fields a browser
|
|
84
|
+
// actually populates, so the log names the file and line that failed.
|
|
85
|
+
const detail = this.describeErrorEvent(event);
|
|
86
|
+
this.logger
|
|
87
|
+
.for('handleWorkerError')
|
|
88
|
+
.error('Worker reported an error | pending: %s | detail: %s', this.pendingRequests.size, detail);
|
|
89
|
+
const affected = [...this.pendingRequests.keys()];
|
|
90
|
+
// Held so `close()` can clear it. A grace timer that outlives the transport keeps the process
|
|
91
|
+
// (or a test runner) awake and fires against a map nobody is watching any more.
|
|
92
|
+
const timer = setTimeout(() => {
|
|
93
|
+
this.graceTimers.delete(timer);
|
|
94
|
+
for (const id of affected) {
|
|
95
|
+
// `takePending` answers undefined for anything the worker managed to settle in the window.
|
|
96
|
+
this.takePending({ id })?.reject(getError({
|
|
97
|
+
message: `[WorkerBffTransport] Worker failed while awaiting a response | id: ${id} | detail: ${detail}`,
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
}, WORKER_ERROR_GRACE_MS);
|
|
101
|
+
this.graceTimers.add(timer);
|
|
74
102
|
};
|
|
75
103
|
/**
|
|
76
104
|
* `messageerror` means exactly ONE posted message failed to deserialise, and the event carries
|
|
@@ -96,9 +124,25 @@ export class WorkerBffTransport extends BaseHelper {
|
|
|
96
124
|
this.worker.addEventListener('error', this.handleWorkerError);
|
|
97
125
|
this.worker.addEventListener('messageerror', this.handleMessageError);
|
|
98
126
|
}
|
|
127
|
+
/** `ErrorEvent` carries the useful fields; a plain `Event` does not, so both shapes are handled. */
|
|
128
|
+
describeErrorEvent(event) {
|
|
129
|
+
const candidate = event;
|
|
130
|
+
if (!candidate.message) {
|
|
131
|
+
return event.type;
|
|
132
|
+
}
|
|
133
|
+
return `${candidate.message} (${candidate.filename ?? 'unknown'}:${candidate.lineno ?? 0}:${candidate.colno ?? 0})`;
|
|
134
|
+
}
|
|
99
135
|
async fetch(opts) {
|
|
100
136
|
const { request } = opts;
|
|
101
137
|
const { signal } = request;
|
|
138
|
+
// Refused, not queued. `close()` detaches the message listener, so a request posted after it
|
|
139
|
+
// still reached the worker - which EXECUTED it, writes included - while the answer had nowhere
|
|
140
|
+
// to land and the caller waited out the full timeout.
|
|
141
|
+
if (this.isClosed) {
|
|
142
|
+
throw getError({
|
|
143
|
+
message: '[WorkerBffTransport] The transport is closed | open a new one to make requests',
|
|
144
|
+
});
|
|
145
|
+
}
|
|
102
146
|
if (signal?.aborted) {
|
|
103
147
|
throw this.toAbortError({ signal });
|
|
104
148
|
}
|
|
@@ -135,6 +179,15 @@ export class WorkerBffTransport extends BaseHelper {
|
|
|
135
179
|
handleAbort();
|
|
136
180
|
return;
|
|
137
181
|
}
|
|
182
|
+
// `close()` can land during that same await. The entry guard above is then stale, and posting
|
|
183
|
+
// reaches a worker that EXECUTES the request - writes included - while the answer has nowhere
|
|
184
|
+
// to land, because `close()` already detached the listener.
|
|
185
|
+
if (this.isClosed) {
|
|
186
|
+
this.takePending({ id })?.reject(getError({
|
|
187
|
+
message: `[WorkerBffTransport] The transport closed while the request was being encoded | id: ${id}`,
|
|
188
|
+
}));
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
138
191
|
this.worker.postMessage(requestEnvelope, requestEnvelope.body ? [requestEnvelope.body] : []);
|
|
139
192
|
});
|
|
140
193
|
}
|
|
@@ -148,6 +201,11 @@ export class WorkerBffTransport extends BaseHelper {
|
|
|
148
201
|
* left alone - this transport did not create it, and a page may hand the same one to another.
|
|
149
202
|
*/
|
|
150
203
|
close() {
|
|
204
|
+
this.isClosed = true;
|
|
205
|
+
for (const timer of this.graceTimers) {
|
|
206
|
+
clearTimeout(timer);
|
|
207
|
+
}
|
|
208
|
+
this.graceTimers.clear();
|
|
151
209
|
this.worker.removeEventListener('message', this.handleMessage);
|
|
152
210
|
this.worker.removeEventListener('error', this.handleWorkerError);
|
|
153
211
|
this.worker.removeEventListener('messageerror', this.handleMessageError);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,MAAM,eAAe,GAAG,CACtB,IAA8C,EACnB,EAAE;IAC7B,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC,CAAC;AASF;;;;;;;;;GASG;AACH,MAAM,OAAO,kBAAmB,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venizia/ignis-worker",
|
|
3
|
-
"version": "0.2.0-
|
|
3
|
+
"version": "0.2.0-4",
|
|
4
4
|
"description": "Browser Web Worker host for the IGNIS framework: the request/response envelope, the transport contract, and WorkerApplication - the layer that listens on `onmessage` instead of a socket, so a RestApplication can serve its controllers with no server anywhere.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"browser",
|
|
@@ -74,9 +74,9 @@
|
|
|
74
74
|
"prepublishOnly": "bun run rebuild"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
-
"@venizia/ignis-helpers": "^0.2.0-
|
|
77
|
+
"@venizia/ignis-helpers": "^0.2.0-3",
|
|
78
78
|
"@venizia/ignis-inversion": "^0.2.0-0",
|
|
79
|
-
"@venizia/ignis-kernel": "^0.2.0-
|
|
79
|
+
"@venizia/ignis-kernel": "^0.2.0-3",
|
|
80
80
|
"reflect-metadata": "^0.2.2"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|