How to sync your Logseq graph across devices

Thanks for your answer @Junyi_Du, I really appreciate it.
I run Logseq 0.8.18 on both an Apple M1 Max with macOS Ventura 13.2.1 and an iPhone with the last version of iOS.
Here are some scrennshots of the warning I get on Logseq launch on both devices.





It seems that errors come from some pipe ou € sign in the file names while I’m not sure about it. How could I change these file names without loosing the link in Logseq? Would it be safe to proceed manually this way?
Thanks for your help :wink:

Oh seems they are asset files. It’s not considered by the in-app conversion UI yet. You may have to remove the special characters (like | and : ) from the file manually :melting_face: sorry for the inconvenience
A general tip for naming files: Naming Dropbox files and folders - Dropbox Help

These are files that I’ve picked up here and there. I will clean up their names manually. But for the future, isn’t Logseq supposed to automatically clean up file names when you add them as an asset?

This tutorial doesn’t make any mention of the importance of encrypting your data when pushing it to remote repos, or cover steps to do that.

See this link for a discussion and brief how to in the Obsidian community: [Mobile] Sync with git on iOS for free using iSH - #17 by evergreensnow - Share & showcase - Obsidian Forum

Have brought this up in other threads here (Alternative way of git syncing on iOS using a-shell for free - #10 by smart.pen5644).

We need a good, easy, and secure way to sync their data across devices. Am willing to pay for Logseq sync once that works without issues.

2 Likes

@smart.pen5644 FYI Logseq Sync works well now and there is also Syncthing to sync files in general without a third-party server (it’s peer to peer):

https://syncthing.net/

May I know how this works with the iOS sync macOS approach? I’ve failed weirdly with this approach, as loges requires me to use only files in the logseq icon on iOS, which means I must first create logseq graph on iOS and then sync it to Mac. But then the Mac only gets the logseq parent folder, without syncing the child graph folder (let’s say my graph is name digital garden) it magically disappears in my Mac but appears in my iOS. Obsidian works perfectly well with iCloud and syncthing, but logseq sucks at both syncing methods. Is there a simple and reliable free way to sync just between apple devices?

how about implementing something like:
Operational Transformation

it’s what the cloud platforms like GD uses. Since you’re already using a db for storage?

if we could clearly define the operations that needs to be performed, it’s something that could be worked on.

It is somewhat simple - you need a full-featured syncthing client (I ended up using the paid version of Mobius Search) which allows you to sync to files in a folder other than the syncthing client’s folder (Mobius search premium does this). You can then declare your syncing folder inside the Logseq folder on your ios device. And since it’s in the logseq folder on your device, you can access it from Logseq.

Mind you I haven’t completely gotten my workflow together on this, but I got far enough that I could sync between my computer and logseq via syncthing. I encountered some merge-conflicts while testing and haven’t been able to look into what’s going on enough to be comfortable adopting it.

I don’t know if this is the most helpful, but my solution is this:

I have logseq on my phone, my PC, and a backup on my home server. I have syncthing running on all three of them to sync the files together, then I use a script (A slightly edited version of this one: Monitors a Syncthing-synced directory and tries to merge conflicting files (based on https://www.rafa.ee/articles/resolve-syncthing-conflicts-using-three-way-merge/). Probably adaptable for other directory types, but only tested with Logseq (works for me™️). · GitHub) to handle merge conflicts

1 Like