IndexedDB records work before transmission
ReadyThe browser puts response events and submit requests in IndexedDB before it sends a network request.
The browser records learner work in IndexedDB before transmission. After a reload, tab reopen, or connection failure, QFlowLearn restores queued work and replays it in order.
The browser puts response events and submit requests in IndexedDB before it sends a network request.
Finish Assessment records the final response and submit request as one ordered local group before transmission.
QFlowLearn restores attempt events and item snapshots from IndexedDB after a page reload or tab reopen operation.
When the connection returns, QFlowLearn sends queued events in sequence. It removes an event after receipt confirmation.
The attempt authority and submit keys reject a state change from old tabs or repeated requests.
The tests cover offline work, submit failures, final responses, reloads, reopened tabs, worker errors, and old duplicate tabs. Each test produces an evidence record.
| Scenario | What the proof shows | Artifact | Status |
|---|---|---|---|
| Answer saved while offline | Browser goes offline, learner saves work, local pending count increases, network returns, receipt coverage advances. | Offline replay E2E trace | Ready |
| Submit request fails in transit | QFlowLearn sends the submit request again after a transmission failure. The attempt gets a durable submitted state after reconnection. | Degraded submit recovery E2E | Ready |
| Network fails before final response reaches server | The final response and submit request stay in the local queue. QFlowLearn sends them without a second learner action. | Response-save gap E2E | Ready |
| Duplicate tab tries to write old state | QFlowLearn sends the current state to the browser and makes the old tab read-only. | Duplicate-tab authority E2E | Ready |
| Queued submit survives reload | The learner clicks Finish Assessment while the attempt endpoint is unavailable, reloads, and the queued response plus submit request remain pending until replay. | Reload recovery E2E | Ready |
| Queued submit survives tab close and reopen | The learner clicks Finish Assessment while offline, closes the tab, reopens the attempt, and QFlowLearn replays the queued submit after reconnect. | Tab reopen recovery E2E | Ready |
| Transient worker errors retry cleanly | Queued response and submit events remain local through retryable server errors and replay after the service recovers. | Worker retry E2E | Ready |
QFlowLearn records each learner action before transmission, replays queued actions in sequence, and reconciles them with the authoritative attempt state.
The technical packet includes offline, submit, reload, tab reopen, old tab, and receipt tests.