Skip to content

[Beta]: Accepting the seeded removal suggestion crashes the homepage Playground #5086

Description

@felixfeng33

Bug type

Crash (process/app exits or hangs)

Browser surface

Yes

Summary

Accepting the seeded mark text for removal suggestion in the Plate next/Beta homepage Playground crashes the page with a DOM removeChild NotFoundError.

Public reproduction URL

NOT_ENOUGH_INFO

Steps to reproduce

  1. Open the Plate next/Beta homepage.
  2. In the Playground's Collaborative Editing section, click the red mark text for removal suggestion.
  3. In the Delete: mark text for removal card, click the checkmark to accept the suggestion.
  4. Observe that the Playground is replaced by a runtime error overlay.

Expected behavior

The accepted removal suggestion should delete mark text for removal, close its suggestion card, and leave the Playground usable. Authority: the current editor.update.suggestion.accept package test verifies that accepting a remove suggestion removes the marked text, and the homepage card's checkmark calls that API.

Actual behavior

The page immediately switches to a Next.js runtime error overlay:

Runtime NotFoundError
Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

The visible call stack begins at button / <anonymous>.

Acceptance criteria

  • Accepting the seeded mark text for removal suggestion removes the marked text.
  • The suggestion card closes without a runtime error.
  • The homepage Playground remains interactive after acceptance.
  • Browser regression coverage exercises this exact homepage suggestion-accept path and asserts that no page error occurs.

Plate / Slate / React versions

plate: NOT_ENOUGH_INFO
plite: NOT_ENOUGH_INFO
suggestion: NOT_ENOUGH_INFO
react: NOT_ENOUGH_INFO
next: 16.2.6

Operating system

NOT_ENOUGH_INFO

Install method

NOT_ENOUGH_INFO

Framework / app setup

Next.js 16.2.6 homepage Playground

Affected packages or entry points

Plate next/Beta homepage Playground; apps/www homepage suggestion-card integration; @platejs/suggestion acceptance path. The recording does not establish the root-owning package.

Minimal code or config excerpt

const accept = (suggestion: ResolvedSuggestion) => {
  editor.update.suggestion.accept(suggestion);
};

<Button onClick={() => accept(suggestion)}>
  <CheckIcon />
</Button>

Logs, screenshots, and evidence

Supplied GIF: 5.04 seconds, 800x531.
~0:01: clicking `mark text for removal` opens the deletion-suggestion card.
~0:02.6: clicking the card's checkmark accepts the suggestion.
~0:03.2: the page is replaced by the `removeChild` `NotFoundError` overlay.

Impact and severity

Affected: users testing suggestion acceptance in the Plate next/Beta homepage Playground.
Severity: High for this flow because accepting the suggestion replaces the page with a runtime error.
Frequency: One observed attempt.
Consequence: The seeded suggestion cannot be accepted and the Playground becomes unusable until reload.

Additional information

Exact host, commit, browser, OS, and package versions are not visible in the recording. The homepage route is inferred from matching current source. The recording establishes the action and failure, but not the root cause.

Related issues checked:

Video evidence:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions