The merge only applied to a fixed list of block types, so legacy blocks
without a type were ignored, and blocks with children were rejected.
Now only code/divider/table/progress are excluded and children move up
under the previous block. The focused bullet dot is also neutral now.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Backspace at the start of a non-empty bullet appends its text to the
previous visible bullet (skipped for blocks with children and for
code/divider/table/progress blocks).
- Hashtags are rendered inline as clickable chips instead of a badge row
below the text, so lines no longer grow taller.
- Targeted/highlighted bullets use a neutral background instead of accent.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Click bullet point (•) or hover zoom icon to zoom into any block branch
- Render hoisted block as prominent heading in focus mode with direct editing
- Display clickable breadcrumb path leading back to ancestors or root document
- Render isolated subtree with visual level offset and bound indentation
- Support ephemeral cursor_moved and client_left events in docroom Hub
- Keep active in-memory cursor presence map per document room
- Synchronize current presence state to newly connected WebSocket clients
- Allow read-only viewers to share cursor positions without document mutation rights
- Throttle frontend cursor move emissions to 100ms with instant blur cleanup
- Render active collaborator presence avatar pills in document header
- Display user-colored block indicator and non-destructive caret overlay with name tag