Would it make sense to make a Soketi/Pusher provider

I’m still researching about collaborative editing, so please excuse me if I’m asking something already asked and answered, but I couldn’t really find something about this.

Would it make sense to implement a provider that communicates via a Soketi or Pusher backend? It could leverage their user authentication and for p2p messaging the client events could be employed. And if that would work, could the Pusher presence channels work for Yjs awareness?

Hi @JanMisker,

Yjs can sync via any pubsub service. However, this might not be so easy if the backend has some limitations on the message-size or number of messages.

Yes, you can replace the awareness features with something more adapted to the platform. It should be easily possible to implement the same interface of Awareness so you can use it in the editor bindings.

A few basic sync mechanics are explained here: https://docs.yjs.dev/api/document-updates

Thanks @dmonad for responding. Past few days I’ve been further exploring and indeed it might not really work because Pusher API is more focused on JSON, not binary/optimized messages. It could maybe work but would also be a bit hacky.

Main reason for me looking into this avenue is because Pusher/Soketi is well integrated with Laravel, but I since found out about Hocuspocus which seems to have a (draft) Laravel bridge so testing that now.

I would suggest using PieSocket, it supports binary data and costs simillar to a basic soketi instance.