Save failures
Every onboarding.save_failed emission
in the last window. The iOS app fires this from one place — when the
final Convex mutation that persists the user's answers rejects — so the
reason code is the bug-surfacing signal.
Reasons (1 event total)
| Reason | Events | Users | Share |
|---|---|---|---|
| generic | 1 | 1 | |
Recent failures
| When | User | Reason | App | Flow |
|---|---|---|---|---|
| 2026-09-04 08:23 UTC | 01a06b5b… | generic | 1.280 | 2026-05-foundation |
Notes
-
The reason code comes from
MutationFailureMessage.reasonCodeon the iOS side. New error categories show up as new reason strings — they don't need a dashboard change to surface. -
There is no
step_idon these events: the iOS app firesonboarding.save_failedfrom one site, the final Convex mutation that persists every answer at once. If we ever add step-level save retries, the event will gain astep_idproperty and this page will need a step picker.