Description of the issue
Update announcement in app might lead incautious users to make a mistake
Steps to reproduce
Hi! First, many thanks to Catfriend1 for the excellent work with Syncthing-Fork. I didn’t know where to post this, but today when I opened Synthing-Fork I saw the announcement encouraging me to upgrade it. Fortunately, and as recommended in the announcement, I backed up my data before proceeding, but I lost 20GB due to a blind spot. I wanted to share with everyone what this blind spot is so other users don’t make the same mistake. But feel free to ignore/delete this post if it’s not useful.
In certain Android versions, it’s impossible for Syncthing-Fork to save data in an external folder. The workaround is to use the Android app folder in the external storage, because this one can be written by the app itself.
The problem is that when one uninstalls the app, this folder gets deleted. Thus, if one forgets about this app subfolder, one will lose all data there that wasn’t backed up when uninstalling the app during the upgrade process. This is more prone to happening if user has many shared folders also in internal storage (thus forgetting about that external folder).
Steps to reproduce mistake:
- user saves data in
external storage/android/media|data/com.github.catfriend1.syncthingandroid/myRWfolderto allow Syncthing-Fork to write data there, in the external storage SD card. - user follows update steps, but doesn’t do a backup as recommended and forgets that there was a folder inside
/storage/[ext]/android/.../com.github.catfriend1.syncthingandroid. In other words:- user exports configuration.
- user uninstalls Syncthing-Fork. => this will delete “myRWfolder” from step 1
- user reinstalls Syncthing-Fork.
- user imports configuration.
- if user didn’t do due diligence and backed up data, user sits down and cries asking God for mercy.
Possible mitigation to user’s folly:
- alert users in the upgrade announcement that if there are folders in
/storage/sd card/android/.../com.github.catfriend1.syncthingandroidthose will be deleted, so they might want to check their folders paths first
(the announcement currently correctly points out there were no data loss reports due to migration code, however user folly is impervious to that)
App version
F-Droid
App install source - see wiki for details on release channels
GitHub or F-Droid release build
Android version
Android 10 QKQ1, MIUI Global 12.0.3
ROM vendor
Xiaomi
Device manufacturer
Xiaomi