m0ppers / syncthing-bar

A statusbar for syncthing on Mac OS X
Other
134 stars 16 forks source link

bundle syncthing-inotify #18

Closed edrex closed 9 years ago

edrex commented 9 years ago

doesn't require any config, and cuts the idle CPU usage to almost nothing.

m0ppers commented 9 years ago

that sounds like a great idea. I didn't look into details yet and maybe you know the answer right away:

Why is it not enabled by default? Is there maybe some work going on to incorporate it? Does it self-update to the latest inotify version (I don't want to implement my own update mechanism)?

edrex commented 9 years ago

I just started using syncthing last week so still getting oriented.

Reading @calmh's last few comments on this epic thread about inotify support in core, it seems the plan is to move syncthing-inotify into core once it's sufficiently polished (I think the concern is that it needs to work well on all supported platforms, with different notify APIs).

It's working well for me on Linux, OSX, and Android (bundled with syncthing-silk).

m0ppers commented 9 years ago

Thanks for the link. The author seems to really be in favor of an inotify solution however it seems to be not ready yet https://github.com/syncthing/syncthing/issues/9#issuecomment-128966605

Furthermore there seem to be hard OS-X limitations which would of course be VERY relevant for syncthing-bar:

"OS X is bad at performing file watches, and requires tweaking kernel settings to be usable, which is not an option for average joe, hence I guess why it's still not part of syncthing."

I think it might be better to wait :S So I am closing this issue. Meanwhile if you want to use syncthing inotify you can simply replace the bundled syncthing. It is located here:

/Applications/syncthing-bar.app/Contents/Resources/syncthing/syncthing

Put the inotify version there and everything should be fine for you :)

edrex commented 9 years ago

I think that was based on a misconception about limitations of OSX fsevents API (see subsequent comments).

syncthing-inotify is a separate helper process, rather than a drop in replacement for syncthing, so it would need to be launched separately.

I didn't open this ticket as a user (I'm more comfortable installing/managing the LaunchAgents individually) but to improve the default performance of this package, which is targeted at new users.

Anyway, the inotify functionality should be in the core before too long.