I have just installed everything from scratch using Docker Compose:
Seafile Server Pro v12.0.14
Elasticsearch
Notification-server (confirmed working from the logs of both clients on macOS)
Most things work great. Notable but non-critical exceptions:
the new Seasearch doesn’t work but I understand it’s not 1.0; Elasticsearch works fine (but of course it’s very heavyweight at GBs of RAM even with no files!)
the new Seadoc only gives me Load doc content error, but I don’t have to use this feature.
The one important thing that I can’t figure out is the latest iOS app v3.0.4 (on the latest iOS 18.5): I have never been able to download any file (from any encrypted or non-encrypted library). The directory listings work but trying to open a file just gives Failed to download file 'XXX' for all files.
The workaround is to open mobile Safari and open files through the web.
Since this is a brand new installation, I imagine that this should be very easy to reproduce.
Thanks for the detailed debug info! Based on the network logs you provided, I’ve identified a likely cause.
The server returns a download URL that is already URL-encoded (e.g., spaces encoded as %20). However, the iOS app applies URL encoding again to this URL before making the download request, which corrupts the URL (e.g., %20 becomes %2520).
This explains why:
Web browser works (it uses the URL as-is)
iOS app fails (it double-encodes the URL)
Could you please test this to confirm?
Create a test file with a simple ASCII filename (no spaces or special characters), e.g., test123.txt
Upload it to your Seafile library
Try to download it via the iOS app
If test123.txt downloads successfully but files with spaces or special characters fail, this confirms the double-encoding issue.
Thanks for confirming! After a thorough review, I’ve confirmed that the server-side has already handled this and has been running stably for a long time, so it’s unlikely to cause issues in most cases. However, the client-side does need some reinforcement, and we will be optimizing this in the upcoming version.