ios
ios copied to clipboard
Exclude reduced size media from automatic uploads
Steps to reproduce
During the time a friend of mine is using my Nextcloud instance for photo storage the following problem has been seen multiple times.
When a user has multiple iOS devices which are syncing the camera roll it happens that the media files are uploaded from all devices to the Nextcloud server. This is not a problem until here even though one might question why the media is uploaded from each device.
If at least one of them is set to store media in reduced size it happens, that a former uploaded file in original size then is overwritten with the reduced size version in the Nextcloud. This is anoying and leads to loss of picture quality as older versions (in this case the original files) are purged after some time.
I'm not sure if the problem can be solved without the Nextcloud server being involved but as sure it can't be solved without the iOS app.
While it might be a solution to simply disable photo roll syncing this is not really a way to go for a normal user.
I'm not an iOS developer nor user but I think of a solution like this:
- I assume that the camera roll must have a kind of metadata flag indicating if the media file is an original or reduced size file.
- If so, this metadata flag must be included into metadata send to the Nextcloud server.
- If a metadata flag as described exists, the Nextcloud server must not update/overwrite an existing file when a reduced size file is uploaded (it should check this with the metadata flag).
- If the uploaded file is a reduced size file and is not existing so far on the Nextcloud server, it should be stored.
- If the file is uploaded later in original size, the former reduced size version shall be replaced.
Is this possible?
Expected behaviour
Original size media files shall not be overwritten with reduced size versions.
Actual behaviour
Original size media files are overwritten with reduced size versions.
iOS version: all
Nextcloud iOS app version: current
Server operating system: Debian
Web server: nginx
Database: Postgres
Nextcloud version: Nextcloud commuity docker image, Nextcloud 28