Skip to content

chore(quest): delete the announce live marker, follow-only moq announced - #4511

Merged
kixelated merged 3 commits into
devfrom
claude/announce-live-removal-dev
Sep 29, 2026
Merged

kixelated merged 3 commits into
devfrom
claude/announce-live-removal-dev

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Replaces the live-marker work with a deletion. Changes to the quest tree:

  • Adds quest/m1/cli-announced.md [M]: moq ls becomes a follow-only moq announced with a live view. Remote path completion is dropped.
  • Adds quest/m1/announce-live-removal.md [L]: deletes the announce Live marker and its hold/replay machinery from Rust, JS, ffi, and bindings. Requires the CLI quest first.
  • Deletes announce-live-apps.md, announce-page-load.md, announce-empty-state.md, and js-active-count.md, whose only purpose was the marker.

Supersedes #4369.

The marker only exists on dev (#4059, #4261, #4266), so deleting it breaks nothing published. Wire: none. Lite's Active Count and the IETF Active Count extension stay on the wire, unused.

Decisions (maintainer, 2026-09-29)

What does live fix? It answers "has the initial list arrived?" Only moq ls (one-shot) and shell completion read it. Room, watch, and the demo skip it.

Where should "caught up" live?

  • On the origin: rejected. It aggregates many sessions, which is where the page-load race, the special first connection, and the offline questions came from.
  • On a connection signal: rejected. It races the stream.
  • ✅ Nowhere for apps.

Given only one-shot listing needs it, what happens to live?

  • Session-only, for listing
  • ✅ Delete entirely
  • Keep on origin

Quiet-period guess on lite-03/04 and IETF?

  • ✅ No marker on old wires
  • Keep the quiet guess

Single-connection listing (session.live(prefix) -> Vec)?

  • ✅ Drop it. moq ls --follow becomes the only mode, renamed moq announced, with a live UI. One-shot listing waits for a customer.

Empty-state UI (announce-empty-state.md)?

  • Drive from connection status
  • ✅ Drop the quest

Shell completion of remote broadcast paths?

  • ✅ Drop remote completion
  • Fixed time budget

Live UI for moq announced?

  • ✅ In-place view on a TTY, +/- lines when piped
  • Event lines only

The old moq ls name?

  • ✅ Rename, no alias
  • Hidden alias

Split?

  • ✅ CLI first, then deletion (both on dev: moq ls only exists there)
  • One quest

Wire Active Count?

  • ✅ Keep it, unused
  • Drop it in lite-07

js-active-count.md (JS speaks the IETF Active Count extension)?

  • ✅ Delete the JS quest
  • Keep it

#4369?

  • Rewrite it in place
  • ✅ Close it and start fresh (this PR)

Superseded earlier the same day: the Live/Offline toggle, hold-and-reconcile, and the JS queue rewrite now.

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-29T16:37:44.297705Z d944d93 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kixelated

Copy link
Copy Markdown
Collaborator Author

MERGE

Positive improvement? Yes. This turns a patch-the-marker quest tree into a delete-the-marker plan, which matches how the marker is actually used. Only one-shot moq ls and remote shell completion need "initial list arrived," and apps skip live. Keeping an origin-level caught-up signal across reconnecting sessions was the source of the page-load race and the hold/replay machinery. Dropping that surface instead of adding more holds is the right call on dev, where the marker still isn't published.

Worth the complexity? The PR itself is cheap (quest docs only). The planned work is large, but the split is sane: rename/follow-only CLI first so nothing in moq-cli still reads Live, then delete the marker and its hold/replay/quiet-period code across Rust, JS, ffi, and bindings. Keeping wire Active Count unused is a good hedge for a future real listing API. Deleting the marker-only quests (announce-live-apps, announce-page-load, announce-empty-state, js-active-count) keeps the tree honest.

Different approach? A session-scoped session.live() -> Vec would preserve one-shot listing without origin aggregation. Reasonable later if a customer asks; not worth keeping the broken origin marker for. Rewriting #4369 in place would also work, but a fresh PR with the decision log is clearer after the Live/Offline and hold-and-reconcile pivots the same day.

Ship the quest direction. Implementation should stay ruthless about deleting marker-only machinery rather than stubbing it, and update every moq ls doc hit when the CLI quest lands.

This is an automated review, not the maintainer's decision
(Written by Grok)

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 797235afd3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/cli-announced.md Outdated
Comment thread quest/m1/announce-live-removal.md
…xample

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

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 756e57bf47

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread quest/m1/cli-announced.md Outdated
…t paths

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated

Copy link
Copy Markdown
Collaborator Author

Merging on the maintainer's go-ahead. Changes since the first review, all quest text:

  • cli-announced.md: dropped the moq-cli version bump (releases are cut separately).
  • ffi-shape/net.md: the <Enum><Variant> example uses AnnounceEventEnd instead of the deleted AnnounceEventLive.
  • cli-announced.md: completion drops only the BROADCAST completer. Capture-device and catalog-rendition completers don't read Live and stay, matching the Goal's "shell completion of remote broadcast paths".

All three Codex threads are fixed and resolved; Codex gave a thumbs up on d944d93.

(Written by Claude Opus 5.5)

@kixelated
kixelated merged commit 0d4ce34 into dev Sep 29, 2026
3 checks passed
@kixelated
kixelated deleted the claude/announce-live-removal-dev branch September 29, 2026 16:38
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.

1 participant