Allow setting a delay before auto upload / auto upload on-device deletion
Actual behaviour
-Tell us what happens
Set auto upload to delete after upload. Take a photo. Go to show it to someone in the on-device gallery, and it's gone. Go to edit it on device, it's gone. Go to email/text it, it's gone.
Expected behaviour
-Tell us what should happen
It's very convenient to have photos auto uploaded, and deleting them after successful upload helps manage device space utilization. But the immediacy of the upload/delete causes usage problems.
Ideally, should be able to set a delay between the photo being created and the upload/delete (i.e., file age greater than x minutes). Setting the delay to zero would work as it does now. Setting it to greater than zero would only consider photos/videos that we last modified per the setting.
Steps to reproduce
- Take a photo
- Open the gallery
- Where's the photo?
Environment data
Android version: 8.0
Device model: OnePlus 5
Stock or customized system: Stock
Nextcloud app version: 3.0.3
Nextcloud server version: 13.0.0
I would prefer a delay too. The current partial work-around is to set 'Only upload when charging'.
@timmersr Rather than adding a "me too" comment, try adding a "thumbs up" reaction to the original post. This way the developers dob't get overwhelmed with comments that don't further define the problem/solution, and they can see how many people want the feature, right in a number on the original post.
By the way, we seem to have quite a few requests for "delay before uploading/deleting" functionality. Just from I quick search, I see: https://github.com/nextcloud/android/issues/1167 https://github.com/nextcloud/android/issues/1445 https://github.com/nextcloud/android/issues/1803 https://github.com/nextcloud/android/issues/1899
...in addition to this issue. The most common usecase between these issues seems to be wanting to conserve space on the device, but still to be able to see and share recently taken photos.
"seems to be wanting to conserve space on the device, but still to be able to see and share recently taken photos." +1 Yes!
I would like to add another point of view on the topic of adding a customizable delay to the auto upload feature.
When taking some photos with the camera there will be some bad/unsharp pics, from time to time. Personally I delete those pics right away on my phone which saves me sorting and cleanup time later, but with the current nonexisting delay they will get uploaded immediately.
This will force you to do the cleanup of bad photos once again if you work with your Nextcloud photos.
I agree with @ape69 At the moment i´m stuck between "upload while charging" and "direct", because the upload starts too late for me when i choose "while charging" and using the direct upload, i get a ton of bad pictures in my nextcloud-folder.
A configurable delay, e.g. "wait 30s or 60s before uploading", whilch can be activated just like the option "only while charging", would be great!
+1 A period of 24 hours allows the photos to be printed, before they are uploaded
I, want to add my name to the list of users that want this. would be great for when I just want to snap a photo of a serial number or something just to bring back to my desk and fill it in, then delete the image. Not every photo needs to be uploaded and eat space, and clutter my drive.
I also vote for this as a critical enhancement. My wife is a shutterbug, and is always running out of storage on her phone. Nextcloud has solved the backup problem to get off of Google Photos, but the instant deletion annoys her as she wants to refer to recent photos on her phone to send later that evening, or even a few days later.
If I had spare time, I'd be willing to learn how to build the Android client and do the feature myself, if need be.
I'm just a random interloper, with little to no experience in Kotlin, but it looks to me like one could just add a file age criterion to the call here:
https://github.com/nextcloud/android/blob/7c7bf471ff18430ede7c30cab959a0b065ecfc57/app/src/main/java/com/owncloud/android/files/services/FileUploader.java#L921
... to let it filter what to upload based on file age. It looks like this call passes in all the other upload setting criteria, like whether to do so only on wifi, nameCollisionPolicy, etc.
(Of course, the UI would also need to be written to add the setting for this to the Upload Settings area but that should also be relatively easy for someone familiar with Android app development.)
I would be willing to sponsor this feature - being able to set the delay to, let's say, 30 days would solve a lot of storage issues my daughters have.
I would be willing to sponsor this feature to - i also have daughters with the same problem!
If they have several gigabytes of pictures on their phone, the synchronization tends to become error-prone and at some point the device is just so cluttered, the storage space becomes scarce and it becomes really time-consuming to clean up the device again. As a result, my daughters simply switch Google Images synchronization back on - data sovereignty doesn't matter for them if the device makes problems.
+1 in case that my thumbs up is not emphasizing this enough ;)
Here is the information about the behavior Google photos is using:
Delete backed-up photos automatically On Files by Google, you can automatically delete backed-up photos to free up space.
When you turn on Smart Storage, photos backed up in Google Photos are deleted automatically:
If photos are saved for 60 days If your device’s storage is less than 25%
Since space is significantly more on the server side than device side, the delay seems more important to file delete dates (delete older than 3 month, 6 month, 12 month etc) versus delaying file uploads (and then immediate deletion). Both features would be useful, but in the immediate future freeing up space and backup of photos seems to be more important.
@DcryptedCA you're right. But the upload may fail (due to several reasons) and then the file is not removed from the phone.
If you simply remove files older than a given time instead of removing files successfully uploaded, you may end up loosing files whose upload failed unless you implement an additional mechanism to keep track of which files can actually be removed.
...which would be great! But harder to implement than just delaying the deletion.
I would already be happy if the behaviour of the app regarding the auto upload would be more consistant. I have the idea that this is quite random. My question is: what triggers the auto upload activity in the app? I take pictures, nothing happends. I cycle Wifi (off and on), nothing happens. I cycle auto upload setting for the folder (off and on again), nothing happens. I wait a random time, I see notifications about files being synchronised. Please help.
Somewhere in Nextcloud HQ there is a a cat watched by cameras. Whenever the cat yawns, the app is signalled to trigger auto upload. It should be obvious that during the time the cat sleeps (roughly 80% of the time), auto uploads cannot trigger.
Or something like that. Certainly seems random enough to be the cat.