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:
@@ -33,8 +33,13 @@ struct NotesApp: App {
|
||||
appServices = services
|
||||
#if os(iOS)
|
||||
// Hand the (already-activated) watch receiver the live sync
|
||||
// engine so a delivery arriving now drains immediately.
|
||||
appDelegate.watchReceiver.syncEngine = services.syncEngine
|
||||
// engine so a delivery arriving now drains immediately, and
|
||||
// route ingest acks back so the watch can free its copies.
|
||||
let receiver = appDelegate.watchReceiver
|
||||
receiver.syncEngine = services.syncEngine
|
||||
services.syncEngine.onWatchRecordingHandled = { [weak receiver] id in
|
||||
receiver?.acknowledgeIngest(id: id)
|
||||
}
|
||||
#endif
|
||||
await services.startDeferredServices()
|
||||
if let pending = pendingBackupURL {
|
||||
|
||||
Reference in New Issue
Block a user