Internal
Public Access
Add offline task CRUD, phase 1 (PWA)
Lets users create, edit, and complete tasks with no network connection, queued locally in IndexedDB and replayed via the existing /api/sync/ protocol once back online -- the same protocol the native Android app already uses, with zero backend changes. The service worker now routes the dashboard's offline fallback to a small client-rendered task app instead of the generic "you're offline" page; every other route keeps the generic fallback. Conflicts (server row touched elsewhere since last sync) auto-resolve as "local wins" rather than surfacing a resolution UI. Scope is title/ status/priority/due-date only -- tags, subtasks, time tracking, and recurrence editing offline are out of scope for this phase. Also adds the first real test coverage for sync/views.py (previously untested): new-item creation, soft-delete-bypasses-conflict-check, conflict detection/discarding, and both resolve_conflict paths. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
9ac1c41897
commit
922d4d1bf2
@@ -8,6 +8,11 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
initTaskSelection();
|
||||
initTimerDisplays();
|
||||
registerServiceWorker();
|
||||
maybeBackgroundSync();
|
||||
});
|
||||
|
||||
window.addEventListener('online', function() {
|
||||
runBackgroundSync();
|
||||
});
|
||||
|
||||
/* ============================================
|
||||
|
||||
Reference in New Issue
Block a user