I'm working with prosemirror in a project where we need more control over scrolling after transactions take place. The issue for what I'm doing is that if I want to take more control over the view.dom scrolling I need to do all of that outside of the view: update. This requires references various amounts of tracking outside of the prosemirror api.
The closest you can get to updateState is by overriding the dispatchTransaction prop on the EditorView. So what would help for me is if there was a way to trigger off the if (scrollToSelection) and else if (oldScrollPos). The most useful place for our customized scrolling is to use a tr.setMeta and save it in the plugin for view.update. Unfortunately, if the selection changes it likes to move the screen around.
We are trying to emulate some functionality as part of our project that is not natively supported and the selection position is important but, the way that scrolling is handled with prosemirror-view is not easy to override.
Also, It would be nice to be able to decide if we want the view to update where the caret is as well, or override/disable that functionality entirely and substitute our own. I'm not sure if I'm missing something here either.