Automatic rollback
If a patch stops your app from starting, the device removes it by itself. No network connection and nothing from you is needed.
What happens
After a new patch is applied, OverPush watches whether the app starts up properly. If it doesn't:
- the next time the app opens, it runs the code that shipped with the release,
- the time after that, the patch is tried once more,
- if it fails again, the device removes it, won't download it again, and goes back to the last patch that worked (or the shipped code if there is none).
The second try means a one-off crash, one that has nothing to do with the patch, doesn't remove a good patch. On Android 11 and later, only a real crash counts: the system closing the app, or the app closing itself, doesn't. A user closing the app straight after opening it doesn't count either.
The second try needs app package 1.2.13 or later. Builds with an earlier package remove a patch after its first failed start.
What it catches
- Crashes on startup
- Crashes on the first screen
- A patch that leaves the app stuck while it's opening
What it doesn't catch
Rollback only covers startup. A patch that starts fine but has a bug three screens in, like a wrong total or a button that does nothing, looks healthy to the device. For those:
- Use a staged rollout so only a few users see the bug.
- Watch errors in the dashboard's device list.
- Revoke the patch, or roll back to an earlier one.
Seeing rollbacks
Devices report when they roll back a patch. The dashboard shows it on the patch and on each device, with the error the device recorded.
The failed count is the devices failing right now, and it is the same number everywhere in the dashboard. A device whose second try worked, or that moved on to a newer patch, leaves the count. A patch that keeps failing on one device counts once.