Skip to content

[pull] main from ueberdosis:main#82

Merged
pull[bot] merged 7 commits intocode:mainfrom
ueberdosis:main
May 5, 2026
Merged

[pull] main from ueberdosis:main#82
pull[bot] merged 7 commits intocode:mainfrom
ueberdosis:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 5, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

iamgio and others added 7 commits April 30, 2026 17:10
…t rule

When `$$$x$$$` was typed inside an otherwise empty paragraph, the input
rule replaced only the textblock content, leaving an empty wrapper
paragraph above the inserted block math node. Resolve the match position
and, when the match spans the entire host textblock, expand the
replacement to include the parent's open/close so the paragraph is
consumed instead of split.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ReplaceWith

The previous handler unconditionally replaced the entire host textblock
when the match consumed it, which produced an invalid document in
schemas where the parent requires a textblock as the first child (e.g.
listItem with `content: 'paragraph block*'`). Use `canReplaceWith` on
the grandparent to verify the replacement is schema-valid, falling back
to the inner-range replacement otherwise.

Adds a regression test for the listItem case.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…single replaceWith

Replace the if/else around `tr.replaceWith` with a single call driven by
a `replacementRange` ternary, and rename
`grandparentAcceptsReplacement` to `canReplaceHostTextblock` with a
short inline note describing what it checks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ns (#7797)

* docs(drag-handle): improve JSDoc clarity for nested drag handle options

* chore: add changeset

* improve writing in jsdocs

* improve writing in jsdocs

* add new line to changeset file
…o prevent memory leak (#7795)

* fix(core): release extension parent/child graph on Editor.destroy() to prevent memory leak (#7769)

* fix(core): make Editor.destroy() idempotent with a destroyed flag

* fix(core): avoid nulling ancestor.child in ExtensionManager.destroy() to prevent cross-editor side effects

* fix(core): address PR review feedback — preserve extension.parent/child on shared instances, clear extensionStorage, fix walk-up loop

* fix(core): walk full parent chain in ExtensionManager.destroy() and add multi-level test

* docs(core): clarify ExtensionManager.destroy() JSDoc on what is mutated
* fix(markdown): handle empty initial markdown content

When initial content is an empty string with contentType 'markdown',
MarkdownManager.parse('') returns { type: 'doc', content: [] } which
violates the schema's block+ requirement.

Instead of overriding editor options with an invalid doc, leave the
content as-is so ProseMirror's DOMParser.fillBefore can insert the
required default paragraph.

Closes #7157

* chore: add changeset

* fix(markdown): enhance tests for empty markdown content and support bold formatting
…paragraph

fix(extension-mathematics): consume host paragraph in block math input rule
@pull pull Bot locked and limited conversation to collaborators May 5, 2026
@pull pull Bot added the ⤵️ pull label May 5, 2026
@pull pull Bot merged commit e5082dd into code:main May 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants