Can the collab/history plugins be used independently of an EditorView?

I am planning to use multiple instances of ProseMirror in a React app to implement slideware (like Google Slides) and allow for multi-user collaboration. Sounds like the collab and history plugins work great together!

However, I do not want to have all the instances of ProseMirror EditorViews existing in memory at the same time. For example, if the navigation drawer only shows slides 1-10, then no need to have EditorViews mounted for slides beyond those 10. However, I do want to have the collab/history plugins operating in the background for ALL slides, so that the current undo/redo stack is rebased correctly for remote edits.

Is there a way to manage collab/history plugin state outside of an EditorView, and simply populate new EditorViews with an existing collab/history plugin when needed?

1 Like

Yes, these interact with the state, not the view. See for example the tests for these packages, which run outside the browser.