Skip to content

fix(core): report contentDOM replacement mutations - #263

Merged
ocavue merged 1 commit into
mainfrom
agent/report-contentdom-replacement-mutations
Jul 24, 2026
Merged

fix(core): report contentDOM replacement mutations#263
ocavue merged 1 commit into
mainfrom
agent/report-contentdom-replacement-mutations

Conversation

@ocavue

@ocavue ocavue commented Jul 24, 2026

Copy link
Copy Markdown
Member

What

  • Track when the browser removes a node view's contentDOM.
  • Report subsequent replacement mutations until contentDOM is restored, so ProseMirror can preserve the first typed character.
  • Keep Lit on Chromium and WebKit as expected failures because prosemirror/prosemirror#1581 requires an upstream fix.
  • Add a patch changeset for @prosemirror-adapter/core.

Why

After the browser removes contentDOM, the adapter reports that removal but ignores the following replacement mutations because their targets are no longer inside the detached contentDOM. ProseMirror therefore never sees the newly typed content.

This change keeps reporting mutations inside the node view until contentDOM is restored. It fixes the regression for Preact, React, Solid, Svelte, and Vue. Lit still exposes an upstream prosemirror-view content-element recovery problem.

Validation

  • pnpm fix
  • pnpm typecheck
  • pnpm lint
  • pnpm build
  • Targeted Playwright matrix: 16 regular passes and 2 expected Lit failures, reported as 18 passed

@vercel

vercel Bot commented Jul 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
prosemirror-adapter-e2e Ready Ready Preview, Comment Jul 24, 2026 6:13pm

@pkg-pr-new

pkg-pr-new Bot commented Jul 24, 2026

Copy link
Copy Markdown

Open in StackBlitz

@prosemirror-adapter/core

npm i https://pkg.pr.new/@prosemirror-adapter/core@263

@prosemirror-adapter/lit

npm i https://pkg.pr.new/@prosemirror-adapter/lit@263

@prosemirror-adapter/preact

npm i https://pkg.pr.new/@prosemirror-adapter/preact@263

@prosemirror-adapter/react

npm i https://pkg.pr.new/@prosemirror-adapter/react@263

@prosemirror-adapter/solid

npm i https://pkg.pr.new/@prosemirror-adapter/solid@263

@prosemirror-adapter/svelte

npm i https://pkg.pr.new/@prosemirror-adapter/svelte@263

@prosemirror-adapter/vue

npm i https://pkg.pr.new/@prosemirror-adapter/vue@263

commit: 5404e4b

@ocavue
ocavue marked this pull request as ready for review July 24, 2026 18:17
@ocavue
ocavue marked this pull request as draft July 24, 2026 18:22
@ocavue
ocavue marked this pull request as ready for review July 24, 2026 19:11
@ocavue
ocavue merged commit c5d8334 into main Jul 24, 2026
7 checks passed
@ocavue
ocavue deleted the agent/report-contentdom-replacement-mutations branch July 24, 2026 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant