@indigoai-us/hq-cloud 6.15.95 → 6.15.97
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/bin/sync-runner-watch-loop.d.ts +7 -2
- package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
- package/dist/bin/sync-runner-watch-loop.js +104 -34
- package/dist/bin/sync-runner-watch-loop.js.map +1 -1
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +3 -4
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +9 -0
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +30 -7
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/share.test.js +47 -1
- package/dist/cli/share.test.js.map +1 -1
- package/dist/cli/sync.d.ts +4 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/outposts/self-deploy.d.ts.map +1 -1
- package/dist/outposts/self-deploy.js +7 -5
- package/dist/outposts/self-deploy.js.map +1 -1
- package/dist/outposts/self-deploy.test.js +3 -2
- package/dist/outposts/self-deploy.test.js.map +1 -1
- package/dist/sync/area-ledger-auto-migration.d.ts +55 -0
- package/dist/sync/area-ledger-auto-migration.d.ts.map +1 -0
- package/dist/sync/area-ledger-auto-migration.js +167 -0
- package/dist/sync/area-ledger-auto-migration.js.map +1 -0
- package/dist/sync/area-ledger-auto-migration.test.d.ts +2 -0
- package/dist/sync/area-ledger-auto-migration.test.d.ts.map +1 -0
- package/dist/sync/area-ledger-auto-migration.test.js +229 -0
- package/dist/sync/area-ledger-auto-migration.test.js.map +1 -0
- package/dist/sync/event-sync.d.ts +11 -3
- package/dist/sync/event-sync.d.ts.map +1 -1
- package/dist/sync/event-sync.js +189 -101
- package/dist/sync/event-sync.js.map +1 -1
- package/dist/sync/event-sync.test.js +140 -0
- package/dist/sync/event-sync.test.js.map +1 -1
- package/dist/sync/feature-flags.d.ts +68 -15
- package/dist/sync/feature-flags.d.ts.map +1 -1
- package/dist/sync/feature-flags.js +98 -21
- package/dist/sync/feature-flags.js.map +1 -1
- package/dist/sync/feature-flags.test.js +145 -4
- package/dist/sync/feature-flags.test.js.map +1 -1
- package/dist/sync/index.d.ts +2 -2
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push-transport.d.ts +18 -0
- package/dist/sync/push-transport.d.ts.map +1 -1
- package/dist/sync/push-transport.js +40 -0
- package/dist/sync/push-transport.js.map +1 -1
- package/dist/sync/state-store.d.ts +2 -2
- package/dist/sync/state-store.d.ts.map +1 -1
- package/dist/sync/state-store.js +186 -68
- package/dist/sync/state-store.js.map +1 -1
- package/dist/sync/state-store.test.js +72 -1
- package/dist/sync/state-store.test.js.map +1 -1
- package/dist/sync/sync-work.d.ts +1 -1
- package/dist/sync/sync-work.d.ts.map +1 -1
- package/dist/watcher.d.ts +4 -0
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +31 -6
- package/dist/watcher.js.map +1 -1
- package/dist/watcher.test.js +53 -0
- package/dist/watcher.test.js.map +1 -1
- package/package.json +1 -1
package/dist/sync/event-sync.js
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
* every path here; event delivery is best-effort by design.
|
|
31
31
|
*/
|
|
32
32
|
import { SQSClient, ReceiveMessageCommand, DeleteMessageCommand, ChangeMessageVisibilityCommand, } from "@aws-sdk/client-sqs";
|
|
33
|
-
import { HttpPushTransport } from "./push-transport.js";
|
|
33
|
+
import { HttpPushTransport, isRealtimeUnavailableError, realtimeUnavailableErrorForResponse, } from "./push-transport.js";
|
|
34
34
|
import { SqsPushReceiver, RealtimeWakeReceiver, } from "./push-receiver.js";
|
|
35
35
|
import { PushEventEmitter, systemClock, } from "../watcher.js";
|
|
36
36
|
import { emitCloudTelemetry, } from "../telemetry-events.js";
|
|
@@ -106,6 +106,9 @@ export async function subscribeSyncReceive(opts) {
|
|
|
106
106
|
}
|
|
107
107
|
if (!res.ok) {
|
|
108
108
|
const text = await res.text().catch(() => "");
|
|
109
|
+
const realtimeUnavailable = realtimeUnavailableErrorForResponse(res.status, text, "subscribeSyncReceive: POST /v1/sync/subscribe");
|
|
110
|
+
if (realtimeUnavailable)
|
|
111
|
+
throw realtimeUnavailable;
|
|
109
112
|
throw new Error(`subscribeSyncReceive: POST /v1/sync/subscribe failed (${res.status}): ${text.slice(0, 300)}`);
|
|
110
113
|
}
|
|
111
114
|
const parsed = JSON.parse(await res.text());
|
|
@@ -218,6 +221,11 @@ export function createRefreshingSqsClient(opts) {
|
|
|
218
221
|
inner = buildSqs(resp);
|
|
219
222
|
expiresAtMs = Date.parse(resp.credentials.expiration);
|
|
220
223
|
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
if (isRealtimeUnavailableError(error))
|
|
226
|
+
opts.onRealtimeUnavailable?.(error);
|
|
227
|
+
throw error;
|
|
228
|
+
}
|
|
221
229
|
finally {
|
|
222
230
|
refreshing = null;
|
|
223
231
|
}
|
|
@@ -250,6 +258,8 @@ export function createRefreshingSqsClient(opts) {
|
|
|
250
258
|
/** Startup retry defaults: full jitter over a 30s → 10min exponential cap. */
|
|
251
259
|
export const DEFAULT_EVENT_SYNC_RETRY_INITIAL_MS = 30_000;
|
|
252
260
|
export const DEFAULT_EVENT_SYNC_RETRY_MAX_MS = 10 * 60_000;
|
|
261
|
+
/** Poll-only accounts recheck server realtime eligibility at this interval. */
|
|
262
|
+
export const DEFAULT_EVENT_SYNC_REALTIME_UNAVAILABLE_RECHECK_MS = 6 * 60 * 60_000;
|
|
253
263
|
/**
|
|
254
264
|
* Coalesces all v2 notifications into a single drain bit. The cursor carried
|
|
255
265
|
* by a wake is intentionally ignored: duplicate, stale, and reordered wakes
|
|
@@ -399,7 +409,7 @@ export function createUnifiedRealtimeScheduler(options) {
|
|
|
399
409
|
};
|
|
400
410
|
}
|
|
401
411
|
/** Build the real publish + receive legs once a subscribe attempt succeeds. */
|
|
402
|
-
async function startLiveEventSync(opts) {
|
|
412
|
+
async function startLiveEventSync(opts, onRealtimeUnavailable) {
|
|
403
413
|
const log = opts.log ?? ((m) => console.error(m));
|
|
404
414
|
const tenantId = await opts.resolveTenantId();
|
|
405
415
|
const deviceId = opts.deviceId;
|
|
@@ -453,7 +463,9 @@ async function startLiveEventSync(opts) {
|
|
|
453
463
|
// event). Receiver dedupe is per-path highest-seq, so ms-epoch values
|
|
454
464
|
// also stay comparable when two devices touch the same path.
|
|
455
465
|
getSequenceNumber: () => (opts.now ?? Date.now)(),
|
|
456
|
-
onError: (err, ctx) => log(
|
|
466
|
+
onError: (err, ctx) => log(isRealtimeUnavailableError(err)
|
|
467
|
+
? "event-sync: realtime unavailable for this account; publishing disabled"
|
|
468
|
+
: `event-sync: publish failed for ${ctx.relativePath ?? "?"}: ${err.message}`),
|
|
457
469
|
onPublishOutcome: (outcome) => log(`event-sync: publish outcome ${JSON.stringify(outcome)}`),
|
|
458
470
|
telemetryClient: opts.telemetryClient,
|
|
459
471
|
telemetryClaims: opts.telemetryClaims,
|
|
@@ -471,6 +483,13 @@ async function startLiveEventSync(opts) {
|
|
|
471
483
|
subscribe: () => subscribe(deviceId),
|
|
472
484
|
buildSqs: opts.buildSqs,
|
|
473
485
|
now: opts.now,
|
|
486
|
+
onRealtimeUnavailable: (error) => {
|
|
487
|
+
// Abort before propagating the typed denial so pollLoop observes its
|
|
488
|
+
// own abort in the receive-failure catch instead of scheduling its
|
|
489
|
+
// transient reconnect backoff.
|
|
490
|
+
void receiver?.dispose();
|
|
491
|
+
onRealtimeUnavailable?.(error);
|
|
492
|
+
},
|
|
474
493
|
});
|
|
475
494
|
// `shouldProcess` and `onFilteredEvents` receive the same decoded event
|
|
476
495
|
// object. Retain just that batch-lifetime identity so diagnostics do not
|
|
@@ -551,124 +570,193 @@ function describeStartupError(error) {
|
|
|
551
570
|
/**
|
|
552
571
|
* Bring up the publish + receive legs. A failed initial subscribe deliberately
|
|
553
572
|
* keeps the watch runner poll-only, but returns an offline handle that retries
|
|
554
|
-
* the complete startup sequence
|
|
555
|
-
*
|
|
573
|
+
* the complete startup sequence. A coded realtime-unavailable denial instead
|
|
574
|
+
* stays poll-only and only rechecks eligibility on a long cadence. Once a
|
|
575
|
+
* retry succeeds, the same handle forwards publishes and disposes the live
|
|
576
|
+
* legs just like an immediate start.
|
|
556
577
|
*/
|
|
557
578
|
export async function startEventSync(opts) {
|
|
558
579
|
const log = opts.log ?? ((m) => console.error(m));
|
|
559
|
-
|
|
560
|
-
|
|
580
|
+
const clock = opts.clock ?? systemClock;
|
|
581
|
+
const initialDelayMs = opts.retryInitialMs ?? DEFAULT_EVENT_SYNC_RETRY_INITIAL_MS;
|
|
582
|
+
const maxDelayMs = opts.retryMaxMs ?? DEFAULT_EVENT_SYNC_RETRY_MAX_MS;
|
|
583
|
+
const realtimeUnavailableRecheckMs = opts.realtimeUnavailableRecheckMs ??
|
|
584
|
+
DEFAULT_EVENT_SYNC_REALTIME_UNAVAILABLE_RECHECK_MS;
|
|
585
|
+
if (!Number.isSafeInteger(initialDelayMs) || initialDelayMs < 0) {
|
|
586
|
+
throw new Error("event-sync: retryInitialMs must be a non-negative safe integer");
|
|
561
587
|
}
|
|
562
|
-
|
|
563
|
-
|
|
588
|
+
if (!Number.isSafeInteger(maxDelayMs) || maxDelayMs < initialDelayMs) {
|
|
589
|
+
throw new Error("event-sync: retryMaxMs must be a safe integer no smaller than retryInitialMs");
|
|
590
|
+
}
|
|
591
|
+
if (!Number.isSafeInteger(realtimeUnavailableRecheckMs) || realtimeUnavailableRecheckMs < 0) {
|
|
592
|
+
throw new Error("event-sync: realtimeUnavailableRecheckMs must be a non-negative safe integer");
|
|
593
|
+
}
|
|
594
|
+
let disposed = false;
|
|
595
|
+
let live = null;
|
|
596
|
+
const liveListeners = new Set();
|
|
597
|
+
let retryTimer = null;
|
|
598
|
+
let retryAttempt = null;
|
|
599
|
+
let disposePromise = null;
|
|
600
|
+
let failures = 0;
|
|
601
|
+
let realtimeUnavailableReported = false;
|
|
602
|
+
let realtimeUnavailableDuringStart = false;
|
|
603
|
+
const emitPollOnlyTelemetry = (startupResult) => {
|
|
564
604
|
void emitCloudTelemetry(opts.telemetryClient, {
|
|
565
605
|
eventName: "event_sync_live",
|
|
566
606
|
source: "event-sync",
|
|
567
607
|
properties: {
|
|
568
608
|
deviceId: opts.deviceId,
|
|
569
|
-
startupResult
|
|
609
|
+
startupResult,
|
|
570
610
|
receiveState: "disabled",
|
|
571
611
|
publishState: "disabled",
|
|
572
612
|
},
|
|
573
613
|
}, { claims: opts.telemetryClaims });
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
614
|
+
};
|
|
615
|
+
const reportRealtimeUnavailable = () => {
|
|
616
|
+
if (realtimeUnavailableReported)
|
|
617
|
+
return;
|
|
618
|
+
realtimeUnavailableReported = true;
|
|
619
|
+
log("event-sync: realtime unavailable for this account; staying poll-only, recheck in 6h");
|
|
620
|
+
emitPollOnlyTelemetry("realtime_unavailable");
|
|
621
|
+
};
|
|
622
|
+
const jitteredDelay = () => {
|
|
623
|
+
const ceiling = Math.min(maxDelayMs, initialDelayMs * 2 ** failures);
|
|
624
|
+
const random = Math.min(1, Math.max(0, (opts.retryRandom ?? Math.random)()));
|
|
625
|
+
return Math.floor(ceiling * random);
|
|
626
|
+
};
|
|
627
|
+
const scheduleRetry = (retryError, initial = false) => {
|
|
628
|
+
if (disposed || live || retryTimer !== null)
|
|
629
|
+
return;
|
|
630
|
+
const delayMs = jitteredDelay();
|
|
631
|
+
failures += 1;
|
|
632
|
+
log(`event-sync: startup retry ${initial ? "scheduled" : "failed"} (attempt=${failures} reason=${describeStartupError(retryError)}); next retry in ${delayMs}ms`);
|
|
633
|
+
retryTimer = clock.setTimeout(() => {
|
|
634
|
+
retryTimer = null;
|
|
635
|
+
const attempt = retry();
|
|
636
|
+
retryAttempt = attempt;
|
|
637
|
+
void attempt.then(() => {
|
|
638
|
+
if (retryAttempt === attempt)
|
|
639
|
+
retryAttempt = null;
|
|
640
|
+
}, () => {
|
|
641
|
+
if (retryAttempt === attempt)
|
|
642
|
+
retryAttempt = null;
|
|
643
|
+
});
|
|
644
|
+
}, delayMs);
|
|
645
|
+
retryTimer.unref?.();
|
|
646
|
+
};
|
|
647
|
+
const scheduleUnavailableRecheck = () => {
|
|
648
|
+
if (disposed || live || retryTimer !== null)
|
|
649
|
+
return;
|
|
650
|
+
const random = Math.min(1, Math.max(0, (opts.retryRandom ?? Math.random)()));
|
|
651
|
+
const delayMs = Math.floor(realtimeUnavailableRecheckMs * random);
|
|
652
|
+
retryTimer = clock.setTimeout(() => {
|
|
653
|
+
retryTimer = null;
|
|
654
|
+
const attempt = retry();
|
|
655
|
+
retryAttempt = attempt;
|
|
656
|
+
void attempt.then(() => {
|
|
657
|
+
if (retryAttempt === attempt)
|
|
658
|
+
retryAttempt = null;
|
|
659
|
+
}, () => {
|
|
660
|
+
if (retryAttempt === attempt)
|
|
661
|
+
retryAttempt = null;
|
|
662
|
+
});
|
|
663
|
+
}, delayMs);
|
|
664
|
+
retryTimer.unref?.();
|
|
665
|
+
};
|
|
666
|
+
const transitionToRealtimeUnavailable = () => {
|
|
667
|
+
if (disposed)
|
|
668
|
+
return;
|
|
669
|
+
realtimeUnavailableDuringStart = true;
|
|
670
|
+
const active = live;
|
|
671
|
+
live = null;
|
|
672
|
+
reportRealtimeUnavailable();
|
|
673
|
+
if (active)
|
|
674
|
+
void active.dispose().catch(() => undefined);
|
|
675
|
+
scheduleUnavailableRecheck();
|
|
676
|
+
};
|
|
677
|
+
const startLiveAttempt = async () => {
|
|
678
|
+
// A receiver can enter its first credential refresh immediately after
|
|
679
|
+
// start(). Remember a denial that lands before this attempt is published
|
|
680
|
+
// as `live`, so it cannot resurrect the receiver after quiescing it.
|
|
681
|
+
realtimeUnavailableDuringStart = false;
|
|
682
|
+
const handles = await startLiveEventSync(opts, transitionToRealtimeUnavailable);
|
|
683
|
+
if (disposed || realtimeUnavailableDuringStart) {
|
|
684
|
+
await handles.dispose();
|
|
685
|
+
return null;
|
|
582
686
|
}
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
const ceiling = Math.min(maxDelayMs, initialDelayMs * 2 ** failures);
|
|
592
|
-
const random = Math.min(1, Math.max(0, (opts.retryRandom ?? Math.random)()));
|
|
593
|
-
return Math.floor(ceiling * random);
|
|
594
|
-
};
|
|
595
|
-
const retry = async () => {
|
|
596
|
-
if (disposed || live)
|
|
687
|
+
return handles;
|
|
688
|
+
};
|
|
689
|
+
const retry = async () => {
|
|
690
|
+
if (disposed || live)
|
|
691
|
+
return;
|
|
692
|
+
try {
|
|
693
|
+
const handles = await startLiveAttempt();
|
|
694
|
+
if (!handles)
|
|
597
695
|
return;
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
for (const listener of liveListeners)
|
|
606
|
-
listener();
|
|
696
|
+
live = handles;
|
|
697
|
+
for (const listener of liveListeners)
|
|
698
|
+
listener();
|
|
699
|
+
}
|
|
700
|
+
catch (retryError) {
|
|
701
|
+
if (isRealtimeUnavailableError(retryError)) {
|
|
702
|
+
transitionToRealtimeUnavailable();
|
|
607
703
|
}
|
|
608
|
-
|
|
704
|
+
else {
|
|
609
705
|
scheduleRetry(retryError);
|
|
610
706
|
}
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
});
|
|
629
|
-
}, delayMs);
|
|
630
|
-
retryTimer.unref?.();
|
|
631
|
-
};
|
|
632
|
-
scheduleRetry(error, true);
|
|
633
|
-
const dispose = async () => {
|
|
634
|
-
if (disposePromise !== null)
|
|
635
|
-
return disposePromise;
|
|
636
|
-
disposed = true;
|
|
637
|
-
disposePromise = (async () => {
|
|
638
|
-
if (retryTimer !== null)
|
|
639
|
-
clock.clearTimeout(retryTimer);
|
|
640
|
-
retryTimer = null;
|
|
641
|
-
await retryAttempt;
|
|
642
|
-
const active = live;
|
|
643
|
-
live = null;
|
|
644
|
-
if (active)
|
|
645
|
-
await active.dispose();
|
|
646
|
-
})();
|
|
707
|
+
}
|
|
708
|
+
};
|
|
709
|
+
try {
|
|
710
|
+
live = await startLiveAttempt();
|
|
711
|
+
}
|
|
712
|
+
catch (error) {
|
|
713
|
+
if (isRealtimeUnavailableError(error)) {
|
|
714
|
+
transitionToRealtimeUnavailable();
|
|
715
|
+
}
|
|
716
|
+
else {
|
|
717
|
+
log(`event-sync: startup failed, continuing poll-only: ${describeStartupError(error)}`);
|
|
718
|
+
emitPollOnlyTelemetry("poll_only");
|
|
719
|
+
scheduleRetry(error, true);
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
const dispose = async () => {
|
|
723
|
+
if (disposePromise !== null)
|
|
647
724
|
return disposePromise;
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
}
|
|
725
|
+
disposed = true;
|
|
726
|
+
disposePromise = (async () => {
|
|
727
|
+
if (retryTimer !== null)
|
|
728
|
+
clock.clearTimeout(retryTimer);
|
|
729
|
+
retryTimer = null;
|
|
730
|
+
await retryAttempt;
|
|
731
|
+
const active = live;
|
|
732
|
+
live = null;
|
|
733
|
+
if (active)
|
|
734
|
+
await active.dispose();
|
|
735
|
+
})();
|
|
736
|
+
return disposePromise;
|
|
737
|
+
};
|
|
738
|
+
return {
|
|
739
|
+
publishBatch: (batch) => live?.publishBatch(batch),
|
|
740
|
+
markContentPublished: (relativePath, contentHash) => live?.markContentPublished?.(relativePath, contentHash),
|
|
741
|
+
onLive: (listener) => {
|
|
742
|
+
if (live) {
|
|
743
|
+
listener();
|
|
744
|
+
return () => { };
|
|
745
|
+
}
|
|
746
|
+
liveListeners.add(listener);
|
|
747
|
+
return () => liveListeners.delete(listener);
|
|
748
|
+
},
|
|
749
|
+
receiver: {
|
|
750
|
+
start: async () => {
|
|
751
|
+
await live?.receiver.start();
|
|
668
752
|
},
|
|
669
|
-
ownDeviceId: opts.deviceId,
|
|
670
753
|
dispose,
|
|
671
|
-
|
|
672
|
-
|
|
754
|
+
get connected() {
|
|
755
|
+
return live?.receiver.connected ?? false;
|
|
756
|
+
},
|
|
757
|
+
},
|
|
758
|
+
ownDeviceId: opts.deviceId,
|
|
759
|
+
dispose,
|
|
760
|
+
};
|
|
673
761
|
}
|
|
674
762
|
//# sourceMappingURL=event-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-sync.js","sourceRoot":"","sources":["../../src/sync/event-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-sync.js","sourceRoot":"","sources":["../../src/sync/event-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ import * as fs from "node:fs";
|
|
|
15
15
|
import * as os from "node:os";
|
|
16
16
|
import * as path from "node:path";
|
|
17
17
|
import { resolveEventSync, subscribeSyncReceive, sqsClientFromAwsSdk, createRefreshingSqsClient, createUnifiedRealtimeScheduler, startEventSync, } from "./event-sync.js";
|
|
18
|
+
import { RealtimeUnavailableError } from "./push-transport.js";
|
|
18
19
|
import { hashFile } from "../journal.js";
|
|
19
20
|
import { FakeClock } from "../watcher.js";
|
|
20
21
|
function subscribeResponse(overrides = {}, queueUrl = "https://sqs.us-east-1.amazonaws.com/000000000000/sync-push-prs_t-dev1") {
|
|
@@ -209,6 +210,24 @@ describe("subscribeSyncReceive", () => {
|
|
|
209
210
|
}),
|
|
210
211
|
})).rejects.toThrow(/503.*subscribe exploded/s);
|
|
211
212
|
});
|
|
213
|
+
it("throws a non-retryable typed error for the coded realtime denial", async () => {
|
|
214
|
+
const error = await subscribeSyncReceive({
|
|
215
|
+
apiUrl: "https://api.example.com",
|
|
216
|
+
authToken: "jwt",
|
|
217
|
+
deviceId: "dev1",
|
|
218
|
+
fetchImpl: async () => ({
|
|
219
|
+
ok: false,
|
|
220
|
+
status: 403,
|
|
221
|
+
text: async () => JSON.stringify({
|
|
222
|
+
error: "realtime-unavailable",
|
|
223
|
+
code: "REALTIME_UNAVAILABLE",
|
|
224
|
+
retryable: false,
|
|
225
|
+
}),
|
|
226
|
+
}),
|
|
227
|
+
}).then(() => undefined, (reason) => reason);
|
|
228
|
+
expect(error).toBeInstanceOf(RealtimeUnavailableError);
|
|
229
|
+
expect(error).toMatchObject({ retryable: false, status: 403 });
|
|
230
|
+
});
|
|
212
231
|
it("rejects a response missing credentials (old server) loudly", async () => {
|
|
213
232
|
await expect(subscribeSyncReceive({
|
|
214
233
|
apiUrl: "https://api.example.com",
|
|
@@ -803,6 +822,127 @@ describe("startEventSync", () => {
|
|
|
803
822
|
expect(postTelemetryEvents.mock.calls.map(([batch]) => batch.events[0]?.properties?.startupResult)).toEqual(["poll_only", "live"]);
|
|
804
823
|
await handles.dispose();
|
|
805
824
|
});
|
|
825
|
+
it("stays poll-only and schedules only the long recheck after the coded subscribe denial", async () => {
|
|
826
|
+
const logged = [];
|
|
827
|
+
const clock = new FakeClock();
|
|
828
|
+
const subscribe = vi.fn(() => subscribeSyncReceive({
|
|
829
|
+
apiUrl: "https://api.example.com",
|
|
830
|
+
authToken: "jwt",
|
|
831
|
+
deviceId: "this-device",
|
|
832
|
+
fetchImpl: async () => ({
|
|
833
|
+
ok: false,
|
|
834
|
+
status: 403,
|
|
835
|
+
text: async () => JSON.stringify({
|
|
836
|
+
error: "realtime-unavailable",
|
|
837
|
+
code: "REALTIME_UNAVAILABLE",
|
|
838
|
+
retryable: false,
|
|
839
|
+
}),
|
|
840
|
+
}),
|
|
841
|
+
}));
|
|
842
|
+
const postTelemetryEvents = vi.fn().mockResolvedValue({ accepted: 1 });
|
|
843
|
+
const handles = await startEventSync({
|
|
844
|
+
...happyOpts([]),
|
|
845
|
+
subscribe,
|
|
846
|
+
clock,
|
|
847
|
+
retryInitialMs: 30_000,
|
|
848
|
+
retryMaxMs: 60_000,
|
|
849
|
+
retryRandom: () => 1,
|
|
850
|
+
telemetryClient: { postTelemetryEvents },
|
|
851
|
+
log: (message) => logged.push(message),
|
|
852
|
+
});
|
|
853
|
+
expect(handles.receiver.connected).toBe(false);
|
|
854
|
+
expect(subscribe).toHaveBeenCalledTimes(1);
|
|
855
|
+
expect(clock.pendingTimerCount()).toBe(1);
|
|
856
|
+
expect(logged).toEqual([
|
|
857
|
+
"event-sync: realtime unavailable for this account; staying poll-only, recheck in 6h",
|
|
858
|
+
]);
|
|
859
|
+
clock.advance(30_000);
|
|
860
|
+
for (let i = 0; i < 6; i++)
|
|
861
|
+
await Promise.resolve();
|
|
862
|
+
expect(subscribe).toHaveBeenCalledTimes(1);
|
|
863
|
+
clock.advance(6 * 60 * 60 * 1000 - 30_000);
|
|
864
|
+
for (let i = 0; i < 8; i++)
|
|
865
|
+
await Promise.resolve();
|
|
866
|
+
expect(subscribe).toHaveBeenCalledTimes(2);
|
|
867
|
+
await vi.waitFor(() => expect(clock.pendingTimerCount()).toBe(1));
|
|
868
|
+
expect(logged).not.toContain(expect.stringMatching(/startup retry/));
|
|
869
|
+
await vi.waitFor(() => expect(postTelemetryEvents).toHaveBeenCalledTimes(1));
|
|
870
|
+
expect(postTelemetryEvents.mock.calls[0]?.[0]).toMatchObject({
|
|
871
|
+
events: [{ properties: { startupResult: "realtime_unavailable" } }],
|
|
872
|
+
});
|
|
873
|
+
await handles.dispose();
|
|
874
|
+
});
|
|
875
|
+
it("quiesces a receiver when its credential refresh is denied and uses the long recheck", async () => {
|
|
876
|
+
const clock = new FakeClock();
|
|
877
|
+
const logged = [];
|
|
878
|
+
const subscribe = vi
|
|
879
|
+
.fn()
|
|
880
|
+
.mockResolvedValueOnce(subscribeResponse({ expiration: "2026-06-10T13:00:00.000Z" }))
|
|
881
|
+
.mockRejectedValueOnce(new RealtimeUnavailableError({ status: 403, operation: "refresh subscribe" }))
|
|
882
|
+
.mockResolvedValue(subscribeResponse({ expiration: "2026-06-10T15:00:00.000Z" }));
|
|
883
|
+
const postTelemetryEvents = vi.fn().mockResolvedValue({ accepted: 1 });
|
|
884
|
+
const handles = await startEventSync({
|
|
885
|
+
...happyOpts([]),
|
|
886
|
+
subscribe,
|
|
887
|
+
buildSqs: () => ({
|
|
888
|
+
receiveMessage: ({ signal }) => new Promise((resolve) => {
|
|
889
|
+
signal.addEventListener("abort", () => resolve({ messages: [] }), {
|
|
890
|
+
once: true,
|
|
891
|
+
});
|
|
892
|
+
}),
|
|
893
|
+
deleteMessage: async () => { },
|
|
894
|
+
changeMessageVisibility: async () => { },
|
|
895
|
+
}),
|
|
896
|
+
now: () => Date.parse("2026-06-10T12:59:30.000Z"),
|
|
897
|
+
clock,
|
|
898
|
+
retryRandom: () => 1,
|
|
899
|
+
realtimeUnavailableRecheckMs: 60_000,
|
|
900
|
+
telemetryClient: { postTelemetryEvents },
|
|
901
|
+
log: (message) => logged.push(message),
|
|
902
|
+
});
|
|
903
|
+
await vi.waitFor(() => expect(subscribe).toHaveBeenCalledTimes(2));
|
|
904
|
+
await vi.waitFor(() => expect(handles.receiver.connected).toBe(false));
|
|
905
|
+
expect(clock.pendingTimerCount()).toBe(1);
|
|
906
|
+
expect(logged).toContain("event-sync: realtime unavailable for this account; staying poll-only, recheck in 6h");
|
|
907
|
+
clock.advance(30_000);
|
|
908
|
+
for (let i = 0; i < 6; i++)
|
|
909
|
+
await Promise.resolve();
|
|
910
|
+
expect(subscribe).toHaveBeenCalledTimes(2);
|
|
911
|
+
clock.advance(30_000);
|
|
912
|
+
await vi.waitFor(() => expect(subscribe).toHaveBeenCalledTimes(3));
|
|
913
|
+
await handles.dispose();
|
|
914
|
+
});
|
|
915
|
+
it("reports a retry-discovered realtime denial exactly once", async () => {
|
|
916
|
+
const clock = new FakeClock();
|
|
917
|
+
const logged = [];
|
|
918
|
+
const postTelemetryEvents = vi.fn().mockResolvedValue({ accepted: 1 });
|
|
919
|
+
const subscribe = vi
|
|
920
|
+
.fn()
|
|
921
|
+
.mockRejectedValueOnce(new Error("initial subscription failed"))
|
|
922
|
+
.mockRejectedValueOnce(new RealtimeUnavailableError({ status: 403, operation: "retry subscribe" }))
|
|
923
|
+
.mockRejectedValue(new RealtimeUnavailableError({ status: 403, operation: "recheck subscribe" }));
|
|
924
|
+
const handles = await startEventSync({
|
|
925
|
+
...happyOpts([]),
|
|
926
|
+
subscribe,
|
|
927
|
+
clock,
|
|
928
|
+
retryRandom: () => 1,
|
|
929
|
+
realtimeUnavailableRecheckMs: 60_000,
|
|
930
|
+
telemetryClient: { postTelemetryEvents },
|
|
931
|
+
log: (message) => logged.push(message),
|
|
932
|
+
});
|
|
933
|
+
clock.advance(30_000);
|
|
934
|
+
await vi.waitFor(() => expect(subscribe).toHaveBeenCalledTimes(2));
|
|
935
|
+
await vi.waitFor(() => expect(postTelemetryEvents).toHaveBeenCalledTimes(2));
|
|
936
|
+
expect(logged.filter((message) => message.includes("realtime unavailable for this account")))
|
|
937
|
+
.toHaveLength(1);
|
|
938
|
+
expect(postTelemetryEvents.mock.calls.map(([batch]) => batch.events[0]?.properties?.startupResult)).toEqual(["poll_only", "realtime_unavailable"]);
|
|
939
|
+
expect(clock.pendingTimerCount()).toBe(1);
|
|
940
|
+
clock.advance(60_000);
|
|
941
|
+
await vi.waitFor(() => expect(subscribe).toHaveBeenCalledTimes(3));
|
|
942
|
+
expect(logged.filter((message) => message.includes("realtime unavailable for this account")))
|
|
943
|
+
.toHaveLength(1);
|
|
944
|
+
await handles.dispose();
|
|
945
|
+
});
|
|
806
946
|
it("caps repeated startup retries and cancels the pending retry on dispose", async () => {
|
|
807
947
|
const logged = [];
|
|
808
948
|
const clock = new FakeClock();
|