v0.30.0-beta.5
Pre-releaseDelta since previous beta (v0.30.0-beta.4) — 4 new changesets.
Patch Changes
-
Files written into a freshly created folder no longer go missing from page listings, search, and the collaboration layer when the watcher's per-directory subscription loses the race with the write (seen on Linux under load, e.g.
mkdir notes && cp draft.md notes/). The new-folder rescan that already recovered dropped subfolders now recovers the files inside them too, replaying them through the normal change pipeline. -
Fixed a rare corruption where typing into a document with unregistered JSX components (like
<Steps>/<Step>) in source mode could duplicate or re-indent a block in the saved document. Under CPU load, a background editor could issue a structural rewrite of the same block the server was rebuilding keystroke-by-keystroke, and both copies survived into the authoritative document. The editor no longer issues those background rewrites while it is hidden in source mode, and the server now detects and discards a duplicated block instead of persisting it, so the typed content stays intact. -
Two editor insertion-route fixes.
Block components (Callout, and any block-level JSX component) can no longer be placed inside a table cell, where they previously disappeared on save: a table cell has no markdown spelling for block content, so the component serialized to zero bytes while still showing in the editor. Every insertion route now refuses it as a silent no-op — the slash menu omits block-component entries when the caret is in a cell, and pasting or dropping a block component into a cell leaves the document unchanged. Placing the same component outside a cell is unaffected, and content that already carries a component in a cell (from a collaborator or a raw file edit) is left alone rather than fought.
Pasting copied list items at a list-item boundary now lands them as sibling items instead of mis-placing them (#609). Pasting at the start of an item puts the copied items above it, at the end puts them below it, and mid-item splits the item at the caret. Task, bullet, and ordered lists behave the same way, nested lists inside the pasted items are preserved, and pasting a whole component or table still reproduces it byte-for-byte.
-
Two markdown fidelity corrections. The editor no longer writes a redundant backslash into stored source when prose contains interior punctuation like
1)x,a@x,a{x,a![x], or an uncloseda![x— those characters now round-trip as the literal text you typed. And pasting a list item so it holds a nested list as its first block (common when rearranging to-do lists) no longer emits garbled bytes: the item and its nested list now serialize to a form that re-parses to the same structure, instead of leaking a stray- [ ]marker into the item text or silently re-indenting the trailing content.