attemptSaveCurrentConversation() (Save/Save As) and confirmDiscardIfNeeded's no-unsaved-changes early return both left the on-disk draft_conversation.json untouched, so a stale snapshot from before the save lingered and triggered "Restore unsaved conversation?" on next launch even though everything had already been saved with no changes since.