Piwigo / Piwigo-Mobile

Piwigo iOS Mobile Application
MIT License
100 stars 29 forks source link

Cycle through uploads instead of stopping #525

Closed mybuntu-git2 closed 1 year ago

mybuntu-git2 commented 1 year ago

Due to unrelated issues, the server sometimes fails to generate a thumbnail and the whole upload fails. On one hand I propose to workaround all this and send the posters/thumbnails directly from iOS, as this seems more reliable than waiting for a set of remote processes to complete. But the main issue is, if 5-6 uploads fails, all the others will remain stuck. I suggest to cycle through all uploads at least once and not stopping at the sixth.

EddyLB commented 1 year ago

It is not recommended to cycle through all uploads because this may use a huge amount of disk space on the device and create issues. An alternative could be to fix a limit in disk space usage (knowing that the app cannot know how much space is available). Please note that the app tries to resume failed uploads when the user launches it or in the background if the 'Background App Refresh" option is enabled in settings (triggered by iOS or a shortcut created by the user).

mybuntu-git2 commented 1 year ago

hi, I understand, the problem is that the app first tries to resume failed uploads. my point is the app should try to resume all pending uploads and then the failed uploads at the end. this would allow to complete an upload cycle, for example if say I have 100 photos I upload 5 then another 5 fail, upload stops. next time the sort order of the uploads should put the failed ones at the bottom. this also allows to "postpone" the upload of files that fail because of latency issues. maybe also another optimisation could be to try to upload first the smallest files when not on wifi, basically trying to "get as much as possible done with low latency". so something like, sort by size, adding a size penalty of "very big number" to previously failed uploads when sorting.

EddyLB commented 1 year ago

An upload encountering a network issue is resumable but an issue encountered while preparing the file to be uploaded is not resumable (rare case). So the app sorts issues with the aim to resume those which are resumable. May be, sometimes, the app does not "sort" issues properly or does not resume uploads as it should. Please report here which blocking errors were reported so that we can look into the issue.

mybuntu-git2 commented 1 year ago

Hi, closing as I fixed manually the queue by using another upload tool so cannot reproduce. However I really suggest to put previously failed uploads at the bottom of the upload queue. It should automatically cover all scenarios as it is simply based on returncodes, and can coexist with other queuing strategies for further speedup.