android
android copied to clipboard
Auto upload endless loop
⚠️ Before posting ⚠️
- [X] This is a bug, not a question or an enhancement.
- [X] I've searched for similar issues and didn't find a duplicate.
- [X] I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
- [X] I agree to follow Nextcloud's Code of Conduct.
Steps to reproduce
Install latest version of Nextcloud Android (3.20.3) Enable auto upload with existing files
Expected behaviour
Auto upload finishes. In the event of a crash auto upload resumes from last file rather than restarting from scratch.
Actual behaviour
As described by others, the app crashes prior to finishing auto upload. The behaviour that does not seem to be described by others is that every time Nextcloud reattempts auto upload it restarts the entire queue and checks each file one by one, so the upload pending list keeps resetting. Already uploaded files are not reuploaded as far as I can tell but constantly getting rechecked over and over against the server version instead of just keeping a local log of successful uploads.
If this constant restarting behaviour was fixed then the crashing wouldn't be a big deal as Nextcloud would eventually finish uploading and would then become reasonably stable.
Android version
12
Device brand and model
Samsung Note 20 Ultra
Stock or custom OS?
Stock
Nextcloud android app version
3.20.3
Nextcloud server version
24.0.1.1
Using a reverse proxy?
Yes
Android logs
No response
Server error logs
No response
Additional information
Don't have adb set up or available
This does not only happen when it crashes. My impression is that there is a "retry timer" for failed uploads, e.g. because they cause a conflict. So if one has 1000 pictures to upload which cause a conflict each picture is tried, causes an error and is thus put into the "failed uploads section". If the 1000 pictures are not finished before the "retry timer" kicks in, they are queued again for upload. This causes an endless loop.
Expected behaviour: do not retry anything while there is still something in the upload queue. Start the "retry timer" only after the active queue is empty.