@relaymessenger/sdk 0.3.6 → 0.3.7-staging.1
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 +6 -1
- package/dist/websocket.d.ts +12 -1
- package/dist/websocket.d.ts.map +1 -1
- package/dist/websocket.js +117 -17
- package/dist/websocket.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -766,7 +766,12 @@ last subscription makes the WebSocket path available again. Relay retains
|
|
|
766
766
|
undelivered events across either change.
|
|
767
767
|
|
|
768
768
|
The SDK derives `wss://<Relay host>/v1/websocket` from `baseURL` and sends the
|
|
769
|
-
Agent Token in the WebSocket upgrade `Authorization` header.
|
|
769
|
+
Agent Token in the WebSocket upgrade `Authorization` header. It names every
|
|
770
|
+
event type in `RELAY_WEBHOOK_EVENT_TYPES` with `subscribed_events`: Relay sends
|
|
771
|
+
a connection only the types it names, and the 16 original message, reaction,
|
|
772
|
+
participant, chat and contact types when it names none. An event type this
|
|
773
|
+
release does not know is skipped and acknowledged, and `onError` receives one
|
|
774
|
+
`RelayUnknownEventTypeError` for it.
|
|
770
775
|
|
|
771
776
|
The SDK validates the ready checkpoint, rejects sequence gaps, and routes
|
|
772
777
|
replayed sequences through your durable deduplication handler. It sends a
|
package/dist/websocket.d.ts
CHANGED
|
@@ -43,6 +43,12 @@ export interface WebSocketRunOptions {
|
|
|
43
43
|
maxReconnectDelayMs?: number;
|
|
44
44
|
random?: () => number;
|
|
45
45
|
/**
|
|
46
|
+
* Must be idempotent: deduplicate by `event_id`. Relay delivers an event
|
|
47
|
+
* again after a failed handler or a dropped connection, and when a handler
|
|
48
|
+
* outlives its dropped connection by 60 seconds the next connection gets
|
|
49
|
+
* the event while that first call may still run. Its result is then never
|
|
50
|
+
* acknowledged.
|
|
51
|
+
*
|
|
46
52
|
* In default consuming mode, commit to a durable inbox before resolving.
|
|
47
53
|
* Resolution advances only the transport checkpoint, not Delivered or Read.
|
|
48
54
|
* With observe:true, this is a notification and never authorizes an ACK.
|
|
@@ -57,7 +63,12 @@ export interface WebSocketRunOptions {
|
|
|
57
63
|
* Connection failures before each reconnect, and a
|
|
58
64
|
* `RelayUnknownEventTypeError` the first time an event type this release
|
|
59
65
|
* does not know arrives. Such events are skipped and acknowledged; upgrade
|
|
60
|
-
* the SDK to receive them.
|
|
66
|
+
* the SDK to receive them. Without `onError`, each is written with
|
|
67
|
+
* `console.error`.
|
|
68
|
+
*
|
|
69
|
+
* When `onEvent` throws, the connection closes and the event comes back on
|
|
70
|
+
* the next one, after a delay that doubles from `minReconnectDelayMs` to
|
|
71
|
+
* `maxReconnectDelayMs` until an event is acknowledged again.
|
|
61
72
|
*/
|
|
62
73
|
onError?(error: unknown): void;
|
|
63
74
|
}
|
package/dist/websocket.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EAIjB,sBAAsB,EAGtB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CACd,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAC7B,IAAI,CAAC;IACR,mBAAmB,CACjB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAC7B,IAAI,CAAC;IACR,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,EAAE,CAAC,CACD,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,OAAO,CAAC;IACX,GAAG,CAAC,CACF,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,OAAO,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,KACE,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAC7C,aAAa,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,iBAAiB,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,GAAG,cAAc,GAAG,IAAI,CAAC;IACzE,OAAO,CAAC,CAAC,KAAK,EAAE,mBAAmB,GAAG;QAAE,aAAa,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,0DAA0D;IAC1D,gBAAgB,CAAC,CAAC,GAAG,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrF,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EAIjB,sBAAsB,EAGtB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,CACd,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAC7B,IAAI,CAAC;IACR,mBAAmB,CACjB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAC7B,IAAI,CAAC;IACR,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,EAAE,CAAC,CACD,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,OAAO,CAAC;IACX,GAAG,CAAC,CACF,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GACjC,OAAO,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,KACE,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAC7C,aAAa,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,iBAAiB,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,GAAG,cAAc,GAAG,IAAI,CAAC;IACzE,OAAO,CAAC,CAAC,KAAK,EAAE,mBAAmB,GAAG;QAAE,aAAa,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,0DAA0D;IAC1D,gBAAgB,CAAC,CAAC,GAAG,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrF,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB;;;;;;;;;;OAUG;IACH,OAAO,CACL,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC;AAiyBD,eAAO,MAAM,YAAY,GACvB,SAAS,MAAM,EACf,YAAY,MAAM,EAClB,SAAS,mBAAmB,KAC3B,OAAO,CAAC,IAAI,CAkFd,CAAC"}
|
package/dist/websocket.js
CHANGED
|
@@ -53,6 +53,14 @@ const WEBSOCKET_ERROR_CODES = new Set([
|
|
|
53
53
|
"full_sync_mismatch",
|
|
54
54
|
]);
|
|
55
55
|
const HEARTBEAT_PONG_TIMEOUT_MS = 60_000;
|
|
56
|
+
/**
|
|
57
|
+
* How long a dropped connection waits for the handler still running on it
|
|
58
|
+
* before the next connection opens. Waiting keeps one event from running
|
|
59
|
+
* twice at once; the bound keeps a handler that never returns from stopping
|
|
60
|
+
* delivery for good. Past it, Relay sends the event again while the old call
|
|
61
|
+
* may still run, which handlers already dedupe by event id.
|
|
62
|
+
*/
|
|
63
|
+
const HANDLER_DRAIN_TIMEOUT_MS = 60_000;
|
|
56
64
|
/**
|
|
57
65
|
* The exact text frame Relay answers without waking the Agent's Durable
|
|
58
66
|
* Object. It must stay byte-identical to the server's configured
|
|
@@ -186,9 +194,13 @@ class WebSocketStoppedError extends Error {
|
|
|
186
194
|
}
|
|
187
195
|
}
|
|
188
196
|
class DurableApplicationError extends Error {
|
|
197
|
+
sequence;
|
|
189
198
|
closeCode = CLIENT_CLOSE_DURABLE_ACCEPTANCE;
|
|
190
|
-
constructor(operation, cause
|
|
199
|
+
constructor(operation, cause,
|
|
200
|
+
/** The event's sequence, named in the close reason so Relay records the failure against it. */
|
|
201
|
+
sequence) {
|
|
191
202
|
super(`Relay WebSocket durable ${operation} application failed: ${cause instanceof Error ? cause.message : String(cause)}`, { cause });
|
|
203
|
+
this.sequence = sequence;
|
|
192
204
|
}
|
|
193
205
|
}
|
|
194
206
|
class RetryableWebSocketError extends Error {
|
|
@@ -250,10 +262,43 @@ const deriveWebSocketURL = (baseURL, observe = false) => {
|
|
|
250
262
|
url.search = "";
|
|
251
263
|
if (observe)
|
|
252
264
|
url.searchParams.set("observe", "true");
|
|
265
|
+
// Relay sends a connection only the event types it names, and the 16
|
|
266
|
+
// original ones when it names none (Telegram's allowed_updates default), so
|
|
267
|
+
// a release that does not know a newer type is never sent it. Name every
|
|
268
|
+
// type this release knows.
|
|
269
|
+
for (const type of RELAY_WEBHOOK_EVENT_TYPES) {
|
|
270
|
+
url.searchParams.append("subscribed_events", type);
|
|
271
|
+
}
|
|
253
272
|
url.hash = "";
|
|
254
273
|
return url.toString();
|
|
255
274
|
};
|
|
256
|
-
|
|
275
|
+
/**
|
|
276
|
+
* The answer to this client's own heartbeat, read as it arrives rather than
|
|
277
|
+
* behind the event being handled: the heartbeat proves the connection, not the
|
|
278
|
+
* handler, so a long handler keeps its connection and the events Relay sent on
|
|
279
|
+
* it (the SQS visibility-timeout extension; REL-428). Anything else, and a
|
|
280
|
+
* frame that is not text yet (a Blob), goes through the ordered chain.
|
|
281
|
+
*/
|
|
282
|
+
const isHeartbeatAnswer = (data) => {
|
|
283
|
+
const raw = typeof data === "string"
|
|
284
|
+
? data
|
|
285
|
+
: data instanceof ArrayBuffer || ArrayBuffer.isView(data)
|
|
286
|
+
? new TextDecoder().decode(data)
|
|
287
|
+
: undefined;
|
|
288
|
+
if (raw === undefined)
|
|
289
|
+
return false;
|
|
290
|
+
try {
|
|
291
|
+
const frame = JSON.parse(raw);
|
|
292
|
+
if (!isRecord(frame) || frame.type !== "pong")
|
|
293
|
+
return false;
|
|
294
|
+
parsePong(frame);
|
|
295
|
+
return true;
|
|
296
|
+
}
|
|
297
|
+
catch {
|
|
298
|
+
return false;
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
const runConnection = (url, agentToken, options, Constructor, onReady, onUnknownEvent, onAcknowledged) => new Promise((resolve, reject) => {
|
|
257
302
|
const socket = new Constructor(url, {
|
|
258
303
|
headers: {
|
|
259
304
|
Authorization: `Bearer ${agentToken}`,
|
|
@@ -266,7 +311,13 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
266
311
|
let fullSyncThrough;
|
|
267
312
|
let heartbeatTimer;
|
|
268
313
|
let lastPongAt = 0;
|
|
269
|
-
|
|
314
|
+
// Set when this client drops the connection itself; the run ends with it
|
|
315
|
+
// once the handler that is still running returns.
|
|
316
|
+
let dropped;
|
|
317
|
+
// Set on every way the connection ends: a peer close, a socket error, an
|
|
318
|
+
// abort, or this client's own drop. No buffered event runs after it.
|
|
319
|
+
let gone = false;
|
|
320
|
+
const finish = (error = dropped) => {
|
|
270
321
|
if (settled)
|
|
271
322
|
return;
|
|
272
323
|
settled = true;
|
|
@@ -284,8 +335,18 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
284
335
|
reject(error);
|
|
285
336
|
};
|
|
286
337
|
const stopReceiving = () => {
|
|
338
|
+
gone = true;
|
|
287
339
|
socket.removeEventListener("message", onMessage);
|
|
288
340
|
};
|
|
341
|
+
/** The running handler's end, or HANDLER_DRAIN_TIMEOUT_MS, whichever is first. */
|
|
342
|
+
const drained = () => new Promise((resolveDrain) => {
|
|
343
|
+
const timer = setTimeout(resolveDrain, HANDLER_DRAIN_TIMEOUT_MS);
|
|
344
|
+
const done = () => {
|
|
345
|
+
clearTimeout(timer);
|
|
346
|
+
resolveDrain();
|
|
347
|
+
};
|
|
348
|
+
chain.then(done, done);
|
|
349
|
+
});
|
|
289
350
|
const send = (frame) => {
|
|
290
351
|
try {
|
|
291
352
|
socket.send(JSON.stringify(frame));
|
|
@@ -294,13 +355,23 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
294
355
|
throw new RetryableWebSocketError(`Relay WebSocket could not send a client frame: ${cause instanceof Error ? cause.message : String(cause)}`);
|
|
295
356
|
}
|
|
296
357
|
};
|
|
358
|
+
/**
|
|
359
|
+
* The next connection is opened only after the handler still running on
|
|
360
|
+
* this one returns. Relay sends that connection every event not yet
|
|
361
|
+
* acknowledged, so opening it sooner would run the same event twice at
|
|
362
|
+
* the same time (REL-428).
|
|
363
|
+
*/
|
|
297
364
|
const closeForRetry = (error) => {
|
|
298
365
|
stopReceiving();
|
|
366
|
+
if (heartbeatTimer !== undefined)
|
|
367
|
+
clearInterval(heartbeatTimer);
|
|
368
|
+
heartbeatTimer = undefined;
|
|
369
|
+
dropped ??= error;
|
|
299
370
|
try {
|
|
300
371
|
socket.close(error.closeCode, "Relay requested reconnect");
|
|
301
372
|
}
|
|
302
373
|
finally {
|
|
303
|
-
finish(error);
|
|
374
|
+
void drained().then(() => finish(error));
|
|
304
375
|
}
|
|
305
376
|
};
|
|
306
377
|
/**
|
|
@@ -344,8 +415,14 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
344
415
|
});
|
|
345
416
|
};
|
|
346
417
|
const onMessage = (message) => {
|
|
418
|
+
if (isHeartbeatAnswer(message.data)) {
|
|
419
|
+
lastPongAt = Date.now();
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
347
422
|
chain = chain.then(async () => {
|
|
348
|
-
|
|
423
|
+
// A dropped connection runs none of the events still buffered on it:
|
|
424
|
+
// Relay sends them again on the next one.
|
|
425
|
+
if (settled || gone || options.signal?.aborted)
|
|
349
426
|
return;
|
|
350
427
|
let frame;
|
|
351
428
|
try {
|
|
@@ -435,7 +512,7 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
435
512
|
catch (cause) {
|
|
436
513
|
throw new DurableApplicationError("FULL sync", cause);
|
|
437
514
|
}
|
|
438
|
-
if (options.signal?.aborted)
|
|
515
|
+
if (options.signal?.aborted || gone || settled)
|
|
439
516
|
return;
|
|
440
517
|
send({
|
|
441
518
|
type: "full_sync_complete",
|
|
@@ -443,6 +520,7 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
443
520
|
});
|
|
444
521
|
acceptedThrough = fullSyncThrough;
|
|
445
522
|
fullSyncThrough = null;
|
|
523
|
+
onAcknowledged();
|
|
446
524
|
return;
|
|
447
525
|
}
|
|
448
526
|
if (fullSyncThrough !== null) {
|
|
@@ -466,7 +544,7 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
466
544
|
await options.onEvent(event.event, { sequence: event.sequence });
|
|
467
545
|
}
|
|
468
546
|
catch (cause) {
|
|
469
|
-
throw new DurableApplicationError("event", cause);
|
|
547
|
+
throw new DurableApplicationError("event", cause, event.sequence);
|
|
470
548
|
}
|
|
471
549
|
}
|
|
472
550
|
else {
|
|
@@ -482,13 +560,17 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
482
560
|
if (sequence === acceptedThrough + 1n) {
|
|
483
561
|
acceptedThrough = sequence;
|
|
484
562
|
}
|
|
485
|
-
if (options.signal?.aborted)
|
|
563
|
+
if (options.signal?.aborted || gone || settled)
|
|
486
564
|
return;
|
|
487
565
|
send({
|
|
488
566
|
type: "ack",
|
|
489
567
|
through_sequence: acceptedThrough.toString(),
|
|
490
568
|
});
|
|
569
|
+
onAcknowledged();
|
|
491
570
|
}).catch((error) => {
|
|
571
|
+
// A handler that outlived its connection's drain: that run is over.
|
|
572
|
+
if (settled)
|
|
573
|
+
return;
|
|
492
574
|
stopReceiving();
|
|
493
575
|
socket.close(error instanceof WebSocketStoppedError
|
|
494
576
|
? error.closeCode
|
|
@@ -502,13 +584,15 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
502
584
|
? "protocol error"
|
|
503
585
|
: error instanceof RetryableWebSocketError
|
|
504
586
|
? "Relay requested reconnect"
|
|
505
|
-
:
|
|
587
|
+
: error instanceof DurableApplicationError && error.sequence !== undefined
|
|
588
|
+
? `durable application failed at sequence ${error.sequence}`
|
|
589
|
+
: "durable application failed");
|
|
506
590
|
finish(error);
|
|
507
591
|
});
|
|
508
592
|
};
|
|
509
593
|
const onClose = (event) => {
|
|
510
594
|
stopReceiving();
|
|
511
|
-
void
|
|
595
|
+
void drained().then(() => {
|
|
512
596
|
if (options.signal?.aborted) {
|
|
513
597
|
finish();
|
|
514
598
|
return;
|
|
@@ -535,16 +619,16 @@ const runConnection = (url, agentToken, options, Constructor, onReady, onUnknown
|
|
|
535
619
|
return;
|
|
536
620
|
}
|
|
537
621
|
finish();
|
|
538
|
-
}
|
|
622
|
+
});
|
|
539
623
|
};
|
|
540
624
|
const onSocketError = () => {
|
|
541
625
|
stopReceiving();
|
|
542
626
|
if (options.signal?.aborted) {
|
|
543
|
-
void
|
|
627
|
+
void drained().then(() => finish());
|
|
544
628
|
return;
|
|
545
629
|
}
|
|
546
630
|
const error = new Error("Relay WebSocket connection failed.");
|
|
547
|
-
void
|
|
631
|
+
void drained().then(() => finish(error));
|
|
548
632
|
};
|
|
549
633
|
const onAbort = () => {
|
|
550
634
|
stopReceiving();
|
|
@@ -583,7 +667,17 @@ export const runWebSocket = async (baseURL, agentToken, options) => {
|
|
|
583
667
|
}
|
|
584
668
|
const url = deriveWebSocketURL(baseURL, options.observe === true);
|
|
585
669
|
const random = options.random ?? Math.random;
|
|
670
|
+
// A failure nobody is told about is a failure nobody fixes: without onError,
|
|
671
|
+
// report to the console (REL-427).
|
|
672
|
+
const report = options.onError ?? ((error) => {
|
|
673
|
+
console.error("[relay] WebSocket:", error);
|
|
674
|
+
});
|
|
586
675
|
let attempt = 0;
|
|
676
|
+
// True from a handler failure until an event is acknowledged again. While
|
|
677
|
+
// it holds, a new connection's ready frame does not reset the backoff, so a
|
|
678
|
+
// handler that keeps failing is retried at 0.5, 1, 2 ... 30 s, not twice a
|
|
679
|
+
// second (REL-427).
|
|
680
|
+
let failing = false;
|
|
587
681
|
// Each event type this release does not know is reported once per run,
|
|
588
682
|
// however many events of it arrive, so onError is not flooded.
|
|
589
683
|
const reportedUnknown = new Set();
|
|
@@ -591,21 +685,27 @@ export const runWebSocket = async (baseURL, agentToken, options) => {
|
|
|
591
685
|
if (reportedUnknown.has(eventType))
|
|
592
686
|
return;
|
|
593
687
|
reportedUnknown.add(eventType);
|
|
594
|
-
|
|
688
|
+
report(new RelayUnknownEventTypeError(eventType, sequence));
|
|
595
689
|
};
|
|
596
690
|
while (!options.signal?.aborted) {
|
|
597
691
|
options.onConnectionState?.("connecting");
|
|
598
692
|
try {
|
|
599
693
|
await runConnection(url, agentToken, options, Constructor, frame => {
|
|
600
|
-
|
|
694
|
+
if (!failing)
|
|
695
|
+
attempt = 0;
|
|
601
696
|
options.onConnectionState?.("ready");
|
|
602
697
|
options.onReady?.(frame);
|
|
603
|
-
}, onUnknownEvent)
|
|
698
|
+
}, onUnknownEvent, () => {
|
|
699
|
+
failing = false;
|
|
700
|
+
attempt = 0;
|
|
701
|
+
});
|
|
604
702
|
}
|
|
605
703
|
catch (error) {
|
|
606
704
|
if (options.signal?.aborted)
|
|
607
705
|
return;
|
|
608
|
-
|
|
706
|
+
report(error);
|
|
707
|
+
if (error instanceof DurableApplicationError)
|
|
708
|
+
failing = true;
|
|
609
709
|
if (error instanceof WebSocketStoppedError
|
|
610
710
|
|| error instanceof WebSocketProtocolError
|
|
611
711
|
|| error instanceof RelayWebhookConfiguredError)
|
package/dist/websocket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
|