TypeCellOS / TypeCellOS/BlockNote

Drag ghost issues when moving blocks

Aperta
#2,609 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug:P3 sponsor
Lingua principale
TypeScript
Stelle
10.2k
Fork
772
Merge medio
3g 11h
PR unite (30g)
17

Descrizione

What’s broken?

The drag ghost (the visual preview shown while dragging a block) has several rendering and behavior issues:

Image

  • Image block drag ghost is oversized. The drag ghost renders at a much larger size than the original block.
  • Image block becomes undraggable after first drag. Once an image block has been dragged and dropped once, it can no longer be dragged again.
    Image
  • Table block drag ghost lacks grid lines. The grid/borders are not visible in the drag ghost.
    Image
  • Text block drag ghost does not preserve line breaks while dragging. The drag ghost collapses multi-line text onto a single line.
  • No opacity reduction on drag ghost. Dragged elements render at full opacity, making it hard to distinguish the ghost from the actual page content.
What did you expect to happen?
  • The drag ghost should match the original block's dimensions and styling (size, borders, line breaks).
  • Image blocks should remain draggable after being moved.
  • The drag ghost should have reduced opacity so users can clearly tell it apart from the underlying content. For reference, Notion applies opacity and preserves table grids in its drag previews.
Steps to reproduce
  • Open a document containing image, table, and multi-line text blocks.
  • Drag an image block. Observe the oversized ghost.
  • Drop the image, then try to drag it again. Observe it is no longer draggable.
  • Drag a table block. Observe the missing grid lines.
  • Drag a multi-line text block. Observe collapsed line breaks.
  • During any drag, note the lack of opacity difference between the ghost and the page content.
BlockNote version

No response

Environment

macOS 26.4 (25E246)

Additional context

Observed on macOS with Chromium-based browsers (Chrome, Arc, Dia).

Contribution
  • I'd be interested in contributing a fix for this issue
Sponsor
  • I'm a sponsor and would appreciate if you could look into this sooner than later 💖

Guida per i contributori

Apri la guida per i contributori

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.

Direzione di ricerca

Start by reproducing the drag behavior with image, table, and multiline text blocks in a Chromium-based browser on macOS. Inspect the existing block drag-ghost entry point and verify that the preview preserves dimensions, borders, line breaks, repeat draggability, and reduced opacity across all listed cases.

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

Valutazione

Stack tecnologico
react, typescript
Ambito
frontend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.