Skip to content
Resource
DocsTourSlicesBest PracticeAgentsInstall

Command Palette

Search for a command to run...

New
  • Changelog

Changelog

Release notes

Changelog

What changed in each rr release — page 15 of 25. Full prose history in CHANGELOG.md.

JUN072026
Featurenotion@1.0.0Jun 7, 2026

notion 1.0.0 — the block editor port is COMPLETE and in the catalog

M2c+M3+M4 land in one wave, closing the port that started 2026-06-03. M2c composes the working editor: BlockEditor + PageEditor orchestrators (dnd-kit drag with column layouts, slash menu, markdown triggers, per-block undo, paste-markdown import via a synthesized insertBlocksAfter over the seam's block CRUD), PageActionsMenu (font/width/lock/copy/duplicate/move/trash + md/html/txt export through the vendored export libs), SelectionToolbar (inline formatting), MentionTypeahead (async adapter search), DatabasePicker (delegates to adapter.database.pickDatabase), TocBlock, PageRefBlock, the page-editor chrome (title, breadcrumbs, actions, subpages, cover strip, skeleton/not-found) and a props-driven RowPropertiesPanel. M3 ports the pure convex block helpers (_blocks/_blockOps, 31 unit tests) into convex/features/notion. M4 flips the slice off WIP: version 1.0.0, public catalog entry (npx rr add notion), and a live variant preview — the full PageEditor running on a localStorage-backed in-memory EditorDataAdapter (two scenarios, every edit persists). Mount with adapter `{}` for a plain markdown block editor; wire data/selection/comments/ai/database/mention/page adapters to light up host capabilities. Source app peers that don't cross the seam (sharing, snapshots, wiki, analytics, notifications, presence) stay host-side by design.

Slices touched

  • notion — M2c compose (28 new files) + M3 convex helpers + M4 catalog entry, preview, 1.0.0
  • markdown — unchanged, but the bridge note now points both ways: same grammar, blocksToMarkdown/markdownToBlocks

Infra

  • vitest now scans convex/features/**/*.test.ts — 322 tests total (was 291)
  • @notion/shared vendors: database/property types, exportContext, html, databaseTable, csvCells (page → md/html export with embedded-database tables)
JUN072026
Improvementmanifests@schema-aJun 7, 2026

Manifest debt zeroed + previews for the freshly lifted editors

validate:manifests had 23 long-standing (warn-only) errors: 7 slices still shipped the legacy {name, deps, notes} manifest shape and user-management used a stability value outside the enum. All 7 are converted to Schema A (slug/version/tier/distribution/files/imports — file lists from git, imports scanned from source; preview.tsx excluded), user-management moves alpha → experimental, and the validator now reports 0 errors. The two os-vps editors lifted this morning also join the variant-preview registry (33 slugs total): code-editor with three mock-fs scenarios and media-viewer with the offline sample gallery + a data-URI remote payload.

Manifests → Schema A

  • image-picker, notion-database, notion-shell, notion-sidebar, selection, theme-presets — legacy shape converted; versions sourced from slice.json
  • files — converted with distribution.method "manual" (no slice.json yet; consumed by the notion template + image-picker page)
  • user-management — stability "alpha" → "experimental" (schema enum)

New previews

  • code-editor — sample-tree / markdown-doc / python-script scenarios over the writable mock fs
  • media-viewer — sample-gallery / remote-image scenarios, fully offline
JUN072026
Featurevariant-previews@full-catalogJun 7, 2026

Preview backfill — 31 slices in the variant-preview registry + coverage gate + Vercel demo links

VP-6 closes the VP wave. 28 new preview.tsx files land across the catalog (31 total in the generated registry): every marketing section, UI utility, content/data surface and previewable subsystem now renders live in the Bundle Builder with auto-generated knobs. Headless / embed / no-seam slices (ai-router, audit-log, cal-com-booking, resend-newsletter, reel-editor, seo, vector-search) explicitly opt out with `"previews": []` — a new audit:slices rule warns when a component-bearing slice neither declares nor opts out, and gen-preview-registry errors on an opt-out that still ships a preview.tsx. layouts.ts gains demoUrl: all 8 OS templates now link their own Vercel deployments (the dev-lab repos, always ahead of rr's snapshot) from the detail page, overriding the demo-subdomain rewrite.

Marketing sections (variants)

  • blog-section — layout cards/list/featured-split × columns × align
  • faq-section — layout single/two-column/grouped × align
  • feature-grid — layout cards/minimal/alternating/grouped × columns × align
  • testimonials-grid — layout cards/quote-stack/masonry × columns × align
  • portfolio-section — layout uniform/masonry/asymmetric × columns × align
  • pricing-page — columns 2-4 × featuredVariant ring/scale/tint
  • changelog-feed — layout timeline/cards/list

UI utilities

  • icon-picker — twemoji/native render style, picked icon previews live
  • image-picker — Button variant × size (gallery/link/upload zero-config)
  • command-menu — palette rendered inline/open with live cmdk filtering
  • theme-presets — ThemePresetSwitcher sm/mobile under real providers
  • selection — live marquee rubber-band select over demo rows
  • appshell — AppFrame scenarios: collapsed/expanded/with-topbar

Content + data

  • comments — density × resolved axes, replies persist via demo store
  • library — all-kinds/prompts-only/empty scenarios
  • activity — with-stats/feed-only/empty scenarios
  • landing-sections — hero-only/hero-features/full-page scaled scenarios
  • markdown + notion-database + full-width-toggle — pilots from VP-3

Auth + admin + subsystems

  • convex-auth — AuthCard methods × defaultPasswordMode, mock handlers
  • rbac-roles — PermissionMatrix role seeds × readOnly
  • user-management — members/roles/teams/access scenarios, edits persist
  • admin — AdminPage default/saas/blog presets
  • file-explorer — root/documents/projects, in-memory adapter CRUD
  • notion-shell — CalloutBlock kind axis, editable seeded block
  • notion-sidebar — nested-tree/with-icons/flat-list, live page CRUD
  • ai-chat — with-mock-bot/unconfigured scenarios (canned reply)
  • doku-payment — VA/QRIS/e-wallet/retail sandbox instructions
  • midtrans-payment — single-item/cart/subscription checkout amounts
  • image-editor — square/wide blank Konva docs, client-only stage

Infra

  • gen-preview-registry — `"previews": []` opt-out support + stray-preview.tsx error
  • audit:slices — preview-coverage warning for component-bearing slices (advisory, flips to error at sustained 100%)
  • layouts.ts demoUrl — 8 OS templates link their Vercel dev-lab deployments; template-detail prefers it over the demo subdomain
JUN062026
Featureappshell@1.2.0Jun 6, 2026

appshell 1.2.0 — switchable multi-shell OS: macOS / Windows 11 / Android / iOS + consumer shells

The shell framework grows a shell REGISTRY: chrome is now pluggable while the window store stays single. registry/shells.tsx holds ShellDescriptor (id/surface/group/windowed/wallpaper/render) + per-surface user prefs (a desktop shell AND a mobile shell, resolved by live form factor; sv:shell). Built-ins register on import: macOS (existing DesktopChrome), Windows 11 (centered taskbar + Start menu + Snap-Assist + caption-button windows via Window variant=windows), Android Material-You (status-bar shade w/ quick tiles, at-a-glance home, swipe-up App Drawer, gesture nav, Recents deck) and iOS (existing MobileShell, now with a left-half pull-down Notification Center + app long-press quick-actions). Consumers register their own (os-vps adds a single-pane Dashboard cockpit). Geometry became chrome-aware: WindowState.snapZone persists the snapped zone and applyChromeInsets() re-tiles snapped/maximized windows when a shell with different chrome mounts. Desktop fidelity pass rides along: dock magnification (gaussian, width-conserving) + dock right-click menus, macOS Notification Center backed by a persistent toast log (lib/toast), Cmd+Tab app switcher, Window Overview (Mission Control), desktop context menus, menu-bar Window/Help system menus, and wallpaper=auto resolving to the active shell's native backdrop (wp-win11/material/ios presets). Lifted from os-vps (Topside) after a two-way merge with app-rahmanef's fork — close guards + winId, dock Link deep-links and the shadcn Button sweep all kept. Every file under the 200-LOC gate (dock/menu-bar/mobile-home/store/android split into *-parts).

appshell (NEW)

  • registry/shells.tsx — ShellDescriptor registry + per-surface prefs (setShell/useShellPrefs/resolveShell)
  • components/shells/windows/* — Windows 11 taskbar / Start menu / Snap-Assist / shell
  • components/shells/android/* — Material-You shell (shade / drawer / recents / gesture nav)
  • components/shells/{context-menu,window-overview}.tsx — shared chrome
  • components/{notification-center,app-switcher,mobile-notifications}.tsx — macOS NC, Cmd+Tab, iOS NC
  • lib/store-snap.ts — snapZone + applyChromeInsets/retileSnapped + Snap-Assist onSnap pulse

appshell (changed)

  • window.tsx variant=macos|windows; desktop.tsx resolveShell + PhoneFrame preview + Cmd+Arrow snap keys
  • menu-bar Window/Help menus; menu-bar-status clock -> Notification Center with unread dot
  • wallpaper auto -> ShellDescriptor.wallpaper; appshell.css wp-win11/material/ios/auto presets
  • lib/toast.ts persistent notification log (useNotifications/dismiss/clear/markRead)
JUN062026
Featureos-apps@wave-1Jun 6, 2026

Five more os-vps apps land: system-monitor, os-terminal, assistant, browser, app-store

The big lift wave — every remaining os-vps app that could stand alone now does. Each follows the established host-seam recipe: lib/host.ts is the ONLY coupling point, with an injectable adapter and an honest offline default, so all five render alive with zero backend. system-monitor runs on a wavy telemetry mock until configureSysmon points at a real host; os-terminal's 17 built-ins run on its in-memory FsModel, with configureTerminal flipping ls/cat live and passing unknown commands to one-shot exec; assistant answers with a typing demo stream until configureAssistantStream brings any async text-delta generator; browser fakes its viewport with a canvas demo renderer until configureBrowser drives a real headless Chromium; app-store (with the Create-App flow bundled in — rr forbids cross-slice imports) manages a localStorage app registry whose useInstalledApps() feeds any appshell-style launcher. Skipped on purpose: os-settings (host-specific devices/server panels). The catalog now carries 9 of the 10 os-vps user apps.

Slices touched

  • system-monitor — NEW 1.0.0: gauges + sparklines + process table; SysMonAdapter seam
  • os-terminal — NEW 1.0.0: shell emulator, in-memory FsModel, live fs/exec passthrough
  • assistant — NEW 1.0.0: streaming chat + agents/skills/automations library; bring-your-own LLM stream
  • browser — NEW 1.0.0: remote-browser chrome; BrowserAdapter seam + offline canvas demo renderer
  • app-store — NEW 1.0.0: storefront + Create-App over one localStorage registry; useInstalledApps() descriptors
JUN062026
Featurecode-editor@1.0.0Jun 6, 2026

code-editor 1.0.0 — overlay syntax editor lifted from os-vps

Fourth os-vps app in the catalog. A lightweight editor — transparent textarea over a highlighted pre (regex tokenizer for JS/TS/JSON/CSS), tabs with dirty dots, Cmd/Ctrl+S, status bar — plus a lazy per-directory explorer tree with inline create affordances. The lift bundles the previously app-shared file-tree into the slice and ships slice-local AppSidebar (rail ⇄ Sheet) and FormDrawer (dialog ⇄ bottom drawer) shims, so the only coupling point is lib/host.ts: configureCodeFs injects a real filesystem (list/read/write/mkdir) over the bundled writable in-memory mock. Pairs with file-explorer (onOpenFile → payload) the same way os-vps wires Files → Code.

Slices touched

  • code-editor — NEW 1.0.0: overlay highlighting, tab strip, lazy explorer tree, injectable CodeFsAdapter + writable mock
JUN062026
Featuremedia-viewer@1.0.0Jun 6, 2026

media-viewer 1.0.0 — quick-look media viewer lifted from os-vps

Third os-vps app to land in the catalog, and the lightest: a macOS-Preview-style quick-look surface for image/video/audio/pdf/text. The lift follows the editors' host-seam recipe — lib/host.ts is the ONLY coupling point, with two injectable seams: configureMediaSource maps fs paths to fetchable URLs (identity default, so public URLs need zero wiring) and configureMediaOpener routes the Open-in-editor handoff to whatever shell hosts it. Launched bare it runs a fully offline sample gallery. Pairs naturally with file-explorer (onOpenFile → payload) and the image/reel editors.

Slices touched

  • media-viewer — NEW 1.0.0: zoomable image stage, audio/video transport players, pdf embed, editor handoff + media source seams
JUN062026
Featurevariant-previewsJun 6, 2026

Variant previews + AI builder — slices preview like shadcn primitives

VP wave. Slices now declare a machine-readable `previews` block in slice.json (enum variant axes for leaf slices, scenario presets for subsystems) rendered by a sibling preview.tsx fed by localStorage demo data (createDemoStore, rr-demo:<slug> — client-only, zero VPS compute). gen-preview-registry.mjs emits lib/preview/{registry.gen.ts, preview-meta.gen.json} — one code-split dynamic import per slug, nothing hardcoded. The Bundle Builder mounts <VariantPreview> with auto-generated knobs for every selected slice, and a Builder AI panel (key-guarded /api/build-chat) function-calls the dynamic tool surface (list_slices / get_slice / preview_slice / compose_bundle — tool defs built at request time from the catalog + preview metadata) and renders validated preview_slice calls live. Pilots: full-width-toggle (variants), markdown (tabs × content axes), notion-database (table/board/list/chart scenarios). preview.tsx is rr-internal — `rr add` strips it. Spec: docs/SLICE-PREVIEW-SPEC.md.

Slices touched

  • full-width-toggle — pilot leaf preview (variant axis: icon/button/segment)
  • markdown — pilot medium preview (tabs read/crud × content basic/rich)
  • notion-database — pilot subsystem scenarios (table/board/list/chart)
JUN052026
Improvementappshell@1.1.0 + file-explorer@1.1.0Jun 5, 2026

appshell + file-explorer synced with os-vps upstream fixes

Drift burn-down after the editors lift. appshell 1.1.0 ports the per-window close guard (setCloseGuard + AppProps.winId — apps can block close on unsaved work); audit confirmed multi-window, snap-grid geometry and stable capability refs were already in the rr copy. file-explorer 1.1.0 ports the Files-app UX fixes: the details panel always renders (selected entry or current folder) with a copy-path button, and mutation errors surface the REAL backend message through a friendly() mapper instead of a generic mask.

Slices touched

  • appshell — setCloseGuard close guard + AppProps.winId plumbing (from os-vps 6644ae3)
  • file-explorer — copy-path in details panel + honest error surfacing (lib/errors.ts friendly mapper)
JUN052026
Featureimage-editor@2.0.0 + reel-editor@1.0.0Jun 5, 2026

Video editor lifted + image editor v2 — both self-contained, every file ≤200 LOC

Two os-vps creative apps land as catalog slices. reel-editor (NEW): a complete in-browser NLE — layered multi-track timeline (top row renders frontmost), one Canvas-2D draw path shared by preview AND realtime WebM exporter (real mixed audio), keyframes/easing/presets, transitions, text styling, color grading, 6 resizable workspace layouts, quick-import files pane on an injectable fs adapter (configureReelFs, in-memory mock default), sonner toasts. image-editor v2 (BREAKING): rebuilt editor replaces v1 — AI function-calling command registry (EDITOR_COMMANDS + useEditorCommands + in-editor chat) with an injectable stream bridge (configureAgentStream; chat optional), headless server.ts command runner, layer styles, tool rail chrome. Both slices were refactored upstream so every file passes the 200-LOC gate. dashboard-ide layout preview rebuilt as a real IDE: lazy explorer (per-folder fetch on expand, listing + DOM dropped on collapse — node_modules costs nothing until opened), open-file tabs, one-body editor, status bar.

Slices touched

  • reel-editor — lifted from os-vps; self-contained host seam (sonner / no-op shell buses / injectable fs adapter); slice-local Segmented + native-range Slider primitives
  • image-editor — v2.0.0 BREAKING: AI command registry + injectable configureAgentStream + headless server.ts; replaces the react-konva v1 surface

Templates touched

  • dashboard-ide — real-IDE recipe: lazy explorer (RAM ≈ visible rows), tabs, breadcrumb, status bar; production swap = file-explorer FileExplorerAdapter
NewerPage 15 / 25Older