# Latest

**URL:** https://discuss.prosemirror.net/latest.md?page=3

[Latest](https://discuss.prosemirror.net/latest.md) · [Categories](https://discuss.prosemirror.net/categories.md)

**Page:** 4

---

## [Issue pasting into paragraphs with a different node type](https://discuss.prosemirror.net/t/issue-pasting-into-paragraphs-with-a-different-node-type/8888)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 1\
**Last updated:** [December 15, 2025, 9:39am UTC](https://discuss.prosemirror.net/t/issue-pasting-into-paragraphs-with-a-different-node-type/8888 "2025-12-15T09:39:25Z")

</div>

I have several types of ‘paragraphs’ (one schema node type with an attribute specifying the particular paragraph type), and even though when copied the slice nodes are fine, I am running into a problem when pasting them …

---

## [Backspacing ranges with dissimilar node types](https://discuss.prosemirror.net/t/backspacing-ranges-with-dissimilar-node-types/8887)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 2\
**Last updated:** [December 15, 2025, 9:38am UTC](https://discuss.prosemirror.net/t/backspacing-ranges-with-dissimilar-node-types/8887 "2025-12-15T09:38:03Z")

</div>

In my editor, when a user selects a range that goes from one type of node to a different type of node, I want to delete the selected end of the first node, the selected text that starts in the last node, and all contain…

---

## [How to force plain test paste](https://discuss.prosemirror.net/t/how-to-force-plain-test-paste/8322)

<div class="topic-metadata">

**Author:** [@hyperknot](https://discuss.prosemirror.net/u/hyperknot)\
**Replies:** 4\
**Last updated:** [December 9, 2025, 10:16pm UTC](https://discuss.prosemirror.net/t/how-to-force-plain-test-paste/8322 "2025-12-09T22:16:20Z")

</div>

I’m working on a plain text editor, functionally very similar to a textarea. I’d like to force the plain text pasting behaviour in the clipboard handler. As I see there are many handlers I can use, but the main behaviou…

---

## [Todo list improvements](https://discuss.prosemirror.net/t/todo-list-improvements/1449)

<div class="topic-metadata">

**Author:** [@samu](https://discuss.prosemirror.net/u/samu)\
**Replies:** 9\
**Last updated:** [December 1, 2025, 9:21am UTC](https://discuss.prosemirror.net/t/todo-list-improvements/1449 "2025-12-01T09:21:10Z")

</div>

I created a demo on how to display a todo list with check boxes in prosemirror (kudos to kiejo for sharing the initial code): https://glitch.com/edit/#!/brass-hiss It works quite well, but there are a few problems that …

---

## [Virtual Scroll for ProseMirror](https://discuss.prosemirror.net/t/virtual-scroll-for-prosemirror/8882)

<div class="topic-metadata">

**Author:** [@synw1024](https://discuss.prosemirror.net/u/synw1024)\
**Replies:** 1\
**Last updated:** [November 29, 2025, 1:05pm UTC](https://discuss.prosemirror.net/t/virtual-scroll-for-prosemirror/8882 "2025-11-29T13:05:28Z")

</div>

I would like to implement Virtual Scroll for ProseMirror. The primary idea is adding a BlockNodeViewDesc mounting controller, which will mount BlockNodeViewDesc by informations that come from some Scroll Events Before …

---

## [Trying to prevent nested table paste via \`transformPasted\`](https://discuss.prosemirror.net/t/trying-to-prevent-nested-table-paste-via-transformpasted/8878)

<div class="topic-metadata">

**Author:** [@mejo](https://discuss.prosemirror.net/u/mejo)\
**Replies:** 5\
**Last updated:** [November 28, 2025, 11:16pm UTC](https://discuss.prosemirror.net/t/trying-to-prevent-nested-table-paste-via-transformpasted/8878 "2025-11-28T23:16:22Z")

</div>

Dear all, I’m trying to prevent pasting tables into a table cell via transformPasted, but apparently I’m missing something. That’s my test code: transformPasted: (slice, view) =\> { if (!this.editor.isActive(this.type.…

---

## [Transaction created in appendTransaction doesn't get undone](https://discuss.prosemirror.net/t/transaction-created-in-appendtransaction-doesnt-get-undone/8881)

<div class="topic-metadata">

**Author:** [@semiaddict](https://discuss.prosemirror.net/u/semiaddict)\
**Replies:** 4\
**Last updated:** [November 28, 2025, 9:30pm UTC](https://discuss.prosemirror.net/t/transaction-created-in-appendtransaction-doesnt-get-undone/8881 "2025-11-28T21:30:47Z")

</div>

Hello, I am trying to create a plugin that adds an “edited” attribute to certain nodes if they get edited by the user. For that, I’m using the appendTransaction using a very similar approach to the prosemirror-tables pac…

---

## [The composing property of EditorView may be incorrect within the handleTextInput method](https://discuss.prosemirror.net/t/the-composing-property-of-editorview-may-be-incorrect-within-the-handletextinput-method/8877)

<div class="topic-metadata">

**Author:** [@fervor](https://discuss.prosemirror.net/u/fervor)\
**Replies:** 1\
**Last updated:** [November 26, 2025, 8:14am UTC](https://discuss.prosemirror.net/t/the-composing-property-of-editorview-may-be-incorrect-within-the-handletextinput-method/8877 "2025-11-26T08:14:30Z")

</div>

handleTextInput: (view, from, to, text) =\> { console.log(view.composing, from, to, text) return false } When I’m using the input method, I try to get view.composing, and it always returns true. This shouldn’t b…

---

## [How do I set the \`contenteditable\` property of the ProseMirror widget to true?](https://discuss.prosemirror.net/t/how-do-i-set-the-contenteditable-property-of-the-prosemirror-widget-to-true/8875)

<div class="topic-metadata">

**Author:** [@fervor](https://discuss.prosemirror.net/u/fervor)\
**Replies:** 2\
**Last updated:** [November 26, 2025, 7:33am UTC](https://discuss.prosemirror.net/t/how-do-i-set-the-contenteditable-property-of-the-prosemirror-widget-to-true/8875 "2025-11-26T07:33:27Z")

</div>

const cursor = document.createElement("span"); cursor.classList.add('caret') cursor.textContent = ""; cursor.contentEditable = "true" return DecorationSet.create(state.doc, \[ Decoration.widget(from, () =\> cursor, { …

---

## [Prosemirror Plugin for GrapesJS Studio SDK](https://discuss.prosemirror.net/t/prosemirror-plugin-for-grapesjs-studio-sdk/8876)

<div class="topic-metadata">

**Author:** [@Cryptdk](https://discuss.prosemirror.net/u/Cryptdk)\
**Replies:** 1\
**Last updated:** [November 26, 2025, 7:28am UTC](https://discuss.prosemirror.net/t/prosemirror-plugin-for-grapesjs-studio-sdk/8876 "2025-11-26T07:28:17Z")

</div>

Hey all, I’m using GrapesJS’s plugin for Prosemirror (https://app.grapesjs.com/docs-sdk/plugins/rte/prosemirror) but it looks like they’ve configured their schema to output \<div\> tags for everything instead of semantic …

---

## [Forcing a redraw within a command](https://discuss.prosemirror.net/t/forcing-a-redraw-within-a-command/8868)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 0\
**Last updated:** [November 25, 2025, 7:32pm UTC](https://discuss.prosemirror.net/t/forcing-a-redraw-within-a-command/8868 "2025-11-25T19:32:34Z")

</div>

I have some Prose Mirror commands that change some cosmetic settings (such as changing the editor’s css theme, which would not by itself be a part of a transform), and within those commands I want to trigger a complete r…

---

## [Attaching an externally created menu system to PM commands](https://discuss.prosemirror.net/t/attaching-an-externally-created-menu-system-to-pm-commands/8867)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 3\
**Last updated:** [November 25, 2025, 6:38pm UTC](https://discuss.prosemirror.net/t/attaching-an-externally-created-menu-system-to-pm-commands/8867 "2025-11-25T18:38:28Z")

</div>

In my implementation, I have a menu system I like and use for my site that I want to also use for editor functions like changing various options, even the basic stuff like setting marks or adding the varied types of spec…

---

## [Exploring parent and child document with same text content but different marks?](https://discuss.prosemirror.net/t/exploring-parent-and-child-document-with-same-text-content-but-different-marks/8863)

<div class="topic-metadata">

**Author:** [@arodriguez](https://discuss.prosemirror.net/u/arodriguez)\
**Replies:** 1\
**Last updated:** [November 19, 2025, 5:36pm UTC](https://discuss.prosemirror.net/t/exploring-parent-and-child-document-with-same-text-content-but-different-marks/8863 "2025-11-19T17:36:59Z")

</div>

Hello! For our use case, we are interested in the ability of having a parent document set the text and marks content of a child document, while also allowing the child document to have independent marks that do not get …

---

## [Need help to improve editor performance](https://discuss.prosemirror.net/t/need-help-to-improve-editor-performance/8860)

<div class="topic-metadata">

**Author:** [@sinan](https://discuss.prosemirror.net/u/sinan)\
**Replies:** 1\
**Last updated:** [November 19, 2025, 5:24pm UTC](https://discuss.prosemirror.net/t/need-help-to-improve-editor-performance/8860 "2025-11-19T17:24:14Z")

</div>

I’m working with a TapTap-based editor that includes several custom node types (tables, images, LaTeX equations, etc.). The document can be quite large—around 200k words. I’ve implemented a search-and-replace module, but…

---

## [Question about using prosemirror for an "ide" style project online](https://discuss.prosemirror.net/t/question-about-using-prosemirror-for-an-ide-style-project-online/8866)

<div class="topic-metadata">

**Author:** [@Wyrdix](https://discuss.prosemirror.net/u/Wyrdix)\
**Replies:** 0\
**Last updated:** [November 19, 2025, 12:24pm UTC](https://discuss.prosemirror.net/t/question-about-using-prosemirror-for-an-ide-style-project-online/8866 "2025-11-19T12:24:21Z")

</div>

Hi everyone :waving\_hand: . I’ve been using prosemirror for a 2 months now in a project i’m currently working on ^^ (great tools by the way !) I won’t explain everything but the idea is that you have a document with pa…

---

## [Clickable tooltip plugin](https://discuss.prosemirror.net/t/clickable-tooltip-plugin/8856)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 2\
**Last updated:** [November 18, 2025, 4:28pm UTC](https://discuss.prosemirror.net/t/clickable-tooltip-plugin/8856 "2025-11-18T16:28:56Z")

</div>

Folks: I am attempting to craft a popup tooltip that contains clickable items, that shows over the top of the editor. The tooltip example was a great start at getting the popup to show up, I got the contents and craft …

---

## [Deleting a node in a command](https://discuss.prosemirror.net/t/deleting-a-node-in-a-command/8854)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 3\
**Last updated:** [November 17, 2025, 5:48pm UTC](https://discuss.prosemirror.net/t/deleting-a-node-in-a-command/8854 "2025-11-17T17:48:09Z")

</div>

I have a simple situation where on certain keys I want to remove a paragraph entirely. So, in my command code I have the following: tr.delete(nodeStart, nodeStart + theNode.nodeSize); dispatch(tr) The problem is that …

---

## [Where can I read about ProseMirror-trailingBreak?](https://discuss.prosemirror.net/t/where-can-i-read-about-prosemirror-trailingbreak/6665)

<div class="topic-metadata">

**Author:** [@intaek-h](https://discuss.prosemirror.net/u/intaek-h)\
**Replies:** 6\
**Last updated:** [November 17, 2025, 4:23pm UTC](https://discuss.prosemirror.net/t/where-can-i-read-about-prosemirror-trailingbreak/6665 "2025-11-17T16:23:36Z")

</div>

After searching this forum, I learned that the \<br class="Prosemirror-trailingBreak" /\> only exists in the editing view in order to provide consistent editing experience in different browsers. I wish there’s an explanat…

---

## [Decoration plugin updating decorations in node's children](https://discuss.prosemirror.net/t/decoration-plugin-updating-decorations-in-nodes-children/8853)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 2\
**Last updated:** [November 16, 2025, 7:11pm UTC](https://discuss.prosemirror.net/t/decoration-plugin-updating-decorations-in-nodes-children/8853 "2025-11-16T19:11:06Z")

</div>

I have a decoration widget plugin that updates the decoration set, removing some when they need to be updated with augmented html (as where they are put and their html contents can change as typing occurs). However, I a…

---

## [Updating node attributes in a decoration widget plugin](https://discuss.prosemirror.net/t/updating-node-attributes-in-a-decoration-widget-plugin/8852)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 3\
**Last updated:** [November 13, 2025, 4:36pm UTC](https://discuss.prosemirror.net/t/updating-node-attributes-in-a-decoration-widget-plugin/8852 "2025-11-13T16:36:16Z")

</div>

I need to update node attributes within the apply function of a decoration widget plugin (in my case the node’s updated height), but I am wondering about the required process. I have the transform field from the app (ap…

---

## [Plugins when contenteditable false](https://discuss.prosemirror.net/t/plugins-when-contenteditable-false/8849)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 3\
**Last updated:** [November 13, 2025, 7:03am UTC](https://discuss.prosemirror.net/t/plugins-when-contenteditable-false/8849 "2025-11-13T07:03:55Z")

</div>

In implementing the tooltip example in my own code as a test, if I make the ProseMirror class non-editable (for now setting the contenteditable attr to false, although I know that is not the best solution), the tooltip d…

---

## [Getting node DOM rectangles in Decorations Plugin](https://discuss.prosemirror.net/t/getting-node-dom-rectangles-in-decorations-plugin/8851)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 5\
**Last updated:** [November 13, 2025, 12:08am UTC](https://discuss.prosemirror.net/t/getting-node-dom-rectangles-in-decorations-plugin/8851 "2025-11-13T00:08:38Z")

</div>

I am doing my best to find a workable strategy for finding DOM bounding rectangles for nodes within the apply function of a decorations plugin. I have no idea if the DOM itself has been updated prior to the apply functi…

---

## [Widget decoration duplication issue](https://discuss.prosemirror.net/t/widget-decoration-duplication-issue/8850)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 6\
**Last updated:** [November 12, 2025, 3:45pm UTC](https://discuss.prosemirror.net/t/widget-decoration-duplication-issue/8850 "2025-11-12T15:45:29Z")

</div>

In my code, I added a decoration plugin to insert widget decorations (not inline ones) to put some html into the DOM (such as a page break for pagination mimicry). But what happens is that on each click or character entr…

---

## [Positions as numbers is too error-prone](https://discuss.prosemirror.net/t/positions-as-numbers-is-too-error-prone/8808)

<div class="topic-metadata">

**Author:** [@TeemuKoivisto](https://discuss.prosemirror.net/u/TeemuKoivisto)\
**Replies:** 12\
**Last updated:** [November 12, 2025, 3:17pm UTC](https://discuss.prosemirror.net/t/positions-as-numbers-is-too-error-prone/8808 "2025-11-12T15:17:51Z")

</div>

There should be another way of passing positions than numbers within transactions. I can’t count how many times i have caused a bug when a change in tr.doc has caused the position to shift, thus the next use of the posi…

---

## [Responsivness improvements for rendering of a large set of decorations](https://discuss.prosemirror.net/t/responsivness-improvements-for-rendering-of-a-large-set-of-decorations/8834)

<div class="topic-metadata">

**Author:** [@MikeB1](https://discuss.prosemirror.net/u/MikeB1)\
**Replies:** 4\
**Last updated:** [November 11, 2025, 12:13pm UTC](https://discuss.prosemirror.net/t/responsivness-improvements-for-rendering-of-a-large-set-of-decorations/8834 "2025-11-11T12:13:51Z")

</div>

During the implementation of the search & replace functionality, similar to the Ctrl+F feature in many other text editors, I noticed that even a relatively small document (around 30 thousand characters) can become moment…

---

## [Editor selection error caused by Chinese input method deleted](https://discuss.prosemirror.net/t/editor-selection-error-caused-by-chinese-input-method-deleted/8842)

<div class="topic-metadata">

**Author:** [@1730995963](https://discuss.prosemirror.net/u/1730995963)\
**Replies:** 5\
**Last updated:** [November 11, 2025, 7:20am UTC](https://discuss.prosemirror.net/t/editor-selection-error-caused-by-chinese-input-method-deleted/8842 "2025-11-11T07:20:06Z")

</div>

In the client of Electron, opening the ProseMirror webpage may cause issues such as in GIF images, which may be due to the Chinese Pinyin not being in the editor during combined input. How can this be resolved. Browser k…

---

## [ProseMirror examples in Github?](https://discuss.prosemirror.net/t/prosemirror-examples-in-github/8848)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 2\
**Last updated:** [November 10, 2025, 1:22pm UTC](https://discuss.prosemirror.net/t/prosemirror-examples-in-github/8848 "2025-11-10T13:22:50Z")

</div>

It would be great if marjin or someone else could post github libraries with the examples from the PM website so we could learn the complete setup for the various lessons to be learned from each example. The example pag…

---

## [Getting the absolute position of nodes in the toDOM function](https://discuss.prosemirror.net/t/getting-the-absolute-position-of-nodes-in-the-todom-function/8847)

<div class="topic-metadata">

**Author:** [@bencahan](https://discuss.prosemirror.net/u/bencahan)\
**Replies:** 3\
**Last updated:** [November 10, 2025, 8:58am UTC](https://discuss.prosemirror.net/t/getting-the-absolute-position-of-nodes-in-the-todom-function/8847 "2025-11-10T08:58:45Z")

</div>

I am trying to get the position of a node within the toDOM function, in order to create my own pagination feature. I have the view in a variable that is accessible, can I get the node in question from the EditorView and…

---

## [Cannot distinguish paste vs. drag behavior in transformPasted](https://discuss.prosemirror.net/t/cannot-distinguish-paste-vs-drag-behavior-in-transformpasted/8844)

<div class="topic-metadata">

**Author:** [@zyh961117](https://discuss.prosemirror.net/u/zyh961117)\
**Replies:** 3\
**Last updated:** [November 7, 2025, 11:56am UTC](https://discuss.prosemirror.net/t/cannot-distinguish-paste-vs-drag-behavior-in-transformpasted/8844 "2025-11-07T11:56:09Z")

</div>

Hi Marijn, I’ve found that after updating to commit 90a8bfbf3989febaf83dee41b0c089385567a921, drop events now unexpectedly trigger transformPasted in my implementation. To handle this, I need to skip certain transformPa…

---

## [Decoration Mapping Issues After Inline Replacements](https://discuss.prosemirror.net/t/decoration-mapping-issues-after-inline-replacements/8824)

<div class="topic-metadata">

**Author:** [@haitu-philips](https://discuss.prosemirror.net/u/haitu-philips)\
**Replies:** 6\
**Last updated:** [November 5, 2025, 11:40am UTC](https://discuss.prosemirror.net/t/decoration-mapping-issues-after-inline-replacements/8824 "2025-11-05T11:40:28Z")

</div>

After a selection change, I see an extra step in my transaction, which is causing issues with decoration positioning. In the following HTML, I highlighted the "23": \<p\> \<strong\> \<span inputsource="AREA\_TYPED\_TEXT…

[Previous page](https://discuss.prosemirror.net/latest.md?page=2)

[Next page](https://discuss.prosemirror.net/latest.md?page=4)
