Global Discovery taking precedence over Local Discovery?

I’m currently in one of our offices where 7 Syncthing devices are, these are all connected wirelessly to the same router. I’ve just upgraded them all to v0.10.19 and for some reason my connection to one of the devices is an external connection rather than a local one.

How did I determine this? Opened the GUI, scrolled to his device and expanded the panel, IP Address shows external address.

This has been dealt with, what happens is that the other device failed to cough up in 5 seconds, or is on a different subnet. We wait atleast 5 seconds before dropping down to global discovery.

It could be related to the flaky UPnP issue where multicast on Windows sometimes works and sometimes doesn’t.

Could also be that the broadcasts are firewalled, by either computer or by a hypothetical wireless network etc. In other words, we try to use local discovery before global, but in the end we’ll use what we can find.

I know it has been solved by @calmh but i also see so many times that syncthing chooses WAN over LAN. (both PCs always get the same IP on the same subnet) One ins Linux, one is Windows.

The closed issue was:

For me, i would expect that when i am on mobile, and turn on wifi, it also changes its connection type. Or if syncthing finds a LAN address at a later point, it switches over…

We don’t really know this distinction though. We could possibly drop connections and reconnect when we see a local announcement for a device we’re already connected to, but with a different IP…

Is it possible that syncthing misses a local announcement during the scanning of the folders at startup?