Granular permissions folders fail to sync

Hi, I’m evaluating Pro version of the Seafile. I’m sharing a library and want to set some folders to read-only online permission, so the user won’t sync those folders. But then Seafile client just stops syncing with error and doesn’t continue to sync other folders that have full permissions. Is there any workaround for this issue?


Hi Mikas, welcome to the Seafile Forum.

I have never heard of this problem. I will test it.

Please specify

  • which Seafile server
  • which client (Seafile Sync or Seafile Drive) and which version and
  • on which platform (Windows, Mac, Linux)

(It is always helpful to provide these kind of info right away.)

Sure, my bad.

Seafile server is running on Ubuntu 20.04 on docker, we have a mixed linux/windows client setup.
The issue I was having happened on Windows 10 machine with latest Seafile client installed.

Thanks for your respond.

Forgot to mention server version, it’s 7.1.7 pro

I confirm your problem:

On the left: In Firefox, I shared a library read-write with another user, but limit the folder permissions to “read-only online” for a folder in that shared library.
Middle: With the sync client, I sync the library to my computer. The moment I set the folder permission, the sync of that library throws an error.
On the right: The sync of the the entire library comes to a standstill. File dropped in the library are not synced any more. Hence, the error message in the sync client actually applies to the entire library, not only to the one folder.

What is the workaround? Separate the “read-only online” contents in a separate library. Apparently, the sync client cannot handle this conflict at this point.

This is something for the developers. @Jonathan: Could you have a look at this?

Thanks, Ralf @rdb, your efforts much appreciated.

Separate library definitely works, though it’s not retaining folder structure which is quite crucial to our pipeline.
I wonder if there is a way to make a script that mounts separate libraries to the correct folder structure, so I can deploy that to remote freelancers saving them from doing that manually?

I mean is there any API functionality that could be used for that? I can take care of the scripting part if I have a pointer or two :wink:

Due to technical limitation of the sync algorithm, the client cannot securely sync only part of the library. It needs to sync the entire library any way. So it’s not possible to support syncing a library if any part under it is set to “online-only” permission.

@Mikas Have a look at this:

Thanks for the pointer and clarifications Jonathan. Much appreciated!