April 26, 2026
Faster, everywhere.
Workspace pages now paint in one shot. Long sheets stay 60fps at any size. Realtime updates land in tens of milliseconds cross-region. The dashboard feels the same with one writer or seven.
New
- Workspaces paint in one shot. Workspace name, columns, the first 500 rows, and members all ship inline on the first byte of HTML. No spinner, no client-side fetch waterfall before you see your table.
- Long tables stay 60fps. Workspaces over 100 rows now virtualize the scroll area; only visible rows plus a 10-row buffer stay mounted. Selection, drag-fill, clipboard, keyboard nav, drag-and-drop reorder all preserved.
- Sub-100ms realtime updates. Workspace events propagate cross-region in tens of milliseconds. Polling stays as the correctness net underneath, so missed broadcasts never lose the event.
- Mid-keystroke writes never block. Live event load no longer drags the page. Multiplayer typing feels the same with 1 person writing or 5 humans + 2 agents writing concurrently.
Polish
- Doc-first workspaces no longer flash the table on first load. Mode resolves on the server: URL `?m=` hint, then the workspace's persisted default, then table as last resort.
- Per-workspace `<title>` and canonical URL. Browser tabs, history, and link previews all show the workspace name instead of a generic "Dock".
Docs
- `/docs/performance` publishes the budgets we hold ourselves to: warm-cache TTFB, FCP, LCP, CLS targets, plus the architecture split (SSR marketing site, mostly-SSR dashboard).