| ... | ... | @@ -7304,7 +7304,6 @@ it.layer(NodeServices.layer)("server router seam", (it) => { |
| 7304 | 7304 | projectionSnapshotQuery: { |
| 7305 | 7305 | getThreadDetailSnapshot: () => |
| 7306 | 7306 | Effect.gen(function* () { |
| 7307 | | yield* Effect.sleep("25 millis"); |
| 7308 | 7307 | yield* PubSub.publish(liveEvents, messageEvent); |
| 7309 | 7308 | return Option.some({ snapshotSequence: 1, thread }); |
| 7310 | 7309 | }), |
| ... | ... | @@ -7317,14 +7316,19 @@ it.layer(NodeServices.layer)("server router seam", (it) => { |
| 7317 | 7316 | withWsRpcClient(wsUrl, (client) => |
| 7318 | 7317 | client[ORCHESTRATION_WS_METHODS.subscribeThread]({ |
| 7319 | 7318 | threadId: defaultThreadId, |
| 7320 | | }).pipe(Stream.take(2), Stream.runCollect), |
| 7319 | requestCompletionMarker: true, |
| 7320 | }).pipe( |
| 7321 | Stream.takeUntil((item) => item.kind === "synchronized"), |
| 7322 | Stream.runCollect, |
| 7323 | ), |
| 7321 | 7324 | ), |
| 7322 | | ).pipe(Effect.timeout("2 seconds")); |
| 7325 | ); |
| 7323 | 7326 | |
| 7324 | 7327 | assert.equal(items[0]?.kind, "snapshot"); |
| 7325 | 7328 | assert.equal(items[1]?.kind, "event"); |
| 7326 | 7329 | assert.equal(items[1]?.kind === "event" ? items[1].event.sequence : null, 2); |
| 7327 | | }).pipe(Effect.provide(NodeHttpServer.layerTest), TestClock.withLive), |
| 7330 | assert.equal(items[2]?.kind, "synchronized"); |
| 7331 | }).pipe(Effect.provide(NodeHttpServer.layerTest)), |
| 7328 | 7332 | ); |
| 7329 | 7333 | |
| 7330 | 7334 | it.effect("coalesces buffered live tool updates to the latest state", () => |