Thanks @tomi.hukkalainen_slac for sharing!
The dev guide mentions: > Meteor-style subscription models need not be an internal part of the library. If you have a database that can tell you when data changes then you can either re-run your graph query to pull those changes or merge in new graph of data that arrives from some arbitrary websocket push. Is there anything even close to ready made solution for pushing changes to fulcro clients based on the UI queries of connected clients, or would that mean a custom implementation of the rete algorithm or something like that? Postgres has notify, but that would mean a recalculation for every client I guess (which is not unfeasible for smallish amounts), seems like datomic transaction queue would be effectively the same (get notified for every change, not just those matching a query). No idea if meteor/mongodb has anything more sophisticated.
While it would be fun, I couldn't really justify the effort :man-frowning: We don't have any particular needs for it, apart from having slightly better user experience if there are no poll delays or need to refresh the page manually
Would be still interesting to know why Crux! It's on my todo list to read about, so I don't know how it compares to datomic, rethinkdb, kafka etc. My very preliminary impression is that it's closest to datomic, but open source
Found https://findka.com/blog/migrating-to-biff/ which is using Crux and Sente for non-joined subscriptions. Could be interesting to check that out. Also I've been reading more about Crux now and the bitemporality might actually be a really nice thing to have for the next "project" we are going to build
I admit that I haven't really looked into the differential datalog or differential dataflow libraries (algorithms? architectures?), though I have the impression that they wouldn't be very ready to just plug in as is
Good news everyone! I have finally fixed CI of https://fulcro-community.github.io/ and related projects so that the website will be correctly updated when any of the constituent repos is updated. That also means that https://fulcro-community.github.io/main/awesome-fulcro/README.html is finally up to date.
I don't know of any ready made solutions. The GraphQL community has sort of started to solve this problem with their notion of GraphQL "subscriptions"
IIRC determining what queries have changed after a change to the underlying datasource (i.e. postgres notify, datomic transaction log) is done on the server and then pushed to clients who are actively listening to those
differential dataflow could fit in here as "just another datasource," although if you go all in on it you could perhaps use it as the engine to discern what queries have changed
all this being said, nothing I've heard about is plug-and-play for fulcro
Suspected as much, thanks