Syncproblem: Several Windows<>Android

Hm, I know what I want :wink: , meaning I know which devices should sync with which:

All with all = all 4 devices with all 4 devices.

These 4 devices are: Desktop, Surface (both Windows), Tablet, Smartphone (both Android).

I just don’t know, how I can reach that goal- without causing trouble or chaos.

There are no problems with sharing many to many.

Ok, that is fine. But still I do not know, how to configure that.

Like I wrote, now with the example Smartphone, like it is at this moment:

It is synced with the Surface.

In the ignore pattern I have:

!/Obsidian-Notizen/.obsidian/
!/Obsidian-Notizen/.trash Handy/
!/Obsidian-Notizen/ALLES NEU HIER!/
!/Obsidian-Notizen/Handy/
!/Obsidian-Notizen/Handy+Tablet/
!/Obsidian-Notizen/Vorlagen/

So, how do I sync the Smartphone now with the tablet?

The tablet is synced with the Surface, with the ignore pattern:

!/Obsidian-Notizen/.obsidian/
!/Obsidian-Notizen/.trash Tablet/
!/Obsidian-Notizen/ALLES NEU HIER!/
!/Obsidian-Notizen/Handy+Tablet/
!/Obsidian-Notizen/Obsidian-Intern/
!/Obsidian-Notizen/Tablet/
!/Obsidian-Notizen/Vorlagen/

So, at the moment it is like this:

Smartphone<>Surface, Tablet<>Surface.

How do I reach it like this:

Smartphone<>Surface, Smartphone<>Desktop, Smartphone<>Tablet, Tablet<>Surface, Tablet<>Desktop, Surface<>Desktop.

Ummm
 It is not clear to me what the problem is, since you already know how to configure a Folder and share it:

Anyway: To share a folder you click the Folder, click Edit, select tab Sharing, then check the checkbox for all devices you want to share with. Then you need to accept the sharing request on the other devices(s).

And sharing has nothing to do with ignore rules.

Maybe this is what you want?

No, sorry, this Introducer subject is not what I am trying to manage.

I know already and managed it successful, to sync two devices with eachother. Like Desktop with Surface. Surface with Tablet. Surface with Smartphone.

But you see: This is always only a pair (2 devices).

And as I understood it from the documentations and Google and this forum, the ignoring rules have to do with sharing. Namely in the case, that I want to share only specific parts of a folder. And this is my case.

So, what I am not able and I just have a knot in my head how to solve this synchronization of many devices to many devices: Desktop with Surface. Desktop with Tablet. Desktop with Smartphone. Surface with Tablet. Surface with Smartphone. Tablet with Smartphone.

On Desktop I have the folder A:\1) Dokumente. I want to share the whole folder including all subfolders with the Surface, in both directions. So I shared this folders with the Surface. And because I don’t want to exclude anything between this pair, I didn’t write any ignore pattern. On the Surface the path is a little bit different: D:\Dokumente.

On the tablet I only want a subfolder (D:\Dokumente\Obsidian-Notizen) from D:\Dokumente. And from this subfolder I want only some subsubfolders: 
Obsidian-Notizen\.obsidian 
Obsidian-Notizen\.trash Tablet 
Obsidian-Notizen\ALLES NEU HIER! 
Obsidian-Notizen\Handy+Tablet 
Obsidian-Notizen\Obsidian-Intern 
Obsidian-Notizen\Tablet 
Obsidian-Notizen\Vorlagen The path on the tablet is /storage/emulated/0/Documents/Obsidian-Notizen/. So I shared the D:\Dokumente-folder from the Surface with the /storage/emulated/0/Documents/-folder on the tablet. And because I want only some of them (mentioned above) I wrote ignore patterns:

!/Obsidian-Notizen/.obsidian/
!/Obsidian-Notizen/.trash Tablet/
!/Obsidian-Notizen/ALLES NEU HIER!/
!/Obsidian-Notizen/Handy+Tablet/
!/Obsidian-Notizen/Obsidian-Intern/
!/Obsidian-Notizen/Tablet/
!/Obsidian-Notizen/Vorlagen/

To stay in this example: How do I now sync the tablet with the Desktop? Do I share the /storage/emulated/0/Documents/Obsidian-Notizen/-folder from the Tablet with the Desktop? Or do I share the A:\1) Dokumente-folder from the Desktop with the Tablet? Which is the correct direction? Because, like I wrote, I want to get all shared folders to be synced in all directions /to all shared devices. I mean, I have already the content of the folder on the tablet (from the Surface). But the Desktop does not recognize, when on the tablet something changed and vice versa. And I don’t want to have all these 25 subfolders of this A:\1) Dokumente-folder from the Desktop on the tablet. I only want one subfolder called “Obsidian-Notizen” and from this one subfolder also only some subsubfolders.

Or maybe it is simply “always begin the sharing from the device where the folder has more folders /subfolders /files” and share it to the direction of that device where I want to have only a part of that folder and to write the ignore patterns on that device where I want to have only that part of folder?

Or do I have to share the Obsidian-Notizen-folder from the tablet to the Desktop and from the Desktop to the tablet and from the tablet to the Surface and from the Surface to the tablet and and and?

Like I wrote: I have a knot in my head. Sorry. Still hoping somebody understands my goal & my difficulty :folded_hands:

I think what you may be misunderstanding is that a “shared folder” in Syncthing is a global thing. It means the same to any device which takes part in it. So if you share from A to B and B to C, it’s the same folder everywhere, although the path on each device may be different. Now if you add the missing link between A and C, nothing new is introduced. It just gives them a chance to synchronize even while the middle man, B is not available. But this would not be a new shared folder.

Your naming is a bit misleading. The folder ID is “Dokumente Desktop” everywhere, and that’s what links them together across devices. On the Surface, you have added this folder ID with a label of “Dokumente Surface” though. And on Android, “Obsidian Notizen”. But it all refers to the same set of files seen globally, so a better label on each device would be “Dokumente Lilly” for example.

Now with this global pool of shared files, each device can then decide for itself which parts to ignore and which to actually consider for synchronization. That is given as paths relative to the shared folder root. So that each file is mentioned just the same way, regardless which device you’re writing the patterns on. The different root paths / anchor points on each device are not part of the ignore specifications.

This also means that the directory structure on each device will be identical within the root path. You cannot have a directory [device A]/foo/bar/baz show up as [device B]/bar/baz, even if the ignore patterns on that device B specify only this file to not be ignored.

Hope this gives you the correct mental picture. One big pool of possibly shared files in a thing called “folder”, where each participating device can filter out what’s necessary for itself.

Which devices share a folder among each other (direct, indirect or everyone with everyone else) is really irrelevant here / orthogonal to the question of ignore patterns. I see no problem for you to share the folder between all other devices on each one. Just check those boxes everywhere. It will work. And the ignore patterns already set for the Surface will apply just the same when you share the same folder from the Android back to it.

In addition to what @acolomb wrote. If on the tablet you don’t want the entire directory “Dokumente”, but only the subdirectory “Obsidian-Notizen”: On a device which has everything you can create a new Syncthing folder just for “Obsidian-Notizen” and share it with the tablet.

Note the naming:

  • Directory: A place in the file system which contains other directories and files.
  • Folder: A thing you create in Syncthing to share a directory with other devices.

That may be bad advice, if the same set of files ends up being shared between devices over different routes. That’s why Syncthing warns about a new folder being created that points to a path inside an already configured folder (nesting). Without really understanding what happens and which data flows where, this can lead to problems. Nested folders require discipline and an exact understanding of the device / folder links.

Ah, okay, now I got it to work :slight_smile: ! Thanks a lot to @acolomb ! Your image with the pool helped me a lot.

So, everything is fine now.

Only
 one problem remaining:

The syncing of the Smartphone got stuck at 99%. Clicking on “not syncronized elements” it shows the name of a folder, but I really do not understand, why there is a problem with this folder. There are only 5 files (.md) in it and a folder with 51 subfolders which are all empty (but I nevertheless need them).

Probably you need more information or screenshots- what do you need for helping?

Post a screenshot of the folder status on the device with the incomplete sync please. And the out of sync items panel / failed items panel as well.

Here they are- hope I understood correct, which screenshots I should send. If not, please tell :slight_smile:

From the Smartphone:

From the Desktop:

Strangely, when I opened an hour ago the Web-GUI, it displayed in green font “Aktuell” about the Smartphone. Then I turned on WiFi & started Syncthing-Fork and then it again got stuck at this 99%.

Try out the latest release 2.1.2. There was a fix in there about 128 byte entries for directories. Maybe that will resolve the issue already.

Hi @acolomb

should I install this release on windows or android or both?

On Android this is only available on Github, unfortunately not on F-Droid.

Both, if possible. If syncthing-fork is still published on F-Droid, it may simply take a few days to become available.