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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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