@syncular/client 0.0.6-202 → 0.0.6-205

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.
@@ -23,6 +23,7 @@ export declare class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
23
23
  private syncRequestedWhileRunning;
24
24
  private retryTimeoutId;
25
25
  private realtimeCatchupTimeoutId;
26
+ private realtimeReconnectSyncTimeoutId;
26
27
  private dataChangeDebounceTimeoutId;
27
28
  private pendingDataChangeScopes;
28
29
  private batchDataChangeUntilReconnectSettles;
@@ -170,6 +171,8 @@ export declare class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
170
171
  private emitPushResult;
171
172
  private emitNewConflicts;
172
173
  private emitNewConflictsSafe;
174
+ private shouldRefreshOutboxStatsAfterSuccessfulSync;
175
+ private shouldEmitConflictNotificationsAfterSuccessfulSync;
173
176
  private resolveResetTargets;
174
177
  private clearSyncedTablesForReset;
175
178
  reset(options: SyncResetOptions): Promise<SyncResetResult>;
@@ -234,6 +237,7 @@ export declare class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
234
237
  op: 'upsert' | 'delete';
235
238
  }>, now?: number): void;
236
239
  private recordMutationTimestampsFromPullResponse;
240
+ private shouldUseRecoveryRetryDelay;
237
241
  private scheduleRetry;
238
242
  private handleError;
239
243
  private shouldDeferBackgroundSyncForRetry;
@@ -243,6 +247,7 @@ export declare class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
243
247
  private setupRealtime;
244
248
  private stopRealtime;
245
249
  private scheduleRealtimeReconnectCatchupSync;
250
+ private scheduleRealtimeReconnectSync;
246
251
  private startFallbackPolling;
247
252
  private stopFallbackPolling;
248
253
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SyncEngine.d.ts","sourceRoot":"","sources":["../../src/engine/SyncEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncEngine.d.ts","sourceRoot":"","sources":["../../src/engine/SyncEngine.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,11 @@ const DEFAULT_MAX_RETRIES = 5;
18
18
  const INITIAL_RETRY_DELAY_MS = 1000;
19
19
  const MAX_RETRY_DELAY_MS = 60000;
20
20
  const EXPONENTIAL_FACTOR = 2;
21
+ const RECOVERY_RETRY_DELAY_MS = 250;
22
+ const MAX_RECOVERY_RETRY_DELAY_MS = 1000;
23
+ const RECOVERY_RETRY_WINDOW_MS = 120000;
21
24
  const REALTIME_RECONNECT_CATCHUP_DELAY_MS = 500;
25
+ const REALTIME_RECONNECT_SYNC_JITTER_MS = 250;
22
26
  const DEFAULT_AWAIT_TIMEOUT_MS = 60_000;
23
27
  const DEFAULT_INSPECTOR_EVENT_LIMIT = 100;
24
28
  const MAX_INSPECTOR_EVENT_LIMIT = 500;
@@ -26,6 +30,18 @@ const DEFAULT_DATA_CHANGE_DEBOUNCE_MS = 10;
26
30
  function calculateRetryDelay(attemptIndex) {
27
31
  return Math.min(INITIAL_RETRY_DELAY_MS * EXPONENTIAL_FACTOR ** attemptIndex, MAX_RETRY_DELAY_MS);
28
32
  }
33
+ function calculateRecoveryRetryDelay(attemptIndex) {
34
+ return Math.min(RECOVERY_RETRY_DELAY_MS * EXPONENTIAL_FACTOR ** attemptIndex, MAX_RECOVERY_RETRY_DELAY_MS);
35
+ }
36
+ function calculateDeterministicClientJitter(clientId, maxJitterMs) {
37
+ if (maxJitterMs <= 0 || clientId.length === 0)
38
+ return 0;
39
+ let hash = 0;
40
+ for (let index = 0; index < clientId.length; index += 1) {
41
+ hash = (hash * 31 + clientId.charCodeAt(index)) >>> 0;
42
+ }
43
+ return hash % (maxJitterMs + 1);
44
+ }
29
45
  function isRealtimeTransport(transport) {
30
46
  return (typeof transport === 'object' &&
31
47
  transport !== null &&
@@ -195,6 +211,7 @@ export class SyncEngine {
195
211
  syncRequestedWhileRunning = false;
196
212
  retryTimeoutId = null;
197
213
  realtimeCatchupTimeoutId = null;
214
+ realtimeReconnectSyncTimeoutId = null;
198
215
  dataChangeDebounceTimeoutId = null;
199
216
  pendingDataChangeScopes = new Set();
200
217
  batchDataChangeUntilReconnectSettles = false;
@@ -944,6 +961,15 @@ export class SyncEngine {
944
961
  console.warn(`[SyncEngine] Failed to emit conflict:new during ${context}`, error);
945
962
  }
946
963
  }
964
+ shouldRefreshOutboxStatsAfterSuccessfulSync(args) {
965
+ return args.pushedCommits > 0 || this.state.pendingCount > 0;
966
+ }
967
+ shouldEmitConflictNotificationsAfterSuccessfulSync(args) {
968
+ if (this.emittedConflictIds.size > 0) {
969
+ return true;
970
+ }
971
+ return args.pushResults.some((pushResult) => pushResult.status === 'rejected' || pushResult.status === 'retriable');
972
+ }
947
973
  async resolveResetTargets(options) {
948
974
  const stateId = options.stateId ?? this.getStateId();
949
975
  if (options.scope === 'all') {
@@ -1292,6 +1318,10 @@ export class SyncEngine {
1292
1318
  clearTimeout(this.realtimeCatchupTimeoutId);
1293
1319
  this.realtimeCatchupTimeoutId = null;
1294
1320
  }
1321
+ if (this.realtimeReconnectSyncTimeoutId) {
1322
+ clearTimeout(this.realtimeReconnectSyncTimeoutId);
1323
+ this.realtimeReconnectSyncTimeoutId = null;
1324
+ }
1295
1325
  }
1296
1326
  /**
1297
1327
  * Trigger a manual sync
@@ -1418,11 +1448,19 @@ export class SyncEngine {
1418
1448
  this.emitDataChange(changedTables, { source: 'remote' });
1419
1449
  }
1420
1450
  this.handleBootstrapLifecycle(result.pullResponse);
1421
- await this.emitNewConflictsSafe('sync success');
1451
+ if (this.shouldEmitConflictNotificationsAfterSuccessfulSync({
1452
+ pushResults: result.pushResults,
1453
+ })) {
1454
+ await this.emitNewConflictsSafe('sync success');
1455
+ }
1422
1456
  // Refresh outbox stats (fire-and-forget — don't block sync:complete)
1423
- this.refreshOutboxStats().catch((error) => {
1424
- console.warn('[SyncEngine] Failed to refresh outbox stats after sync:', error);
1425
- });
1457
+ if (this.shouldRefreshOutboxStatsAfterSuccessfulSync({
1458
+ pushedCommits: result.pushedCommits,
1459
+ })) {
1460
+ this.refreshOutboxStats().catch((error) => {
1461
+ console.warn('[SyncEngine] Failed to refresh outbox stats after sync:', error);
1462
+ });
1463
+ }
1426
1464
  const durationMs = Math.max(0, Date.now() - startedAtMs);
1427
1465
  countSyncMetric('sync.client.sync.results', 1, {
1428
1466
  attributes: {
@@ -1502,7 +1540,7 @@ export class SyncEngine {
1502
1540
  // Schedule retry if under max retries
1503
1541
  const maxRetries = this.config.maxRetries ?? DEFAULT_MAX_RETRIES;
1504
1542
  if (error.retryable && this.state.retryCount < maxRetries) {
1505
- this.scheduleRetry();
1543
+ this.scheduleRetry(error);
1506
1544
  }
1507
1545
  this.flushReconnectBatchedDataChangesIfReady();
1508
1546
  return {
@@ -1688,9 +1726,13 @@ export class SyncEngine {
1688
1726
  pullResponse: { ok: true, subscriptions: [] },
1689
1727
  });
1690
1728
  this.emit('sync:live', { timestamp: Date.now() });
1691
- this.refreshOutboxStats().catch((error) => {
1692
- console.warn('[SyncEngine] Failed to refresh outbox stats after WS apply:', error);
1693
- });
1729
+ if (this.shouldRefreshOutboxStatsAfterSuccessfulSync({
1730
+ pushedCommits: 0,
1731
+ })) {
1732
+ this.refreshOutboxStats().catch((error) => {
1733
+ console.warn('[SyncEngine] Failed to refresh outbox stats after WS apply:', error);
1734
+ });
1735
+ }
1694
1736
  }
1695
1737
  timestampCounter = 0;
1696
1738
  nextPreciseTimestamp(now) {
@@ -1761,11 +1803,23 @@ export class SyncEngine {
1761
1803
  }
1762
1804
  }
1763
1805
  }
1764
- scheduleRetry() {
1806
+ shouldUseRecoveryRetryDelay(error) {
1807
+ if (!error || error.code !== 'NETWORK_ERROR')
1808
+ return false;
1809
+ if (this.state.pendingCount > 0)
1810
+ return false;
1811
+ if (this.state.lastSyncAt === null)
1812
+ return false;
1813
+ return Date.now() - this.state.lastSyncAt <= RECOVERY_RETRY_WINDOW_MS;
1814
+ }
1815
+ scheduleRetry(error) {
1765
1816
  if (this.retryTimeoutId) {
1766
1817
  clearTimeout(this.retryTimeoutId);
1767
1818
  }
1768
- const delay = calculateRetryDelay(this.state.retryCount);
1819
+ const attemptIndex = Math.max(0, this.state.retryCount - 1);
1820
+ const delay = this.shouldUseRecoveryRetryDelay(error)
1821
+ ? calculateRecoveryRetryDelay(attemptIndex)
1822
+ : calculateRetryDelay(attemptIndex);
1769
1823
  if (this.state.pendingCount > 0) {
1770
1824
  countSyncMetric('sync.outbox.retry_count', 1, {
1771
1825
  attributes: {
@@ -1912,10 +1966,13 @@ export class SyncEngine {
1912
1966
  fallbackReason: null,
1913
1967
  });
1914
1968
  this.stopFallbackPolling();
1915
- this.triggerSyncInBackground(undefined, 'realtime connected state');
1916
1969
  if (wasConnectedBefore) {
1970
+ this.scheduleRealtimeReconnectSync();
1917
1971
  this.scheduleRealtimeReconnectCatchupSync();
1918
1972
  }
1973
+ else {
1974
+ this.triggerSyncInBackground(undefined, 'realtime connected state');
1975
+ }
1919
1976
  break;
1920
1977
  }
1921
1978
  case 'connecting':
@@ -1941,6 +1998,10 @@ export class SyncEngine {
1941
1998
  clearTimeout(this.realtimeCatchupTimeoutId);
1942
1999
  this.realtimeCatchupTimeoutId = null;
1943
2000
  }
2001
+ if (this.realtimeReconnectSyncTimeoutId) {
2002
+ clearTimeout(this.realtimeReconnectSyncTimeoutId);
2003
+ this.realtimeReconnectSyncTimeoutId = null;
2004
+ }
1944
2005
  if (this.realtimePresenceUnsub) {
1945
2006
  this.realtimePresenceUnsub();
1946
2007
  this.realtimePresenceUnsub = null;
@@ -1959,6 +2020,7 @@ export class SyncEngine {
1959
2020
  if (this.realtimeCatchupTimeoutId) {
1960
2021
  clearTimeout(this.realtimeCatchupTimeoutId);
1961
2022
  }
2023
+ const jitterMs = calculateDeterministicClientJitter(this.config.clientId ?? '', REALTIME_RECONNECT_SYNC_JITTER_MS);
1962
2024
  this.realtimeCatchupTimeoutId = setTimeout(() => {
1963
2025
  this.realtimeCatchupTimeoutId = null;
1964
2026
  if (this.isDestroyed || !this.isEnabled())
@@ -1966,7 +2028,21 @@ export class SyncEngine {
1966
2028
  if (this.state.connectionState !== 'connected')
1967
2029
  return;
1968
2030
  this.triggerSyncInBackground(undefined, 'realtime reconnect catchup');
1969
- }, REALTIME_RECONNECT_CATCHUP_DELAY_MS);
2031
+ }, REALTIME_RECONNECT_CATCHUP_DELAY_MS + jitterMs);
2032
+ }
2033
+ scheduleRealtimeReconnectSync() {
2034
+ if (this.realtimeReconnectSyncTimeoutId) {
2035
+ clearTimeout(this.realtimeReconnectSyncTimeoutId);
2036
+ }
2037
+ const jitterMs = calculateDeterministicClientJitter(this.config.clientId ?? '', REALTIME_RECONNECT_SYNC_JITTER_MS);
2038
+ this.realtimeReconnectSyncTimeoutId = setTimeout(() => {
2039
+ this.realtimeReconnectSyncTimeoutId = null;
2040
+ if (this.isDestroyed || !this.isEnabled())
2041
+ return;
2042
+ if (this.state.connectionState !== 'connected')
2043
+ return;
2044
+ this.triggerSyncInBackground(undefined, 'realtime connected state');
2045
+ }, jitterMs);
1970
2046
  }
1971
2047
  startFallbackPolling() {
1972
2048
  if (this.fallbackPollerId)
@@ -1 +1 @@
1
- {"version":3,"file":"SyncEngine.js","sourceRoot":"","sources":["../../src/engine/SyncEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncEngine.js","sourceRoot":"","sources":["../../src/engine/SyncEngine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncular/client",
3
- "version": "0.0.6-202",
3
+ "version": "0.0.6-205",
4
4
  "description": "Client-side sync engine with offline-first support, outbox, and conflict resolution",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Benjamin Kniffler",
@@ -119,8 +119,8 @@
119
119
  "release": "bunx syncular-publish"
120
120
  },
121
121
  "dependencies": {
122
- "@syncular/core": "0.0.6-202",
123
- "@syncular/transport-http": "0.0.6-202"
122
+ "@syncular/core": "0.0.6-205",
123
+ "@syncular/transport-http": "0.0.6-205"
124
124
  },
125
125
  "peerDependencies": {
126
126
  "kysely": "*"
@@ -686,6 +686,51 @@ describe('SyncEngine WS inline apply', () => {
686
686
  expect(state.isRetrying).toBe(false);
687
687
  });
688
688
 
689
+ it('skips outbox and conflict refresh after a read-only successful sync', async () => {
690
+ const handlers: ClientHandlerCollection<TestDb> = [
691
+ {
692
+ table: 'tasks',
693
+ async applySnapshot() {},
694
+ async clearAll() {},
695
+ async applyChange() {},
696
+ },
697
+ ];
698
+
699
+ const engine = new SyncEngine<TestDb>({
700
+ db,
701
+ transport: noopTransport,
702
+ handlers,
703
+ actorId: 'u1',
704
+ clientId: 'client-readonly-sync',
705
+ subscriptions: [],
706
+ stateId: 'default',
707
+ pollIntervalMs: 60_000,
708
+ });
709
+
710
+ let outboxRefreshes = 0;
711
+ let conflictChecks = 0;
712
+ Reflect.set(engine, 'refreshOutboxStats', async () => {
713
+ outboxRefreshes += 1;
714
+ return {
715
+ pending: 0,
716
+ sending: 0,
717
+ failed: 0,
718
+ acked: 0,
719
+ total: 0,
720
+ };
721
+ });
722
+ Reflect.set(engine, 'emitNewConflictsSafe', async () => {
723
+ conflictChecks += 1;
724
+ });
725
+
726
+ await engine.start();
727
+
728
+ expect(outboxRefreshes).toBe(0);
729
+ expect(conflictChecks).toBe(0);
730
+
731
+ engine.destroy();
732
+ });
733
+
689
734
  it('classifies 429 sync failures as retryable and schedules exponential backoff', async () => {
690
735
  let syncAttempts = 0;
691
736
  const rateLimitedTransport: SyncTransport = {
@@ -750,19 +795,19 @@ describe('SyncEngine WS inline apply', () => {
750
795
  expect(state.error?.httpStatus).toBe(429);
751
796
  expect(state.retryCount).toBe(1);
752
797
  expect(state.isRetrying).toBe(true);
753
- expect(delays).toEqual([2000]);
798
+ expect(delays).toEqual([1000]);
754
799
 
755
800
  await engine.sync();
756
801
  state = engine.getState();
757
802
  expect(state.retryCount).toBe(2);
758
803
  expect(state.isRetrying).toBe(true);
759
- expect(delays).toEqual([2000, 4000]);
804
+ expect(delays).toEqual([1000, 2000]);
760
805
 
761
806
  await engine.sync();
762
807
  state = engine.getState();
763
808
  expect(state.retryCount).toBe(3);
764
809
  expect(state.isRetrying).toBe(true);
765
- expect(delays).toEqual([2000, 4000, 8000]);
810
+ expect(delays).toEqual([1000, 2000, 4000]);
766
811
  expect(syncAttempts).toBe(3);
767
812
 
768
813
  engine.destroy();
@@ -774,6 +819,183 @@ describe('SyncEngine WS inline apply', () => {
774
819
  }
775
820
  });
776
821
 
822
+ it('uses a shorter capped recovery retry delay after a recent successful read-only sync', async () => {
823
+ let syncAttempts = 0;
824
+ const delayedFailureTransport: SyncTransport = {
825
+ async sync() {
826
+ syncAttempts += 1;
827
+ if (syncAttempts === 1) {
828
+ return { ok: true, subscriptions: [] };
829
+ }
830
+ throw new SyncTransportError('service unavailable', 503);
831
+ },
832
+ async fetchSnapshotChunk() {
833
+ return new Uint8Array();
834
+ },
835
+ };
836
+ const handlers: ClientHandlerCollection<TestDb> = [
837
+ {
838
+ table: 'tasks',
839
+ async applySnapshot() {},
840
+ async clearAll() {},
841
+ async applyChange() {},
842
+ },
843
+ ];
844
+
845
+ const delays: number[] = [];
846
+ const timeoutHandles: Array<ReturnType<typeof setTimeout>> = [];
847
+ const originalSetTimeout = globalThis.setTimeout;
848
+ const patchedSetTimeout: typeof globalThis.setTimeout = (
849
+ _handler,
850
+ timeout,
851
+ ..._args
852
+ ) => {
853
+ const delayMs = typeof timeout === 'number' ? timeout : 0;
854
+ delays.push(delayMs);
855
+ const handle = originalSetTimeout(() => {}, 60_000);
856
+ timeoutHandles.push(handle);
857
+ return handle;
858
+ };
859
+ globalThis.setTimeout = patchedSetTimeout;
860
+
861
+ try {
862
+ const engine = new SyncEngine<TestDb>({
863
+ db,
864
+ transport: delayedFailureTransport,
865
+ handlers,
866
+ actorId: 'u1',
867
+ clientId: 'client-recovery-retry',
868
+ subscriptions: [
869
+ {
870
+ id: 'sub-1',
871
+ table: 'tasks',
872
+ scopes: {},
873
+ },
874
+ ],
875
+ stateId: 'default',
876
+ pollIntervalMs: 60_000,
877
+ maxRetries: 5,
878
+ });
879
+
880
+ await engine.start();
881
+ expect(engine.getState().lastSyncAt).not.toBeNull();
882
+
883
+ await engine.sync();
884
+ let state = engine.getState();
885
+ expect(state.error?.code).toBe('NETWORK_ERROR');
886
+ expect(state.retryCount).toBe(1);
887
+ expect(state.isRetrying).toBe(true);
888
+
889
+ await engine.sync();
890
+ state = engine.getState();
891
+ expect(state.retryCount).toBe(2);
892
+
893
+ await engine.sync();
894
+ state = engine.getState();
895
+ expect(state.retryCount).toBe(3);
896
+
897
+ await engine.sync();
898
+ state = engine.getState();
899
+ expect(state.retryCount).toBe(4);
900
+ expect(delays).toEqual([250, 500, 1000, 1000]);
901
+
902
+ engine.destroy();
903
+ } finally {
904
+ globalThis.setTimeout = originalSetTimeout;
905
+ for (const handle of timeoutHandles) {
906
+ clearTimeout(handle);
907
+ }
908
+ }
909
+ });
910
+
911
+ it('uses deterministic jitter for realtime reconnect sync and catchup scheduling', () => {
912
+ const handlers: ClientHandlerCollection<TestDb> = [
913
+ {
914
+ table: 'tasks',
915
+ async applySnapshot() {},
916
+ async clearAll() {},
917
+ async applyChange() {},
918
+ },
919
+ ];
920
+
921
+ const delays: number[] = [];
922
+ const timeoutHandles: Array<ReturnType<typeof setTimeout>> = [];
923
+ const originalSetTimeout = globalThis.setTimeout;
924
+ const patchedSetTimeout: typeof globalThis.setTimeout = (
925
+ _handler,
926
+ timeout,
927
+ ..._args
928
+ ) => {
929
+ const delayMs = typeof timeout === 'number' ? timeout : 0;
930
+ delays.push(delayMs);
931
+ const handle = originalSetTimeout(() => {}, 60_000);
932
+ timeoutHandles.push(handle);
933
+ return handle;
934
+ };
935
+ globalThis.setTimeout = patchedSetTimeout;
936
+
937
+ try {
938
+ const engineA = new SyncEngine<TestDb>({
939
+ db,
940
+ transport: noopTransport,
941
+ handlers,
942
+ actorId: 'u1',
943
+ clientId: 'client-reconnect-jitter',
944
+ subscriptions: [],
945
+ stateId: 'default',
946
+ });
947
+ const engineB = new SyncEngine<TestDb>({
948
+ db,
949
+ transport: noopTransport,
950
+ handlers,
951
+ actorId: 'u1',
952
+ clientId: 'client-reconnect-jitter',
953
+ subscriptions: [],
954
+ stateId: 'default',
955
+ });
956
+
957
+ const scheduleReconnectSyncA = Reflect.get(
958
+ engineA,
959
+ 'scheduleRealtimeReconnectSync'
960
+ );
961
+ const scheduleReconnectCatchupA = Reflect.get(
962
+ engineA,
963
+ 'scheduleRealtimeReconnectCatchupSync'
964
+ );
965
+ const scheduleReconnectSyncB = Reflect.get(
966
+ engineB,
967
+ 'scheduleRealtimeReconnectSync'
968
+ );
969
+
970
+ if (
971
+ typeof scheduleReconnectSyncA !== 'function' ||
972
+ typeof scheduleReconnectCatchupA !== 'function' ||
973
+ typeof scheduleReconnectSyncB !== 'function'
974
+ ) {
975
+ throw new Error('Expected reconnect scheduling helpers to be callable');
976
+ }
977
+
978
+ scheduleReconnectSyncA.call(engineA);
979
+ scheduleReconnectCatchupA.call(engineA);
980
+ scheduleReconnectSyncB.call(engineB);
981
+
982
+ expect(delays.length).toBe(3);
983
+ expect(delays[0]).toBeGreaterThanOrEqual(0);
984
+ expect(delays[0]).toBeLessThanOrEqual(250);
985
+ expect(delays[1]).toBeGreaterThanOrEqual(500);
986
+ expect(delays[1]).toBeLessThanOrEqual(750);
987
+ expect(delays[2]).toBe(delays[0]);
988
+
989
+ engineA.destroy();
990
+ engineB.destroy();
991
+ } finally {
992
+ globalThis.setTimeout = originalSetTimeout;
993
+ for (const handle of timeoutHandles) {
994
+ clearTimeout(handle);
995
+ }
996
+ }
997
+ });
998
+
777
999
  it('keeps push failures retryable on 503 and preserves pending outbox state', async () => {
778
1000
  let sawPushRequest = false;
779
1001
  const unavailablePushTransport: SyncTransport = {
@@ -1000,7 +1222,7 @@ describe('SyncEngine WS inline apply', () => {
1000
1222
  const state = engine.getState();
1001
1223
  expect(state.retryCount).toBe(0);
1002
1224
  expect(state.isRetrying).toBe(false);
1003
- expect(delays[0]).toBe(2000);
1225
+ expect(delays[0]).toBe(1000);
1004
1226
  expect(chunkFetchCalls).toBeGreaterThanOrEqual(2);
1005
1227
  expect(syncCalls).toBeGreaterThanOrEqual(2);
1006
1228
 
@@ -75,7 +75,11 @@ const DEFAULT_MAX_RETRIES = 5;
75
75
  const INITIAL_RETRY_DELAY_MS = 1000;
76
76
  const MAX_RETRY_DELAY_MS = 60000;
77
77
  const EXPONENTIAL_FACTOR = 2;
78
+ const RECOVERY_RETRY_DELAY_MS = 250;
79
+ const MAX_RECOVERY_RETRY_DELAY_MS = 1000;
80
+ const RECOVERY_RETRY_WINDOW_MS = 120000;
78
81
  const REALTIME_RECONNECT_CATCHUP_DELAY_MS = 500;
82
+ const REALTIME_RECONNECT_SYNC_JITTER_MS = 250;
79
83
  const DEFAULT_AWAIT_TIMEOUT_MS = 60_000;
80
84
  const DEFAULT_INSPECTOR_EVENT_LIMIT = 100;
81
85
  const MAX_INSPECTOR_EVENT_LIMIT = 500;
@@ -88,6 +92,27 @@ function calculateRetryDelay(attemptIndex: number): number {
88
92
  );
89
93
  }
90
94
 
95
+ function calculateRecoveryRetryDelay(attemptIndex: number): number {
96
+ return Math.min(
97
+ RECOVERY_RETRY_DELAY_MS * EXPONENTIAL_FACTOR ** attemptIndex,
98
+ MAX_RECOVERY_RETRY_DELAY_MS
99
+ );
100
+ }
101
+
102
+ function calculateDeterministicClientJitter(
103
+ clientId: string,
104
+ maxJitterMs: number
105
+ ): number {
106
+ if (maxJitterMs <= 0 || clientId.length === 0) return 0;
107
+
108
+ let hash = 0;
109
+ for (let index = 0; index < clientId.length; index += 1) {
110
+ hash = (hash * 31 + clientId.charCodeAt(index)) >>> 0;
111
+ }
112
+
113
+ return hash % (maxJitterMs + 1);
114
+ }
115
+
91
116
  function isRealtimeTransport(
92
117
  transport: unknown
93
118
  ): transport is RealtimeTransportLike {
@@ -310,6 +335,8 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
310
335
  private syncRequestedWhileRunning = false;
311
336
  private retryTimeoutId: ReturnType<typeof setTimeout> | null = null;
312
337
  private realtimeCatchupTimeoutId: ReturnType<typeof setTimeout> | null = null;
338
+ private realtimeReconnectSyncTimeoutId: ReturnType<typeof setTimeout> | null =
339
+ null;
313
340
  private dataChangeDebounceTimeoutId: ReturnType<typeof setTimeout> | null =
314
341
  null;
315
342
  private pendingDataChangeScopes = new Set<string>();
@@ -1260,6 +1287,25 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
1260
1287
  }
1261
1288
  }
1262
1289
 
1290
+ private shouldRefreshOutboxStatsAfterSuccessfulSync(args: {
1291
+ pushedCommits: number;
1292
+ }): boolean {
1293
+ return args.pushedCommits > 0 || this.state.pendingCount > 0;
1294
+ }
1295
+
1296
+ private shouldEmitConflictNotificationsAfterSuccessfulSync(args: {
1297
+ pushResults: PushResultInfo[];
1298
+ }): boolean {
1299
+ if (this.emittedConflictIds.size > 0) {
1300
+ return true;
1301
+ }
1302
+
1303
+ return args.pushResults.some(
1304
+ (pushResult) =>
1305
+ pushResult.status === 'rejected' || pushResult.status === 'retriable'
1306
+ );
1307
+ }
1308
+
1263
1309
  private async resolveResetTargets(
1264
1310
  options: SyncResetOptions
1265
1311
  ): Promise<SubscriptionState[]> {
@@ -1685,6 +1731,10 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
1685
1731
  clearTimeout(this.realtimeCatchupTimeoutId);
1686
1732
  this.realtimeCatchupTimeoutId = null;
1687
1733
  }
1734
+ if (this.realtimeReconnectSyncTimeoutId) {
1735
+ clearTimeout(this.realtimeReconnectSyncTimeoutId);
1736
+ this.realtimeReconnectSyncTimeoutId = null;
1737
+ }
1688
1738
  }
1689
1739
 
1690
1740
  /**
@@ -1846,15 +1896,27 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
1846
1896
  this.emitDataChange(changedTables, { source: 'remote' });
1847
1897
  }
1848
1898
  this.handleBootstrapLifecycle(result.pullResponse);
1849
- await this.emitNewConflictsSafe('sync success');
1899
+ if (
1900
+ this.shouldEmitConflictNotificationsAfterSuccessfulSync({
1901
+ pushResults: result.pushResults,
1902
+ })
1903
+ ) {
1904
+ await this.emitNewConflictsSafe('sync success');
1905
+ }
1850
1906
 
1851
1907
  // Refresh outbox stats (fire-and-forget — don't block sync:complete)
1852
- this.refreshOutboxStats().catch((error) => {
1853
- console.warn(
1854
- '[SyncEngine] Failed to refresh outbox stats after sync:',
1855
- error
1856
- );
1857
- });
1908
+ if (
1909
+ this.shouldRefreshOutboxStatsAfterSuccessfulSync({
1910
+ pushedCommits: result.pushedCommits,
1911
+ })
1912
+ ) {
1913
+ this.refreshOutboxStats().catch((error) => {
1914
+ console.warn(
1915
+ '[SyncEngine] Failed to refresh outbox stats after sync:',
1916
+ error
1917
+ );
1918
+ });
1919
+ }
1858
1920
 
1859
1921
  const durationMs = Math.max(0, Date.now() - startedAtMs);
1860
1922
  countSyncMetric('sync.client.sync.results', 1, {
@@ -1949,7 +2011,7 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
1949
2011
  // Schedule retry if under max retries
1950
2012
  const maxRetries = this.config.maxRetries ?? DEFAULT_MAX_RETRIES;
1951
2013
  if (error.retryable && this.state.retryCount < maxRetries) {
1952
- this.scheduleRetry();
2014
+ this.scheduleRetry(error);
1953
2015
  }
1954
2016
  this.flushReconnectBatchedDataChangesIfReady();
1955
2017
 
@@ -2202,12 +2264,18 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
2202
2264
  });
2203
2265
  this.emit('sync:live', { timestamp: Date.now() });
2204
2266
 
2205
- this.refreshOutboxStats().catch((error) => {
2206
- console.warn(
2207
- '[SyncEngine] Failed to refresh outbox stats after WS apply:',
2208
- error
2209
- );
2210
- });
2267
+ if (
2268
+ this.shouldRefreshOutboxStatsAfterSuccessfulSync({
2269
+ pushedCommits: 0,
2270
+ })
2271
+ ) {
2272
+ this.refreshOutboxStats().catch((error) => {
2273
+ console.warn(
2274
+ '[SyncEngine] Failed to refresh outbox stats after WS apply:',
2275
+ error
2276
+ );
2277
+ });
2278
+ }
2211
2279
  }
2212
2280
 
2213
2281
  private timestampCounter = 0;
@@ -2301,12 +2369,22 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
2301
2369
  }
2302
2370
  }
2303
2371
 
2304
- private scheduleRetry(): void {
2372
+ private shouldUseRecoveryRetryDelay(error?: SyncError): boolean {
2373
+ if (!error || error.code !== 'NETWORK_ERROR') return false;
2374
+ if (this.state.pendingCount > 0) return false;
2375
+ if (this.state.lastSyncAt === null) return false;
2376
+ return Date.now() - this.state.lastSyncAt <= RECOVERY_RETRY_WINDOW_MS;
2377
+ }
2378
+
2379
+ private scheduleRetry(error?: SyncError): void {
2305
2380
  if (this.retryTimeoutId) {
2306
2381
  clearTimeout(this.retryTimeoutId);
2307
2382
  }
2308
2383
 
2309
- const delay = calculateRetryDelay(this.state.retryCount);
2384
+ const attemptIndex = Math.max(0, this.state.retryCount - 1);
2385
+ const delay = this.shouldUseRecoveryRetryDelay(error)
2386
+ ? calculateRecoveryRetryDelay(attemptIndex)
2387
+ : calculateRetryDelay(attemptIndex);
2310
2388
  if (this.state.pendingCount > 0) {
2311
2389
  countSyncMetric('sync.outbox.retry_count', 1, {
2312
2390
  attributes: {
@@ -2487,9 +2565,14 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
2487
2565
  fallbackReason: null,
2488
2566
  });
2489
2567
  this.stopFallbackPolling();
2490
- this.triggerSyncInBackground(undefined, 'realtime connected state');
2491
2568
  if (wasConnectedBefore) {
2569
+ this.scheduleRealtimeReconnectSync();
2492
2570
  this.scheduleRealtimeReconnectCatchupSync();
2571
+ } else {
2572
+ this.triggerSyncInBackground(
2573
+ undefined,
2574
+ 'realtime connected state'
2575
+ );
2493
2576
  }
2494
2577
  break;
2495
2578
  }
@@ -2518,6 +2601,10 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
2518
2601
  clearTimeout(this.realtimeCatchupTimeoutId);
2519
2602
  this.realtimeCatchupTimeoutId = null;
2520
2603
  }
2604
+ if (this.realtimeReconnectSyncTimeoutId) {
2605
+ clearTimeout(this.realtimeReconnectSyncTimeoutId);
2606
+ this.realtimeReconnectSyncTimeoutId = null;
2607
+ }
2521
2608
  if (this.realtimePresenceUnsub) {
2522
2609
  this.realtimePresenceUnsub();
2523
2610
  this.realtimePresenceUnsub = null;
@@ -2538,6 +2625,11 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
2538
2625
  clearTimeout(this.realtimeCatchupTimeoutId);
2539
2626
  }
2540
2627
 
2628
+ const jitterMs = calculateDeterministicClientJitter(
2629
+ this.config.clientId ?? '',
2630
+ REALTIME_RECONNECT_SYNC_JITTER_MS
2631
+ );
2632
+
2541
2633
  this.realtimeCatchupTimeoutId = setTimeout(() => {
2542
2634
  this.realtimeCatchupTimeoutId = null;
2543
2635
 
@@ -2545,7 +2637,27 @@ export class SyncEngine<DB extends SyncClientDb = SyncClientDb> {
2545
2637
  if (this.state.connectionState !== 'connected') return;
2546
2638
 
2547
2639
  this.triggerSyncInBackground(undefined, 'realtime reconnect catchup');
2548
- }, REALTIME_RECONNECT_CATCHUP_DELAY_MS);
2640
+ }, REALTIME_RECONNECT_CATCHUP_DELAY_MS + jitterMs);
2641
+ }
2642
+
2643
+ private scheduleRealtimeReconnectSync(): void {
2644
+ if (this.realtimeReconnectSyncTimeoutId) {
2645
+ clearTimeout(this.realtimeReconnectSyncTimeoutId);
2646
+ }
2647
+
2648
+ const jitterMs = calculateDeterministicClientJitter(
2649
+ this.config.clientId ?? '',
2650
+ REALTIME_RECONNECT_SYNC_JITTER_MS
2651
+ );
2652
+
2653
+ this.realtimeReconnectSyncTimeoutId = setTimeout(() => {
2654
+ this.realtimeReconnectSyncTimeoutId = null;
2655
+
2656
+ if (this.isDestroyed || !this.isEnabled()) return;
2657
+ if (this.state.connectionState !== 'connected') return;
2658
+
2659
+ this.triggerSyncInBackground(undefined, 'realtime connected state');
2660
+ }, jitterMs);
2549
2661
  }
2550
2662
 
2551
2663
  private startFallbackPolling(): void {