vrtmrz / obsidian-livesync

MIT License
4.69k stars 151 forks source link

Customisation Sync #459

Open andymarden opened 3 months ago

andymarden commented 3 months ago

Just upgraded to 0.23.0 - I have multiple devices all syncing through self-hosted CouchDB.

When A sync occurs initially, it says the values are different and we must make them the same. Er - how? That's a fascinating observation.

On the desktop client, this seems to appear sometimes with a table of which settings to use but on mobile (and sometimes on desktop) it says just that without any clue as to how to achieve this.

I am guessing it has to do with the Customisation sync which is incredibly unintuitive - it lisst a whole lood of settings with a choice of hyphen or another devices name against each (sometimes). And has buttons like "Select all Shiny" - what on earth does that mean? I am guessing that this is all about selecting a master device for each time of setting and other devices will be synced with that but, good grief, some explanation would be good!

You know what would be ideal (this is especially difficult when I have to get others, like my wife, to use this and it requires a lot of technical attention which I am barely able to understand):

When I set up a vault with shlc installed, I can simply say "every other copy of this remote is synced with everything in the following way in with these settings. Then, as long as shlc is installed on the other device and thE remote is connected to, everything works as it should without anyone having to think about it again.

In the meantime, some better use of terminology and explanation within the app would be good.

BTW - I love this plugin and it makes Obsidian usable - for me and my family but there is still a way to go to make it "just work"

slimjet4u commented 3 months ago

The Customization Sync is unusable. Yes you are right, "Select all Shiny" sounds like it selects all the Shiny settings. But sometimes it doesn't so you cannot entirely trust it. You see I am just guessing it, because there are NO DOCUMENTATIONS. Dev has to come up with better terminologies and descriptions.

There are terminologies that will confuse you "Hidden File Sync", "Plugin Sync", "Custom Sync". "Merge", "Fetch", "Overwrite", "Replicate".

Do not make that mistake of allowing Customization sync to family members. Just don't. I tried it and its nightmare. I have wasted 100s of hours trying to make it work but failed. Customization sync is in its shitty stage as its in beta. Even if you succeed it to make it work. Then, one wrong update and will corrupt everything. Have seen this issue in many updates.

of what I understand, Customization Sync should automatically update devices, users shouldn't have to manually "Select all Shiny" whatever that does. 🤣

tbh, its a nightmare project to follow, avoid Customization Sync its a shitty feature

andymarden commented 3 months ago

Well I currently have the message about things being to be aligned. This aren't watching between my wife's device and mine and that's the only clue.

I have said this before - features in some open source products seem to think that you are a developer in the software and understand all the nuances is the technology to give maximum control. That HAS to be accompanied by an ability to use the sideways on a guided and simple manner.

If I can have two clients that are not syncing through Couchdb, it should be possible to have a permanent meeting saying "this client won't sync at the moment because of X - do you want to fix this?"

andymarden commented 3 months ago

It helps to articulate things in a user scenario story-based manner. I'll start: "I want to share and sync an obsidian vault with non-technical members of my family in semi-real time on multiple devices." "I want the configuration of this to be done on one master device so that all other devices and users inherit that and it is, in principle, zero maintenance on the other devices" "I want it to warn if there is a problem in a user-recognisable way, and provide directed and simple ways to fix the issue that a non-technical user can understand and action"