diff --git a/apps/web/app.js b/apps/web/app.js index 45a3c64..3f2379d 100644 --- a/apps/web/app.js +++ b/apps/web/app.js @@ -4,10 +4,11 @@ // It is intentionally dependency-light: no framework, no bundler. const DEFAULT_RELAY_URL = "https://cdn.moq.dev/anon"; +const MOQ_WATCH_VERSION = "0.2.10"; const MOQ_WATCH_MODULE_URLS = [ - "https://esm.sh/@moq/watch@0.2.0/element", - "https://cdn.jsdelivr.net/npm/@moq/watch@0.2.0/element/+esm", - "https://unpkg.com/@moq/watch@0.2.0/element.js?module", + `https://esm.sh/@moq/watch@${MOQ_WATCH_VERSION}/element`, + `https://cdn.jsdelivr.net/npm/@moq/watch@${MOQ_WATCH_VERSION}/element/+esm`, + `https://unpkg.com/@moq/watch@${MOQ_WATCH_VERSION}/element.js?module`, ]; const HLS_MODULE_URLS = [ "https://esm.sh/hls.js@1.6.2", diff --git a/evolution/proposals/ECP-0116-hosted-web-current-moq-watch.md b/evolution/proposals/ECP-0116-hosted-web-current-moq-watch.md new file mode 100644 index 0000000..24140a6 --- /dev/null +++ b/evolution/proposals/ECP-0116-hosted-web-current-moq-watch.md @@ -0,0 +1,26 @@ +# ECP-0116: Hosted Web Uses Current MoQ Watch + +Status: Draft + +## Problem / context + +The hosted `every.channel` player was pinned to `@moq/watch@0.2.0`. After the web deploy, live playback subscribed and rendered video but still produced heavy upstream watcher churn (`skipping slow group`) on an announced relay stream. The current npm release is `@moq/watch@0.2.10`. + +## Decision + +Move the hosted web player import fallbacks from `@moq/watch@0.2.0` to `@moq/watch@0.2.10` and keep the module version centralized in `app.js`. + +## Consequences + +- Hosted playback receives upstream watcher fixes without changing local transport or publisher code. +- The version remains explicitly pinned and mirrored across esm.sh, jsDelivr, and unpkg fallbacks. +- If `0.2.10` regresses, rollback is a one-line version restore. + +## Alternatives considered + +- Keep `0.2.0`. Rejected because deployed playback still shows watcher churn with the older package. +- Use an unpinned latest import. Rejected because CDN drift would make playback behavior harder to reproduce. + +## Rollout / teardown + +Deploy the updated web asset to Cloudflare and verify the live site loads the `0.2.10` module URL. Teardown is restoring `MOQ_WATCH_VERSION` to `0.2.0`.