-
Notifications
You must be signed in to change notification settings - Fork 699
Open
Labels
Description
Overview
I'm using Nextcloud to host my image library, and icloudpd to sync icloud photos to Nextcloud. I do this by mounting the Nextcloud photo directory via WebDAV, so the various album/classifier plugins fire as they should when pictures are added.
Since ... some time ago, this has stopped working, because icloudpd uses .part as the suffix for temporary files. This suffix is hardcoded as a "forbidden suffix" in Nextcloud. I'm not sure if this changed in icloudpd or Nextcloud, but here we are..
Steps to Reproduce
- Mount a Nextcloud file share using WebDAV
- Use icloudpd to sync images to that folder
Expected Behavior
Syncing "just works"
Actual Behavior
$ sh icloudpd_run.sh
2025-12-09 02:53:56 DEBUG Downloading /export/home/ltning/Nextcloud/Photos/iCloud/2025/12/08/IMG_6731.JPG...
2025-12-09 02:53:58 ERROR IOError while writing file to /export/home/ltning/Nextcloud/Photos/iCloud/2025/12/08/IMG_6731.JPG. You might have run out of disk space, or the file might be too large for your OS. Skipping this file...
From the webdav mount daemon (rclone):
2025/12/09 02:53:58 ERROR : Photos/iCloud/2025/12/08/IMG_6731.JPG.part: WriteFileHandle.New Rcat failed: unchunked simple update failed: ".part" is a forbidden file type.: OCA\DAV\Connector\Sabre\Exception\InvalidPath: 400 Bad Request
Context
I modified download.py to use a different suffix, which has resolved the situation. Perhaps pick something more icloudpd-specific here? How about .icloudpd? :)