Sync conversation notes via Git Sync, add discard shortcut to crash-recovery prompt

Notes files now export to notes/ + notes.json alongside conversations.json,
matching folders.json's manifest pattern: matched by conversation ID, never
overwrites notes a machine already has locally, same empty-state orphan-
cleanup safety guard as the existing conversation/folder sync code. Also
adds Cmd+D to the "Discard" button on the crash-recovery restore prompt.

Fixes two Swift 6 actor-isolation build warnings surfaced along the way:
ConversationNotesService and the String filename-sanitizing extension are
pure, state-free helpers called from nonisolated contexts (DatabaseService,
GitSyncService) but defaulted to @MainActor — marked nonisolated.
This commit is contained in:
2026-08-04 08:31:16 +02:00
parent 3414e37e24
commit d93c233453
7 changed files with 195 additions and 6 deletions
+3 -1
View File
@@ -2294,7 +2294,9 @@ Don't narrate future actions ("Let me...") - just use the tools.
alert.messageText = "Restore unsaved conversation?"
alert.informativeText = "Confab didn't close properly last time. Would you like to restore the conversation you were working on?"
alert.addButton(withTitle: "Restore")
alert.addButton(withTitle: "Discard")
let discardButton = alert.addButton(withTitle: "Discard")
discardButton.keyEquivalent = "d"
discardButton.keyEquivalentModifierMask = .command
if alert.runModal() == .alertFirstButtonReturn {
messages = draft.messages