Understand mobile offline state and updates
Distinguish cached, queued, failed, and confirmed mobile state and recover safely after reconnecting.
Before you begin
Treat the server as authoritative. Cached data and locally stored drafts support continuity, but they do not prove a responder action reached OpsKnight.
Open the feature
The mobile shell displays network and queue banners. Open a banner to inspect pending/failed actions when controls are available.
Configure safe offline use
- When You're offline. View-only mode appears, use cached pages only for context.
- Do not tell other responders an action succeeded unless it becomes confirmed after reconnect.
- Incident creation drafts are encrypted and saved on-device, but creation is not queued while offline.
- After reconnecting, let Background Sync/page replay run and inspect the queue summary.
- Treat
queuedas not yet accepted,failedas requiring attention, andconfirmedas server-accepted. - Refresh the affected incident before repeating an action to avoid a conflict with newer server state.
What OpsKnight does
The page coordinator and service worker coordinate queue restoration/flush. Authentication failure pauses unsafe replay and can redirect to mobile login. Cached-data notices identify stale content; online events trigger recovery but do not make every queued mutation valid.
Verify recovery
Require zero pending/failed actions, reload key incidents, and compare their timeline/status with the intended outcome. For a PWA update, close all app windows, reopen, and confirm the new service worker controls the page.
Remove or reset
Sign out before clearing site data when possible. Clearing browser storage removes cached data, encrypted drafts, and local queue state; record unresolved actions first. Reinstall only after confirming there is no unsubmitted work.
Troubleshooting
- Queue stays pending: keep one app window online and authenticated, then refresh once.
- Queue failed: inspect the action; authorization or lifecycle state may have changed.
- Old UI after release: close all windows and reopen; if needed remove/reinstall after preserving drafts.
- Draft missing: site-data cleanup, browser eviction, or a different profile/device may have removed local storage.
Next steps
Last updated for v2.0.0
Edit this page on GitHub