Continuing the discussion from SyncthingFUSE first release candidate:
I have previously considered adding the streaming of SyncthingFUSE into Syncthing, especially for the use case of small frequently used files always in full sync and large low-frequency files (e.g. photos) in streaming.
I predict users would benefit from a unified experience, better UX, and less bit rot of SyncthingFUSE.
(As an aside, you don’t need to choose between Syncthing and SyncthingFUSE. Both are able to co-exist on the same system, giving you some streaming and some sync folders.)
There are some challenges.
I’m not sure how to not make FUSE a hard dependency for Linux and OS X. We’d need to experiment a bit with running Syncthing with streaming disabled and FUSE libraries missing.
The model that Syncthing and SyncthingFUSE use are quite different, from what I’ve seen so far. Building the streaming feature into Syncthing will require much more understanding of the Syncthing model and pullers. I am not yet motivated to bite that off.
The Syncthing core developers will also have to keep working around the SyncthingFUSE code if it gets merged in. This might be easy, but will probably be annoying. I’d only want to do that if enough people find the feature important enough. I have been curious how many people are actually using SyncthingFUSE but not curious enough to setup any data collection. If we did want more data, would we want to try to use the existing https://data.syncthing.net, or find somewhere else to do the reporting?
I’m leaning mostly toward not merging the streaming feature into Syncthing, but am open to continued discussion. I will also provide assistance to any souls wishing to start work on it themselves.
Building an HTTP API endpoint for pulling block data is interesting. Configuration might get rather strange: Here’s some info about this folder, but don’t try to sync it. I’d want it to be GET /rest/db/block
, not file.
I very much want the streaming model for some folders on my (Android) phone. (Obviously, not yet enough to do anything about it yet, either, though.)