Skip to content

Commit

Permalink
Fix action missing bug when playback speed is set to live
Browse files Browse the repository at this point in the history
  • Loading branch information
xerebz authored and Alain Leon committed Sep 5, 2024
1 parent 61c09e1 commit 4a73935
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions packages/redux-devtools-slider-monitor/src/SliderMonitor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -198,12 +198,6 @@ class SliderMonitor<S, A extends Action<string>> extends (PureComponent ||
const aLoop = () => {
const replayDiff = Date.now() - currentTimestamp;
if (replayDiff >= timestampDiff) {
this.props.dispatch(
jumpToAction(
this.props.stagedActionIds[this.props.currentStateIndex + 1],
),
);

if (
this.props.currentStateIndex >=
this.props.computedStates.length - 1
Expand All @@ -212,14 +206,23 @@ class SliderMonitor<S, A extends Action<string>> extends (PureComponent ||
return;
}

timestampDiff = this.getLatestTimestampDiff(
this.props.currentStateIndex,
);
currentTimestamp = Date.now();
// Update to check for nextActionId and dispatch it
const nextActionId =
this.props.stagedActionIds[this.props.currentStateIndex + 1];
if (nextActionId !== undefined) {
this.props.dispatch(jumpToAction(nextActionId));

this.setState({
timer: requestAnimationFrame(aLoop),
});
timestampDiff = this.getLatestTimestampDiff(
this.props.currentStateIndex,
);
currentTimestamp = Date.now();

this.setState({
timer: requestAnimationFrame(aLoop),
});
} else {
this.pauseReplay();
}
} else {
this.setState({
timer: requestAnimationFrame(aLoop),
Expand Down

0 comments on commit 4a73935

Please sign in to comment.