Skip to content

iCloud Sync: per-record ID-based merge (currently last-write-wins) #4

Description

@wsclx

Symptom

Current iCloud Sync (shipped in 0.7.0-beta) is last-write-wins by file mtime for the entire automations.json. If two machines edit different automations simultaneously, one side's edits are silently overwritten.

Acceptance

  • Per-automation merge by id field.
  • Conflict detection (same id, different updated_at on both sides) → user-visible diff with manual resolution.
  • Tombstones for deleted records so a deletion on machine A doesn't get resurrected by an old copy on machine B.

Scope

0.8.x. Documented in CHANGELOG [Unreleased] Planned for 0.8.x.

References

Future scope

  • Also sync custom-LED paint snapshots (currently local-only).
  • Also sync theme/setting preferences.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions