Chance for JS client implementation for managing persistent subscriptions?

We have a Progressive Web App solution going (an occasionally connected client) where basically all the logic concerning CQRS Event Sourcing lies within the Service Worker.

There’s a .NET server that lies between the web client and Event Store for authentication/validation but we’re talking a hundred lines of code.

I’ve posted a bit about our architecture before, here: https://groups.google.com/d/msg/event-store/r1TIWlf1TpA/Sve-M-QvBAAJ

We have our own implementation of an event-syncer where we regularly poll and if new events are discovered then we pull them and we persist the latest bookmark in IndexedDB and keep going from there.

While our implementation is working fine it would always be nice to have maybe something likely a bit more robust from the people behind Event Store. :slight_smile:

I see client implementations for C# & Java exist publicly.

Currently we are using the built-in $by-category projections for grouping all the relevant streams i.e. (abstract example):

$ce-shopname_esdbversion

boutiqueA_0-order_77755d68-d986-4d7d-bd26-ca8f9d4aaf9c

boutiqueA_0-customer_808d632b-37a8-4b61-8d8d-1b40d900f49f

boutiqueA_0-employee_25c65cae-a0ed-4bff-80a0-5f732c3a3029

Our logic then subscribes to $ce-boutique123_0 for obtainting all the relevant streams and events in order

(‘esdbversion’ is used for i.e. accepting outdated events from our occasionally connected clients, migrating them on the server, and putting them into the new updated Event Store hosting $ce-boutiqueA_1 and so forth).

PS. Really enjoyed the ‘Advanced CQRS & DDD workshop’ course in London just last week.