Feature Request: Enable Filesystem Sync on Mobile (Android/iOS)

Now that Joplin 3.5.11 supports filesystem sync on desktop — including compatibility with tools like Syncthing — it would be extremely useful to enable the same sync target on the mobile app.

now the option is not available

File system sync is not a new feature and has been supported on mobile for a long time. The 3.5 release just fixes a longstanding issue with file system sync… getting out of sync.

If you’re using Android though, to be honest I don’t recommend using file system sync on mobile, because it is terribly slow due to SAF limitations. A faster way to sync to other sync services on Android is to serve a connection to an alternative service over a local WebDAV server, and connect Joplin to that server (it will require running the local server constantly as a background service).

Some ways to do this would be for example, using the Roundsync app which supports connections to various cloud providers served over WebDAV, or if you want to use Synthing, you can use the Termux app to run a local WebDAV server pointing to a directory within the Termux application scope, which is also synced with Syncthing running on Termux.

2 Likes

Thanks for the reply. I originally got excited about using Filesystem Syncthing with Joplin on iOS because I wanted to avoid slow encryption and slow sync through services like Dropbox.

I now understand that iOS can support filesystem‑based sync, but the option is hidden in Joplin because the developers believe WebDAV is the better and more reliable approach on mobile. So it looks like I should stick with Dropbox, WebDAV, or a Cloudflare bucket for now.

It’s funny how slow encrypted sync still is. You’d expect modern devices to use their built‑in CPU encryption features so the performance cost would be almost zero. And since Syncthing is already peer‑to‑peer and encrypted in transit, i hoped we shouldn’t need extra layers of encryption on top of that.

I don’t use the iOS app, but I think if file system sync is disabled, it is due to an inheritent limitation of what iOS apps are allowed to do (they have stricter security policies than Android), or its just not possible with React Native on iOS.

Not sure why you’re finding E2E encryption on iOS slow to be honest. It’s pretty quick on Android