Repository navigation
Daymark 1.10.0
Daymark 1.10.0: safer sync across devices, and alert counting days
New
- Choose which days count for warnings. Settings › Old-task warnings has two separate choices: Task aging counts and Habit warnings count, each Weekdays (Mon to Fri), Weekends (Sat and Sun) or All week (the default, same as before). Only the chosen days add to a task's age or a habit's missed days. Warnings still show on the other days; the count just doesn't go up. The Android widgets use the same choice.
Sync: audited and fixed
Every kind of synced data (days and tasks, notes, folders, settings, habits, backlog, note pictures) was tested with several devices editing at once, going offline, losing connections and restarting the server, plus a randomized three-device test. These problems were found and fixed:
- Changing two different settings on two devices no longer makes one of them disappear.
- Editing different parts of the same habit or backlog item on two devices keeps both edits; clearing a field stays cleared.
- A device whose clock is set far in the future can no longer win every conflict, or undo a backlog Undo made elsewhere.
- A device with more than 5,000 unsynced changes (or a lot of large notes) no longer gets stuck; it syncs in batches.
- A damaged picture file on the server is no longer handed out, and the next upload repairs it. Checking pictures no longer slows the server down.
- Reordering tasks on one device no longer blocks a delete made on another.
- A task moved to another day while edited on another device no longer ends up on two days; the edit is kept on the moved task. A later move is no longer undone by another device's earlier move away, and task history keeps every move.
- Picking the same backlog item on two devices no longer drops one device's task history.
- When two devices change the same note's folder or title at once, the newer change wins and you're told about the clash.
Upgrading
- Deploy the server as usual (
docker compose up -d --build); the merge fixes run on the server too. - Android: install this APK over 1.9.x. Your data, sign-in and widgets stay.
- Devices still on 1.9.1 or earlier keep syncing with updated devices without losing data. Update them when convenient.
Known limits
- In a rare sequence where two devices switch the same setting back and forth between syncs, one change can be overwritten without a notice.
- If a very large multi-batch sync fails partway, a retry can create an extra conflict copy of a note.
- Background photos stay on the device where you added them (by design).
- The widget warning thresholds are still fixed at 3 and 7 days.
- This APK hasn't been tried on a real phone yet. It builds and its tests pass.
Checks
- 1,843 unit tests pass (1 skipped); 25 randomized three-device runs pass.
- Two-browser sync test passed (2 of 2 runs); QA browser suite 822 checks, 0 failed.
- Lint, production build, Android build and Kotlin tests pass.
SHA-256 of the APK is in SHA256SUMS.