Decouple transcripts from note text; end-to-end watch transfer acks

Schema v3: transcription attempts accumulate on AudioInfo (text, locale,
confidence, forced flag) — latest attempt is displayed, payload.text is
purely user writing, v2 notes migrate at read time. Editor shows the
transcript in its own live-updating section with insert-into-note; search
matches transcripts weighted by confidence. Watch recordings are now
deleted only on the phone's durable-ingest ack (transferUserInfo), closing
every phone-side loss window; failed sidecar writes unstage instead of
orphaning, and unreadable inbox recordings are surfaced in logs.

Claude-Session: https://claude.ai/code/session_014esDWi42URLEC6Cj17hGQ3
This commit is contained in:
2026-07-16 12:29:49 -04:00
parent c29d25748a
commit c5c90e9441
15 changed files with 546 additions and 55 deletions
+8
View File
@@ -1,5 +1,13 @@
**July 2026**
Transcripts now appear in their own section of a voice note, separate from your own text, with a button to insert them into it
Re-transcribing a note in another language now works, and every previous transcript is kept
Search now also finds words inside voice note transcripts
Watch recordings are now kept on the watch until the iPhone confirms they're safely stored, so a hiccup during handoff can no longer lose them
Fixed watch voice notes arriving on the iPhone without audio, so they couldn't be played or transcribed
Transcription now supports many more languages, including Russian, Ukrainian, and Polish