Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Placeholder of an empty list item stays visible on a collaborator's editor using Firefox after text is typed by another user using Chromium

Đang mở
#3,245 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
58/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
react, typescript
Lĩnh vực
frontend

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
  1. Open https://www.blocknotejs.org/demo in Firefox and copy the collaboration URL (/demo#<room>).
  2. Open the same URL in Chromium / Chrome.
  3. In Chromium, put the cursor at the end of a bullet list item and press Enter to create a new, empty bullet item.
  4. In Firefox, the new empty item shows the "List" placeholder, as expected.
  5. In Chromium, type some text into that new item.
  6. In Firefox: the text shows up, but the gray "List" placeholder stays visible after it.
  7. 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

Ngôn ngữ chính
TypeScript
Star
10.3k
Fork
780
Merge trung bình
2 ngày 22 giờ
Pull request đã merge (30 ngày)
48

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của TypeCellOS/BlockNote

Tất cả issue của TypeCellOS/BlockNote

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.