Commit Graph
24 Commits
Author SHA1 Message Date
kawaiipunk 4a4b572209 Add shared status UI and offline LAN relay support 2026-10-26 14:32:50 +00:00
kawaiipunk 7f4af0d7ed Replace per-user keys with self-service rooms 2026-10-26 13:09:26 +00:00
kawaiipunk e24a22dc27 Refresh remaining docs for per-user keys and invites
Update the README, deployment, operations, troubleshooting, getting-started,
self-hosting, deployment-profile and skill docs that still described a single
shared service token/access token, so they match the key-per-user model.
2026-10-16 14:18:16 +00:00
kawaiipunk 9f1365a3ef Add per-user keys and invites with derived relay rooms
Replace the shared CAPTION_API_KEY with an optional per-user registry.
keys.py stores 64-character keys and single-use invites as SHA-256 digests
and derives each user's source/output rooms and capability tokens from a
shared master secret. /relay-config now returns those per-key values,
/claim.html redeems invites, and /admin.html (gated by CAPTION_ADMIN_KEY)
mints invites and revokes keys. /health and the static pages are public.
2026-10-16 13:10:59 +00:00
trav e5637d12ed Remove built-in relay and caption site fallbacks
Nothing in Caption Local points at a relay or caption website unless the
deployment or operator supplies one:

- relay-config.js has no default relay. The address comes from ?relay= or
  configure(); without one, join() refuses and setup() asks for an address.
- ws-publisher.js no longer defaults to wss://api.caption.ninja; with no
  url it reports "No relay configured" and opens no socket.
- The capture page's relay and caption website fields start empty
  (example.org placeholders). Sharing stays off and its checkbox is disabled
  until a relay address is set. Without a caption website, captions are
  still sent but no editor/overlay link is built.
- /relay-config no longer special-cases caption.ninja hostnames.
2026-10-14 11:03:48 -07:00
kawaiipunk bc02be00cd Self-host capture defaults, Firefox resampling and session token
- Resample PCM in the audio worklet when the browser cannot open a 16 kHz
  AudioContext (Firefox), keeping the native 16 kHz path where available;
  add Node coverage in tests/resampler.test.cjs.
- Default the capture page relay and caption-site fields to the self-hosted
  relay/UI, and only let a ?relay= link override the prefilled address.
- Remember the service access token in sessionStorage for the tab session so
  the redirect target does not require re-entry on every load.
- Add an inline favicon to stop the token-protected /favicon.ico 401.
- Drop the invalid ws://[::1]:* Content-Security-Policy source.
- Document Chrome/Edge/Firefox capture.
2026-10-12 20:42:17 +00:00
Steve Seguin 7d759fe1ea Document full regression, clean installation and recovery evidence 2026-09-07 18:10:39 -04:00
Steve Seguin f8dcb3b615 Simplify capture onboarding and document desktop and mobile visual review 2026-09-07 17:16:54 -04:00
Steve Seguin c090401f80 Add visual self-hosting introduction and concise onboarding links 2026-09-07 16:46:32 -04:00
Steve Seguin 6a2cdadd0b Verify hosted private workflow and stop retrying rejected caption frames 2026-09-07 15:51:52 -04:00
Steve Seguin 7af8fcf491 Integrate private relay recovery and verify setup and TLS workflows 2026-09-07 15:28:50 -04:00
Steve Seguin c792cff777 Support private Caption Ninja relays and validate isolated caption delivery 2026-09-07 14:44:15 -04:00
Steve Seguin db94982579 Point onboarding to current source and correct GPU validation scope 2026-09-07 13:15:36 -04:00
Steve Seguin a092674e44 Validate sustained CUDA capture and preserve Windows/WSL environments 2026-09-07 01:26:10 -04:00
Steve Seguin 75f45a1fe0 Validate native CUDA decoding and reject competing GPU benchmark workloads 2026-09-05 23:18:05 -04:00
Steve Seguin d4d2c11d75 Add separate self-hosted capture page and authenticated origin access 2026-09-05 22:41:48 -04:00
Steve Seguin d73b19e957 Add plain-language getting-started guide and clarify Windows onboarding 2026-09-05 22:05:00 -04:00
Steve Seguin ce316a5859 Validate medium CPU quality and rotate all multilingual output modes 2026-09-05 21:53:31 -04:00
Steve Seguin 7bcce47d9d Document eight-stream sustained capacity and medium accuracy tradeoff 2026-09-05 20:13:57 -04:00
Steve Seguin bad2d131de Make browser capacity summaries and memory acceptance reproducible 2026-09-05 18:33:36 -04:00
Steve Seguin a844279d99 Include API modules in Docker context and clarify tested deployment scope 2026-09-05 18:30:04 -04:00
Steve Seguin f6f97e024b Add bounded WAV API, optional access control and multilingual validation tooling 2026-09-05 18:28:22 -04:00
Steve Seguin 6d13ff7d31 Record Windows CPU validation and outstanding NVIDIA capacity work 2026-09-05 17:30:59 -04:00
Steve Seguin 9b585f5749 Publish Caption Local with Linux CPU deployment, stream isolation and release guides 2026-09-05 16:59:14 -04:00