syncthing/lib/model
Audrius Butkevicius 44a542391e lib/connections: Trust the model to tell us if we are connected
This should address issue as described in https://forum.syncthing.net/t/stun-nig-party-with-paused-devices/10942/13
Essentially the model and the connection service goes out of sync in terms of thinking if we are connected or not.
Resort to model as being the ultimate source of truth.

I can't immediately pin down how this happens, yet some ideas.

ConfigSaved happens in separate routine, so it's possbile that we have some sort of device removed yet connection comes in parallel kind of thing.
However, in this case the connection exists in the model, and does not exist in the connection service and the only way for the connection to be removed
in the connection service is device removal from the config.

Given the subject, this might also be related to the device being paused.

Also, adds more info to the logs

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4533
2017-11-21 07:25:38 +00:00
..
testdata lib/model: Temp names from all platforms should be recognized as such 2016-11-30 21:23:24 +00:00
.gitignore mv internal lib 2015-08-09 09:35:26 +02:00
debug.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
deviceactivity_test.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
deviceactivity.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
devicedownloadstate_test.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
devicedownloadstate.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
doc.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
folder.go lib/model: Trigger a pull when ignore patterns change 2017-11-20 16:29:36 +00:00
folderscanner.go lib/model: Deduplicate folder loops 2017-09-07 06:17:47 +00:00
folderstate.go lib/model, lib/config: Refactor folder health/error handling (fixes #4445, fixes #4451) 2017-10-24 07:58:55 +00:00
model_test.go lib/connections: Trust the model to tell us if we are connected 2017-11-21 07:25:38 +00:00
model.go lib/connections: Trust the model to tell us if we are connected 2017-11-21 07:25:38 +00:00
progressemitter_test.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
progressemitter.go all: Correct various typos 2017-02-25 08:12:13 +00:00
queue_test.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
queue.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
requests_test.go all: Add invalid/ignored files to global list, announce to peers (fixes #623) 2017-11-11 19:18:17 +00:00
rofolder.go lib/model: Add initial noop watch cancel func (fixes #4464) 2017-10-26 11:49:06 +00:00
rwfolder_test.go all: Fix comment typos 2017-11-04 07:20:11 +00:00
rwfolder.go lib/connections: Trust the model to tell us if we are connected 2017-11-21 07:25:38 +00:00
sentdownloadstate.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
sharedpullerstate_test.go all: Convert folders to use filesystem abstraction 2017-08-19 14:36:56 +00:00
sharedpullerstate.go all: Fix comment typos 2017-11-04 07:20:11 +00:00
sorter_test.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
sorter.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00
util.go all: Update license url to https (ref #3976) 2017-02-09 08:04:16 +01:00