[Beta]: In the Excalidraw docs demo, Forward Delete and typing after a canvas undo and redo go into the heading
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- react, typescript
- Ambito
- frontend
Direzione di ricerca
Start with the Excalidraw demo at /docs/excalidraw and compare its undo/redo behavior with the live site; the issue does not name source files or tests. Trace what receives ⌘Z after drawing, since focus moves from the canvas to the editor. Done when undo and redo keep focus in Excalidraw and subsequent Forward Delete and typing leave the heading unchanged.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Testing lane
- Repository:
udecode/plate - Branch:
next - Release channel: Beta
- Exact commit/package version:
NOT_ENOUGH_INFO
Summary
On https://beta.platejs.org/docs/excalidraw, after a shape is drawn on the canvas and ⌘Z then ⌘⇧Z are pressed, Forward Delete and x change the demo editor's first heading, Excalidraw, to xExcalidraw. Focus has left the canvas for the editor text. On https://platejs.org/docs/excalidraw, focus stays in Excalidraw after the same keys, and the heading does not change.
Reproduction
Repro 1: draw, undo, redo, Forward Delete and x, Safari
An agent ran this in Safari 27.0 on macOS on 2026-10-21, as part of Sin's assigned pages, with platejs.org beside it, and recorded both.
- Open https://beta.platejs.org/docs/excalidraw.
- Draw a rectangle on the canvas.
- Press ⌘Z, then ⌘⇧Z.
- Without clicking the text, press Forward Delete (Fn+Delete on a Mac keyboard), then type
x.
Result: the heading above the canvas becomes xExcalidraw. The same sequence after five reloads gave the same result. On platejs.org focus stays in Excalidraw, and the heading is unchanged.
Sin confirmed it by hand on 2026-10-23 (Beijing time).
Repro 2: Chromium and WebKit
An agent ran the steps of Repro 1 on the live Beta in headless Chromium 149 and WebKit 26.5 (Playwright) on 2026-10-24. There is no recording. In both engines focus was in the Excalidraw container after the drawing and moved to the editor's contenteditable at ⌘Z, before Forward Delete. After x the heading read xExcalidraw.
Expected
Undo and redo in the canvas act on the drawing and leave focus in Excalidraw, and the keys typed next do not change the editor text, as on platejs.org.
Actual
As listed under Results. Focus moves to the editor at ⌘Z, and the next keys edit the start of the first heading.
Environment
- Exact
nextcommit/Beta package version:NOT_ENOUGH_INFO. The page does not show its build. - Repro 1: Safari 27.0 on macOS, 2026-10-21.
- Repro 2: Chromium 149.0.7827.55 and WebKit 26.5 (Playwright, headless) on macOS, 2026-10-24.
- Not tried in Firefox or on a phone.
Caveat
The cause is not traced. The probe shows the editor takes focus at ⌘Z, and the editor's selection is at the start of the document because the text was never clicked, so later keys land there. In Repro 1, a redo followed by x alone sometimes dropped the x, so the steps keep Forward Delete. #5300 shows the same end state after an emoji pick: focus returns to the editor, and typing goes to the start of the first heading.
Evidence
- Repro 1: the agent's recording, 0:16, Beta on the left and platejs.org on the right. The two sides were recorded separately and aligned by step. The zoomed headings at the bottom are screenshots taken after the last key. The source ran at about 5 frames per second, and the last frame is held. A record number in its top-left corner is covered.
Repro 1 — Safari 27.0, /docs/excalidraw (Beta left, platejs.org right)
https://github.com/user-attachments/assets/a42f6750-22c3-4abb-bfd8-1d80b71eb815
Related
- #5300: picking a callout emoji sends typing to the start of the first heading.
- #5290: in the inlines example, mouse input misses the button text and the next edit lands at the previous caret position.
- Lingua principale
- TypeScript
- Stelle
- 16.6k
- Fork
- 993
- Merge medio
- 20h 1m
- PR unite (30g)
- 60
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di udecode/plate
-
triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
mobile triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
[Beta]: The docs Demo example page starts with an empty editorForse già presa @natamox l’ha presa oggi. Apertatriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
udecode/plate#5308 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di udecode/plate
Issue simili
-
agent-reported area/react bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Nimblesite/SharpLsp#510 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
backend refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
NIAEFEUP/tts#927 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
callstackincubator/react-native-harness#296 ·
I maintainer di solito rispondono entro 1 giorno