As Syncthing (of cause) checks for size and timstamp difference (among other things), the next rescan should pick up the “complete” file and then sync that to your Windows PC.
To rescan, you can just click the “Rescan” button in the expanded folder in the web ui, or “Rescan all” underneath the folder list.
I don’t need to do this, as by the time I open the web ui, the files has already been scanned again.
I did a quick test by creating some Screenshots. I set strace to scanner,http.
As an overview, here the (shortened and reversed) global changes log:
Pixel added /.../Screenshot_20170802-174358.png 2017-08-02 17:43:59
Pixel modified /.../Screenshot_20170802-174358.png 2017-08-02 17:44:26
Pixel added /.../Screenshot_20170802-174455.png 2017-08-02 17:44:56
Pixel modified /.../Screenshot_20170802-174455.png 2017-08-02 17:45:12
Pixel added /.../Screenshot_20170802-174510.png 2017-08-02 17:45:12
Pixel modified /.../Screenshot_20170802-174510.png 2017-08-02 17:45:22
Pixel added /.../Screenshot_20170802-174523.png 2017-08-02 17:45:24
Pixel added /.../Screenshot_20170802-174537.png 2017-08-02 17:45:39
Pixel modified /.../Screenshot_20170802-174523.png 2017-08-02 17:45:39
Pixel modified /.../Screenshot_20170802-174537.png 2017-08-02 17:46:16
This is the log (minus lines with paths to irrelevant directories and lines containing " ignored "
):
[ZKOVT] 2017/08/02 15:43:58.776160 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:43:58.776384 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x44204f0780}
[ZKOVT] 2017/08/02 15:43:58.784461 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174358.png File{Name:"Screenshots/Screenshot_20170802-174358.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:43:58.768589826 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:32864, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:43:58.784583 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174358.png
[ZKOVT] 2017/08/02 15:43:58.785977 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:43:58.793599 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174358.png": status 0, 0 bytes in 18.65 ms
[ZKOVT] 2017/08/02 15:43:58.945803 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:43:58.945926 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x4421fbf980}
[ZKOVT] 2017/08/02 15:43:58.965135 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:43:58.968461 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174358.png": status 0, 0 bytes in 23.63 ms
[ZKOVT] 2017/08/02 15:44:25.539441 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:44:25.539787 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x4421070c00}
[ZKOVT] 2017/08/02 15:44:25.550045 walk.go:316: DEBUG: rescan: File{Name:"Screenshots/Screenshot_20170802-174358.png", Sequence:1356, Permissions:0660, ModTime:2017-08-02 15:43:58.768589826 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:32864, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[Block{0/32864/0/09abc9acd2514e71ba23b4ae5a68c26770318ab6af178f76a00884c527576d74}]} 1501688638 432
[ZKOVT] 2017/08/02 15:44:25.550140 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174358.png File{Name:"Screenshots/Screenshot_20170802-174358.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:43:58.895256505 +0000 UTC, Version:{[{ZKOVTDG 2}]}, Length:99650, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:44:25.550249 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174358.png
[ZKOVT] 2017/08/02 15:44:25.551131 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:44:56.005837 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:44:56.006002 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x4420470f00}
[ZKOVT] 2017/08/02 15:44:56.021439 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174455.png File{Name:"Screenshots/Screenshot_20170802-174455.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:44:56.011928862 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:73884, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:44:56.021544 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174455.png
[ZKOVT] 2017/08/02 15:44:56.022092 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:44:56.028650 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174455.png": status 0, 0 bytes in 23.76 ms
[ZKOVT] 2017/08/02 15:44:56.174521 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:44:56.174713 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x4420dbd440}
[ZKOVT] 2017/08/02 15:44:56.187232 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:44:56.193201 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174455.png": status 0, 0 bytes in 31.55 ms
[ZKOVT] 2017/08/02 15:45:11.109133 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:11.109269 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x44213726c0}
[ZKOVT] 2017/08/02 15:45:11.129448 walk.go:316: DEBUG: rescan: File{Name:"Screenshots/Screenshot_20170802-174455.png", Sequence:1358, Permissions:0660, ModTime:2017-08-02 15:44:56.011928862 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:73884, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[Block{0/73884/0/d9d37e59f701dc3fb6e19359a297c2a637b3d561f3b14e4a02039cab2f8958c2}]} 1501688696 432
[ZKOVT] 2017/08/02 15:45:11.129531 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174455.png File{Name:"Screenshots/Screenshot_20170802-174455.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:44:56.111928872 +0000 UTC, Version:{[{ZKOVTDG 2}]}, Length:109934, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:45:11.129928 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174510.png File{Name:"Screenshots/Screenshot_20170802-174510.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:45:11.108597032 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:32864, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:45:11.130051 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174455.png
[ZKOVT] 2017/08/02 15:45:11.130139 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174510.png
[ZKOVT] 2017/08/02 15:45:11.131274 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:11.152909 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174510.png": status 0, 0 bytes in 44.72 ms
[ZKOVT] 2017/08/02 15:45:11.309704 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:11.309883 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x44202f3200}
[ZKOVT] 2017/08/02 15:45:11.327241 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:11.335275 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174510.png": status 0, 0 bytes in 26.81 ms
[ZKOVT] 2017/08/02 15:45:21.336146 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:21.337415 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x4421834e40}
[ZKOVT] 2017/08/02 15:45:21.378224 walk.go:316: DEBUG: rescan: File{Name:"Screenshots/Screenshot_20170802-174510.png", Sequence:1360, Permissions:0660, ModTime:2017-08-02 15:45:11.108597032 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:32864, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[Block{0/32864/0/7688a5a854ddf945829ea78480750812acdb6909845f86b10c83a279b1ea3bb8}]} 1501688711 432
[ZKOVT] 2017/08/02 15:45:21.378489 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174510.png File{Name:"Screenshots/Screenshot_20170802-174510.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:45:11.258597047 +0000 UTC, Version:{[{ZKOVTDG 2}]}, Length:110810, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:45:21.378756 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174510.png
[ZKOVT] 2017/08/02 15:45:21.381272 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:23.905820 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:23.906002 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x44204029c0}
[ZKOVT] 2017/08/02 15:45:23.917354 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174523.png File{Name:"Screenshots/Screenshot_20170802-174523.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:45:23.90193164 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:73884, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:45:23.917818 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174523.png
[ZKOVT] 2017/08/02 15:45:23.919018 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:23.926006 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174523.png": status 0, 0 bytes in 21.04 ms
[ZKOVT] 2017/08/02 15:45:24.051290 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:24.051433 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x4420f98480}
[ZKOVT] 2017/08/02 15:45:24.067139 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:24.070973 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174523.png": status 0, 0 bytes in 22.50 ms
[ZKOVT] 2017/08/02 15:45:38.122430 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:38.122605 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x442086b080}
[ZKOVT] 2017/08/02 15:45:38.143586 walk.go:316: DEBUG: rescan: File{Name:"Screenshots/Screenshot_20170802-174523.png", Sequence:1362, Permissions:0660, ModTime:2017-08-02 15:45:23.90193164 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:73884, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[Block{0/73884/0/c65639cd15945c013cd6bb2bf623a5cf9bc65329a8f850e0f784b48b8eb16fad}]} 1501688723 432
[ZKOVT] 2017/08/02 15:45:38.143692 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174523.png File{Name:"Screenshots/Screenshot_20170802-174523.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:45:23.998598316 +0000 UTC, Version:{[{ZKOVTDG 2}]}, Length:110810, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:45:38.147595 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174537.png File{Name:"Screenshots/Screenshot_20170802-174537.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:45:38.138599725 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:73884, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:45:38.147730 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174523.png
[ZKOVT] 2017/08/02 15:45:38.147830 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174537.png
[ZKOVT] 2017/08/02 15:45:38.149027 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:38.157010 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174537.png": status 0, 0 bytes in 35.53 ms
[ZKOVT] 2017/08/02 15:45:38.303653 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:38.304289 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x44223766c0}
[ZKOVT] 2017/08/02 15:45:38.311248 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:45:38.323268 gui.go:457: DEBUG: http: POST "/rest/db/scan?folder=Pictures&sub=%2FScreenshots%2FScreenshot_20170802-174537.png": status 0, 0 bytes in 21.01 ms
[ZKOVT] 2017/08/02 15:46:15.594326 walk.go:102: DEBUG: Walk /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
[ZKOVT] 2017/08/02 15:46:15.595413 walk.go:476: DEBUG: checkDir /storage/emulated/0/Pictures/ {0x44226dd380}
[ZKOVT] 2017/08/02 15:46:15.630340 walk.go:316: DEBUG: rescan: File{Name:"Screenshots/Screenshot_20170802-174537.png", Sequence:1364, Permissions:0660, ModTime:2017-08-02 15:45:38.138599725 +0000 UTC, Version:{[{ZKOVTDG 1}]}, Length:73884, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[Block{0/73884/0/c65639cd15945c013cd6bb2bf623a5cf9bc65329a8f850e0f784b48b8eb16fad}]} 1501688738 432
[ZKOVT] 2017/08/02 15:46:15.630603 walk.go:330: DEBUG: to hash: Screenshots/Screenshot_20170802-174537.png File{Name:"Screenshots/Screenshot_20170802-174537.png", Sequence:0, Permissions:0660, ModTime:2017-08-02 15:45:38.25193307 +0000 UTC, Version:{[{ZKOVTDG 2}]}, Length:110810, Deleted:false, Invalid:false, NoPermissions:true, Blocks:[]}
[ZKOVT] 2017/08/02 15:46:15.630947 walk.go:191: DEBUG: real to hash: Screenshots/Screenshot_20170802-174537.png
[ZKOVT] 2017/08/02 15:46:15.633544 walk.go:169: DEBUG: Walk progress done /storage/emulated/0/Pictures/ [] 131072 &{[] [] false <nil> d41d8cd98f00b204e9800998ecf8427e 0x442022ed80 0x44215e2298 0x44211da9e8}
So, at least in my case, the initial creation of the file and the modification after it is “filled” are both catched by inotify and send to syncthing, but the second scan is delayed.
But it seems for @Zane, only the first scan is performed.