android sync between profiles yet again

Me stupid. Me not understanding. Me sad :frowning:

Okay, I had this working long time, noticed the other day it did no longer. Went through all the guides and posts and reinstalled and whatnot. And start to believe something underlying must have changed, either in GrapheneOS or syncthing-fork. Running latest on android (well, GOS, obviously).

Standard profile has tcp://127.0.0.1:22000 as the address in settings and local discovery enabled.

2nd profile has tcp://127.0.0.1:33395 as the address in settings and local discovery enabled .

In both, when adding a new device, the other is auto-discovered. So I can add it on either side (doing it only on one). The switch to the other profile and would expect a connection request…but nothing. So I do the same “add device” on the other profile manually (again by selecting the auto-discovered entry). In both I make sure to have the tcp://127.0.0.1:xxxxx of the respective other as the address.

If I go to the web ui on either profile and look at the created host entry it shows ‘i/o timeout’ under the correct opposite address/port.

Ffs. Spent hours trying to get this back to work.

At the same time the instance in my primary standard profile happily re-connects to my better hall’s other phone all the time, so SyncThing as such is working.

What has changed for local two-profile sync that I might be missing?

I don’t run Syncthing in multiple profiles on Android (but do I use multiple instances on the desktop which is somewhat similar). I also use GrapheneOS though, and to be honest, I’d suspect the OS first. Maybe some kind of a new or improved security measure that prevents interaction between the separate profiles even more?

This is just speculation on my part though. Unfortunately, your use case is very niche, so to find the culprit, you’d likely need to do some troubleshooting yourself, e.g. downgrade Syncthing Fork to an older version as the first step (as it’s easy to do), and then, if there’s no difference, downgrade the OS itself and see if it helps.

Please note that “downgrading” here in both cases means uninstalling and reinstalling from scratch, so you’ll need to either restore everything from a backup or set up from the beginning.

Mh, well, probably OS, yes.

Just found this

Which indeed says cross-user-comms has ceased to work in A17. Maybe (probably) I set this up when our pixels where still running GOS based on A16…and didn’t notice it broke whenever that ota upgrade came in for GOS.

Will have to see if that workaround for simpleSync can be applied to syncthing-fork… Or dump it and try simpleSync… Another day.

Ok, so it DOES work for syncthing-fork, too.

Tl;Dr: On A17+, communication between profiles is “forbidden” by default. This script for BasicSync can be applied to syncthing-fork, too:

Get (local) ADB running (instructions in the video under “ADB pairing” section here:

Then use the script from above for BasicSync, but on the last line, change the package name for syncthing-fork to `com.github.catfriend1.syncthingfork`

Happy syncing!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.