Custom node with basic defaults for eg. handling backspace

I added a custom inline node that’s similar to an inline code block, but I’m seeing that pressing backspace with the cursor in front of that node deletes the whole node. I see this was also discussed in Deletion of embedded code nodes on backspace after focusing empty node · Issue #1000 · ProseMirror/prosemirror · GitHub and that this behavior is expected. Looking at New plugin `prosemirror-codemark` to handle inline code mark creation and manipulation I see that there’s a lot of logic for handling backspace, delete, and cursor movements.

Is that still the best way to handle common text operations on the boundary of custom nodes? In my case, I would just want the backspace to remove the last character of the last child text node of the custom node. I imagine that’s a common requirement, so I’m curious if there are any utility addons that just implement some generic default behaviors for these types of nodes

If your inline construct should really be a node, rather than a mark, then yes, you’ll need to script a bunch of custom user interaction for it.