@tai42/studio-sdk 5.0.0 → 6.0.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/dist/hooks/useApi.d.ts +23 -4
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/hooks/useSse.d.ts +34 -2
- package/dist/hooks/useSse.d.ts.map +1 -1
- package/dist/hooks/useSse.js +252 -153
- package/dist/hooks/useSse.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/hooks/useSse.ts +310 -161
- package/src/index.ts +5 -1
package/dist/hooks/useSse.js
CHANGED
|
@@ -1,29 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `
|
|
3
|
-
* `streamInteractions
|
|
2
|
+
* `useInteractionsStream` — the live interactions inbox, a TAIL-ONLY SSE stream
|
|
3
|
+
* (via the api-client's `streamInteractions`: fetch + ReadableStream, never
|
|
4
|
+
* EventSource) laid over a PAGED base the caller supplies.
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
-
* `interaction.answered` / `interaction.removed`
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
6
|
+
* The stream carries only the live tail: events `interaction.add` /
|
|
7
|
+
* `interaction.answered` / `interaction.removed` (no backlog, no
|
|
8
|
+
* `interaction.backlog_done`). The PENDING SET is not replayed on the stream — it
|
|
9
|
+
* is the `seed` the caller passes from the paged `GET /api/interactions` door; this
|
|
10
|
+
* hook overlays the live deltas onto it. The hook calls `onResync` on every
|
|
11
|
+
* (re)connect ONLY, so the caller refetches that base to catch up anything missed
|
|
12
|
+
* while disconnected; a live delta never triggers a refetch — the overlay updates
|
|
13
|
+
* the list and the derived `count` in place.
|
|
14
|
+
*
|
|
15
|
+
* The published list is `merge(seed, live)`: every seeded pending item, plus any
|
|
16
|
+
* item added on the tail since connect, minus any removed on the tail, with the
|
|
17
|
+
* client `answered` flag set on an item the tail reported answered.
|
|
18
|
+
*
|
|
19
|
+
* The published `count` is the live PENDING tally, derived from the same overlay
|
|
20
|
+
* without a refetch, reconciled by EPOCH so a resync never double-counts. Each
|
|
21
|
+
* (re)connect refetches the base under a fresh epoch and, once that refetch LANDS
|
|
22
|
+
* fresh, records it as `countEpoch` (a failed refetch does not advance it, so
|
|
23
|
+
* prior-epoch deltas keep applying against the consistent prior total rather than
|
|
24
|
+
* being discarded against a stale one); every overlay add and every terminal
|
|
25
|
+
* (answered or removed) entry is stamped with the epoch current when its frame
|
|
26
|
+
* arrived. The count
|
|
27
|
+
* is the seed `total` plus live adds not in the seed AND stamped at or after
|
|
28
|
+
* `countEpoch`, minus one for every terminal id stamped at or after `countEpoch`
|
|
29
|
+
* (deduped per id) — a terminal or an add already folded into the refetched `total`
|
|
30
|
+
* carries an older stamp and is not applied again. The single residual: a frame
|
|
31
|
+
* arriving while a refetch is in flight may or may not be reflected in that refetch's
|
|
32
|
+
* `total`, and is reconciled on the next resync.
|
|
16
33
|
*
|
|
17
34
|
* ANSWERED-CARD LIFECYCLE: the server emits no removal for an answered card —
|
|
18
|
-
* only `interaction.answered`, never `interaction.removed` for it —
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
35
|
+
* only `interaction.answered`, never `interaction.removed` for it — and the paged
|
|
36
|
+
* base never carries answered items. On its answered frame a card is promoted into
|
|
37
|
+
* the overlay's adds (a seed-origin card too), so it lingers uniformly whether it
|
|
38
|
+
* began as a live add or a seed item, even after a refetch drops it from the base.
|
|
39
|
+
* This hook AGES it out itself: an answered card is dropped `ANSWERED_RETENTION_MS`
|
|
40
|
+
* after its answered frame (tombstoned so a still-stale seed cannot resurrect it),
|
|
41
|
+
* with `ANSWERED_CAP` as a hard newest-N flood backstop. Both are swept lazily on
|
|
42
|
+
* frame/reconnect ticks (the stream carries no idle heartbeat frame), never a
|
|
43
|
+
* per-item timer.
|
|
24
44
|
*
|
|
25
|
-
* `add` frames are at-least-once
|
|
26
|
-
* `interaction_id`,
|
|
45
|
+
* `add` / `answered` frames are at-least-once; entries are keyed by
|
|
46
|
+
* `interaction_id`, a redelivered `add` overwrites in place, and a redelivered
|
|
47
|
+
* `answered` keeps the original stamp so the retention window is not extended.
|
|
27
48
|
*
|
|
28
49
|
* The `Interaction` type is imported type-only (no runtime dep on api-client);
|
|
29
50
|
* frames are validated defensively and a malformed frame is surfaced as an error,
|
|
@@ -36,20 +57,21 @@ import { useOnUnauthorized } from './useUnauthorized';
|
|
|
36
57
|
import { isFeatureDisabled } from '../feature-disabled';
|
|
37
58
|
// Reconnect backoff: capped exponential with full jitter. The delay for attempt
|
|
38
59
|
// n is a random value in [0, min(CAP, BASE * 2**n)); the attempt counter resets
|
|
39
|
-
// only when a connection
|
|
40
|
-
//
|
|
41
|
-
// body still backs off instead of tight-looping. A healthy
|
|
42
|
-
// near-instant while a sustained outage backs off, and the
|
|
43
|
-
// clients apart rather than retrying in lockstep.
|
|
60
|
+
// only when a connection PROVES HEALTHY — it stayed open at least
|
|
61
|
+
// `HEALTHY_CONNECTION_MS` — not merely when it opens, so a server that accepts the
|
|
62
|
+
// request then drops the body still backs off instead of tight-looping. A healthy
|
|
63
|
+
// tail-reconnect is near-instant while a sustained outage backs off, and the
|
|
64
|
+
// jitter spreads many clients apart rather than retrying in lockstep.
|
|
44
65
|
const RECONNECT_BASE_MS = 1500;
|
|
45
66
|
const RECONNECT_CAP_MS = 30000;
|
|
67
|
+
const HEALTHY_CONNECTION_MS = RECONNECT_BASE_MS;
|
|
46
68
|
// The server emits no removal for an answered card — only `interaction.answered`,
|
|
47
|
-
// never `interaction.removed` for it —
|
|
48
|
-
//
|
|
49
|
-
//
|
|
50
|
-
// answered
|
|
51
|
-
// lazily on frame/reconnect ticks (the stream carries no
|
|
52
|
-
// never a per-item timer.
|
|
69
|
+
// never `interaction.removed` for it — and the paged base never carries answered
|
|
70
|
+
// items, so answered cards would otherwise pile up unbounded in the always-mounted
|
|
71
|
+
// badge/inbox. The client ages them out: drop an answered card
|
|
72
|
+
// ANSWERED_RETENTION_MS after its answered frame, keeping at most ANSWERED_CAP as a
|
|
73
|
+
// hard flood backstop. Swept lazily on frame/reconnect ticks (the stream carries no
|
|
74
|
+
// idle heartbeat frame), never a per-item timer.
|
|
53
75
|
const ANSWERED_RETENTION_MS = 10 * 60 * 1000;
|
|
54
76
|
const ANSWERED_CAP = 200;
|
|
55
77
|
// The wire `answer_format` values. Duplicated from the api-client enum by design:
|
|
@@ -166,110 +188,152 @@ function parseId(data) {
|
|
|
166
188
|
const id = parseJson(data)?.interaction_id;
|
|
167
189
|
return typeof id === 'string' ? id : null;
|
|
168
190
|
}
|
|
169
|
-
|
|
191
|
+
function emptyOverlay() {
|
|
192
|
+
return {
|
|
193
|
+
adds: new Map(),
|
|
194
|
+
addEpoch: new Map(),
|
|
195
|
+
answeredAt: new Map(),
|
|
196
|
+
removed: new Set(),
|
|
197
|
+
goneEpoch: new Map(),
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
/** Fold the paged base and the live overlay into the published, ordered list. */
|
|
201
|
+
function merge(seed, live) {
|
|
202
|
+
const out = new Map();
|
|
203
|
+
for (const item of seed) {
|
|
204
|
+
if (live.removed.has(item.interaction_id))
|
|
205
|
+
continue;
|
|
206
|
+
out.set(item.interaction_id, { ...item, answered: live.answeredAt.has(item.interaction_id) });
|
|
207
|
+
}
|
|
208
|
+
for (const [id, item] of live.adds) {
|
|
209
|
+
if (live.removed.has(id))
|
|
210
|
+
continue;
|
|
211
|
+
out.set(id, { ...item, answered: live.answeredAt.has(id) });
|
|
212
|
+
}
|
|
213
|
+
return Array.from(out.values());
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* The live pending tally: the door's `total` for the seed, plus live adds whose id
|
|
217
|
+
* is absent from the seed AND stamped at or after `countEpoch` (a new question not
|
|
218
|
+
* yet folded into `total`), minus one for every terminal id — answered OR removed —
|
|
219
|
+
* stamped at or after `countEpoch`, deduped per id so an id counts once however many
|
|
220
|
+
* terminal frames it drew. `countEpoch` is the epoch of the last resync whose refetch
|
|
221
|
+
* LANDED (a failed refetch never advances it): a delta stamped before it is already
|
|
222
|
+
* reflected in the fresh `total`, so it is NOT applied again — this is what stops a
|
|
223
|
+
* resync from re-subtracting a terminal it already dropped from `total`, while a
|
|
224
|
+
* failed refetch keeps the prior-epoch deltas applying against the prior total. Every
|
|
225
|
+
* terminal frame a client receives refers to a
|
|
226
|
+
* question inside its own `total` (the stream and the list door apply the same
|
|
227
|
+
* audience filter). For honest server data this never goes negative, so no clamp is
|
|
228
|
+
* applied. The single residual: a frame arriving while a refetch is in flight may or
|
|
229
|
+
* may not be reflected in that refetch's `total`, and is reconciled on the next resync.
|
|
230
|
+
*/
|
|
231
|
+
function pendingCount(seed, total, live, countEpoch) {
|
|
232
|
+
const seedIds = new Set(seed.map((item) => item.interaction_id));
|
|
233
|
+
let count = total;
|
|
234
|
+
for (const id of live.adds.keys()) {
|
|
235
|
+
if (!seedIds.has(id) && (live.addEpoch.get(id) ?? 0) >= countEpoch)
|
|
236
|
+
count += 1;
|
|
237
|
+
}
|
|
238
|
+
const gone = new Set([...live.answeredAt.keys(), ...live.removed]);
|
|
239
|
+
for (const id of gone) {
|
|
240
|
+
if ((live.goneEpoch.get(id) ?? 0) >= countEpoch)
|
|
241
|
+
count -= 1;
|
|
242
|
+
}
|
|
243
|
+
return count;
|
|
244
|
+
}
|
|
245
|
+
export function useInteractionsStream(options) {
|
|
246
|
+
const { seed, total, onResync } = options;
|
|
170
247
|
const api = useApi();
|
|
171
248
|
const onUnauthorized = useOnUnauthorized();
|
|
172
|
-
const [
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
//
|
|
180
|
-
//
|
|
181
|
-
|
|
249
|
+
const [connectionState, setConnectionState] = useState({ connected: false, error: null, disabled: false });
|
|
250
|
+
// The live overlay is a ref (mutated in place by the stream loop); the published
|
|
251
|
+
// list is `merge(seed, overlay)` held in state, recomputed on every overlay
|
|
252
|
+
// change (the stream loop) and every seed change (a refetch of the paged base).
|
|
253
|
+
const overlayRef = useRef(emptyOverlay());
|
|
254
|
+
const [interactions, setInteractions] = useState(() => merge(seed, overlayRef.current));
|
|
255
|
+
// Resync epochs. `epochRef` increments on each (re)connect and stamps every frame
|
|
256
|
+
// that arrives on that connection; `countEpoch` is set to the connect's epoch only
|
|
257
|
+
// once its refetch landed fresh (onResync resolved true) — a failed refetch leaves
|
|
258
|
+
// it unchanged so prior-epoch deltas keep applying against the prior total.
|
|
259
|
+
// `pendingCount` applies only overlay entries stamped at or after `countEpoch`, so a
|
|
260
|
+
// resync never re-subtracts a terminal it already dropped from the fresh `total`.
|
|
261
|
+
// `countEpoch` is STATE, not a ref: advancing it must republish the derived count
|
|
262
|
+
// even when the reconnect carries no frame after the refetch. Both reset with the
|
|
263
|
+
// overlay on remount.
|
|
264
|
+
const epochRef = useRef(0);
|
|
265
|
+
const [countEpoch, setCountEpoch] = useState(0);
|
|
266
|
+
// The stream effect must not reopen when `seed`/`onResync` change, so they are
|
|
267
|
+
// read through refs the render keeps current.
|
|
268
|
+
const seedRef = useRef(seed);
|
|
269
|
+
seedRef.current = seed;
|
|
270
|
+
const onResyncRef = useRef(onResync);
|
|
271
|
+
onResyncRef.current = onResync;
|
|
272
|
+
// A new paged base (initial load or a refetch) re-merges over the live overlay.
|
|
273
|
+
useEffect(() => {
|
|
274
|
+
setInteractions(merge(seed, overlayRef.current));
|
|
275
|
+
}, [seed]);
|
|
182
276
|
useEffect(() => {
|
|
183
277
|
const controller = new AbortController();
|
|
184
278
|
const aborted = () => controller.signal.aborted;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
//
|
|
189
|
-
//
|
|
190
|
-
//
|
|
191
|
-
// every frame/reconnect tick so the always-mounted badge cannot grow unbounded.
|
|
279
|
+
const overlay = overlayRef.current;
|
|
280
|
+
let reconnectAttempt = 0;
|
|
281
|
+
// Age answered cards out (the server sends no removal for them): tombstone any
|
|
282
|
+
// past the retention window, then — as a flood backstop — the oldest beyond the
|
|
283
|
+
// count cap. A tombstone (not a bare delete) so a still-stale seed cannot
|
|
284
|
+
// resurrect a card the client has retired.
|
|
192
285
|
const sweepAnswered = () => {
|
|
193
286
|
const now = Date.now();
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
287
|
+
const retire = (id) => {
|
|
288
|
+
overlay.answeredAt.delete(id);
|
|
289
|
+
overlay.adds.delete(id);
|
|
290
|
+
overlay.addEpoch.delete(id);
|
|
291
|
+
overlay.removed.add(id);
|
|
292
|
+
// The id keeps its original `goneEpoch` (stamped on its answered frame) so
|
|
293
|
+
// moving answered→removed never re-dates it into a fresher resync.
|
|
294
|
+
};
|
|
295
|
+
for (const [id, at] of overlay.answeredAt) {
|
|
296
|
+
if (now - at >= ANSWERED_RETENTION_MS)
|
|
297
|
+
retire(id);
|
|
203
298
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
mapRef.current.delete(id);
|
|
209
|
-
}
|
|
299
|
+
if (overlay.answeredAt.size > ANSWERED_CAP) {
|
|
300
|
+
const oldest = [...overlay.answeredAt.entries()].sort((a, b) => a[1] - b[1]);
|
|
301
|
+
for (const [id] of oldest.slice(0, oldest.length - ANSWERED_CAP))
|
|
302
|
+
retire(id);
|
|
210
303
|
}
|
|
211
304
|
};
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const publish = () => {
|
|
215
|
-
sweepAnswered();
|
|
216
|
-
setState((prev) => ({
|
|
305
|
+
const surfaceMalformed = (event) => {
|
|
306
|
+
setConnectionState((prev) => ({
|
|
217
307
|
...prev,
|
|
218
|
-
|
|
219
|
-
error: null,
|
|
308
|
+
error: new Error(`malformed interaction frame: ${event}`),
|
|
220
309
|
}));
|
|
221
310
|
};
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
//
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
// healthy (`interaction.backlog_done`), NOT merely when it opens — a server
|
|
233
|
-
// that accepts the request then drops the body would otherwise reset every
|
|
234
|
-
// time and never back off.
|
|
235
|
-
let reconnectAttempt = 0;
|
|
236
|
-
const beginConnection = () => {
|
|
237
|
-
reconciling = true;
|
|
238
|
-
seenInBacklog = new Set();
|
|
311
|
+
// A successful data frame sweeps, republishes the merged list, and clears any
|
|
312
|
+
// transient frame-parse error — one bad frame on a healthy stream must not
|
|
313
|
+
// stick. It does NOT refetch: the overlay already updated the list and the
|
|
314
|
+
// derived count, and `onResync` fires on (re)connect only.
|
|
315
|
+
const commit = () => {
|
|
316
|
+
if (aborted())
|
|
317
|
+
return;
|
|
318
|
+
sweepAnswered();
|
|
319
|
+
setConnectionState((prev) => (prev.error === null ? prev : { ...prev, error: null }));
|
|
320
|
+
setInteractions(merge(seedRef.current, overlay));
|
|
239
321
|
};
|
|
240
322
|
const applyFrame = (event, data) => {
|
|
241
|
-
if (event === 'interaction.backlog_done') {
|
|
242
|
-
if (reconciling) {
|
|
243
|
-
// The pending-only backlog is authoritative for pending items alone:
|
|
244
|
-
// drop a still-pending id it did not replay (removed while
|
|
245
|
-
// disconnected), but NEVER an answered id — that is terminal and the
|
|
246
|
-
// backlog never carries it, so reconcile-deleting it would vanish an
|
|
247
|
-
// answered card on every reconnect.
|
|
248
|
-
for (const [id, item] of mapRef.current) {
|
|
249
|
-
if (!seenInBacklog.has(id) && !item.answered)
|
|
250
|
-
mapRef.current.delete(id);
|
|
251
|
-
}
|
|
252
|
-
reconciling = false;
|
|
253
|
-
}
|
|
254
|
-
// A completed backlog is proof the connection is healthy — clear the
|
|
255
|
-
// reconnect backoff so the next drop reconnects promptly.
|
|
256
|
-
reconnectAttempt = 0;
|
|
257
|
-
sweepAnswered();
|
|
258
|
-
setState((prev) => ({
|
|
259
|
-
...prev,
|
|
260
|
-
interactions: toPublicList(),
|
|
261
|
-
backlogLoaded: true,
|
|
262
|
-
}));
|
|
263
|
-
return;
|
|
264
|
-
}
|
|
265
323
|
if (event === 'interaction.removed') {
|
|
266
324
|
const id = parseId(data);
|
|
267
325
|
if (id === null) {
|
|
268
326
|
surfaceMalformed(event);
|
|
269
327
|
return;
|
|
270
328
|
}
|
|
271
|
-
|
|
272
|
-
|
|
329
|
+
overlay.adds.delete(id);
|
|
330
|
+
overlay.addEpoch.delete(id);
|
|
331
|
+
overlay.answeredAt.delete(id);
|
|
332
|
+
overlay.removed.add(id);
|
|
333
|
+
// Stamp the terminal epoch on the FIRST terminal frame for this id only.
|
|
334
|
+
if (!overlay.goneEpoch.has(id))
|
|
335
|
+
overlay.goneEpoch.set(id, epochRef.current);
|
|
336
|
+
commit();
|
|
273
337
|
return;
|
|
274
338
|
}
|
|
275
339
|
if (event === 'interaction.answered') {
|
|
@@ -278,53 +342,67 @@ export function useInteractionsStream() {
|
|
|
278
342
|
surfaceMalformed(event);
|
|
279
343
|
return;
|
|
280
344
|
}
|
|
281
|
-
//
|
|
282
|
-
//
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
//
|
|
286
|
-
|
|
287
|
-
if (
|
|
288
|
-
|
|
289
|
-
|
|
345
|
+
// Stamp the answered time on the FIRST answered frame only; a redelivered
|
|
346
|
+
// answered keeps the original stamp so the retention window is not extended.
|
|
347
|
+
if (!overlay.answeredAt.has(id))
|
|
348
|
+
overlay.answeredAt.set(id, Date.now());
|
|
349
|
+
// Stamp the terminal epoch on the FIRST terminal frame for this id only, so a
|
|
350
|
+
// later terminal never re-dates it into a fresher resync.
|
|
351
|
+
if (!overlay.goneEpoch.has(id))
|
|
352
|
+
overlay.goneEpoch.set(id, epochRef.current);
|
|
353
|
+
// Promote a seed-origin card into the overlay so it lingers uniformly with a
|
|
354
|
+
// live-add card: the paged base never carries answered items, so a refetch
|
|
355
|
+
// would otherwise drop it before its retention window elapses.
|
|
356
|
+
if (!overlay.adds.has(id)) {
|
|
357
|
+
const seeded = seedRef.current.find((item) => item.interaction_id === id);
|
|
358
|
+
if (seeded !== undefined) {
|
|
359
|
+
overlay.adds.set(id, seeded);
|
|
360
|
+
overlay.addEpoch.set(id, epochRef.current);
|
|
361
|
+
}
|
|
290
362
|
}
|
|
291
|
-
|
|
363
|
+
commit();
|
|
292
364
|
return;
|
|
293
365
|
}
|
|
294
|
-
// interaction.add — the full question.
|
|
366
|
+
// interaction.add — the full question. Ids are never reused, so a live add
|
|
367
|
+
// simply overwrites any prior copy in place.
|
|
295
368
|
const interaction = parseAddFrame(data);
|
|
296
369
|
if (interaction === null) {
|
|
297
370
|
surfaceMalformed(event);
|
|
298
371
|
return;
|
|
299
372
|
}
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
// its aging stamp) so a prior `answered` is not undone by an at-least-once
|
|
304
|
-
// replay. A fresh (pending) add carries no stamp until its answered frame.
|
|
305
|
-
const existing = mapRef.current.get(interaction.interaction_id);
|
|
306
|
-
const answered = existing?.answered ?? false;
|
|
307
|
-
mapRef.current.set(interaction.interaction_id, {
|
|
308
|
-
...interaction,
|
|
309
|
-
answered,
|
|
310
|
-
answeredAt: answered ? (existing?.answeredAt ?? null) : null,
|
|
311
|
-
});
|
|
312
|
-
publish();
|
|
373
|
+
overlay.adds.set(interaction.interaction_id, interaction);
|
|
374
|
+
overlay.addEpoch.set(interaction.interaction_id, epochRef.current);
|
|
375
|
+
commit();
|
|
313
376
|
};
|
|
314
377
|
// The abort signal is the single cancellation source of truth: the cleanup
|
|
315
378
|
// aborts it, and every loop guard reads it fresh.
|
|
316
379
|
const run = async () => {
|
|
317
380
|
while (!aborted()) {
|
|
381
|
+
const openedAt = Date.now();
|
|
318
382
|
try {
|
|
319
383
|
const frames = await api.streamInteractions(controller.signal);
|
|
320
384
|
if (aborted())
|
|
321
385
|
return;
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
386
|
+
setConnectionState((prev) => ({
|
|
387
|
+
...prev,
|
|
388
|
+
connected: true,
|
|
389
|
+
error: null,
|
|
390
|
+
disabled: false,
|
|
391
|
+
}));
|
|
392
|
+
// Tail-only: the pending base is not on the stream. Refetch it on every
|
|
393
|
+
// (re)connect under a fresh epoch so anything removed or added while
|
|
394
|
+
// disconnected is reconciled by the fresh page; record that epoch as
|
|
395
|
+
// `countEpoch` only once the refetch LANDED (onResync resolved true), so the
|
|
396
|
+
// count applies only deltas not yet folded into the fresh `total`. A failed
|
|
397
|
+
// refetch (false) leaves `countEpoch` unchanged, so prior-epoch deltas keep
|
|
398
|
+
// applying against the consistent prior total instead of being discarded
|
|
399
|
+
// against a stale one. Every frame on this connection is stamped with `epoch`.
|
|
400
|
+
const epoch = (epochRef.current += 1);
|
|
401
|
+
const landed = await onResyncRef.current();
|
|
402
|
+
if (aborted())
|
|
403
|
+
return;
|
|
404
|
+
if (landed)
|
|
405
|
+
setCountEpoch(epoch);
|
|
328
406
|
for await (const frame of frames) {
|
|
329
407
|
if (aborted())
|
|
330
408
|
return;
|
|
@@ -335,7 +413,7 @@ export function useInteractionsStream() {
|
|
|
335
413
|
if (aborted())
|
|
336
414
|
return;
|
|
337
415
|
const error = err instanceof Error ? err : new Error(String(err));
|
|
338
|
-
|
|
416
|
+
setConnectionState((prev) => ({ ...prev, connected: false, error }));
|
|
339
417
|
if (error.name === 'ApiUnauthorizedError') {
|
|
340
418
|
// A 401 means the stored credential is dead — reconnecting would just
|
|
341
419
|
// replay the same bad key every delay forever. Treat it as terminal
|
|
@@ -350,17 +428,22 @@ export function useInteractionsStream() {
|
|
|
350
428
|
// every backoff forever (this stream is always-mounted via the shell
|
|
351
429
|
// badge). Stop, and flag the OFF state so the badge disappears and the
|
|
352
430
|
// page renders the muted "not configured" note instead of a red error.
|
|
353
|
-
|
|
431
|
+
setConnectionState((prev) => ({ ...prev, connected: false, disabled: true }));
|
|
354
432
|
return;
|
|
355
433
|
}
|
|
356
434
|
}
|
|
357
|
-
//
|
|
358
|
-
//
|
|
359
|
-
//
|
|
360
|
-
|
|
435
|
+
// A connection that stayed open at least HEALTHY_CONNECTION_MS proved
|
|
436
|
+
// healthy — clear the reconnect backoff so the next drop reconnects
|
|
437
|
+
// promptly; an immediate accept-then-drop flap does not reset it.
|
|
438
|
+
if (Date.now() - openedAt >= HEALTHY_CONNECTION_MS)
|
|
439
|
+
reconnectAttempt = 0;
|
|
440
|
+
// Stream ended or errored → wait, then reconnect. Guard before the
|
|
441
|
+
// setState, like every other setState in run(): a microtask scheduled after
|
|
442
|
+
// the `for await` must not write state after the effect cleanup has aborted
|
|
443
|
+
// (and unmounted) the hook.
|
|
361
444
|
if (aborted())
|
|
362
445
|
return;
|
|
363
|
-
|
|
446
|
+
setConnectionState((prev) => ({ ...prev, connected: false }));
|
|
364
447
|
const ceiling = Math.min(RECONNECT_CAP_MS, RECONNECT_BASE_MS * 2 ** reconnectAttempt);
|
|
365
448
|
const delay = Math.random() * ceiling;
|
|
366
449
|
reconnectAttempt += 1;
|
|
@@ -382,8 +465,24 @@ export function useInteractionsStream() {
|
|
|
382
465
|
void run();
|
|
383
466
|
return () => {
|
|
384
467
|
controller.abort();
|
|
468
|
+
// A fresh mount starts from an empty overlay at epoch 0: the effect owns the
|
|
469
|
+
// connection and its live deltas, so a re-run must not inherit the prior run's
|
|
470
|
+
// tail or its epoch stamps.
|
|
471
|
+
overlayRef.current = emptyOverlay();
|
|
472
|
+
epochRef.current = 0;
|
|
473
|
+
setCountEpoch(0);
|
|
385
474
|
};
|
|
386
475
|
}, [api, onUnauthorized]);
|
|
387
|
-
|
|
476
|
+
// Derived live, not stored: every overlay mutation republishes `interactions` (a
|
|
477
|
+
// setState), and every seed/total change and every `countEpoch` advance is itself a
|
|
478
|
+
// render, so this recomputes from the current overlay ref on the same render.
|
|
479
|
+
const count = pendingCount(seed, total, overlayRef.current, countEpoch);
|
|
480
|
+
return {
|
|
481
|
+
interactions,
|
|
482
|
+
count,
|
|
483
|
+
connected: connectionState.connected,
|
|
484
|
+
error: connectionState.error,
|
|
485
|
+
disabled: connectionState.disabled,
|
|
486
|
+
};
|
|
388
487
|
}
|
|
389
488
|
//# sourceMappingURL=useSse.js.map
|
package/dist/hooks/useSse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSse.js","sourceRoot":"","sources":["../../src/hooks/useSse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSse.js","sourceRoot":"","sources":["../../src/hooks/useSse.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export type { Theme, ThemePreference, ThemeState } from './hooks/useTheme';
|
|
|
37
37
|
export { useBreakpoint } from './hooks/useBreakpoint';
|
|
38
38
|
export type { Breakpoint, BreakpointState } from './hooks/useBreakpoint';
|
|
39
39
|
export { useInteractionsStream } from './hooks/useSse';
|
|
40
|
-
export type { InteractionsStreamState, StreamInteraction } from './hooks/useSse';
|
|
40
|
+
export type { InteractionsStreamOptions, InteractionsStreamState, StreamInteraction, } from './hooks/useSse';
|
|
41
41
|
export { NavigationProvider, AppLink, useAppNavigate, useResolvePath, usePluginNavigation, useNavigationGuard, useNavigationGate, useSearchCommit, } from './navigation';
|
|
42
42
|
export type { AppLinkProps, SearchCommitParams, RouteToken, RouteSearch, RouteSearchByToken, PageProps, NavigationContextValue, NavigateOptions, PluginSearch, NavigationGuardHandler, } from './navigation';
|
|
43
43
|
export { errorMessage } from './errors';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,6BAA6B,CAAC;AAGrC,YAAY,EACV,aAAa,EACb,WAAW,EACX,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACpF,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|