Plant floors, substations and sites have no signal. Post-v1 — v1 is M1+M2.
Scope
createOfflineDataSource, offlineQueue, useOfflineSync from @object-ui/mobile: cache the week's tasks, queue completions offline, replay on reconnect.
Constraints
- Replay must be idempotent. A queued completion replayed twice must not produce two writes or a second
completed_at — the second attempt is a no-op, not an error the user sees.
- Show queue state honestly. "Saved" while a completion sits unsent is the worst possible lie in this product: the person believes they discharged a duty they have not recorded.
- A conflict (someone else closed it, or it was cancelled) surfaces as a resolvable item, never a silent discard.
Depends on
#16.
Plant floors, substations and sites have no signal. Post-v1 — v1 is M1+M2.
Scope
createOfflineDataSource,offlineQueue,useOfflineSyncfrom@object-ui/mobile: cache the week's tasks, queue completions offline, replay on reconnect.Constraints
completed_at— the second attempt is a no-op, not an error the user sees.Depends on
#16.