[package] name = "joule-moq-web" version = "0.1.0" description = "joule-moq's draft-22 codec and receipts for the browser: control and data messages encoded and decoded, each object signed into its group receipt by a publisher and verified against it by a subscriber, built for wasm32-unknown-unknown with a small wasm-bindgen surface. A browser MOQT client (WebTransport, with a WebSocket fallback) and its end-to-end tests live beside it." edition = "2024" rust-version = "1.97" license = "Apache-2.0" repository = "https://github.com/transaction-science/open-standards" [lib] crate-type = ["cdylib", "rlib"] [dependencies] # The codec, carriage and receipts alone: no tokio, no native dependency. joule-moq = { path = "../joule-moq", default-features = false } ed25519-dalek = "2" serde_json = "1" hex = "0.4" # Pinned to the wasm-bindgen CLI the build runs: the two must match exactly. wasm-bindgen = "=0.2.127" # The member of an end-to-end encrypted room (feature `e2ee`): MLS and the room's keys. joule-moq-mls = { path = "../joule-moq-mls", optional = true } [features] # The member of an end-to-end encrypted room (WAI confidentiality): its MLS group, sealing # and opening. Built as a second wasm, `joule_moq_web_e2ee`, that a page loads for such a # room alone, so a page in any other room loads none of it. `joule-moq-mls/js` takes the # browser's random generator and clock; on the host it changes nothing. e2ee = ["dep:joule-moq-mls", "joule-moq-mls/js", "joule-moq/secure-objects"]