Kind of an update from my previous post. The Proton Drive app on Android utterly failed to back up my photos and videos. I've now got a glimpse to a possible reason why.
I realized that it was doing fine with photos and small videos but was struggling with large files, so as a temporary measure, I moved all the files bigger than 1GB to a different folder on my phone. I then had to wipe the app's data and log back in because it was just hanging or looping repeatedly otherwise. After logging back in, it successfully backed up all the remaining files over many hours. At least, I think it did - I'd have to go one by one to find out and I'm really not feeling too confident about it. But if it didn't get all of them, it got almost all of them.
Then I added back in the files that were between 1GB and 2GB. It managed this fine. The app's data usage grew to about 4GB at some points but that is fine as it needs to create encrypted copies of the file it's backing up and it might be doing a few files in parallel. At the end, the data usage went back down to <1GB.
Then I tried to add back the files between 2GB and 5GB. There were four of them: 2.25GB, 2.50GB, 3.86GB, and 4.12GB. Total size: approximately 12.73 GB. After setting the app running, its data usage grew to upwards of 60GB and I had to halt it. As before, there was no way to get the app to behave again after that besides wiping data and logging back in again. The "clear local cache" button in the app's settings did seemingly nothing. I moved the big files back to the temporary folder.
Next I tried to move the files one at a time, starting from the smallest one. So one 2.25 GB video file. Turns out my phone shows base-10-based file sizes, so it's actually 2.091 GiB. The app misbehaves a little bit in vague ways that I didn't quite comprehend and can't explain, e.g. it got stuck at "3 files remaining" even though I only added 1 file, so I needed to wipe its memory again, but eventually it uploaded the dang file. I don't remember exactly how much data it used in the process, but the important thing is it worked. And then I looked at the file through the Proton Drive web interface and checked its details, where I saw what's in the picture:
Size: 2.09 GB
Original size: -2049486257 bytes
The original file size is stored as a 32-bit signed integer! Is this only in the web frontend, or is it also like that behind the scenes? What happens when the file size exceeds 4GiB? Does this only affect photos/videos or does it happens for the general-purpose Drive as well? Is this why big files have been failing for me?
I'll keep you guys updated... And I hope these bugs are fixed. I still believe in Proton.
Edit: the four files, added one by one, uploaded successfully. Now moving on to a 6.10GB file. This is bigger in bytes than 32 bits can represent. Wish me luck.
Edit next day: the 6.10 GB file failed to upload. It's perpetually stuck at "1 item left" after giving it more than enough time overnight. The app is also taking up some 15GB of space - much more than it should. While uploading previous files, it gree to marginally larger than the file being uploaded. Now it's well over 2x that. So my conclusion is that Proton Drive for Android can't back up videos larger than 4GB, and fails catastrophically when attempting to do so.
I'm already in contact with Proton support. I'm not sure I've quit convinced them of the severity of this bug yet (or multiple bugs) but they acknowledged that there are issues and suggested that the current beta version 2.4.0 of the app has mitigations regarding storage usage, and they gave me instructions for trying to access it.
By the way they have a feedback system https://protonmail.uservoice.com/forums/932839-proton-drive