Skip to content

Bump @moq/watch 0.6, @moq/publish 0.5, and @moq/boy 0.4 - #171

Merged
kixelated merged 3 commits into
mainfrom
quest/m0/moq-bump
Oct 9, 2026
Merged

kixelated merged 3 commits into
mainfrom
quest/m0/moq-bump

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Completes quest/m0/moq-bump.md.

Closes #166

Summary

Bumps @moq/watch 0.5.4 to 0.6.2, @moq/publish 0.4.7 to 0.5.2, and @moq/boy 0.3.1 to 0.4.1 together. The lockfile now resolves a single @moq/net 0.4.2, which decodes a draft-18 SUBSCRIBE_OK's LARGEST_OBJECT (moq-dev/moq#3561).

API changes that reached our call sites, all on <moq-watch>:

  • reload was renamed announced, which defaults to true. Dropped from src/components/watch.tsx and sites/watch/src/main.ts.
  • latency became delay. moq.dev's /watch keeps its 100 ms pin as prop:delay. The old latency setter now throws at runtime, and tsc can't catch it because the setter takes unknown.

<moq-publish> (url, name, source), <moq-boy> (url, prefix-*), and the support elements (show) are unchanged.

The quest file is deleted and removed from the Required lists of quest/m0/README.md, deploy-live.md (section now empty, so removed), and dogfood-assets.md.

Verification

  • just fix, just check (Biome, tsc, quest check), and just build staging all pass. Nothing was deployed.
  • The dev servers ran in --mode staging (relay cdn.moq.wtf, API api.moq.wtf), with headless Playwright Chromium and a fake camera:
    • moq.pub: a bare /?source=camera mints a try broadcast. moq.watch at the same path mints its own subscribe token and plays: status live, 1280x720, about 20 fps decoded for 15 s. Screenshots show watch about 100 ms behind the publish preview.
    • moq.watch /demo/bbb.hang plays.
    • moq.dev /publish to /watch?project=try&name=... plays, with delay 100, muted, and announced applied.
    • moq.dev /boy discovers and renders all four games.
  • Not verified: playback from a draft-18 relay. draft-18.cloudflare.mediaoverquic.com negotiates moqt-18, then drops the session right after SUBSCRIBE_NAMESPACE. draft-16 and relay.cloudflare do the same. The deployed moq.watch build (@moq/net 0.3.x) also gets dropped by these relays under a made-up project, though it reaches SUBSCRIBE first. Without a valid Cloudflare relay token I can't tell an auth rejection from an interop bug. The moq.watch cannot play from draft-18 relays: the deployed build predates moq-dev/moq#3561 (LARGEST_OBJECT) #166 reporter confirmed that @moq/watch 0.6.2 decodes their draft-18 relay's SUBSCRIBE_OK.

Suggested follow-ups

  • Cloudflare relay interop on @moq/net 0.4: retest ?cloudflare=draft-18 with a valid relay token. If 0.4 still drops after SUBSCRIBE_NAMESPACE, fix it upstream in moq-dev/moq.
  • Cross-origin isolation: every watch page now warns that SharedArrayBuffer is unavailable and falls back to a higher-latency audio path. Serving COOP/COEP would fix this, but require-corp affects embeds and third-party assets, so it needs a decision. It could pair with the dogfood-assets quest.
  • Vite tsconfig warning: just dev-pub and just dev-watch print Cannot find base config file "astro/tsconfigs/strict". This PR doesn't touch any config or the Astro version, so the warning isn't from this change.

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

kixelated and others added 3 commits October 9, 2026 14:43
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
All three now share @moq/net 0.4.2, which decodes a draft-18 SUBSCRIBE_OK's
LARGEST_OBJECT (moq-dev/moq#3561).

<moq-watch> renamed reload to announced (default true, so dropped) and
replaced latency with delay. The latency setter now throws, which tsc can't
see because it takes unknown.

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

Copy link
Copy Markdown
Collaborator Author

Quest outcome: implemented and verified on the staging relay. Left as a draft because a background agent ran it.

Open decisions for the maintainer:

  1. Keep moq.dev's /watch pinned at delay 100 ms (this PR keeps the old behavior), or drop the pin and use the new auto default. Recommendation: keep it, and revisit only if auto measures better against relay jitter.
  2. Accept that draft-18 playback is unverified here. Cloudflare's draft-18 relay drops the session after SUBSCRIBE_NAMESPACE under a made-up project, and the moq.watch cannot play from draft-18 relays: the deployed build predates moq-dev/moq#3561 (LARGEST_OBJECT) #166 reporter already confirmed 0.6.2 against their own draft-18 relay. Recommendation: merge, and retest Cloudflare with a valid token as a follow-up.

Suggested follow-up quests: Cloudflare interop on @moq/net 0.4, COOP/COEP for the SharedArrayBuffer audio path, and the Vite tsconfig warning.

(Written by Claude Opus 5.5)

@kixelated
kixelated marked this pull request as ready for review October 9, 2026 21:55
@coderabbitai

coderabbitai Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 411ec3f9-e381-4246-bbea-fe10017a56c9

📥 Commits

Reviewing files that changed from the base of the PR and between 580df5c and 27b90fa.


⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock

📒 Files selected for processing (7)
  • package.json
  • quest/m0/README.md
  • quest/m0/deploy-live.md
  • quest/m0/dogfood-assets.md
  • quest/m0/moq-bump.md
  • sites/watch/src/main.ts
  • src/components/watch.tsx

💤 Files with no reviewable changes (3)
  • quest/m0/dogfood-assets.md
  • quest/m0/moq-bump.md
  • sites/watch/src/main.ts

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.



Walkthrough

The @moq/boy, @moq/publish, and @moq/watch dependency ranges changed. The watch elements no longer receive reload; the watch component uses delay instead of latency for its 100 ms setting. The deployment documents combine the package bump and try integration into one live deploy and remove the separate bump plan.

Priority: ➖ Normal

Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to 27b90

Both watch call sites preserve announcement-gated playback with the new package default, and the 100 ms delay explanation matches its documented behavior. No concrete issue remains that should block merging.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (3 skipped: 3 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check Passed The title clearly and concisely identifies the primary change: updating the @moq/watch, @moq/publish, and @moq/boy package versions.
Description check Passed The description directly explains the dependency updates, related API changes, quest updates, and verification results.
Linked Issues check Passed Issue #166 is closed and supplies historical context only. No active directly linked issue supplies coding requirements. The PR summary reports the package updates and call-site changes that address t…
Out of Scope Changes check Passed The reported changes stay within the PR scope. They update the three @moq packages, adapt the documented @moq-watch API changes, update related quest requirements, and remove the completed quest file.…

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (3 skipped: 3 unsupported.)



  • Fix all pre-merge checks with AI
✨ Finishing Touches
✨ Simplify code
  • Commit to this branch
  • Create a new PR


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Merge summary.

Changes: bumps @moq/watch 0.5.4 to 0.6.2, @moq/publish 0.4.7 to 0.5.2, and @moq/boy 0.3.1 to 0.4.1, resolving a single @moq/net 0.4.2 that decodes draft-18 SUBSCRIBE_OK (#166). On <moq-watch>, reload is dropped (now announced, default true) and latency becomes delay. Deletes quest/m0/moq-bump.md and its references.

Review: CodeRabbit reviewed with no actionable comments. CI (check, toolchain) passes and the branch is current with main.

Decisions confirmed by the maintainer:

  1. moq.dev's /watch keeps its fixed 100 ms delay, carried over from latency. It does not switch to auto.
  2. Merge without draft-18 playback verified against Cloudflare: it works and the smoke tests cover it. The moq.watch cannot play from draft-18 relays: the deployed build predates moq-dev/moq#3561 (LARGEST_OBJECT) #166 reporter already confirmed 0.6.2 against their own draft-18 relay.
  3. Of the suggested follow-ups, only the Vite tsconfig warning (Cannot find base config file "astro/tsconfigs/strict" in just dev-pub / just dev-watch) is being planned, separately. Cloudflare relay interop and COOP/COEP are declined.

Squash auto-merge is enabled on head 27b90fa741344a68784a5a57cd1790d6fe5129e1. Nothing was deployed.

(Written by Claude Opus 5.5)

@kixelated
kixelated merged commit 4945809 into main Oct 9, 2026
2 checks passed
@kixelated
kixelated deleted the quest/m0/moq-bump branch October 9, 2026 22:06
@kixelated

Copy link
Copy Markdown
Collaborator Author

Follow-up update: the Vite tsconfig warning was dropped, so no quest. esbuild reads the main checkout's tsconfig.json from inside nested agent worktrees, and the main checkout has no node_modules, so its extends lookup fails. The warning is harmless and doesn't appear in the main checkout.

(Written by Claude Opus 5.5)

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.

moq.watch cannot play from draft-18 relays: the deployed build predates moq-dev/moq#3561 (LARGEST_OBJECT)

1 participant