← All products
KAI-11 Idea medium

P3.3 · Conflict resolution UI

What

Modal shown when a conflict is queued. Three-pane diff: local body, remote body, merged preview.

Buttons

  • Keep local → push local to remote
  • Keep remote → overwrite local with remote
  • Merge manually → opens both versions in an Obsidian split view, sets the note state to "manual-merge-pending" until user marks it resolved via a command
  • Snooze 24h → don't show the conflict again for 24h, leaves local + remote as-is

Technical requirements

  • Use jsdiff or similar for line-level diff highlighting.
  • Modal is dismissible only via explicit choice (no accidental Esc-cancel that loses state).

Acceptance criteria

  • A user can resolve a conflict in <30 seconds in user testing.
  • Snoozed conflicts re-surface after exactly 24h.
Updated
2026-04-22