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

[Beta]: A list item that changes level keeps the marker style of its old level

Aperta
#5,294 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
58/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
react, typescript
Ambito
frontend

Direzione di ricerca

Start with the list demo at /docs/list and trace the Tab, Shift+Tab, and Enter handling for list items whose level changes. Reproduce the marker style mismatch with the supplied steps; the issue does not name source files or tests, so locate the relevant list handling and tests from that entry point. Done when moved items use the destination level’s marker style and the reported numbering remains correct.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug plugin:list target:beta

Testing lane

  • Repository: udecode/plate
  • Branch: next
  • Release channel: Beta
  • Exact commit/package version: NOT_ENOUGH_INFO

Summary

In the list demo on /docs/list, an item that moves to another level, through Tab, Shift+Tab or Enter on an empty item, keeps the marker style of its old level. Its number follows the new level, so an item outdented to the Roman level shows 2. while the Roman items after it become III., IV. and V.. natamox found it. platejs.org keeps the old style as well, but starts a new list there, so its numbers do not clash.

Reproduction

All steps start from the demo's default list on https://beta.platejs.org/docs/list.

Repro 1: Enter on an empty item

natamox, by hand, on 2026-10-21 (PT), with a screen recording.

  1. Click the end of 2. Decimal 12 and press Enter. A new empty item 3. appears.
  2. Press Enter again on the empty item.

Results:

  • The item moves out to the Roman level but shows 2., not II.. The Roman items after it become III., IV. and V..
  • Undo restores the list. The same steps at the end of 3. Decimal 13 give the same result.

An agent repeated it in Claude Code's built-in browser (Chromium 152) the same day. Shift+Tab on the empty item gives the same result. The item sits at the Roman level's indent (24px) and renders <ol start="2" style="list-style-type: decimal">, and typing into it does not change that.

Repro 2: Tab and Shift+Tab

An agent, in Claude Code's built-in browser (Chromium 152), on 2026-10-21 (PT), at natamox's request.

  1. Click the end of 3. Decimal 13 and press Shift+Tab.
  2. Undo, click the end of II. Roman 2 and press Tab.

Results:

  • Step 1: the item moves to the Roman level and shows 2., rendered as <ol start="2" style="list-style-type: decimal">. Roman 2, 3 and 4 become III, IV and V.
  • Step 2: Roman 2 moves to the decimal level together with its two children and shows IV., rendered as <ol start="4" style="list-style-type: upper-roman">. Roman 3 and 4 become II and III.
platejs.org

The same steps on https://platejs.org/docs/list also keep the old style, but the moved item starts a new list. After two Enters or Shift+Tab it shows 1., and Roman 2 stays II.. After Tab, Roman 2 shows I., and its old children stay where they were and continue as 4. and 5..

Expected

An item that changes level takes the marker style of its new level: II. after Shift+Tab or two Enters in the steps above, and 4. after Tab. Beta's numbering already follows the new level; only the style is wrong. This is natamox's expectation, and platejs.org does not meet it either.

Actual

As listed under Results. The marker style stays with the item, so one level shows two styles.

Environment

  • Exact next commit/Beta package version: NOT_ENOUGH_INFO. The page does not show its build.
  • Repro 1: natamox's hand retest on a Mac, 2026-10-21 (PT). The recording shows only the editor, so the browser is not visible.
  • The agent's checks: Claude Code's built-in browser (Chromium 152), 2026-10-21 (PT).
  • Not tried on a phone. Not replayed on the live Beta after 2026-10-21.

Caveat

The cause was not traced.

Evidence

  • Repro 1: natamox's screen recording, 0:14, editor area only, no key overlay. At 0:01 the caret goes to the end of 2. Decimal 12, and Enter adds 3.. At about 0:03.5 the empty item moves out and shows 2., with III. Roman 2 below it. Undo at 0:06, then the same steps at 3. Decimal 13 from 0:07.
  • Screenshot: Beta on the left and platejs.org on the right after the two Enters, with the rendered <ol> of each.
  • Repro 2: the agent's step-by-step capture, 0:45, Beta first and then platejs.org, with an English caption on each step.
Repro 1 — natamox's recording, /docs/list

https://github.com/user-attachments/assets/b5855984-ae57-4b78-b1ed-4f3771d32d6e

Repro 1 — Beta (left) and platejs.org (right) after two Enters

Repro 1 — Beta (left) and platejs.org (right) after two Enters

Repro 2 — Chromium 152, Beta then platejs.org

https://github.com/user-attachments/assets/ae0c5830-378a-4ad5-ace0-fd53d5b76cfd

Related

  • None.
Lingua principale
TypeScript
Stelle
16.6k
Fork
993
Merge medio
20h 1m
PR unite (30g)
61

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.