d3ro-voice/apps/desktop/src/main
Yun Chan ba9ef9741e fix: red-team round 3 hardening across desktop, mobile, core and server
Batch of red-team r3 fixes that were in the working tree before the
2026-09-28 design overhaul, committed as one unit with their tests.

- desktop main: STT timeouts and sidecar, voice recording store, sync
  (credentials, audio, knowledge reindex, push gates), runtime
  provisioner, update policy, AltGr keybindings, voice-command policy,
  dictionary file codec/limits, meeting transcript condensing and a
  local recording ledger so interrupted-session recovery only closes
  meetings this device recorded (a phone's live meeting is left alone).
- mobile: login CSRF via implicit token callbacks rejected, account
  deletion/retention, durable queue retention, knowledge realtime
  without unfiltered DELETE, meeting re-record failure paths, cloud STT
  client, preferences store/resync.
- core: text chunking splits long unbroken transcripts to fit, template
  field policy, dictionary limits, meeting markdown inline handling.
- server: payple webhook policy and cancellation order scope, meeting
  document generation quota, team RPC null-role guard, unified LLM
  quota in-flight accounting, knowledge chunk vector index, meeting
  re-record failure paths (migrations 20260929*).
- ci: portable/runtime feed gates, update-policy schema, Forgejo file
  delete and alias planning.

Four older tests are updated to the new contracts rather than the old
behavior: token-pair auth callbacks are rejected, knowledge realtime no
longer subscribes to DELETE, long transcript lines are split, and
meeting recovery requires the local recording ledger for empty rows.
2026-09-28 20:45:52 +09:00
..
db fix(desktop): harden session, meeting, caption and LLM lifecycles; route LLM calls through the gateway 2026-09-28 02:16:15 +09:00
ipc fix: red-team round 3 hardening across desktop, mobile, core and server 2026-09-28 20:45:52 +09:00
services fix: red-team round 3 hardening across desktop, mobile, core and server 2026-09-28 20:45:52 +09:00
utils fix(sound): apply the Sound switch at once instead of after a restart 2026-09-28 00:53:47 +09:00
windows fix: red-team round 3 hardening across desktop, mobile, core and server 2026-09-28 20:45:52 +09:00
app-identity.ts fix(desktop): align runtime AppUserModelId with electron-builder appId 2026-09-28 02:16:18 +09:00
bootstrap.ts fix(desktop): harden session, meeting, caption and LLM lifecycles; route LLM calls through the gateway 2026-09-28 02:16:15 +09:00
config-effects.ts fix(desktop): harden session, meeting, caption and LLM lifecycles; route LLM calls through the gateway 2026-09-28 02:16:15 +09:00
index.ts fix: red-team round 3 hardening across desktop, mobile, core and server 2026-09-28 20:45:52 +09:00
install-kind.ts fix(update): re-evaluate policy on every update transition and skip NSIS updater on portable installs 2026-09-28 02:16:18 +09:00
lifecycle.ts refactor(desktop): session-scoped voice runtime, STT/LLM ports, caption ownership and meeting export fixes 2026-09-28 00:53:43 +09:00
shutdown-registry.ts refactor(desktop): session-scoped voice runtime, STT/LLM ports, caption ownership and meeting export fixes 2026-09-28 00:53:43 +09:00
suggestion-overlay-policy.ts fix(desktop): harden session, meeting, caption and LLM lifecycles; route LLM calls through the gateway 2026-09-28 02:16:15 +09:00
update-feed.ts fix(runtime): stage runtime installs strictly, time out only on stalls, and make reinstall actually reinstall 2026-09-28 00:53:44 +09:00
update-policy.ts fix: red-team round 3 hardening across desktop, mobile, core and server 2026-09-28 20:45:52 +09:00
update-session.ts fix(update): re-evaluate policy on every update transition and skip NSIS updater on portable installs 2026-09-28 02:16:18 +09:00
voice-session-persist.ts fix: red-team round 3 hardening across desktop, mobile, core and server 2026-09-28 20:45:52 +09:00
voice-text-routing.ts fix(templates): route dictation results into active template sessions 2026-09-28 02:16:19 +09:00