Audit fixes: lock-screen sync, live notification urgency, batch postpone (KC-31)
- Lock-screen Mark Complete / Snooze now push to iCloud (CloudSyncManager) and
reload widget timelines, so background completions reach iCloud/Watch/widgets
immediately instead of waiting for the next app run.
- Notification copy ("Urgent — tap to mark complete" + evening check-in) now uses
the live computed Matrix quadrant: reschedule snapshots urgent task IDs from
displayQuadrant and threads them into scheduleTasks/notifBody, instead of the
stale stored task.quadrant.
- postponeAllOverdue now mirrors single postpone (clears urgencyOverride and
re-syncs the stored quadrant per task).
- ISSUES.md: added KC-31 (audit), corrected KC-30 (midnight day/week/month/year);
left #2 (period-notif Settings toggle) and #6 (configurable thresholds/snooze)
as pending; noted #1 (Move lists 3 quadrants) as intentional KC-25 behavior.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -599,6 +599,8 @@ class TaskViewModel: ObservableObject {
|
||||
guard let idx = tasks.firstIndex(where: { $0.id == id }) else { continue }
|
||||
let base = tasks[idx].dueDate ?? Date()
|
||||
tasks[idx].dueDate = Calendar.current.date(byAdding: .day, value: days, to: base)
|
||||
tasks[idx].urgencyOverride = nil // re-place from the new deadline
|
||||
tasks[idx].quadrant = displayQuadrant(tasks[idx]) // keep color/fallback in sync
|
||||
}
|
||||
save()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user