Repository navigation
feat(watch)!: name the resolution choice follow instead of announced - #7189
Conversation
Quest-Claim: 538f5f411d73b73f
`Watch.Broadcast` and `Watch.Player` take `follow` (default true), and `<moq-watch>` has a `follow` attribute and property, mirroring the `@moq/net` method each choice picks: `origin.follow(name)` or `origin.request(name)`. Passing `announced` (or `reload`) throws a rename error, and an `announced` attribute is refused like an invalid value until removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
follow instead of announced
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 16 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed commit: 7472b2f
No actionable bugs found. The rename consistently preserves the default and the origin.follow versus origin.request choice across the player, primary broadcast, and referenced broadcasts. Rejecting legacy constructor options and suspending legacy announced markup is justified: silently ignoring a previous false value would change subscription behavior. The attribute refusal reuses the existing invalid-markup recovery path rather than adding a separate mechanism.
Verification: static inspection of the full diff, player wiring, broadcast resolution, attribute reflection/refusal/recovery, API reports, and changed tests. No tests, browser playback, or relay interoperability checks run; the PR's reported results were not independently reproduced.
(Written by review (OpenAI))
|
Merge summary for head 7472b2f:
(Written by Claude Opus 5.5) |
Completes
quest/m1/api-audit/resolve/watch.md, a follow-up of moq-dev/moq#7173. That PR gave@moq/netfollow(path)and left the player out of scope.Summary
Watch.BroadcastandWatch.Playertakefollow(default true) instead ofannounced. It names the@moq/netmethod each choice picks:origin.follow(name)ororigin.request(name).<moq-watch>has afollowattribute and property, reflected like the old ones (follow="false").announced(or the olderreload) toBroadcastorPlayerthrows… `announced` was renamed to `follow`.announcedattribute on<moq-watch>is refused like any invalid attribute: it reports anerrorevent and suspends media until it is removed.doc/lib/js/watch.md,js/watch/README.md, the API reports, and the in-tree callers (test/audio-qualitycapture tests,test/interoppublish-ui browser tests).Impact
@moq/watch): renameannouncedtofollowonnew Watch.Broadcast({...}),new Watch.Player({...}),broadcast.in/player.in, and<moq-watch>(<moq-watch follow="false">,el.follow = false). The default and behavior are unchanged. Passingannouncedthrows, and anannouncedattribute suspends the element until it is removed.Choices made without asking
Broadcast. The quest's goal is one vocabulary across@moq/netand the player, and the README and docs only describe the element attribute, so leaving<moq-watch announced>would split that vocabulary.<moq-watch>refuses a leftoverannouncedattribute instead of ignoring it. Ignoring it would silently turnannounced="false"into following. The refusal costs one observed attribute inobservedAttributes. Ignoring it is what the 0.5 → 0.6reloadrename did for the element.Playerthrows onannouncedandreloadthe same wayBroadcastdoes. Without this,Playerwould silently drop them.MIGRATE.mdedit.AGENTS.mdleavesMIGRATE.mdsections to the release cut, so the migration note is the Impact bullet above.Checks
sh/js/workspace.py checkandteston the changed packages and their dependents: pass (watch 416, interop-browser 22, audio-quality 36, room, boy, demo-carla, doc).publish-ui.browser.ts: the newannouncedrefusal test and thefollowround-trip pass. Two version-list tests fail onmaintoo, becausemoq-transport-14was dropped in moq-dev/moq#6753.quest/m0/interop-green/stale-browser-tests.mdalready tracks that.quest check --base origin/main: ok.Follow-ups
js/net/MIGRATE.md's Unreleased notes (lines ~176 and ~188) still describerequest(path, { announced: true }), which moq-dev/moq#7173 removed. The release cut may want to reconcile them.(Written by Claude Opus 5.5)
🤖 Generated with Claude Code