fix(upload-list): handle conflict actions#16819
Conversation
|
/backport to stable-33.1.0 |
| <string name="upload_local_storage_full">Local storage full</string> | ||
| <string name="upload_old_android">Encryption is only possible with >= Android 5.0</string> | ||
| <string name="upload_sync_conflict">Sync conflict, please resolve manually</string> | ||
| <string name="upload_sync_conflict_checking">Checking for upload conflicts…</string> |
There was a problem hiding this comment.
@kra-mo Please share your feedback regarding wording :)
|
APK file: https://github.com/nextcloud/android/actions/runs/24192202894/artifacts/6350914432 |
|
APK file: https://github.com/nextcloud/android/actions/runs/24240286482/artifacts/6369848734 |
pr is updated. please check shared flow.
8a3b895 to
92f1763
Compare
|
APK file: https://github.com/nextcloud/android/actions/runs/24447178861/artifacts/6447528665 |
|
APK file: https://github.com/nextcloud/android/actions/runs/24447963945/artifacts/6447832758 |
bf93cfa to
8b8a7ce
Compare
|
APK file: https://github.com/nextcloud/android/actions/runs/24452793311/artifacts/6449807124 |
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Co-authored-by: Laura Kramolis <git@kramo.page> Signed-off-by: Alper Öztürk <67455295+alperozturk96@users.noreply.github.com>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
8b8a7ce to
177d4c0
Compare
Signed-off-by: alperozturk96 <alper_ozturk@proton.me>
|
test-Unit test failed, but no output was generated. Maybe a preliminary stage failed. |
|
blue-Light-Screenshot test failed, but no output was generated. Maybe a preliminary stage failed. |
|
APK file: https://github.com/nextcloud/android/actions/runs/24455894175/artifacts/6451533794 |
Issue
On Android, we are showing conflicts based on the stored last upload result, but this is wrong because the server can change at any moment. As a result, we may display an incorrect status, and the user might try to open the conflict resolution dialog even though it’s unnecessary, perhaps the file no longer exists on the remote server or has been moved.
Flow
First check remote path from
OCUploadviaReadFileOperation-> if file not there remove conflict error and allow user to retry uploadIf file exists on remote and same -> if file not there remove conflict error and allow user to retry upload
If file exists and different -> show conflict resolve dialog
Changes
isSamelogic since its necessary for this PR as well.UploadListAdapterHelper,UploadListAdapterActionsince needed for handling conflicts and not bloating the adapter logic. Also we need to implement other actions as well in future.UploadFileOperationFactorysince huge constructor needs to be repeated for each fileDemo - if conflict exists
Screen_recording_20260409_150419.webm
Demo - if conflict not exists anymore (e.g. file moved or removed from server)
Screen_recording_20260409_150442.webm