Kanidm group-gated rooms and minimal mesh calling

Rooms can now require a Kanidm group (via the `groups` OIDC claim,
mapped by `oauth2 update-claim-map` server-side) - dev/ops require
`developers`, enforced at every message path (send, history, SSE).

Adds a minimal WebRTC mesh call feature scoped to the lobby room,
signaled over a separate `call.room.*` NATS subject kept out of the
chat archive: public STUN only, no TURN, no SFU - small groups on
friendly networks, by design.
This commit is contained in:
2026-07-27 23:52:27 +02:00
parent 46bdad1629
commit 650ed50c21
12 changed files with 875 additions and 26 deletions
Generated
+3
View File
@@ -350,10 +350,12 @@ dependencies = [
"anyhow",
"async-nats",
"axum",
"base64 0.22.1",
"chrono",
"console_error_panic_hook",
"dotenvy",
"futures",
"js-sys",
"leptos",
"leptos_axum",
"leptos_meta",
@@ -371,6 +373,7 @@ dependencies = [
"url",
"uuid",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
]