From c026ad61a94d3661e57dedded10ddbba6ca5996e Mon Sep 17 00:00:00 2001 From: imccyu Date: Thu, 6 Aug 2026 00:00:40 +0800 Subject: [PATCH] fix(session): reconcile restore after rebase --- .../session-persistence/src/coordinator.ts | 7 +++++-- .../session-persistence/tests/persistence.spec.ts | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/session-persistence/session-persistence/src/coordinator.ts b/packages/session-persistence/session-persistence/src/coordinator.ts index 370f419f6c..ee6eeb6b8c 100644 --- a/packages/session-persistence/session-persistence/src/coordinator.ts +++ b/packages/session-persistence/session-persistence/src/coordinator.ts @@ -474,7 +474,10 @@ function adoptStoredEvents(events: SessionEvent[], id: SessionId): SessionEvent[ assertSupportedEvents(events, id) const messageIds = new Map() for (const [index, event] of events.entries()) { - const adopted = adoptSessionEvent(migrateLegacyMessageEvent(event, id, messageIds)) + const migratedStart = migrateLegacyTurnStartEvent(event, id) + const migratedTurn = migrateLegacyTurnEndEvent(migratedStart, id) + const migratedSteering = migrateLegacySteeringEvent(migratedTurn, id) + const adopted = adoptSessionEvent(migrateLegacyMessageEvent(migratedSteering, id, messageIds)) events[index] = adopted const messageId = eventMessageId(adopted) if (messageId !== undefined) messageIds.set(adopted.seq, messageId) @@ -731,7 +734,7 @@ export class PersistenceCoordinator { this.assertStoredId(id, suffix.meta) this.assertVersion(suffix.meta) if (suffix.events.some(needsLegacyPrefix)) { - const whole = await this.inspectCore(id, signal) + const whole = await this.readStoredPrefix(id, signal) return { meta: whole.meta, events: whole.events.filter(event => event.seq >= fromSeq) } } return { meta: structuredClone(suffix.meta), events: snapshotStoredEvents(suffix.events, id) } diff --git a/packages/session-persistence/session-persistence/tests/persistence.spec.ts b/packages/session-persistence/session-persistence/tests/persistence.spec.ts index 559682ca13..58b74df505 100644 --- a/packages/session-persistence/session-persistence/tests/persistence.spec.ts +++ b/packages/session-persistence/session-persistence/tests/persistence.spec.ts @@ -414,7 +414,7 @@ describe('PersistenceCoordinator session preparations', () => { type: 'turn/start', seq: 0, time: 1, - data: { turn: 1, trigger: { kind: 'message', source: { kind: 'user' } } }, + data: { turn: 1 }, }], }) let coordinator!: PersistenceCoordinator @@ -524,7 +524,7 @@ describe('PersistenceCoordinator session preparations', () => { type: 'turn/start', seq: oneTurnLog().length, time: 7, - data: { turn: 2, trigger: { kind: 'message', source: { kind: 'user' } } }, + data: { turn: 2 }, }])).rejects.toThrow(/persisted preparation is reserved/) } finally { preparation?.[Symbol.dispose]()