fix: drive media queue and checkpoints from socket events - #8580
Merged
Merged
Conversation
atomantic
force-pushed
the
claim/issue-8533
branch
from
September 26, 2026 01:23
7e35118 to
fcd984b
Compare
atomantic
force-pushed
the
claim/issue-8533
branch
from
September 26, 2026 01:31
fcd984b to
b9d8cfa
Compare
6 tasks
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.
The media queue and training checkpoint rows now refresh from server events instead of recurring 3-second and 5-second API reads. Queue mutations emit a bounded invalidation after persistence settles; training emits a run-scoped event after checkpoint/sample persistence. Checkpoint promotion and delayed preview writes also invalidate the affected run. Both events have declared socket contracts.
The views reuse useSocketResource for initial reads, single-flight invalidation, stale-response protection, reconnect recovery, tab-show recovery, and immediate local mutation updates.
Validation: 37 rendered client tests; 159 focused server tests; npm run pregate (353 guard tests and client lint). The component regression advances fake time past the old polling intervals, drives both events, checks run filtering, and verifies one read per reconnect/tab show.
CI also exposed an existing retention-input test race. The test now waits for the controlled clear-to-zero state before typing, preserving its saved-value assertion; all 13 tests in that suite pass. Focused checkpoint/socket validation passes 86 tests.
Refs #8533
Remaining
The other render lifecycles in #8533 remain: MusicGenPanel, useImageGenPageRuntime, useSpritePendingRenders, TrackWorkflow, WalkWorkflow, Media3D, Media3DDetail, ThreejsModelDetail, LoraDatasetDetail, CodeAnimation render jobs, and CharacterReferenceSheetPanel. This PR completes the MediaJobsQueue list and checkpoint rows only.