DUNGEONS-34: implement Webka LAN streaming app #1

Merged
Perfect_Python500 merged 1 commits from codex/dungeons-34-webka into main 2026-09-06 11:27:28 +00:00

Webka now lets an administrator broadcast a camera or screen to authenticated viewers on the same LAN. This adds the Nuxt 3 host/watch/login/settings screens and an Axum service with SQLite accounts, Argon2id passwords, signed sessions, login throttling, session revocation, authorized WebRTC signaling and optional mDNS discovery.

The interface includes shared glass controls, light/dark themes, accent preferences and English/Russian/Spanish translations. Setup instructions, a trusted-HTTPS reverse-proxy example, API contracts and a real-device camera/screen test plan are included. No site has been published.

Validation: 10 Rust tests pass, including live WebSocket authorization/routing/revocation and backpressure; strict Clippy and formatting pass; TypeScript and the production build pass; all 151 locale keys match; npm audit reports zero vulnerabilities. The HTTP smoke test passes for six frontend routes, setup, login, cookies/session, share URL, logout and security headers.

Physical camera/screen switching, mobile browsers, actual peer video and mDNS on multiple devices remain manual acceptance checks. Browser capture requires localhost or trusted HTTPS; a Rust service must be started on a LAN computer because a browser cannot launch it. Nuxt 3 is retained as requested; its upstream end-of-life and a future Nuxt 4 migration are documented.

Closes DUNGEONS-34

Webka now lets an administrator broadcast a camera or screen to authenticated viewers on the same LAN. This adds the Nuxt 3 host/watch/login/settings screens and an Axum service with SQLite accounts, Argon2id passwords, signed sessions, login throttling, session revocation, authorized WebRTC signaling and optional mDNS discovery. The interface includes shared glass controls, light/dark themes, accent preferences and English/Russian/Spanish translations. Setup instructions, a trusted-HTTPS reverse-proxy example, API contracts and a real-device camera/screen test plan are included. No site has been published. Validation: 10 Rust tests pass, including live WebSocket authorization/routing/revocation and backpressure; strict Clippy and formatting pass; TypeScript and the production build pass; all 151 locale keys match; npm audit reports zero vulnerabilities. The HTTP smoke test passes for six frontend routes, setup, login, cookies/session, share URL, logout and security headers. Physical camera/screen switching, mobile browsers, actual peer video and mDNS on multiple devices remain manual acceptance checks. Browser capture requires localhost or trusted HTTPS; a Rust service must be started on a LAN computer because a browser cannot launch it. Nuxt 3 is retained as requested; its upstream end-of-life and a future Nuxt 4 migration are documented. Closes DUNGEONS-34
Perfect_Python500 added 1 commit 2026-09-06 11:24:06 +00:00
Perfect_Python500 merged commit 26e6b2247e into main 2026-09-06 11:27:28 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Perfect_Python500/Webka#1