Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Beta]: In the Excalidraw docs demo, Forward Delete and typing after a canvas undo and redo go into the heading

Aperta
#5,301 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

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.

  1. Open https://beta.platejs.org/docs/excalidraw.
  2. Draw a rectangle on the canvas.
  3. Press ⌘Z, then ⌘⇧Z.
  4. 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 next commit/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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di udecode/plate

Tutte le issue di udecode/plate

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.