Skip to content

chore: update dependencies - #4

Merged
pzanella merged 2 commits into
mainfrom
chore/update-dependencies
Oct 1, 2026
Merged

pzanella merged 2 commits into
mainfrom
chore/update-dependencies

Conversation

@pzanella

@pzanella pzanella commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Updates dependencies to the newest versions that work without code changes, and fixes lost SGAI events.

  • moq-cli 0.9.5 -> 0.10.0
  • @moq/net 0.2.2 -> 0.3.5, @moq/msf 0.2.0 -> 0.2.2
  • ws 8.21.1 -> 8.22.0, zod 4.4.3 -> 4.6.5, pnpm 10.12.3 -> 10.34.6
  • GitHub Actions: checkout v7, setup-node v7, upload-artifact v7, download-artifact v8 (v4 runs on Node 20, which GitHub is retiring)
  • CI used moq-relay 0.14.3, the Containerfile 0.14.5. Both now use 0.14.5.

Fix: SGAI events sent at the same time could be lost (each event is its own group, and the older one can be skipped). smoke-test-sgai lost Placement Opportunity Start in every break. The publisher now sends all events through one queue with 50 ms between them.

Not updated:

  • moq-relay 0.14.18: still loses SGAI events sometimes, even with the fix.
  • moq-cli 0.11+: refuses the fMP4 that ffmpeg makes with frag_every_frame. Needs new ffmpeg flags.
  • @moq/net 0.4 / @moq/msf 0.3: new API, the sgai/ scripts need a rewrite.

Details are in CHANGELOG.md.

Tested locally: lint, .mjs syntax check, SCTE-35 check, all smoke tests. With the fix, smoke-test-sgai passed 8 of 8 runs and the SGAI Podman test 10 of 10.

pzanella and others added 2 commits October 1, 2026 12:16
- moq-cli 0.9.5 -> 0.10.0
- @moq/net 0.2.2 -> 0.3.5, @moq/msf 0.2.0 -> 0.2.2, ws 8.22.0, zod 4.6.5,
  pnpm 10.34.6
- GitHub Actions v4 -> v7/v8 (Node 20 runtime is being retired)
- CI now uses moq-relay 0.14.5, same as the Containerfile (was 0.14.3)

Newer moq-relay, moq-cli, @moq/net and @moq/msf versions need code changes
or make SGAI event loss worse; see CHANGELOG.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each event is its own single-frame group, and the older of two groups
written in the same tick can be skipped on the way to the subscriber.
The 50 ms gap only existed inside the Start and End pairs, so Ad End could
still follow Placement Opportunity Start with no gap (when the ANNOUNCE
wait lasts the whole break) and the blackout timer could fire together
with Ad End. smoke-test-sgai lost Placement Opportunity Start in every
break. Route every emit() through one queue with 50 ms between writes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@pzanella
pzanella merged commit 1df8a1d into main Oct 1, 2026
8 checks passed
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