fix: reconcile stale queued messages (#1063)

Recover missed messages-consumed events from authoritative Hub state after session SSE reconnects.
This commit is contained in:
Shawn Tian
2026-07-18 12:18:47 +08:00
committed by GitHub
parent 22e9b38f70
commit d809fca433
17 changed files with 704 additions and 10 deletions
+5 -1
View File
@@ -8,7 +8,7 @@
*/
import { isKnownFlavor, type LocalResumeTarget, type ResumableSession } from '@hapi/protocol'
import type { CursorChatStoreStatus, CursorMigrateOutcome, CursorMigrateToAcpRequest, SlashCommandsResponse } from '@hapi/protocol/apiTypes'
import type { CursorChatStoreStatus, CursorMigrateOutcome, CursorMigrateToAcpRequest, QueuedStateResponse, SlashCommandsResponse } from '@hapi/protocol/apiTypes'
import type { AgentFlavor, CodexCollaborationMode, DecryptedMessage, PermissionMode, Session, SyncEvent } from '@hapi/protocol/types'
import { unwrapRoleWrappedRecordEnvelope } from '@hapi/protocol/messages'
import type { Server } from 'socket.io'
@@ -333,6 +333,10 @@ export class SyncEngine {
return this.messageService.getMessagesPage(sessionId, options)
}
getQueuedState(sessionId: string, localIds: string[]): QueuedStateResponse {
return this.messageService.getQueuedState(sessionId, localIds)
}
getSessionExport(sessionId: string, session: Session): HapiSessionExportResult {
return this.messageService.getSessionExport(sessionId, session)
}