@powerhousedao/reactor-api 6.0.0-dev.45 → 6.0.0-dev.48

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.
@@ -4,7 +4,7 @@ import type { IDocumentDriveServer } from "document-drive";
4
4
  import type { DocumentModelModule } from "document-model";
5
5
  import type { Express } from "express";
6
6
  import type { Pool } from "pg";
7
- import type { ProcessorApp } from "shared/processors";
7
+ import type { ProcessorApp } from "@powerhousedao/shared/processors";
8
8
  import { DocumentPermissionService } from "./services/document-permission.service.js";
9
9
  import type { API, IPackageLoader, Processor } from "./types.js";
10
10
  type Options = {
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EAEd,YAAY,EACZ,mBAAmB,EAEpB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAEV,oBAAoB,EAKrB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAetD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AASjE,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;IACd,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AA2jBF;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,sBAAsB,EAChC,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,GAAG,CAAC,CAqDd;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,sBAAsB,EAAE,CACtB,oBAAoB,EAAE,mBAAmB,EAAE,KACxC,OAAO,CAAC,oBAAoB,CAAC,EAClC,iBAAiB,EAAE,CACjB,WAAW,EAAE,oBAAoB,EACjC,cAAc,EAAE,mBAAmB,EAAE,KAClC,OAAO,CAAC,mBAAmB,CAAC,EACjC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,GACzB,OAAO,CACR,GAAG,GAAG;IACJ,WAAW,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,YAAY,CAAC;CAC3B,CACF,CAsEA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EAEd,YAAY,EACZ,mBAAmB,EAEpB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAEV,oBAAoB,EAKrB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAerE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AASjE,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;IACd,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AA2jBF;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,sBAAsB,EAChC,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,GAAG,CAAC,CAqDd;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,sBAAsB,EAAE,CACtB,oBAAoB,EAAE,mBAAmB,EAAE,KACxC,OAAO,CAAC,oBAAoB,CAAC,EAClC,iBAAiB,EAAE,CACjB,WAAW,EAAE,oBAAoB,EACjC,cAAc,EAAE,mBAAmB,EAAE,KAClC,OAAO,CAAC,mBAAmB,CAAC,EACjC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,GACzB,OAAO,CACR,GAAG,GAAG;IACJ,WAAW,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,YAAY,CAAC;CAC3B,CACF,CAsEA"}
@@ -1,4 +1,4 @@
1
- import { CompositeChannelFactory, ConsoleLogger, driveCollectionId, EventBus, JobStatus, ReactorBuilder, ReactorEventTypes, SyncBuilder, } from "@powerhousedao/reactor";
1
+ import { ConsoleLogger, driveCollectionId, EventBus, GqlRequestChannelFactory, GqlResponseChannelFactory, InMemoryQueue, JobStatus, ReactorBuilder, ReactorEventTypes, SyncBuilder, } from "@powerhousedao/reactor";
2
2
  import { driveDocumentModelModule } from "document-drive";
3
3
  import { afterEach, describe, expect, it } from "vitest";
4
4
  import { createResolverBridge } from "./utils/gql-resolver-bridge.js";
@@ -8,19 +8,38 @@ async function setupConnectSwitchboard() {
8
8
  const logger = new ConsoleLogger(["test"]);
9
9
  const connectEventBus = new EventBus();
10
10
  const switchboardEventBus = new EventBus();
11
+ const connectQueue = new InMemoryQueue(connectEventBus);
12
+ const switchboardQueue = new InMemoryQueue(switchboardEventBus);
13
+ // Both reactors need to handle "gql" (for active polling) and "polling"
14
+ // (for touchChannel-created response channels) in bidirectional sync tests.
15
+ function createCompositeFactory(queue) {
16
+ const request = new GqlRequestChannelFactory(logger, undefined, queue);
17
+ const response = new GqlResponseChannelFactory(logger);
18
+ return {
19
+ instance(...args) {
20
+ const [remoteId, remoteName, config, cursorStorage] = args;
21
+ if (config.type === "polling") {
22
+ return response.instance(remoteId, remoteName, config, cursorStorage);
23
+ }
24
+ return request.instance(...args);
25
+ },
26
+ };
27
+ }
11
28
  const connectModule = await new ReactorBuilder()
12
29
  .withEventBus(connectEventBus)
30
+ .withQueue(connectQueue)
13
31
  .withDocumentModels([
14
32
  driveDocumentModelModule,
15
33
  ])
16
- .withSync(new SyncBuilder().withChannelFactory(new CompositeChannelFactory(logger)))
34
+ .withSync(new SyncBuilder().withChannelFactory(createCompositeFactory(connectQueue)))
17
35
  .buildModule();
18
36
  const switchboardModule = await new ReactorBuilder()
19
37
  .withEventBus(switchboardEventBus)
38
+ .withQueue(switchboardQueue)
20
39
  .withDocumentModels([
21
40
  driveDocumentModelModule,
22
41
  ])
23
- .withSync(new SyncBuilder().withChannelFactory(new CompositeChannelFactory(logger)))
42
+ .withSync(new SyncBuilder().withChannelFactory(createCompositeFactory(switchboardQueue)))
24
43
  .buildModule();
25
44
  const switchboardSyncManager = switchboardModule.syncModule.syncManager;
26
45
  syncManagerRegistry.set("switchboard", switchboardSyncManager);
@@ -45,7 +64,6 @@ async function setupSyncForDrive(connectSyncManager, driveId, resolverBridge) {
45
64
  parameters: {
46
65
  url: "http://switchboard/graphql",
47
66
  pollIntervalMs: 100,
48
- maxFailures: 10,
49
67
  retryBaseDelayMs: 50,
50
68
  fetchFn: resolverBridge,
51
69
  },
@@ -94,7 +112,6 @@ async function setupSyncForDriveOnSwitchboard(switchboardSyncManager, driveId, r
94
112
  parameters: {
95
113
  url: "http://connect/graphql",
96
114
  pollIntervalMs: 100,
97
- maxFailures: 10,
98
115
  retryBaseDelayMs: 50,
99
116
  fetchFn: resolverBridge,
100
117
  },
@@ -1 +1 @@
1
- {"version":3,"file":"connect-switchboard-sync.test.js","sourceRoot":"","sources":["../../test/connect-switchboard-sync.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect-switchboard-sync.test.js","sourceRoot":"","sources":["../../test/connect-switchboard-sync.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=push-backfill.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-backfill.test.d.ts","sourceRoot":"","sources":["../../test/push-backfill.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,295 @@
1
+ import { ConsoleLogger, driveCollectionId, EventBus, GqlRequestChannelFactory, GqlResponseChannelFactory, InMemoryQueue, JobStatus, ReactorBuilder, ReactorEventTypes, SyncBuilder, } from "@powerhousedao/reactor";
2
+ import { driveDocumentModelModule } from "document-drive";
3
+ import { afterEach, describe, expect, it } from "vitest";
4
+ import { createResolverBridge } from "./utils/gql-resolver-bridge.js";
5
+ /**
6
+ * Creates a resolver bridge that can be toggled between online, offline,
7
+ * and rejecting modes.
8
+ * - online: normal passthrough to the resolver bridge
9
+ * - offline: throws a network error (recoverable)
10
+ * - rejecting: returns HTTP 200 with GraphQL errors array (unrecoverable)
11
+ */
12
+ function createFailableResolverBridge(syncManagers) {
13
+ const innerBridge = createResolverBridge(syncManagers);
14
+ let mode = "online";
15
+ const bridge = async (input, init) => {
16
+ if (mode === "offline")
17
+ throw new Error("Network error: offline");
18
+ if (mode === "rejecting") {
19
+ return new Response(JSON.stringify({
20
+ errors: [{ message: "Validation failed: invalid operation" }],
21
+ }), { status: 200, headers: { "Content-Type": "application/json" } });
22
+ }
23
+ return innerBridge(input, init);
24
+ };
25
+ return {
26
+ bridge,
27
+ setOffline: (v) => {
28
+ mode = v ? "offline" : "online";
29
+ },
30
+ setMode: (m) => {
31
+ mode = m;
32
+ },
33
+ };
34
+ }
35
+ async function setupPushBackfill() {
36
+ const syncManagerRegistry = new Map();
37
+ const { bridge, setOffline, setMode } = createFailableResolverBridge(syncManagerRegistry);
38
+ const logger = new ConsoleLogger(["test"]);
39
+ const connectEventBus = new EventBus();
40
+ const switchboardEventBus = new EventBus();
41
+ const connectQueue = new InMemoryQueue(connectEventBus);
42
+ const switchboardQueue = new InMemoryQueue(switchboardEventBus);
43
+ function createCompositeFactory(queue) {
44
+ const request = new GqlRequestChannelFactory(logger, undefined, queue);
45
+ const response = new GqlResponseChannelFactory(logger);
46
+ return {
47
+ instance(...args) {
48
+ const [remoteId, remoteName, config, cursorStorage] = args;
49
+ if (config.type === "polling") {
50
+ return response.instance(remoteId, remoteName, config, cursorStorage);
51
+ }
52
+ return request.instance(...args);
53
+ },
54
+ };
55
+ }
56
+ const connectModule = await new ReactorBuilder()
57
+ .withEventBus(connectEventBus)
58
+ .withQueue(connectQueue)
59
+ .withDocumentModels([
60
+ driveDocumentModelModule,
61
+ ])
62
+ .withSync(new SyncBuilder().withChannelFactory(createCompositeFactory(connectQueue)))
63
+ .buildModule();
64
+ const switchboardModule = await new ReactorBuilder()
65
+ .withEventBus(switchboardEventBus)
66
+ .withQueue(switchboardQueue)
67
+ .withDocumentModels([
68
+ driveDocumentModelModule,
69
+ ])
70
+ .withSync(new SyncBuilder().withChannelFactory(createCompositeFactory(switchboardQueue)))
71
+ .buildModule();
72
+ const switchboardSyncManager = switchboardModule.syncModule.syncManager;
73
+ syncManagerRegistry.set("switchboard", switchboardSyncManager);
74
+ const connectSyncManager = connectModule.syncModule.syncManager;
75
+ syncManagerRegistry.set("connect", connectSyncManager);
76
+ return {
77
+ connectReactor: connectModule.reactor,
78
+ switchboardReactor: switchboardModule.reactor,
79
+ connectModule,
80
+ switchboardModule,
81
+ connectEventBus,
82
+ switchboardEventBus,
83
+ connectSyncManager,
84
+ switchboardSyncManager,
85
+ bridge,
86
+ setOffline,
87
+ setMode,
88
+ };
89
+ }
90
+ async function setupSyncForDrive(connectSyncManager, driveId, fetchFn) {
91
+ const collectionId = driveCollectionId("main", driveId);
92
+ await connectSyncManager.add(`switchboard-${driveId}`, collectionId, {
93
+ type: "gql",
94
+ parameters: {
95
+ url: "http://switchboard/graphql",
96
+ pollIntervalMs: 50,
97
+ retryBaseDelayMs: 10,
98
+ retryMaxDelayMs: 100,
99
+ fetchFn,
100
+ },
101
+ }, {
102
+ documentId: [],
103
+ scope: [],
104
+ branch: "main",
105
+ });
106
+ }
107
+ async function waitForJobCompletion(reactor, jobId, timeoutMs = 10000) {
108
+ const start = Date.now();
109
+ while (Date.now() - start < timeoutMs) {
110
+ const status = await reactor.getJobStatus(jobId);
111
+ if (status.status === JobStatus.READ_READY ||
112
+ status.status === JobStatus.FAILED) {
113
+ if (status.status === JobStatus.FAILED) {
114
+ throw new Error(`Job ${jobId} failed: ${status.error?.message ?? "unknown"}`);
115
+ }
116
+ return;
117
+ }
118
+ await new Promise((resolve) => setTimeout(resolve, 50));
119
+ }
120
+ throw new Error(`Timed out waiting for job ${jobId}`);
121
+ }
122
+ function waitForOperationsReady(eventBus, documentId, timeoutMs = 15000) {
123
+ return new Promise((resolve, reject) => {
124
+ let unsubscribe;
125
+ const timer = setTimeout(() => {
126
+ unsubscribe?.();
127
+ reject(new Error(`Timed out waiting for operations on document ${documentId}`));
128
+ }, timeoutMs);
129
+ unsubscribe = eventBus.subscribe(ReactorEventTypes.JOB_READ_READY, (_type, event) => {
130
+ const matchesDocument = event.operations.some((op) => op.context.documentId === documentId);
131
+ if (matchesDocument) {
132
+ clearTimeout(timer);
133
+ unsubscribe?.();
134
+ resolve();
135
+ }
136
+ });
137
+ });
138
+ }
139
+ function waitForSyncStabilization(eventBuses, quietPeriodMs = 500, timeoutMs = 15000) {
140
+ return new Promise((resolve, reject) => {
141
+ let lastActivityTime = Date.now();
142
+ const unsubscribes = [];
143
+ const timer = setTimeout(() => {
144
+ cleanup();
145
+ reject(new Error("Timed out waiting for sync stabilization"));
146
+ }, timeoutMs);
147
+ const checkQuiet = setInterval(() => {
148
+ if (Date.now() - lastActivityTime >= quietPeriodMs) {
149
+ cleanup();
150
+ resolve();
151
+ }
152
+ }, 50);
153
+ function cleanup() {
154
+ clearTimeout(timer);
155
+ clearInterval(checkQuiet);
156
+ for (const unsub of unsubscribes)
157
+ unsub();
158
+ }
159
+ for (const bus of eventBuses) {
160
+ const unsub = bus.subscribe(ReactorEventTypes.JOB_READ_READY, () => {
161
+ lastActivityTime = Date.now();
162
+ });
163
+ unsubscribes.push(unsub);
164
+ }
165
+ });
166
+ }
167
+ describe("Push Backfill After Offline Recovery", () => {
168
+ let connectReactor;
169
+ let switchboardReactor;
170
+ afterEach(() => {
171
+ connectReactor.kill();
172
+ switchboardReactor.kill();
173
+ });
174
+ it("should resend dead-lettered operations when channel recovers", async () => {
175
+ const setup = await setupPushBackfill();
176
+ connectReactor = setup.connectReactor;
177
+ switchboardReactor = setup.switchboardReactor;
178
+ const { connectModule, switchboardModule, connectEventBus, switchboardEventBus, connectSyncManager, bridge, setOffline, } = setup;
179
+ // Step 1: Create document on Connect, sync to Switchboard
180
+ const document = driveDocumentModelModule.utils.createDocument({
181
+ global: {
182
+ name: "Backfill Test",
183
+ icon: null,
184
+ nodes: [],
185
+ },
186
+ });
187
+ const documentId = document.header.id;
188
+ await setupSyncForDrive(connectSyncManager, documentId, bridge);
189
+ const createOnSwitchboard = waitForOperationsReady(switchboardEventBus, documentId);
190
+ const createJob = await connectReactor.create(document);
191
+ await waitForJobCompletion(connectReactor, createJob.id);
192
+ await createOnSwitchboard;
193
+ // Verify initial sync worked
194
+ const connectDocInitial = await connectReactor.get(documentId, {
195
+ branch: "main",
196
+ });
197
+ const switchboardDocInitial = await switchboardReactor.get(documentId, {
198
+ branch: "main",
199
+ });
200
+ expect(connectDocInitial.state).toEqual(switchboardDocInitial.state);
201
+ // Step 2: Go offline
202
+ setOffline(true);
203
+ // Step 3: Mutate while offline
204
+ const mutateJob = await connectReactor.execute(documentId, "main", [
205
+ driveDocumentModelModule.actions.setDriveName({
206
+ name: "Offline Change",
207
+ }),
208
+ ]);
209
+ await waitForJobCompletion(connectReactor, mutateJob.id);
210
+ // Step 4: Wait for BufferedMailbox flush (~500ms) and async push failure
211
+ // The push will fail because the bridge is offline, sending ops to deadLetter
212
+ await new Promise((resolve) => setTimeout(resolve, 1500));
213
+ // Verify the local state updated correctly
214
+ const connectDocAfterMutation = await connectReactor.get(documentId, {
215
+ branch: "main",
216
+ });
217
+ const connectState = connectDocAfterMutation.state;
218
+ expect(connectState.global.name).toBe("Offline Change");
219
+ // Step 5: Come back online
220
+ setOffline(false);
221
+ // Step 6: Wait for sync to stabilize
222
+ // With aggressive timers (pollIntervalMs: 50, retryBaseDelayMs: 10),
223
+ // if backfill worked, the dead-lettered ops would be retried quickly.
224
+ await waitForSyncStabilization([connectEventBus, switchboardEventBus], 1000, 10000);
225
+ // Step 7: Assert that Switchboard received the offline mutation
226
+ const connectOps = await connectReactor.getOperations(documentId, {
227
+ branch: "main",
228
+ });
229
+ const switchboardOps = await switchboardReactor.getOperations(documentId, {
230
+ branch: "main",
231
+ });
232
+ const connectOpsList = Object.values(connectOps).flatMap((scope) => scope.results);
233
+ const switchboardOpsList = Object.values(switchboardOps).flatMap((scope) => scope.results);
234
+ expect(switchboardOpsList.length).toBe(connectOpsList.length);
235
+ const connectDoc = await connectReactor.get(documentId, {
236
+ branch: "main",
237
+ });
238
+ const switchboardDoc = await switchboardReactor.get(documentId, {
239
+ branch: "main",
240
+ });
241
+ expect(switchboardDoc.state).toEqual(connectDoc.state);
242
+ }, 30000);
243
+ it("should send unrecoverable push errors to deadLetter", async () => {
244
+ const setup = await setupPushBackfill();
245
+ connectReactor = setup.connectReactor;
246
+ switchboardReactor = setup.switchboardReactor;
247
+ const { connectEventBus, switchboardEventBus, connectSyncManager, bridge, setMode, } = setup;
248
+ // Step 1: Create document on Connect, sync to Switchboard
249
+ const document = driveDocumentModelModule.utils.createDocument({
250
+ global: {
251
+ name: "Unrecoverable Test",
252
+ icon: null,
253
+ nodes: [],
254
+ },
255
+ });
256
+ const documentId = document.header.id;
257
+ await setupSyncForDrive(connectSyncManager, documentId, bridge);
258
+ const createOnSwitchboard = waitForOperationsReady(switchboardEventBus, documentId);
259
+ const createJob = await connectReactor.create(document);
260
+ await waitForJobCompletion(connectReactor, createJob.id);
261
+ await createOnSwitchboard;
262
+ // Verify initial sync worked
263
+ const connectDocInitial = await connectReactor.get(documentId, {
264
+ branch: "main",
265
+ });
266
+ const switchboardDocInitial = await switchboardReactor.get(documentId, {
267
+ branch: "main",
268
+ });
269
+ expect(connectDocInitial.state).toEqual(switchboardDocInitial.state);
270
+ // Wait for Connect's poll to receive ackOrdinal and trim the outbox
271
+ await waitForSyncStabilization([connectEventBus, switchboardEventBus], 500, 5000);
272
+ // Step 2: Switch bridge to "rejecting" mode (GraphQL errors)
273
+ setMode("rejecting");
274
+ // Step 3: Mutate on Connect
275
+ const mutateJob = await connectReactor.execute(documentId, "main", [
276
+ driveDocumentModelModule.actions.setDriveName({
277
+ name: "Rejected Change",
278
+ }),
279
+ ]);
280
+ await waitForJobCompletion(connectReactor, mutateJob.id);
281
+ // Step 4: Wait for BufferedMailbox flush and push failure propagation
282
+ await new Promise((resolve) => setTimeout(resolve, 2000));
283
+ // Step 5: Verify ops went to deadLetter (not retried)
284
+ const remote = connectSyncManager.getByName(`switchboard-${documentId}`);
285
+ const deadLetterItems = remote.channel.deadLetter.items;
286
+ expect(deadLetterItems.length).toBeGreaterThan(0);
287
+ // Switchboard should NOT have the rejected mutation
288
+ const switchboardDoc = await switchboardReactor.get(documentId, {
289
+ branch: "main",
290
+ });
291
+ const switchboardState = switchboardDoc.state;
292
+ expect(switchboardState.global.name).toBe("Unrecoverable Test");
293
+ }, 30000);
294
+ });
295
+ //# sourceMappingURL=push-backfill.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-backfill.test.js","sourceRoot":"","sources":["../../test/push-backfill.test.ts"],"names":[],"mappings":"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"}