Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
d0d03ba
chore: release (#1756)
moq-bot[bot] Jun 17, 2026
759c943
ci: run Check on the self-hosted A1 runner (trusted events only) (#1775)
kixelated Jun 18, 2026
8ae7302
ci: add 60m timeout to the Check job (#1777)
kixelated Jun 18, 2026
36c9625
feat(watch): latency range with buffered playback (#1620)
kixelated Jun 18, 2026
eb67c18
fix(libmoq): use .cast() for c_char pointer to fix arm64 clippy (#1782)
kixelated Jun 18, 2026
312a93c
fix(hang): omit empty HEVC constraint component in codec string (#1781)
quidamschwarz Jun 18, 2026
4209d7a
Route moq-boy status and command tracks through moq-json (#1778)
kixelated Jun 18, 2026
9d14892
fix(net): cap random origin id at 53 bits in JS client (#1785)
kixelated Jun 18, 2026
cdc07e0
feat(relay): add --cluster-id to set a fixed origin id (#1786)
kixelated Jun 18, 2026
855faa6
feat(relay): close sessions when the token/cert expires (#1789)
kixelated Jun 19, 2026
ff6d554
js: add Opus dtx for voice WIP (#1583)
nuts-rice Jun 19, 2026
2caa732
fix(moq-native): keep has_peer_certificate as deprecated, release 0.1…
kixelated Jun 19, 2026
ea94b7b
fix(libmoq): declare the full Windows system-lib set for C consumers …
kixelated Jun 19, 2026
9862540
chore: release (#1774)
moq-bot[bot] Jun 19, 2026
230e34d
ci: move Nix workflows to the self-hosted ARM runner + warm cache for…
kixelated Jun 19, 2026
6ce3708
fix(moq-native): back off when a session flaps instead of busy-loopin…
kixelated Jun 19, 2026
9cf11cc
ci: crane-based Rust checks (clippy/doc/test) via nix flake check (#1…
kixelated Jun 19, 2026
678a250
moq-gst: fix plugin license + broadcast-aligned timestamps (#1808)
kixelated Jun 19, 2026
e8d98db
fix(moq-gst): deterministic moqsrc pad names so CMAF playback works (…
kixelated Jun 19, 2026
2e63191
fix(moq-mux): carry all distinct SPS/PPS/VPS through transmux, not ju…
kixelated Jun 19, 2026
946ac73
docs: fix stale CLI sample commands across doc/ (#1811)
kixelated Jun 19, 2026
9f005fa
ci(check): cancel in-flight run when the PR is closed/merged
kixelated Jun 19, 2026
3449f21
feat(relay): unauthenticated internal listener over qmux (tcp:// + un…
kixelated Jun 20, 2026
b60d2f0
feat(moq-net): raise max frame size to 32 MiB to match the group cach…
kixelated Jun 20, 2026
52fe9ad
prototype: Rust CI checks via cargo (sccache) instead of crane (#1821)
kixelated Jun 20, 2026
c602cd3
feat(moq-mux): generic verbatim MPEG-TS carriage (mpegts catalog sect…
kixelated Jun 20, 2026
4ac4199
build(deps): bump quiche from 0.29.1 to 0.29.2 (#1817)
dependabot[bot] Jun 20, 2026
8ac7469
build(deps): bump the bun group across 1 directory with 8 updates (#1…
dependabot[bot] Jun 20, 2026
ac22434
feat(demo/web): multi-broadcast watch inspector, stats dashboard, and…
kixelated Jun 20, 2026
4c3ac0b
build(deps): bump boytacean to 0.12.1 (hold reqwest-middleware at 0.4…
dependabot[bot] Jun 20, 2026
dbb41d8
feat(moq-cli): wire verbatim MPEG-TS carriage through publish/subscri…
kixelated Jun 21, 2026
b10deb4
Merge main into dev
claude Jun 21, 2026
c7410f3
feat(publish): expose the underlying broadcast as `Broadcast.net`
claude Jun 21, 2026
3fe1f9f
fix(demo/web): memoize metadata track name to avoid re-subscribing pe…
claude Jun 21, 2026
5a1d17c
Merge origin/dev into branch (resolve conflicts with main-merge work)
claude Jun 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ updates:
cargo:
patterns:
- "*"
ignore:
# reqwest-middleware 0.5 requires reqwest 0.13, but http-cache-reqwest's
# latest stable (0.16) still pins reqwest 0.12 / reqwest-middleware 0.4.
# The only pairing is http-cache-reqwest 1.0.0-alpha (pre-release), so we
# hold reqwest-middleware at 0.4 until that line ships stable.
- dependency-name: "reqwest-middleware"
versions: [">=0.5"]

- package-ecosystem: "bun"
directory: "/"
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,22 @@ permissions:

on:
pull_request:
# `closed` is here only so merging/closing a PR cancels its in-flight run
# via the concurrency group below; the job itself is skipped on close.
types: [opened, synchronize, reopened, closed]

# Cancel in-flight runs when a new commit lands on the same PR.
# Cancel in-flight runs when a new commit lands on the same PR, or when the PR
# is merged/closed (the close event shares this group and supersedes the build).
concurrency:
group: check-${{ github.ref }}
cancel-in-progress: true

jobs:
check:
name: Check
# Skip the actual work on close/merge: this run exists only to cancel the
# superseded in-flight build via the concurrency group above.
if: github.event.action != 'closed'
# Trusted events run on the moq-dev self-hosted A1 runner (warm /nix/store +
# persistent CARGO_TARGET_DIR). Fork PRs fall back to GitHub-hosted ARM so
# untrusted code never runs on the box.
Expand Down
3 changes: 3 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,11 +215,14 @@ Changes in one area usually need matching updates elsewhere, including docs. If
| `rs/moq-token` | `js/token` |
| `rs/moq-relay` config/behavior | `doc/bin/relay/` |
| `rs/moq-cli` | `doc/bin/cli.md` |
| `rs/moq-token-cli` | `doc/bin/relay/auth.md`, `doc/lib/rs/crate/moq-token.md`, `doc/lib/rs/index.md` |
| `rs/moq-gst` | `doc/bin/gstreamer.md` |
| `js/{watch,publish}` UI/API | `demo/web` if it consumes the API |

For `swift/`, the wrapper re-exports `moq-ffi` records/enums via typealias, so new catalog/audio *fields* flow through automatically. Only a new FFI *method* (or a renamed/removed one) needs a matching change in the de-prefixed `Sources/Moq` wrapper.

**When a command-line tool's interface changes (a flag, argument, subcommand, or positional renamed/added/removed/reordered), update every doc that shows an example invocation, not just the tool's primary page.** Sample commands for `moq-cli`, `moq-relay`, and `moq-token-cli` are scattered across `doc/bin/`, `doc/lib/`, `doc/setup/`, and `doc/concept/`, plus the `justfile`s under `demo/`. Grep the whole repo for the binary name and reconcile each hit against the binary's `--help`. A stale example that no longer parses is worse than no example.

## Branch Targeting

Two long-lived branches:
Expand Down
23 changes: 12 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ moq-token = { version = "0.6", path = "rs/moq-token" }
# Standalone crate (moq-dev/vaapi); vendored from cros-libva + cros-codecs.
moq-vaapi = "0.0.2"
moq-video = { version = "0.0.4", path = "rs/moq-video" }
qmux = { version = "0.1.3", default-features = false }
qmux = { version = "0.2", default-features = false }
serde = { version = "1", features = ["derive"] }
tokio = "1.48"
web-async = { version = "0.1.4", features = ["tracing"] }
Expand Down
Loading