I have not acquainted with syncthing code base yet and I’ve not programmed with GO ever. I have indeed taken a look at the GitHub issues, no luck.
However, meanwhile till I familiarize with syncthing, is there anything I’ll be able to assist right off the bat? I have written a C library that does a good job at recursive watching. I would love to help!
When developing an external tool, you can use the language of your choice.
For example I’m using C++ for Syncthing Tray. Maybe you’re familiar with C++, too.
If you not only know how to build C/C++ applications but also by coincidence about the Mac platform, you could try to compile a Mac version of my tray application. That was requested by a few users.
I also recently tried to compile Syncthing as a shared or static library to use it directly from the tray application. The idea came up by one of the Syncthing developers in IRC some time ago. However, I haven’t had any success so far. If you could find out anything about interoperability between Go and C/C++ code, that would be helpful.
And while we are spitballing ideas: Syncthing uses https://github.com/rjeczalik/notify (a fork with minor changes to be exact) for recursive watching. It seems to be working fine (the real test will be coming soon, when it gets enabled by default o.O), but there are some issues and talk of a v2 API. It’s also Go, but with some CGo and you already have expertise on the recursive watching subject, so maybe you want to chime in there.
Definitely! I was meaning to start with exactly what you have suggested. I saw this and ended up at the upstream repo. I have not really dived in to it yet. I’m hoping to see a threaded implementation because otherwise a library implementation will be severely constrained.