d3ro-voice/server/supabase/functions
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
..
_shared fix(storage): purge raw audio when its history entry or meeting is deleted 2026-09-28 02:16:22 +09:00
account-delete fix(storage): purge raw audio when its history entry or meeting is deleted 2026-09-28 02:16:22 +09:00
admin-audit-log feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00
admin-payments feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00
admin-subscriptions fix(billing): stop back-office edits from changing Payple renewal charges 2026-09-28 02:16:21 +09:00
admin-users feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00
admob-ssv feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00
audio-purge fix(storage): purge raw audio when its history entry or meeting is deleted 2026-09-28 02:16:22 +09:00
billing-catalog refactor(billing): remove Stripe; payments are Payple (web) and Google Play (mobile) 2026-09-26 20:56:18 +09:00
content-report feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00
embed-chunks fix(edge): meter and size-cap knowledge embeddings in embed-chunks and search-knowledge 2026-09-28 00:53:48 +09:00
generate-meeting-document fix: red-team round 3 hardening across desktop, mobile, core and server 2026-09-28 20:45:52 +09:00
google-play-rtdn fix(iap): acknowledge Google Play purchases only after the entitlement is persisted 2026-09-28 02:16:20 +09:00
iap-verify fix(iap): acknowledge Google Play purchases only after the entitlement is persisted 2026-09-28 02:16:20 +09:00
llm-proxy fix(llm-proxy): reserve quota before the provider call and stop cutting off long streams 2026-09-28 02:16:17 +09:00
payple-checkout fix(payple): reject checkout while a paid Payple period is still active 2026-09-28 02:16:21 +09:00
payple-manage feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00
payple-renew fix(billing): stop back-office edits from changing Payple renewal charges 2026-09-28 02:16:21 +09:00
payple-webhook fix: red-team round 3 hardening across desktop, mobile, core and server 2026-09-28 20:45:52 +09:00
realtime-token fix(realtime-token): spend the session quota only after a token is minted and stop leaking provider errors 2026-09-28 00:54:00 +09:00
search-knowledge fix(edge): meter and size-cap knowledge embeddings in embed-chunks and search-knowledge 2026-09-28 00:53:48 +09:00
send-push fix(push): stop web push from posting to arbitrary endpoints 2026-09-28 00:53:48 +09:00
stt-proxy fix(stt-proxy): stop paid fan-out on empty transcripts and redact provider errors 2026-09-28 02:16:19 +09:00
team-accept feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00
team-invite feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00
deno.json feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00
deno.lock feat(release): prepare 1.1.0 candidate 2026-08-29 18:33:45 +09:00