Placeholder of an empty list item stays visible on a collaborator's editor using Firefox after text is typed by another user using Chromium
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
- 58/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Start by tracing how the empty-block placeholder is recalculated when local typing changes a list item, then compare that with the remote Yjs update path in the editor. Reproduce with Firefox and Chromium on the demo; test whether the fix also handles typing in the reverse direction and other block types. Done when the placeholder disappears in Firefox after remote text arrives, without breaking local typing.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What's broken?
In a collaborative session, the gray placeholder of a list item doesn't go away in Firefox when the other user types in that item from Chromium. The block's text syncs correctly, but the "List" placeholder stays visible right after the text.
It happens on every new bullet item the Chromium user creates and types into. In the Chromium editor everything looks right: no placeholder once there's text.
Reproduced on the official demo: https://www.blocknotejs.org/demo
What did you expect to happen?
When a block that was empty gets content from a remote collaborator, its placeholder should go away on every client, the same as it does for local typing.
Steps to reproduce
- Open https://www.blocknotejs.org/demo in Firefox and copy the collaboration URL (
/demo#<room>). - Open the same URL in Chromium / Chrome.
- In Chromium, put the cursor at the end of a bullet list item and press
Enterto create a new, empty bullet item. - In Firefox, the new empty item shows the "List" placeholder, as expected.
- In Chromium, type some text into that new item.
- In Firefox: the text shows up, but the gray "List" placeholder stays visible after it.
- Repeat with another new item and you get the same result.
What browsers are you seeing the problem on?
- Firefox: the editor where the stale placeholder appears
- Chromium: the editor where the user types
BlockNote version
The version deployed on blocknotejs.org/demo as of 2026-10-23
Environment
Linux (Ubuntu), Firefox and Chromium side by side on the same machine
Additional context
See the attached video: Firefox on the left, Chromium on the right.
It looks like the empty-block placeholder decoration isn't recalculated on the Firefox client when the block's content comes from a remote Yjs update rather than a local transaction. It may be tied to where the Firefox selection sits, since its caret is in or near that block. This is only a guess and hasn't been checked in the code. We haven't tested the reverse case (typing in Firefox, watching in Chromium) or other block types (paragraph, numbered list, checklist), which could help narrow it down.
https://github.com/user-attachments/assets/2bb0640d-219d-4f24-92f8-1736ea075e55
- Lenguaje dominante
- TypeScript
- Estrellas
- 10.3k
- Forks
- 780
- Merge medio
- 2 d 22 h
- PR fusionados (30 d)
- 48
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 TypeCellOS/BlockNote
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
TypeCellOS/BlockNote#2949 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
a11y
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
TypeCellOS/BlockNote#2855 ·
Los mantenedores suelen responder en 1 día
-
a11y
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
TypeCellOS/BlockNote#2829 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Comment thread actions: hover-only controls and unlabeled buttons in ThreadsSidebaPosiblemente ocupada @matthewlipski la tomó hace 2 días. Abiertoa11y
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
TypeCellOS/BlockNote#2824 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
A failed upload from a file drop or paste leaves a stuck "Loading..." blockPosiblemente ocupada @nperez0111 la tomó hace 1 día. Abiertoneeds-triage
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
TypeCellOS/BlockNote#3246 ·
Los mantenedores suelen responder en 1 día
Todos los issues de TypeCellOS/BlockNote
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
awesome-dsh-plugin/awesome-dsh-plugin#9184 ·
Los mantenedores suelen responder en 1 día
-
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 85/100
farion1231/cc-switch#8829 ·
Los mantenedores suelen responder en 1 día
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverAbiertodoc-audit enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100