fix(sync): finish paged history before advancing

This commit is contained in:
Mohamed Boudra
2026-07-17 11:12:46 +02:00
parent 02298d226c
commit ee1e90d9cc
6 changed files with 56 additions and 12 deletions
+5 -2
View File
@@ -4611,7 +4611,7 @@ export class Session {
"fetch_workspaces_response_ready",
);
const snapshot = this.buildBootstrapSnapshot(payload.entries);
this.seedWorkspaceSubscriptionSnapshot(subscriptionId, payload.entries);
this.seedWorkspaceSubscriptionSnapshot(subscriptionId, request.filter, payload.entries);
this.emit({
type: "fetch_workspaces_response",
@@ -4674,10 +4674,13 @@ export class Session {
private seedWorkspaceSubscriptionSnapshot(
subscriptionId: string | null,
filter: FetchWorkspacesRequestFilter | undefined,
entries: FetchWorkspacesResponseEntry[],
): void {
const subscription = this.workspaceUpdatesSubscription;
if (!subscriptionId || subscription?.subscriptionId !== subscriptionId) return;
if (!subscription) return;
if (subscriptionId && subscription.subscriptionId !== subscriptionId) return;
if (!subscriptionId && !equal(subscription.filter, filter)) return;
for (const entry of entries) {
subscription.lastEmittedByWorkspaceId.set(entry.id, {
kind: "upsert",