Repository navigation
fix(player): refill every panel after stepping back one message - #81
Merged
Merged
Conversation
Stepping one message back while paused left image panels black with "Waiting for image data" until reload. stepMessage delivered the adjacent message (one topic) before announcing the new time; panels treat a time that moves backwards as a rewind and clear, so the frame that had just arrived was wiped and the other topics never received one. stepMessage now announces the new time first, as seek does, and then backfills every subscribed topic at that time. If the backfill fails the stepped message is still delivered.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
rosview | 8e105ec | Commit Preview URL Branch Preview URL |
Oct 17 2026, 02:31 PM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
When playback is paused, stepping back one message (← or the "Step backward one message" button) left image panels black with "Waiting for image data" until the page was reloaded. Usually only the panels whose topic was not the stepped one were affected.
IterablePlayer.stepMessagenow:seekalready does;Why
Image panels treat a time that moves backwards as a rewind: they reset their worker and clear the canvas, then wait for the next frame.
stepMessageused to deliver the stepped message first and announce the time afterwards, so the reset wiped the frame that had just arrived.Stepping forward was not affected, because the time only moves forward. The bug is easiest to notice after any later layout change, such as entering full screen, because the panels then stay empty.
Tests
IterablePlayer.test.ts: a newstepMessagetest with two image topics. A backward step must announce the new time first and then deliver a frame on both topics. It fails before this change.tests/step-back-images.spec.ts(Playwright,test_3cam.mcap): pause, step forward, then step back several times; no image panel may show "Waiting for image data". It fails before this change (3 of 3 panels empty) and passed 3 runs in a row after it.Checks run locally:
check:audit,check:i18n,lint,typecheck,test(739 passed),build,build:lib,test:e2e. In the e2e run, nine tests inbasic,deliveryandbvh-basictimed out on a heavily loaded machine; all of them passed on rerun.