Add duplicate publisher determinism proof
Some checks failed
deploy-cloudflare / checks (push) Failing after 3s
ci-gates / checks (push) Failing after 5s
deploy-cloudflare / deploy (push) Has been skipped

This commit is contained in:
every.channel 2026-06-10 03:28:55 -07:00
parent 5d0f3077d3
commit 91dad67fc2
No known key found for this signature in database
18 changed files with 21569 additions and 595 deletions

291
Cargo.lock generated
View file

@ -1038,15 +1038,6 @@ dependencies = [
"alloc-stdlib",
]
[[package]]
name = "buf-list"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6b175f9cf8fffedd4c4b18bcfef092356e952b81f596e148f18e98280994593"
dependencies = [
"bytes",
]
[[package]]
name = "bumpalo"
version = "3.19.1"
@ -1375,6 +1366,15 @@ dependencies = [
"crossbeam-utils",
]
[[package]]
name = "conducer"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d2cb64e61144d6960a830d3e6f2ba3a61d5c0ca689e87e11dc9effb96dcfff5"
dependencies = [
"smallvec",
]
[[package]]
name = "const-hex"
version = "1.18.1"
@ -2251,9 +2251,12 @@ dependencies = [
"hex",
"iroh",
"just-webrtc",
"moq-lite 0.14.0",
"moq-lite 0.16.0",
"moq-mux",
"moq-native",
"opentelemetry",
"opentelemetry-otlp",
"opentelemetry_sdk",
"quinn",
"reqwest",
"rustls",
@ -2261,9 +2264,10 @@ dependencies = [
"serde",
"serde_json",
"tokio",
"tokio-tungstenite",
"tokio-tungstenite 0.24.0",
"tokio-util",
"tracing",
"tracing-opentelemetry",
"tracing-subscriber",
"url",
"urlencoding",
@ -3264,24 +3268,20 @@ checksum = "253b313319f7109de64e480ffb606f89475cd758bae82e096e00c5d95341d30e"
[[package]]
name = "hang"
version = "0.14.0"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f548f7cdc8ec3b9eae085f7b61ff9603d6dc9f09192c5f4b0db4c02577786070"
checksum = "59435f843c8a41ac499ce68828d16c575438e34ffa85b1ea46ba2529bb2a5b16"
dependencies = [
"buf-list",
"bytes",
"derive_more 2.1.1",
"futures",
"hex",
"lazy_static",
"moq-lite 0.14.0",
"moq-lite 0.16.0",
"regex",
"serde",
"serde_json",
"serde_with",
"thiserror 2.0.18",
"tokio",
"tracing",
"url",
]
@ -4494,9 +4494,9 @@ checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"
[[package]]
name = "m3u8-rs"
version = "5.0.5"
version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c1d7ba86f7ea62f17f4310c55e93244619ddc7dadfc7e565de1967e4e41e6e7"
checksum = "f03cd3335fb5f2447755d45cda9c70f76013626a9db44374973791b0926a86c3"
dependencies = [
"chrono",
"nom",
@ -4707,14 +4707,13 @@ dependencies = [
[[package]]
name = "moq-lite"
version = "0.14.0"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8a4c4e66081bc21067488da13f4131540b38b1cb79fb5176ef4ddacd104786b"
checksum = "15b02845fa5cef29b516e0ed60dc95f5904502bf001a8a2790d543fae6571a94"
dependencies = [
"async-channel",
"bytes",
"conducer",
"futures",
"hex",
"num_enum",
"rand 0.9.2",
"serde",
@ -4726,24 +4725,38 @@ dependencies = [
]
[[package]]
name = "moq-mux"
version = "0.2.1"
name = "moq-msf"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73e2570aa39feef3aa00fa0990862dcdfb44937d3eb9c448c3a4eb1fb8ff43d3"
checksum = "2d61b0d5ce8285c75ed59343934aae278c4c49b1dedf41f1356939b40fab4d29"
dependencies = [
"serde",
"serde_json",
"serde_with",
]
[[package]]
name = "moq-mux"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fd5f397f0d147ca8920434a74f092e0846ce23bb1cb5411253123913a3e7576"
dependencies = [
"anyhow",
"buf-list",
"base64 0.22.1",
"bytes",
"conducer",
"derive_more 2.1.1",
"h264-parser",
"hang",
"m3u8-rs",
"moq-lite 0.14.0",
"moq-lite 0.16.0",
"moq-msf",
"mp4-atom",
"num_enum",
"reqwest",
"scuffle-av1",
"scuffle-h265",
"thiserror 2.0.18",
"tokio",
"tracing",
"url",
@ -4751,9 +4764,9 @@ dependencies = [
[[package]]
name = "moq-native"
version = "0.13.1"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9848c21bf5db3f8ff5e5a7d89bf2c567f0eb526390c26d5f66f3fec99a6751a5"
checksum = "6942bac34d380bbab511e10069bc0f9615f20109807dab01b52d45e0812dc571"
dependencies = [
"anyhow",
"clap",
@ -4761,8 +4774,9 @@ dependencies = [
"hex",
"humantime",
"humantime-serde",
"moq-lite 0.14.0",
"moq-lite 0.16.0",
"parking_lot",
"qmux",
"quinn",
"rand 0.9.2",
"rcgen 0.14.7",
@ -4779,7 +4793,6 @@ dependencies = [
"tracing-subscriber",
"url",
"web-transport-quinn",
"web-transport-ws",
]
[[package]]
@ -5519,6 +5532,78 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
[[package]]
name = "opentelemetry"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0"
dependencies = [
"futures-core",
"futures-sink",
"js-sys",
"pin-project-lite",
"thiserror 2.0.18",
"tracing",
]
[[package]]
name = "opentelemetry-http"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d"
dependencies = [
"async-trait",
"bytes",
"http",
"opentelemetry",
"reqwest",
]
[[package]]
name = "opentelemetry-otlp"
version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f69cd6acbb9af919df949cd1ec9e5e7fdc2ef15d234b6b795aaa525cc02f71f"
dependencies = [
"flate2",
"http",
"opentelemetry",
"opentelemetry-http",
"opentelemetry-proto",
"opentelemetry_sdk",
"prost",
"reqwest",
"thiserror 2.0.18",
]
[[package]]
name = "opentelemetry-proto"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7175df06de5eaee9909d4805a3d07e28bb752c34cab57fa9cff549da596b30f"
dependencies = [
"opentelemetry",
"opentelemetry_sdk",
"prost",
"tonic",
"tonic-prost",
]
[[package]]
name = "opentelemetry_sdk"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e14ae4f5991976fd48df6d843de219ca6d31b01daaab2dad5af2badeded372bd"
dependencies = [
"futures-channel",
"futures-executor",
"futures-util",
"opentelemetry",
"percent-encoding",
"rand 0.9.2",
"thiserror 2.0.18",
]
[[package]]
name = "option-ext"
version = "0.2.0"
@ -6206,6 +6291,47 @@ dependencies = [
"unarray",
]
[[package]]
name = "prost"
version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568"
dependencies = [
"bytes",
"prost-derive",
]
[[package]]
name = "prost-derive"
version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b"
dependencies = [
"anyhow",
"itertools 0.13.0",
"proc-macro2",
"quote",
"syn 2.0.114",
]
[[package]]
name = "qmux"
version = "0.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a87859012c43a1e38dda29f2464e0ee39b0e96d0f95f870a73610bc6f2c3c2"
dependencies = [
"bytes",
"futures",
"rustls",
"thiserror 2.0.18",
"tokio",
"tokio-rustls",
"tokio-tungstenite 0.28.0",
"tracing",
"web-transport-proto 0.6.0",
"web-transport-trait",
]
[[package]]
name = "quick-error"
version = "1.2.3"
@ -8315,6 +8441,22 @@ dependencies = [
"webpki-roots 0.26.11",
]
[[package]]
name = "tokio-tungstenite"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857"
dependencies = [
"futures-util",
"log",
"rustls",
"rustls-native-certs",
"rustls-pki-types",
"tokio",
"tokio-rustls",
"tungstenite 0.28.0",
]
[[package]]
name = "tokio-util"
version = "0.7.18"
@ -8447,6 +8589,38 @@ version = "1.0.6+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607"
[[package]]
name = "tonic"
version = "0.14.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef"
dependencies = [
"async-trait",
"base64 0.22.1",
"bytes",
"http",
"http-body",
"http-body-util",
"percent-encoding",
"pin-project",
"sync_wrapper",
"tokio-stream",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "tonic-prost"
version = "0.14.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50849f68853be452acf590cde0b146665b8d507b3b8af17261df47e02c209ea0"
dependencies = [
"bytes",
"prost",
"tonic",
]
[[package]]
name = "tower"
version = "0.5.3"
@ -8567,6 +8741,22 @@ dependencies = [
"tracing-core",
]
[[package]]
name = "tracing-opentelemetry"
version = "0.32.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ac28f2d093c6c477eaa76b23525478f38de514fa9aeb1285738d4b97a9552fc"
dependencies = [
"js-sys",
"opentelemetry",
"smallvec",
"tracing",
"tracing-core",
"tracing-log",
"tracing-subscriber",
"web-time",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.22"
@ -8656,6 +8846,8 @@ dependencies = [
"httparse",
"log",
"rand 0.9.2",
"rustls",
"rustls-pki-types",
"sha1",
"thiserror 2.0.18",
"utf-8",
@ -9136,9 +9328,9 @@ dependencies = [
[[package]]
name = "web-async"
version = "0.1.1"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6b2260b739b0e95cf9b78f22a64704af7ed9760ea12baa3745b4b97899dc89a"
checksum = "f5414b65d9a5094649bb99987bb74db71febfdfa3677b7954a0a05c99d0424e8"
dependencies = [
"tokio",
"tracing",
@ -9198,7 +9390,9 @@ dependencies = [
[[package]]
name = "web-transport-proto"
version = "0.5.2"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0225d295c8ac00a2e9a498aefeaf3f3c6186da12a251c938189b15b82ea22808"
dependencies = [
"bytes",
"http",
@ -9210,9 +9404,9 @@ dependencies = [
[[package]]
name = "web-transport-quinn"
version = "0.11.4"
version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96b195557749e84091d7b912a25e190e9606283b5121d041faf538b0b55f40d7"
checksum = "cac11b6caf163be7f980442a26fcba15e8074a5f22e85fbb71f0f77d11cecf60"
dependencies = [
"bytes",
"futures",
@ -9224,34 +9418,19 @@ dependencies = [
"tokio",
"tracing",
"url",
"web-transport-proto 0.5.2",
"web-transport-proto 0.6.0",
"web-transport-trait",
]
[[package]]
name = "web-transport-trait"
version = "0.3.3"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "802d6aa508f2c63c9050ceabc17265bbf90ed4d6f4e4357e987583883628e79c"
checksum = "cb67841c4a481ca3c1412ee4c9f463987401991e1ddc000903df2124f3dc85e9"
dependencies = [
"bytes",
]
[[package]]
name = "web-transport-ws"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7b1cd89c36a28eae759329839e85f7dbca733896f048a6daaf5f8fc80f3bcba"
dependencies = [
"bytes",
"futures",
"thiserror 2.0.18",
"tokio",
"tokio-tungstenite",
"web-transport-proto 0.5.2",
"web-transport-trait",
]
[[package]]
name = "webkit2gtk"
version = "2.0.1"