Implement bi-directional calendar sync #10

Open
opened 2025-10-28 19:46:57 +00:00 by PhilflowIO · 0 comments
PhilflowIO commented 2025-10-28 19:46:57 +00:00 (Migrated from github.com)

Enable two-way sync to keep calendars synchronized between source and target.

Requirements:

  • Detect changes on both source and target since last sync
  • Conflict resolution strategy (last-modified wins, or interactive)
  • Incremental sync (only changed events)
  • Use WebDAV sync tokens (RFC 6578)

Technical Details:

  • Use tsdav's smartCollectionSync method
  • Track sync tokens in state file
  • Handle three-way merge conflicts:
    • Both sides changed → conflict resolution needed
    • One side changed → apply change to other side
    • Deleted on one side → delete on other side (or ask user)

Dependencies:

  • tsdav smartCollectionSync (see /docs/docs/smart calendar sync.md)

Estimated Effort: Large (7-10 days)

Related to: DAV Migration CLI - Phase 2

Enable two-way sync to keep calendars synchronized between source and target. **Requirements:** - Detect changes on both source and target since last sync - Conflict resolution strategy (last-modified wins, or interactive) - Incremental sync (only changed events) - Use WebDAV sync tokens (RFC 6578) **Technical Details:** - Use tsdav's `smartCollectionSync` method - Track sync tokens in state file - Handle three-way merge conflicts: - Both sides changed → conflict resolution needed - One side changed → apply change to other side - Deleted on one side → delete on other side (or ask user) **Dependencies:** - tsdav `smartCollectionSync` (see `/docs/docs/smart calendar sync.md`) **Estimated Effort:** Large (7-10 days) **Related to:** DAV Migration CLI - Phase 2
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Phil/tsdav#10
No description provided.