Skip to content

feat(cli)!: inspect a relay with moq ls and moq fetch - #4032

Draft
kixelated wants to merge 27 commits into
devfrom
quest/m1/cli-inspect/README
Draft

kixelated wants to merge 27 commits into
devfrom
quest/m1/cli-inspect/README

Conversation

@kixelated

@kixelated kixelated commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Targets dev: this line carries a published moq-net break (#4059: AnnounceConsumer::next returns announce::Event).

Problem

An operator inspecting a relay had to curl its HTTP /announced and /fetch, outside the session's own auth, and nothing showed how to watch the live set change or read the relay's stats.

Approach

Impact

  • Public API (moq-net, breaking): announce::Update becomes announce::Announce, announce::Kind is removed, and AnnounceConsumer::next, poll_next, try_next, and the Stream item return announce::Event. No moq-ffi, libmoq, or JS API change.
  • CLI: new ls verb; fetch reaches hidden broadcasts.
  • Wire: none.

Alternatives

  • Document only curl for stats and leave moq fetch unable to read them. Rejected: the fix is a scoped origin, the same one ls uses.

Follow-ups

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

kixelated and others added 26 commits September 24, 2026 10:30
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#4059)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Carry main's new announce consumers over to the `announce::Event` shape
(#4059): cluster, auth_lifetime, hidden_cluster, smoke, and announce_to_serve
tests, plus the hidden-broadcast docs. `moq fetch` (#3965) already landed on
main, so its quest leaves this line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…4127)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…s it (#4104)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Grok 4.7 <noreply@x.ai>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…count (#4142)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…4123)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…section (#4089)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Grok 4.7 <noreply@x.ai>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Grok 4.7 <noreply@x.ai>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: moq-bot[bot] <186640430+moq-bot[bot]@users.noreply.github.com>
…ks (#4137)

Co-authored-by: Brad Greenway <brad.greenway@surveillx.com>
…ing main

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The subscriber origin asked the relay for every announcement, which hides
dot-prefixed segments, so `moq fetch` never resolved `.stats/...` and timed
out while HTTP `/fetch` served it. Scope the session to the broadcast, as
`moq ls` scopes to its prefix.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title quest(cli-inspect): CLI inspection feat(cli)!: inspect a relay with moq ls and moq fetch Sep 25, 2026
…EADME

# Conflicts:
#	quest/m1/README.md
#	rs/moq-relay/src/connection.rs
@kixelated
kixelated changed the base branch from main to dev September 25, 2026 17:57

This branch has not been deployed

No deployments
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