thomas.kopp
81fbbfb56e
feat: status includes is_admin, gear icon in header for admins
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 20:45:33 +02:00
thomas.kopp
2376bf5d71
fix: PUT /config deep-merges nested config instead of shallow update
...
Replaces cfg.update(body) with _deep_merge so partial updates (e.g.
setting whisper.base_url) no longer wipe sibling keys. Also persists
the merged config back to disk via tomli_w. Adds test_put_config_deep_merges.
2026-04-01 20:40:40 +02:00
thomas.kopp
ff68827280
fix: module_ids as integers in response, add 403 test for POST /audio/combined
2026-04-01 20:38:43 +02:00
thomas.kopp
478a1ac9d0
feat: GET /audio/devices, POST /audio/combined — PipeWire source management
2026-04-01 20:36:27 +02:00
thomas.kopp
ef4aa2a840
feat: AudioRecorder accepts device param — reads audio.device from config
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 20:32:44 +02:00
thomas.kopp
d8c6fc790b
fix: define _guest_user() for tray/hotkey-triggered recording
2026-04-01 16:00:33 +02:00
thomas.kopp
33ae9dc1d8
feat: reprocess existing transcript via Ollama — modal button + POST /transcripts/{filename}/reprocess
2026-04-01 14:27:15 +02:00
thomas.kopp
ae3ae61593
feat: DELETE /transcripts/{filename} — delete transcript with path-confinement check
2026-04-01 14:13:02 +02:00
thomas.kopp
aa3eef8fb1
feat: GET /transcripts/{filename} — serve transcript content
2026-04-01 14:12:30 +02:00
thomas.kopp
b63f5d59a9
fix: read WebSocket token from query_params directly, not function arg
2026-04-01 13:22:20 +02:00
thomas.kopp
6e317a9c67
fix: error state resettable via mic click, debug logging, pipeline traceback
2026-04-01 12:41:45 +02:00
thomas.kopp
6574481647
fix: web-based first-run setup — removes terminal input(), works under systemd
2026-04-01 12:26:17 +02:00
thomas.kopp
1466a1529f
feat: multi-user auth — per-user spaces, pbkdf2 passwords, session tokens, login page
2026-04-01 08:39:16 +02:00
thomas.kopp
319db8c788
feat: API router + pipeline — toggle, status, transcripts, WebSocket, auth stub
2026-04-01 02:26:47 +02:00