Skip to content

service: live-write push catalog without waiting for demand - #9

Open
BufferStarved wants to merge 1 commit into
openmoq:mainfrom
BufferStarved:feat/publish-tracks-live-catalog
Open

service: live-write push catalog without waiting for demand#9
BufferStarved wants to merge 1 commit into
openmoq:mainfrom
BufferStarved:feat/publish-tracks-live-catalog

Conversation

@BufferStarved

@BufferStarved BufferStarved commented Aug 20, 2026

Copy link
Copy Markdown

publish_tracks is supposed to write the initial catalog so a catalog-blind relay can cache it. That is not the same as installing the retained group (SUBSCRIBE + Joining FETCH still reads the origin cache).

The live write was gated on sender_track_demand. PUBLISH_OK often has Forward 0, so group 0 never left the origin.

Does not replay retained objects onto a plain SUBSCRIBE.

Verified: draft-18 moqx + playa CatalogBootstrap, headed CMAF painted.

Test

  • test_media_sender_push_cursor still sees generation 0
  • publish_tracks = false unchanged

This change is Reviewable

publish_tracks is supposed to put the initial catalog on the wire so a
catalog-blind relay can cache it. Retained-group install is the FETCH
path; gating the live write on sender_track_demand skipped it when
PUBLISH_OK arrived with Forward 0.

Co-authored-by: Cursor <cursoragent@cursor.com>
@rwl4

rwl4 commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Hey, can you provide the failing wire sequence that motivated this change? Specifically, did the subscriber issue a joining fetch, and did the relay move the upstream publication from forward 0 to forward 1? We can't assume the relay will retain the catalog because at the transport layer it is just another track.

BufferStarved added a commit to BufferStarved/MoQ-Test-Tools that referenced this pull request Aug 26, 2026
…ite catalogs.

openmoq/moq5#9 is still open, so the demand-gate removal stays a local patch. Leftover :4433 stays on 329b98b.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants