Offline-first
Native Field is built so a technician can keep working when the radio drops. That is not a second source of truth. After a successful login and first sync, you can open cached jobs. New jobs, first login, and workspace download still need the company server.
Screen path: Sync tab · banner Offline — showing cached data when the server is unreachable. Native Field is not the Field PWA.
server ↓ pull / bootstraplocal Drift database ↓technician works ↓local changes ↓outbox ↓ pushserver authority ↓pull reconciles local statePull into Drift, work locally, push the outbox, pull again. The backend remains the business authority.
Preconditions
Section titled “Preconditions”A session, shell preferences, and the local database already exist. First launch with no cache: No offline data yet / No offline data available yet. Connect to your company server first.
- Before you lose signal — sign in, select the workspace, Sync → Sync now. Confirm today’s assigned jobs are on the device.
- During the visit — open cached jobs, execute, fill forms, take JPEG/PNG photos, capture signatures, add findings, consume van stock.
- After you have a signal — open the app (foreground) or tap Sync now. There is no guaranteed “Wi-Fi came back” auto-run.
- Before Log out / reinstall — if Status is not Up to date, do not uninstall.
You do not need to know Flutter. You do need to open Sync before you assume the office received a completion.
There is no periodic killed-app background synchronization. See Killed-app behavior.
What works / does not work
Section titled “What works / does not work”| Works | Does not work | |
|---|---|---|
| Cached jobs | Yes | New office assignments until pull |
| Unreachable server | Stay signed in | Treating local Complete as final |
| Uninstall / clear data | Drops local-only work | Reconstructing pending photos from the server |
Related: Offline capability matrix.