Skip to content

Sync fidelity: preserve handle created_at; don't discard sync data on conflict-copy cleanup - #451

Merged
tomcardoso merged 1 commit into
mainfrom
fix/issue-435-436-sync-fidelity
Jul 17, 2026
Merged

Sync fidelity: preserve handle created_at; don't discard sync data on conflict-copy cleanup#451
tomcardoso merged 1 commit into
mainfrom
fix/issue-435-436-sync-fidelity

Conversation

@tomcardoso

Copy link
Copy Markdown
Owner

Summary

Closes #435
Closes #436

Test plan

  • npm run rebuild:node && npm test — full suite passes (502 tests)
  • Added preserves handle created_at across update test in src/test/contacts.test.ts (backdates, then asserts preservation across update)
  • Added src/test/poller.test.ts covering deleteConflictCopies: clears sync_pushed for the affected project only (leaves other projects' rows alone) when a conflict copy is found and deleted; leaves sync_pushed untouched when no conflict copy exists
  • npx tsc --noEmit -p tsconfig.node.json — clean
  • npm run rebuild — restored Electron-targeted native binaries after testing

🤖 Generated with Claude Code

…nflict copy

- contacts:update now preserves contact_handles.created_at across re-insert,
  mirroring the existing pattern for emails/phones/links (fixes #435).
- deleteConflictCopies now clears the project's sync_pushed rows before
  deleting a detected cloud-provider conflict copy, so rows that only landed
  in the discarded copy get re-pushed on the next sync instead of being
  silently lost (fixes #436).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@tomcardoso
tomcardoso merged commit 8f8c7f2 into main Jul 17, 2026
1 check passed
@tomcardoso
tomcardoso deleted the fix/issue-435-436-sync-fidelity branch July 17, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant