Upload loop after modifying a file from ios filesystem
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 2.5k
- Forks
- 1k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 13
Description
Steps to reproduce
- Open a file synced to Nextcloud from an app on ios using the ios filebrowser. File is downloaded like it should.
- Edit and save the file.
- The file is stuck in an endless loop of uploading until I switch folder.
Expected behaviour
Uploading the file once.
Actual behaviour
The file is uploaded multiple times, until I navigate to other folders synced to Nextcloud.
Logs
After modifying a single picture on my iPad, this will go on until I change to another folder:
2024-06-21 11:30:35 Network request started: GET <REDACTED/index.php/core/preview.png?file=InstantUpload/Camera/2024REDACTED.jpg&x=2048.0&y=2048.0&a=1&mode=cover>
2024-06-21 11:30:36 Network request started: GET REDACTED/remote.php/dav/files/REDACTED/InstantUpload/Camera/2024REDACTED.jpg>
2024-06-21 11:30:36 Network request started: GET <REDACTED/index.php/core/preview.png?file=InstantUpload/Camera/2024REDACTED.jpg&x=2048.0&y=2048.0&a=1&mode=cover>
2024-06-21 11:30:37 Network request started: GET <REDACTED/remote.php/dav/files/REDACTED/InstantUpload/Camera/2024REDACTED.jpg>
2024-06-21 11:30:38 Network request started: GET <REDACTED/index.php/core/preview.png?file=InstantUpload/Camera/2024REDACTED.jpg&x=2048.0&y=2048.0&a=1&mode=cover>
2024-06-21 11:30:39 Network request started: GET <REDACTED/remote.php/dav/files/REDACTED/InstantUpload/Camera/2024REDACTED.jpg>
2024-06-21 11:30:39 Network request started: GET <REDACTED/index.php/core/preview.png?file=InstantUpload/Camera/2024REDACTED.jpg&x=2048.0&y=2048.0&a=1&mode=cover>
2024-06-21 11:30:40 Network request started: GET <REDACTED/remote.php/dav/files/REDACTED/InstantUpload/Camera/2024REDACTED.jpg>
2024-06-21 11:30:41 Network request started: GET <REDACTED/index.php/core/preview.png?file=InstantUpload/Camera/2024REDACTED.jpg&x=2048.0&y=2048.0&a=1&mode=cover>
2024-06-21 11:30:42 Network request started: GET <REDACTED/remote.php/dav/files/REDACTED/InstantUpload/Camera/2024REDACTED.jpg>
On the server side, I see this error:
FileLocked "InstantUpload/Camera/2024REDACTED.jpg" is locked, existing lock on file: 2 shared locks
And also a bunch of:
Exception HMAC does not match.
Could not decrypt or decode encrypted session data
This last error is related to the ios client, looking at the raw entry. The file is still uploaded to the server.
Reasoning or why should it be changed/implemented?
It's a bug. Working great under Windows and Android.
Environment data
iPadOS 17.5.1:
Nextcloud Hydrogen for iOS 5.3.2.0
Server operating system:
Apache
MariaDB:
PHP version: using the latest official Docker image
Server 29.0.1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the loop through the iOS filebrowser using the listed iPadOS, Hydrogen, and server versions, then trace the file upload and sync flow involved after a local edit. The fix is done when an edited file uploads once and navigation is no longer required to stop repeated requests; verify against the reported file-lock behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100