Skip to content

Commit 588634d

Browse files
committed
add events
refactor
1 parent 4dded10 commit 588634d

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

packages/rrweb/src/replay/index.ts

+6
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,12 @@ export class Replayer {
528528
}
529529

530530
public playSingleEvent(eventIndex: number) {
531+
const handleFinish = () => {
532+
this.service.send('END');
533+
this.emitter.off(ReplayerEvents.FlushEnd, handleFinish);
534+
};
535+
this.emitter.on(ReplayerEvents.FlushEnd, handleFinish);
536+
531537
if (this.service.state.matches('paused')) {
532538
this.service.send({
533539
type: 'PLAY_SINGLE_EVENT',

packages/rrweb/src/replay/machine.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ export function createPlayerService(
150150
actions: ['recordTimeOffset', 'play'],
151151
},
152152
PLAY_SINGLE_EVENT: {
153-
target: 'paused',
153+
target: 'playing',
154154
actions: ['playSingleEvent'],
155155
},
156156
CAST_EVENT: {
@@ -210,14 +210,13 @@ export function createPlayerService(
210210

211211
const { singleEvent } = event.payload;
212212

213-
const neededEvents2 = discardPriorSnapshotsToEvent(
213+
const neededEvents = discardPriorSnapshotsToEvent(
214214
ctx.events,
215215
singleEvent,
216216
);
217217

218-
applyEventsSynchronously(neededEvents2);
218+
applyEventsSynchronously(neededEvents);
219219
emitter.emit(ReplayerEvents.Flush);
220-
// emitter.emit(ReplayerEvents.Finish);
221220
},
222221

223222
play(ctx) {

0 commit comments

Comments
 (0)