[Beta]: Undo and redo do nothing after an edit in 16 Plite examples, such as hovering-toolbar, iframe and images
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
Línea de trabajo
Start by reading the 16 example files under apps/www/src/app/(app)/examples/plite/_examples/, especially the listed useEditor calls, and compare them with synced-blocks.tsx and content-completion, where history is installed and undo works. Reproduce the word probe in one affected example and one working example, then trace how their editor plugins handle history. Done means undo and redo work across the reported examples; verify with the word and HTML probes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Testing lane
- Repository:
udecode/plate - Branch:
next - Release channel: Beta
- Exact commit/package version:
NOT_ENOUGH_INFO
Summary
In 16 Plite examples on Beta, ⌘Z and ⌘⇧Z do nothing after an edit. A deleted word, a deleted image or text replaced by pasted HTML stays as it is. Eight of these examples also exist on slatejs.org, and there the same steps undo and redo the edit. The other eight have no slatejs.org counterpart. Beta examples that install history, such as content-completion, undo the same edit.
Reproduction
Repro 1: /examples/plite/hovering-toolbar (Firefox), /examples/plite/iframe (Chrome), /examples/plite/images (Safari)
Each page runs in the browser named in the heading.
- Open https://beta.platejs.org/examples/plite/hovering-toolbar in Firefox, https://beta.platejs.org/examples/plite/iframe in Chrome, or https://beta.platejs.org/examples/plite/images in Safari.
- Click the last paragraph on hovering-toolbar, the last paragraph inside the iframe on iframe, or the first paragraph on images.
- Press ⌘→ and Return, and type
QA alpha beta. On images the new line lands after the first paragraph and before the first image. - Press ⌥⇧← to select
beta, and press Backspace. The line readsQA alpha. - Press ⌘Z, then ⌘⇧Z.
On all three Beta pages the line still reads QA alpha after ⌘Z and after ⌘⇧Z. On https://www.slatejs.org/examples/hovering-toolbar, https://www.slatejs.org/examples/iframe and https://www.slatejs.org/examples/images, the same steps in the same browsers bring back QA alpha beta on ⌘Z, and ⌘⇧Z deletes beta again.
All 16 examples
The tables list all 16 examples, the three in Repro 1 included. In every run ⌘Z left the edit in place, and where ⌘⇧Z was pressed it changed nothing. Two probes recur:
- Word probe: type
QA alpha betain a new paragraph, selectbeta, press Backspace, then ⌘Z and ⌘⇧Z. - HTML probe: select a line and paste the HTML
<p>A</p><p>B</p>over it, which leaves two paragraphsAandB, then press ⌘Z.
Examples that slatejs.org also has. Each was compared with its slatejs.org page in the same browser, and there ⌘Z undid the same edit.
| Example | Browser, who ran it, date | Edit that ⌘Z did not undo on Beta |
|---|---|---|
| /examples/plite/check-lists | Chrome 155 on macOS, agents, 2026-10-20 | work! in Let's go to work!, deleted with ⌘→ and ⌥⌫ |
| /examples/plite/hovering-toolbar | Repro 1. Also Firefox 158 on macOS, agent, 2026-10-20. natamox confirmed it by hand the same day | the final period, deleted with Backspace after a reload and ⌘↓ |
| /examples/plite/iframe | Repro 1. Also Chrome, agent, 2026-10-20. natamox confirmed it by hand the same day | the period at the end of CSS., deleted with Backspace |
| /examples/plite/images | Repro 1. Also Safari, agent, 2026-10-20. natamox confirmed it by hand the same day | the first image, deleted with the Delete button at its top left or with Backspace; two HTML paragraphs pasted over a selection in the first paragraph |
| /examples/plite/markdown-preview | desktop Chrome and Chromium 152, agents, 2026-10-21 | beta, after typing alpha beta at the end of the last paragraph, selecting beta with a double-click and pressing Backspace |
| /examples/plite/search-highlighting | Firefox, agent, by 2026-10-20; Chromium 152, agent, 2026-10-21. natamox judged it a bug on 2026-10-21 | the last text in a new paragraph text alpha text, selected with ⌥⇧← and deleted with Backspace |
| /examples/plite/shadow-dom | Chromium 152 and desktop Chrome, agents, 2026-10-21 | beta, after typing alpha beta at the end of This Editor is rendered within a nested Shadow DOM., deleted as on markdown-preview |
| /examples/plite/tables | Safari, agent, by 2026-10-20 | the last word, beta, in the Human cell, deleted with Backspace; HTML pasted into the Cat cell, which added cells |
Examples that slatejs.org does not have.
| Example | Browser, who ran it, date | Edit that ⌘Z did not undo on Beta |
|---|---|---|
/examples/plite/comment-mode, Edit mode panel |
Chromium 152 and desktop Chrome, agents, 2026-10-21. natamox noted on 2026-10-22 that it still happens | beta, after typing alpha beta at the end of the Edit mode editor, selecting beta with a double-click and pressing Backspace. The page's document writes count did not change on ⌘Z |
| /examples/plite/cross-editor-drag | Safari, agent, by 2026-10-20 | word probe and HTML probe |
| /examples/plite/decorations-async | Firefox, agent, by 2026-10-20 | word probe and HTML probe |
| /examples/plite/dom-coverage-boundaries | Chrome, agent, by 2026-10-20 | word probe and HTML probe |
| /examples/plite/hidden-content-blocks | Firefox, agent, by 2026-10-20. natamox confirmed it by hand on 2026-10-22 | word probe and HTML probe |
| /examples/plite/linting | Chrome, agent, by 2026-10-20; headless Chromium and WebKit, agent, 2026-10-22 | obviously, selected and deleted with Backspace; word probe and HTML probe; a fix made with Apply first fix |
| /examples/plite/render-contract | Firefox, agent, by 2026-10-20; an agent's Chromium, 2026-10-22. natamox confirmed it by hand on 2026-10-22 | word probe after Intro; HTML probe; a Backspace that joined back a line split with Return in the portal paragraph |
| /examples/plite/schema-reconfiguration, named root | Chromium 152 and desktop Chrome, agents, 2026-10-21; Chrome 155, agent, 2026-10-22 | beta, after typing alpha beta at the end of the named root's beforeguardafter, deleted as on comment-mode; with Use read-only schema on, the whole guard, removed by Backspace |
Expected
⌘Z undoes the last edit, and ⌘⇧Z redoes it.
- For the eight examples slatejs.org also has, slatejs.org is the reference: the same steps in the same browser undo and redo the edit there. Repro 1 shows three of them side by side.
- For the other eight, slatejs.org has no reference. The reference is Beta itself: Beta examples that install history undo the same edits. An agent noted on 2026-10-20 that styling, multi-root-document and synced-blocks undo normally, and richtext and plaintext install history too. On /examples/plite/content-completion, which installs history, an agent ran the word probe in Chrome on 2026-10-20: ⌘Z brought
betaback, and ⌘⇧Z deleted it again.
Actual
On all 16 examples ⌘Z leaves the edit in place, and ⌘⇧Z changes nothing. Focus stays in the editor.
Environment
- Exact
nextcommit/Beta package version:NOT_ENOUGH_INFO. Agent runs on 2026-10-20 and 2026-10-21 recorded the Beta build as7f98d46ed5. - On 2026-10-24 an agent replayed check-lists and tables on the live Beta in headless Chromium 149 and Playwright WebKit 26.5. ⌘Z still undid nothing there, not even a typed letter.
- Repro 1: an agent drove natamox's desktop Firefox, Chrome and Safari on macOS on 2026-10-20 (PT), with each Beta page and its slatejs.org page in separate single-tab windows. The run did not record browser versions. Other runs that day record Firefox 158.0 and Chrome 155.0.8059.85 on macOS 27.0.1.
- natamox confirmed hovering-toolbar, iframe and images by hand on 2026-10-20. On 2026-10-23 (PT) natamox confirmed again that on Beta ⌘Z after deleting a word does not bring it back.
- The tables give the browser, the runner and the date of every other run. Nobody has tested undo in these examples on a phone.
Caveat
- From a reading of the code on
next, not confirmed by a fix: none of the 16 examples installshistory(). Their files are inapps/www/src/app/(app)/examples/plite/_examples/, and eachuseEditorcall passes only the example's own plugins, or none:check-lists.tsx:116,hovering-toolbar.tsx:44,iframe.tsx:69,images.tsx:136,markdown-preview.tsx:52,search-highlighting.tsx:30,shadow-dom.tsx:41,tables.tsx:193,comment-mode.tsx:647,cross-editor-drag.tsx:6,decorations-async.tsx:63,dom-coverage-boundaries.tsx:43,hidden-content-blocks.tsx:391,linting.tsx:280,render-contract.tsx:61andschema-reconfiguration.tsx:197. Examples where undo works pass it, such asplugins: [history(), syncedBlocks()]atsynced-blocks.tsx:69. - Six more examples have no
history()either, and nobody has tested undo on them: android-tests, embeds, persistent-annotation-anchors, plate-dnd-cross-editor, plate-schema-descriptors and read-only. Slate's embeds example has no history either (#5246). - The Repro 1 recording does not capture key presses. Its captions were added afterwards from the agent's action log and list each segment's steps, so the frames do not mark when ⌘Z or ⌘⇧Z was pressed. The run also saved the editor's accessibility text after each key. On Beta it reads
QA alphaafter ⌘Z and after ⌘⇧Z.
Evidence
- Repro 1: desktop screen recording, 96 seconds, cropped to the editor and played at half speed, with a caption panel under it. For each example Beta runs first and slatejs.org second. A run label at the start of each caption title is covered.
- 0:00–0:16, Beta hovering-toolbar in Firefox. At 0:07
QA alpha betashows withbetaselected, and Backspace deletesbetathe same second. The line readsQA alphato 0:16. - 0:16–0:32, slatejs.org in Firefox. Backspace deletes
betaat 0:22. ⌘Z brings it back at 0:23, and ⌘⇧Z deletes it again at 0:25. - 0:32–0:48, Beta iframe in Chrome.
betais selected at 0:36 and deleted at 0:37. The line readsQA alphato 0:48. - 0:48–1:04, slatejs.org in Chrome.
betais deleted at 0:54, back at 0:55 and deleted again at 0:57. - 1:04–1:20, Beta images in Safari.
betais selected at 1:10 and deleted at 1:11. The line readsQA alphato 1:20. - 1:20–1:36, slatejs.org in Safari.
betais deleted at 1:26, back at 1:28 and deleted again at 1:29. - The blue focus ring around the Chrome iframe goes away at 0:42 on Beta and at 1:01 on slatejs.org, and the slatejs.org editor in Firefox loses its ring at 0:29. The run's report does not say why.
- 0:00–0:16, Beta hovering-toolbar in Firefox. At 0:07
Repro 1 — Firefox, Chrome and Safari, /examples/plite/hovering-toolbar, iframe and images, each followed by slatejs.org
https://github.com/user-attachments/assets/bcd5375b-36d9-4a31-b283-cc9f8d2d7c6b
- Lenguaje dominante
- TypeScript
- Estrellas
- 16.6k
- Forks
- 993
- Merge medio
- 20 h 21 min
- PR fusionados (30 d)
- 60
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de udecode/plate
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
[Beta]: After Enter saves an edited link URL, the link toolbar stays hidden while the caret is in the linkPosiblemente ocupada @zbeyens la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
udecode/plate#5314 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
[Beta]: The docs Demo example page starts with an empty editorPosiblemente ocupada @natamox la tomó hace 3 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
udecode/plate#5308 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de udecode/plate
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
CopilotKit/openmuse#215 ·
Los mantenedores suelen responder en 3 días
-
b:minor bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
software-mansion/argent#1698 ·
Los mantenedores suelen responder en 1 día
-
e2e-failure ready-to-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
redhat-developer/rhdh-plugin-export-overlays#4624 · 1 comentario ·
Los mantenedores suelen responder en 1 día