Skip to content

Offline read mode + offline banner #124

@fboucher

Description

@fboucher

Parent PRD

#110

Depends on

#123 (online-first data layer must exist)

Summary

Implement the offline read path in OfflineDataService and add the persistent offline banner. When offline, all reads route to local SQLite. Mark-as-read works offline (queued). Search by name and filter by read/unread status work from local cache. Settings accessible offline.

OfflineDataService — offline path

  • Detect Connectivity.NetworkAccess != NetworkAccess.Internet
  • All read operations delegate to ILocalDataService
  • Mark-as-read sets IsPendingSync = true locally

Offline banner

  • Persistent banner at top of app when offline
  • Clearly labels offline state
  • Disappears when connectivity restored

Offline search + filter

  • Text search filters local post list by name in real time
  • Read/unread filter applies to local cache

Acceptance Criteria

  • OfflineDataService routes reads to SQLite when offline
  • Offline banner visible whenever Connectivity.NetworkAccess != Internet
  • Banner disappears when back online
  • Mark-as-read works offline (queued via IsPendingSync)
  • Search and read/unread filter work from local cache
  • Settings page accessible offline
  • Summary list accessible offline (from local cache)

Stories from PRD

User stories 2, 3, 6, 9, 12, 13, 14, 15, 16

Metadata

Metadata

Assignees

No one assigned

    Labels

    apppending-epicFinished but waiting for epic branch to merge

    Projects

    Status

    pending

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions