Hi, we’ve implemented Yjs on top of Slate, with a custom version of y-websocket, and so far so good
We’re now considering if it would make sense to use Yjs not only for the text editor content, but for any data we load in the application, since the collaborative use case goes beyond writing.
A user would log into a workspace, and would load text documents with metadata, and other JSON-formatted objects. All of this can be edited and needs to be synced between clients.
The reason why we are thinking about using Yjs for the other data types, is that it would solve the case where the app works offline, and needs to sync up later and merge conflicts, exactly like with the editor.
Is using Yjs outside of text editing overkill?
If no, would it be a good idea to use one YDoc per workspace, with subdocs for every item? I’ve read from other posts that we’d need to extend y-websocket to support multiplexing on subdocs.
I also wanted to know what’s the status on the new y-websocket refactoring, and if it would be suggested to wait until then before using it in production.