Learn / Errors and failures

Who owns each failure

FailureOwnerWhat the reader seesWhat the application does
A read failed: the network, the server, a decodefoldkit-remoteFailed, with the value it showed kept as previousData.refresh(model, actives, { failed: true })
A field the server will not answerfoldkit-remote-server decides; Remote records itFailed with an Unavailable errorselect without it
A write failed or was refusedfoldkit-remote (client), the server (refusal)the optimistic change goes; Data.failedWrites lists it, with a typed refusalData.retry, Data.dismiss, or show the refusal
A write nothing answered (offline, a gateway's error page)foldkit-remotea failed write with _tag: 'Unreachable'; a durable one waits and is sent againData.retry, as the same write
A write the client can tell is refused (an invariant it breaks, a may that says no)foldkit-remote, judging the Entity's declarationsnothing shows and nothing is sent; Data.failedWrites lists it with the refusal the server would sendshow the refusal
Who is asking was refusedfoldkit-auth, foldkit-remote-serverFailed, or a failed write, that RemoteData.denied reads as Unauthenticated or Forbiddensign in again, or say no
A draft does not validatefoldkit-forman error beside the field; after a submit, the fields to fixnothing: the person edits
The server refuses one key of a formthe server, mapped by foldkit-crudthe key reads invalid with the server's wordsnothing: the person edits
A durable edit is rejectedfoldkit-sync (the journal decides)the edit reverts; status.rejected says whyexplain the revert
An exchange fails (offline)foldkit-syncnothing changes; pending growsnothing: it retries
A lazy chunk does not loadfoldkit-bundlewhat the Command's failure Message drawsthe next Resource.get tries again
A defect on the serverfoldkit-remote-serverInternal error, as a failed read or writeread the ServerDefect diagnostic
A fallback, a swallowed failure, a misused APIthe package that met itnothing, by designread the diagnostic; fix the cause