BEFORE (common failure)
Only a subtle icon changes. No text. Errors go to the console. Screen-reader users often hear nothing.
(No visible message)
AFTER (minimum viable pattern)
Clear, non-annoying status text + polite announcements. Offline is visible and explains what will happen.
Offline — your changes will sync when you’re back online.
Related note: Why connection status needs a clear, non-annoying UI (and what to announce)