DIREKT Offline and Sync¶
Principles¶
- distinguish cached, pending and confirmed state;
- never show trust/payment approval before server confirmation;
- preserve user work;
- retry safely;
- minimize data stored on device;
- expire sensitive temporary files.
Read data¶
Cache:
- taxonomy;
- selected area;
- recent public profiles/results;
- own provider draft/status;
- own enquiries/notifications.
Show last-updated markers where stale data can affect a decision.
Write data¶
Local queue items contain:
- client operation ID;
- entity/local draft ID;
- payload reference;
- created time;
- retry count;
- dependency state;
- user-visible state.
Server uses idempotency key. Conflict resolution is explicit, not last-write-wins for trust-sensitive data.
Evidence upload¶
- local app-private file;
- preprocessing/validation;
- authorized upload session;
- progress;
- retry/resume if supported;
- checksum/finalization;
- cleanup only after durable acknowledgment or user cancellation;
- failure guidance.
Authentication¶
Offline cache is inaccessible after logout and protected according to sensitivity. Expired session allows limited cached view but no claimed successful mutation.
Testing¶
Airplane-mode transitions, process death, low storage, duplicate retries, expired upload authorization, server conflict and account switch.