From 89b5bc276f04e3cca2ed5dc153b1113e629ca342 Mon Sep 17 00:00:00 2001 From: _Kerman Date: Fri, 21 Aug 2026 14:09:39 +0800 Subject: [PATCH] perf(session-projection): skip history reads for in-order events --- packages/session/session-projection/src/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/session/session-projection/src/index.ts b/packages/session/session-projection/src/index.ts index 6126e88810..6029947c68 100644 --- a/packages/session/session-projection/src/index.ts +++ b/packages/session/session-projection/src/index.ts @@ -529,8 +529,10 @@ export class SessionProjectionRegistry extends Service { registration.cells.set(session, cell) } if (cell.observedSeq >= event.seq) continue - for (const prior of session.events.slice(cell.observedSeq + 1, event.seq)) { - this.applyToCell(registration, session, cell, prior) + if (cell.observedSeq + 1 < event.seq) { + for (const prior of session.events.slice(cell.observedSeq + 1, event.seq)) { + this.applyToCell(registration, session, cell, prior) + } } this.applyToCell(registration, session, cell, event) }