⚠️Save conflict (409 / `__v`)
Canonical page for optimistic-lock failures when two builder sessions save the same app.
What this is
Each app document has a version field (__v). Publish and autosave send that version. If another tab, collaborator, or publish already wrote a newer version, the API returns HTTP 409 Conflict (UPDATE_APP_FAILED in error tracking). The product shows a conflict UI. This is expected, not a data-loss bug.
Bugsnag 409s are noise unless volume spikes or a customer cannot save at all.
When you see it
Two browser tabs on the same app
You and a collaborator editing together
Publish in one tab while autosave runs in another
A stale tab left open overnight
Fix it
Leave one builder tab.
In the tab you want to keep, reload when the conflict UI asks you to. Accept the server copy if you are not sure which is newer.
Re-apply only the edits you still need.
Publish once.
Do not keep clicking Publish through the 409. You will lose the race again.
What users see
Nothing. 409 is a builder event. The last successful publish is still live.
Example
You publish from tab A while tab B autosaves a filter change. Tab B shows conflict. Close tab B, reload tab A, redo the filter, publish once.
Related
Publish & share. Save failed / field missing (different error: 400, not 409).