The ability to backup to external media was removed from signal at some point, which makes moving the data from one device to another hard or impossible. 80% of the internal storage space is being used by signal itself in my case, so I cannot backup and/or move the storage to another device.
What's weird is that issue #8987 mentions that the reason for this removal is that it's hard to remove previous backups when signal is uninstalled.
I'd argue that if you intentionally select an external SD card as a backup location, signal should not even attempt to remove it's backups during app removal (why would it do so?!). I rotate SD cards for backup purposes, I'd would be very surprised if a backup would be removed on app removal.
Please re-introduce backups to external SD media.
A warning that external backups will not be auto-removed upon uninstallation is a superior alternative to the inability to choose a backup location.
I'd argue that if you intentionally select an external SD card as a backup location, signal should not even attempt to remove it's backups during app removal (why would it do so?!).
This is not something that Signal does but a function of Android. Since Android 4 4 apps can only write on a specific area on the sd card which gets emoved during uninstall. Android. Of course there are several solutions to fix that but they usually require root (to remove the restrictions Android has laid on sd cards and apps can write anywhere on the card again, or to link internal folders to the sd card with an app like Foldermount).
An alternative is to run a modified Signal client that backups to the removable sd card, or lets the user choose to do it.
I don't know much about the internal permission model android is using, but I've seen several apps that prompt for an arbitrary folder to read/write to (opencamera for example). I guess the user-picking gives rights to the app to write to that folder?
Definitely less cumbersome than using something like foldermount.
This isn't a bug and will be closed for sure. Personally I think there should be an option to send the backup to some cloud storage of choice (Dropbox, Drive, OneDrive, etc) for the exact problem you're having (not enough storage or difficult to transfer). Not by default of course, but by choice.
I believe there are threads discussing this on the Signal Forums (where feature requests are supposed to be posted).
Sigh. This is my gripe with anything mobile.
Data right there on the phone? Need a 3rd-party service or app just to get it _off_ the phone.
Choose a backup location? Sorry, too hard for the user.
I know this comes off as polemic, but come on, isn't the intended function of a backup to save data somewhere else for recovery? This is the main reason I've filed this as a bug report. This functionality used to exist.
or to link internal folders to the sd card with an app like Foldermount).
I tried this, because it felt the least amount of effort, but it doesn't work as you would expect.
The issue is that signal uses /Android/data/org.thoughtcrime.securesms/cache while writing the temporary file, which is then moved to /Signal at the end. This only works if they're on the same logical filesystem, but since you need two binds (assuming a full rootfs cache _also_ needs to be on the sd), a move will fail between the two.
So what I did was to move the file during a write, so that the unlink doesn't remove it when renameTo() eventually fails so I could grab a complete copy.
And all of this assumes a rooted phone, adb, and some developer experience.
Assuming "backup to External storage" will actually ever do what the message implies, the temporary file writing location needs to be on target (sd) fs as well in order to be useful for size constraints.
Then map the directory one lever earlier, at /Android/data/org.thoughtcrime.securesms
It won't work. Signal moves it to /Signal/Backups.
OK then your only other option is to install a modified client that does allow to backup on an external sd card. Because that one will have another signature you'd also need to root your device without triggering a wipe to install it on top of the existing one, because otherwise you'd need a backup to switch and that is a chicken - egg problem.
But I agree with @Tursko that this would be better discussed on the user forum because this is beyond a bug report.
On Thu, Oct 10 2019, johanw666 wrote:
But I agree with @Tursko that this would be better discussed on the
user forum because this is beyond a bug report.
For me it's a bug as long the backup toggle reads:
"Backup chats to external storage"
^^^^^^^^
That's tricky on Android.
When Android started, phones did not have much storage and microsd cards were used to store any data. Later, they got built-in memory that was usable for this. Although built-in, it is sometimes still called external storage. Most phones can add an sd card to that, that is called removable storage.
To make things even easier, on some low-end devices with little memory you can swap the logical mapping of the internal and removable storage.
As a ROM Developer i really would appreciate alternative backup options to the cloud or external because the internal storage can be jacked up by alternative encryption which renders the Internal storage useless.
For larger backups, there might not be enough space on external storage either. Having removable storage as an option would also help in this scenario.
Alternatively for the scenario of transferring all of the data to a new device, could we use the same type of transfer that is used to link to Signal Desktop? In the case where the user has access to both the new and the old phone, The Signal account can be unlinked from the old phone with the data intact, linked to the new phone, then the new phone sets up a connection to the old to transfer the data.
I can't find the specific issue where this was discussed, but basically there's no reasonable way for us to put a backup on external storage and also have it survive when you uninstall Signal. However, with the storage changes we have to make to support Android 10, I imagine we'll probably be moving to a picker-style type thing, so look out for that. Otherwise, please move feature requests/discussions to the forum :+1:
I'm totally fine with this, but why close the issue?
I'd love to be able to track this.
Most helpful comment
I can't find the specific issue where this was discussed, but basically there's no reasonable way for us to put a backup on external storage and also have it survive when you uninstall Signal. However, with the storage changes we have to make to support Android 10, I imagine we'll probably be moving to a picker-style type thing, so look out for that. Otherwise, please move feature requests/discussions to the forum :+1: