Parent PRD
#110
Depends on
#124 (offline read mode must be in place)
Summary
All write operations (create note, edit note, mark post as read) made while offline are queued via IsPendingSync = true and replayed in order when connectivity is restored. Soft-delete support included.
Write operations to queue
- Create note (new
Note with IsPendingSync = true)
- Edit note (updated
Note with IsPendingSync = true, DateModified = UtcNow)
- Mark post as read (
Post with is_read = true, IsPendingSync = true, DateModified = UtcNow)
- Delete note (soft-delete:
IsDeleted = true, IsPendingSync = true)
Queue behaviour
- Writes are accepted immediately and stored in SQLite
- Order of writes preserved (by
DateModified)
- User sees their changes instantly in the UI (optimistic local state)
Acceptance Criteria
Stories from PRD
User stories 4, 5, 6, 18
Parent PRD
#110
Depends on
#124 (offline read mode must be in place)
Summary
All write operations (create note, edit note, mark post as read) made while offline are queued via
IsPendingSync = trueand replayed in order when connectivity is restored. Soft-delete support included.Write operations to queue
NotewithIsPendingSync = true)NotewithIsPendingSync = true,DateModified = UtcNow)Postwithis_read = true,IsPendingSync = true,DateModified = UtcNow)IsDeleted = true,IsPendingSync = true)Queue behaviour
DateModified)Acceptance Criteria
IsPendingSync = trueDateModifiedIsPendingSync = trueIsDeleted = true,IsPendingSync = true)ILocalDataService.GetPendingSyncPostsAsync/NotesAsync()Stories from PRD
User stories 4, 5, 6, 18