Network and offline
The mobile app is online-first: most data is fetched live and cached briefly. This page covers what happens when the network drops, and what’s coming to make the app fully offline-capable.
In this guide:
- The offline banner
- What works offline today
- What doesn’t
- Offline-first sync (coming soon)
The offline banner
When your device loses internet, a small red banner appears at the bottom of the screen.
The banner stays as long as you’re offline; disappears within a couple of seconds of reconnecting.
What works offline today
- Reading already-loaded screens — the dashboard, the products list, the inbox, etc. All visible because the data was cached when you were online.
- Composing notes — type a note offline; it’ll save when you’re back online.
- Browsing your notes list — already-loaded notes are readable.
- Switching tabs and screens — navigation doesn’t require the network.
What doesn’t work offline
- Sign-in — needs to reach Hilal Auth.
- AI Chat / Document Chat / Ask the Database — every query needs the LLM backend.
- Document uploads — needs the upload endpoint.
- Audio transcription — runs server-side; held in queue until online.
- Sending replies in the inbox — fails with a “you’re offline” toast.
- Pulling fresh data — pull-to-refresh shows a spinner forever.
What you can do when you go offline
If you know you’ll be offline (a flight, a basement, a foreign data plan you didn’t pay for):
- Pre-load the screens you’ll want to view by visiting them before you lose signal.
- Compose notes locally — the typing UI works fine offline; the save will queue.
- Don’t expect AI tools — they all need the network.
Coming soon: offline-first sync
Coming soon
A real offline experience — not just “things break gracefully” but “things keep working”:
Notes sync queue
- Compose a note offline.
- Local store records the change.
- When you’re back online, the queue drains: notes upload, attachments upload, transcripts run.
- Conflict resolution if you also edited the same note on the web while offline (last-write-wins by default; user prompted on real conflicts).
Inbox draft replies
- Compose a reply offline.
- It’s saved as a draft locally.
- When online, you can review and send.
Cached recent reads
- The last N visited screens cache their data so you can reopen and re-read offline.
Background sync
- When the app comes back to foreground, it does a single delta-sync against the backend to fast-forward state, before showing you live data.
Conflict handling
- Most edits are simple last-write-wins.
- Notes that were edited on both sides surface a small “two versions” banner so you can pick.
Status
- Network detection: ✅ in place (the offline banner).
- Sync queue: in development (notes first, drafts second).
- Conflict resolution: in development (notes-only, MVP).
- Background sync: depends on the per-domain backend changes; ships gradually.