Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Beta]: After a callout emoji is picked with no caret in the editor, typing goes to the start of the first heading

Abierto
#5,300 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
74/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
react, typescript
Área
frontend

Línea de trabajo

Read apps/www/src/registry/components/editor/callout.tsx and apps/www/src/registry/components/editor/emoji-picker.tsx, focusing on the icon selection and onFinalFocus paths described in the issue. Reproduce the steps on the Beta callout docs page and check for nearby focus tests. Done means picking an emoji without first placing a caret does not send subsequent typing into the first heading.

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

On https://beta.platejs.org/docs/callout, picking a new icon for a callout before clicking in the text moves focus into the editor, with the caret at the start of the first heading, Callouts. The next keys go there, so typing xy makes it xyCallouts. On https://platejs.org/docs/callout, focus stays on the icon button after the pick, and typing changes nothing.

Reproduction

Repro 1: pick an icon, then type, Chromium

An agent ran this on the live Beta in headless Chromium 149 (Playwright) on 2026-10-24 and recorded it.

  1. Open https://beta.platejs.org/docs/callout. Do not click the text.
  2. Click the 💡 icon of the first callout. The emoji picker opens with focus in its Search emoji field.
  3. Pick 😁.
  4. Type x, then y.

Results:

  • Step 3: the icon becomes 😁, and focus moves to the editor.
  • Step 4: the first heading reads xyCallouts.

The same steps on platejs.org in Chromium 149: after the pick, focus is on the icon button, and the heading does not change.

Repro 2: Android Chrome

An agent ran this on a real Android 16 phone in Chrome 156 with the QQ input method on 2026-10-22, for Sin's assigned pages. With no caret placed first, picking a callout emoji and then typing put the text at the start of the first heading. With the caret placed in the callout first, the text stayed in the callout. On platejs.org the keyboard closed after the pick.

Expected

After an icon pick, the keys typed next do not change the heading. Focus either returns to the icon button, as on platejs.org, or to the caret the reader had before.

Actual

Focus moves to the start of the document, and the next keys edit the first heading.

Environment

  • Exact next commit/Beta package version: NOT_ENOUGH_INFO. The page does not show its build.
  • Repro 1: Chromium 149.0.7827.55 (Playwright, headless) on macOS, 2026-10-24.
  • Repro 2: Chrome 156 on Android 16, 2026-10-22.
  • Not tried in Safari or Firefox.

Caveat

From a reading of the code on next a32ed63c78:

  • The callout's onEmojiSelect sets the icon with editor.update.nodes.set({ icon }, { at: props.element }) (apps/www/src/registry/components/editor/callout.tsx:35-38).
  • When the picker closes after a pick, its onFinalFocus prevents the default focus return and calls editor.api.dom.focus() (apps/www/src/registry/components/editor/emoji-picker.tsx:108-112). The component's comment at :72 says "After a pick, focus returns to the editor."
  • With no earlier selection in the editor, that focus puts the caret at the start of the document, the first heading.
  • Not tried as a code change.

Evidence

  • Repro 1: the agent's recording, 0:21, real time, with the step panel on the right. The dark box at the bottom left is drawn by the test script. It shows the focused element, the first heading and the first callout's icon, and turns red when the heading no longer starts with Callouts. The pick is at 0:05, and typing starts at 0:08.
Repro 1 — Chromium 149, /docs/callout

https://github.com/user-attachments/assets/4f3713b5-8fae-438d-97aa-54b18a0b7237

Related

  • #5301: in the Excalidraw docs demo, a canvas undo also sends the next keys 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.
Lenguaje dominante
TypeScript
Estrellas
16.6k
Forks
993
Merge medio
20 h 2 min
PR fusionados (30 d)
62

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de udecode/plate

Todos los issues de udecode/plate

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.