how do components subscribe to the global editor state? Observables? Also, do you intend to allow the use of some central event message bus, a la Redux?
What do you mean by global editor state? State from the editor or from your react app?
And by looking into your ReactNodeView - it seems you have avoided the use of ReactDOM completely? No portals nothing?
I’m using portals! You can see it here.
One thing I’ve been thinking about is how to manage the state fetched from the API. For example collaboration participants - what’s your take on that?
Have you seen our collab example? We provide first class support with Y.js collab. There is also a guide for it.
Also, I have a tricky question that’s been on my mind. What’s your approach for rolling out breaking schema changes?
We do not currently provide anything for this. However, I find it best to migrate the JSON data manually on the server side.
One thing I’d like to see, for Tiptap and PM in general, is good testing support with jsdom. Seems pretty important considering how complicated the editors can get.
I haven’t had good experiences with JSDOM, so we run all tests with Cypress. Works great! Example