Is it possible to delay Syncthing upgrades by a specific time period?
Right now, I have set autoUpgradeIntervalH to 168, but judging by the source code, the option seems to be only about delaying checking for upgrades, and not delaying the upgrades themselves. I may be wrong though, as I know really nothing about Golang.
Specifically, I would like to delay Syncthing upgrades by 1 week starting from the time when a new version has been released. Can it be done in Syncthing itself, or do I need to use/write some kind of an external utility to achieve this?
Maybe consider doing the opposite and enable release candidates somewhere, getting an upgrade a month before the other devices. Find the bugs there, report them, they will be fixed before the other devices upgrade.
That is an option, although I am not really worried about any major bugs slipping in. It is also not about lack of trust for the Syncthing developers, or something like that.
I switched to Syncthing in August 2019 after being a paying Dropbox customer for ~10 years, and have been extremely satisfied with it since then. I do not think that I am skilled enough to be able to detect any real bugs in the code though, as the only real issue, which I have personally experienced, is https://forum.syncthing.net/t/14419, and possibly some minor GUI related stuff.
The only reason for wanting to delay the upgrades is just my liking to be extra sure when it comes to software updates, and I mean all of them. Syncthing is actually one of the very few pieces of software that I am not afraid to leave on automatic upgrades and not worry about it messing my data.
You are very much skilled enough, that forum thread is evidence thereof: You provided information by yourself, after doing your research, that other reporters don’t come up with even if asked for it. And apparently you have even looked at the source code - that statement might sound ridiculous to you, but saying this is above average is an understatement
So if you feel like you can deal with the little additional breakage of running an RC instance, that would be really nice (last few releases I think we didn’t need to do any changes after the first RC, but it does happen).
I am just a hobbyist programmer, with my knowledge concentrated mostly on the Web stack, which I am confident about. When it comes to Syncthing, I can only follow parts of the source code, because in the last few years I have played around quite a lot with Android/Linux kernels and learnt some C in the process.
I do probably know Windows much deeper than most people, as I used to be heavily involved in the modding scene, which meant changing system files, creating unofficial updates, modifying drivers to work in unsupported systems, etc. I doubt that this kind of knowledge will help with debugging Syncthing though.
I will not run the RC on my real data, but I may try to set something up just for testing, and do some crazy things like creating, modifying, and deleting millions of files at once, etc. I have doubts whether I will be able to find any real bugs (as Syncthing has proven to be extremely stable in my environment until now), but let us see .