diff --git a/packages/replay/src/eventBuffer/EventBufferProxy.ts b/packages/replay/src/eventBuffer/EventBufferProxy.ts index 0b5a6bdfed11..eb49b7229c58 100644 --- a/packages/replay/src/eventBuffer/EventBufferProxy.ts +++ b/packages/replay/src/eventBuffer/EventBufferProxy.ts @@ -99,13 +99,15 @@ export class EventBufferProxy implements EventBuffer { /** Switch the used buffer to the compression worker. */ private async _switchToCompressionWorker(): Promise { - const { events } = this._fallback; + const { events, hasCheckout } = this._fallback; const addEventPromises: Promise[] = []; for (const event of events) { addEventPromises.push(this._compression.addEvent(event)); } + this._compression.hasCheckout = hasCheckout; + // We switch over to the new buffer immediately - any further events will be added // after the previously buffered ones this._used = this._compression; diff --git a/packages/replay/src/util/addEvent.ts b/packages/replay/src/util/addEvent.ts index 6ffd5d03bacd..e9898ee9461c 100644 --- a/packages/replay/src/util/addEvent.ts +++ b/packages/replay/src/util/addEvent.ts @@ -52,6 +52,9 @@ export async function addEvent( try { if (isCheckout && replay.recordingMode === 'buffer') { replay.eventBuffer.clear(); + } + + if (isCheckout) { replay.eventBuffer.hasCheckout = true; }