Skip to content

Sync & Conflicts

Daylight stores tasks as files, which means you can sync them with any file synchronization tool. We recommend Syncthing for its privacy, reliability, and lack of cloud dependency.

  • Multi-device access. Work on tasks from your phone, laptop, or desktop.
  • No account required. Syncthing connects devices directly—no server, no login.
  • Conflict visibility. When edits collide, you see exactly what happened and can resolve it yourself.
┌─────────────┐ Syncthing ┌─────────────┐
│ Phone │ ←───────────────→ │ Laptop │
│ /Tasks/ │ │ ~/Tasks/ │
└─────────────┘ └─────────────┘
↑ ↑
│ Syncthing │
└───────────────────────────────┘
┌───────────────┐
│ Desktop │
│ ~/Tasks/ │
└───────────────┘

Each device has a complete copy of your tasks. Changes sync automatically when devices are connected.

  1. Install Syncthing on all devices

    • Linux: flatpak install syncthing or via package manager
    • Android: Install from F-Droid or Play Store
    • See syncthing.net for other platforms
  2. Create a shared folder for your tasks

    • In Syncthing, add a new folder pointing to your task directory
    • Give it a recognizable ID like tasks
  3. Connect your devices

    • Each device has a unique Device ID (Settings → Show ID)
    • Add each device to the others using this ID
    • Share the tasks folder with all devices
  4. Point Daylight to the synced folder on each device

    • Open Daylight Settings
    • Set the data path to your Syncthing folder
SettingRecommendationWhy
Folder TypeSend & ReceiveFull two-way sync
File VersioningSimple, keep 5 versionsRecovery from mistakes
Sync Interval30-60 secondsBalance between freshness and battery
Ignore Patterns.DS_Store, Thumbs.dbSkip OS metadata files

A conflict happens when the same file is modified on two devices before they sync. This is normal and expected—not a bug.

Syncthing creates a conflict file with a timestamp:

Tasks/
├── weekly-review.md # Current version
└── weekly-review.sync-conflict-20260128.md # Conflicting version

Daylight sees both files as separate tasks. You’ll notice a duplicate in your task list.

Common scenarios:

  1. Offline edits. You edit a task on your phone while your laptop is asleep, then edit the same task on your laptop before they sync.

  2. Rapid edits. You make changes faster than Syncthing can sync them.

  3. Completing on two devices. You mark a task complete on your phone, but your laptop (which hasn’t synced yet) also shows it as active.

[!note] Conflicts are more likely with recurring tasks because multiple devices might try to complete the same instance.

  1. Identify the conflict files

    • Look for files with .sync-conflict- in the name
    • Or look for duplicate tasks in Daylight
  2. Compare the versions

    • Open both files in a text editor
    • Note what’s different (usually status, scheduled, or recurrence.instances)
  3. Decide which version to keep

    • Usually the most recent edits are what you want
    • For recurring tasks, you may need to merge instance histories
  4. Merge or replace

    • Copy any needed changes to the main file
    • Delete the conflict file
  5. Wait for sync

    • Give Syncthing time to propagate your changes
    • Check that other devices show the resolved version
  • Found all conflict files (check for .sync-conflict- pattern)
  • Compared versions side-by-side
  • Preserved any completed instances from both versions
  • Deleted conflict files after merging
  • Verified resolution synced to other devices
  • Pause before switching devices. Give Syncthing a moment to sync before editing on another device.
  • Check sync status. Syncthing shows a green checkmark when folders are in sync.
  • Complete tasks on one device. Pick your phone or laptop for checking off tasks, not both.

Keep your task folder simple:

Tasks/
├── task-1.md
├── task-2.md
└── task-3.md

Avoid nested folders unless you have a specific need—they add complexity without much benefit in Daylight.

Even with Syncthing’s file versioning, keep backups:

  • Enable Syncthing’s Simple File Versioning (keeps old versions)
  • Periodically copy your task folder to a backup location
  • Consider git for version history if you’re comfortable with it
  1. Check Syncthing is running on both devices
  2. Verify devices are connected (green status in Syncthing)
  3. Check the folder is shared and set to “Send & Receive”
  4. Look for errors in Syncthing’s log

This usually means conflict files exist:

  1. Search your task folder for .sync-conflict- files
  2. Resolve each conflict as described above
  3. The duplicates will disappear after deleting conflict files

”Conflict storm” (many conflicts at once)

Section titled “”Conflict storm” (many conflicts at once)”

If you see dozens of conflicts:

  1. Stop editing on all devices
  2. Pick one device as the “source of truth”
  3. On that device, resolve all conflicts
  4. Wait for full sync to complete
  5. Verify other devices match

[!warning] Don’t delete files during a conflict storm—you might lose data. Resolve conflicts one at a time, waiting for sync between each.

  • Large task files (with many time entries) sync slower
  • Archive completed tasks periodically to reduce file count
  • Check your network connection and Syncthing’s bandwidth limits
TermDefinition
ReplicaA copy of your task folder on a specific device
Conflict fileA file created when Syncthing can’t automatically merge changes
Source of truthThe device you trust to have the correct version (during conflict resolution)
File versioningSyncthing’s feature that keeps old versions of changed files