Marks on block nodes

Hey, I am working on upgrading to the latest versions of the ProseMirror libraries. I suddenly ran into two issues of marks on block nodes:

I have an “insertion mark” that I put on inline content to mark some data about the content it uses a <span> to wrap around the content that is marked. I noticed that differently from before, with the newest version of ProseMirror, in case a figure is inserted and it has this mark, in the DOM representation of it, the outermost <figure>...</figure> is replaced with the <span>...</span> from the insertion mark.

Secondly, I wondered why there is an insertion mark on the figure at all. After all, in the spec of the figure inline=false and I’m using the replaceSelectionWith function. I don’t specify inheritMarks, but according to the documentation in the code [1], the marks will only be copied if the inserted node is an inline node.

I’ve tried to specify inheritMarks when calling replaceSelectionWith , and that seems to have fixed the problem.

PS: I think I may have misunderstood the documentation of replaceSelectionWith. It says:

When inheritMarks is true and the content is inline, it inherits the marks from the place where it is inserted.

I assumed that “content” was referring to the node that I am trying to insert. But it probably refers to the content into which I am trying to insert a new node. That would explain the second issue.

[1] prosemirror-state/transaction.ts at f1c2ff98a397aa05b9ccf5ee23642bb7e44f05a7 · ProseMirror/prosemirror-state · GitHub