Seedvault not backing up all App userdata
I want to cue this info early so implementers, testers and users are aware of the current limitations of Seedvault (in e-0.18) for cloud-backup, device2device transfer and possible changes to come
Summary
using Seedvault for Backup, not all App userdata is backed up due to Apps choosing to opt out of backup in their manifest. Android makes a difference if cloud-backup or device2device (local) backup targets are used in the future.
The problem
Steps to reproduce
Create local Seedvault backup, then factory reset. Restore backup
What is the current behavior?
Some Apps userdata and settings are not restored
What is the expected correct behavior?
As in a true Backup, all Apps userdata and its settings restored
Technical informations
Apps that decline the allowBackup in their manifest won’t have their userdata backed up currently (though their .apks).
Seedvault discusses this at "Add an option to disregard the allowBackup option for Android 11" #165 and the adjacent "App Doesn't Allow Backup" #81. It became clear that for local backup, the option will ignored from Apps targeting the Android 12 API onward.
Specifying android:allowBackup="false" does disable backups to Google Drive, but doesn’t disable D2D transfers for the app.
There can be valid reasons to disallow (own backup and sync mechanisms, privacy), but user should have the decision. More explanation see the FAQ.
Apps that I use and decline userdata backup are plenty: Telegram, Signal, DeltaChat, Firefox, DAVx5 (/e/'s AccountManager). It can help in a fast restore to not needing resetup accounts and credentials.
This is not a exclusive /e/ issue, but all custom roms using Seedvault.
Solutions
Allow full App userdata backups device2device. If feasible backport change to ignore allowBackup option to lower Android Versions for a migration path changing releases from Pie to Q to R.
/related #1678 (closed)