rmnr
DocsTourSlicesBest PracticeAgentsInstall

Command Palette

Search for a command to run...

New
  • Changelog
Release notes

Changelog

What changed in each rr release — page 7 of 17. Full prose history in CHANGELOG.md.

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)
    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
    JUN052026
    Fixrahman-resources@1.10.0Jun 5, 2026

    Unblock CLI 1.10.0 publish — slice.json drift + structure violations

    prepublishOnly gates were red. Fixed: image-picker deps.env string → typed object (UNSPLASH_ACCESS_KEY, scope server, optional); slice-schema gains optional deps.sharedFiles (notion-database / notion-shell already used it); version/title parity synced for resend-newsletter (0.1.3), ai-chat (0.2.0), landing-sections (0.2.0), markdown title; deleted stale template-base/frontend/slices/notion port-staging copy (R1 dual-home); AiChatFab refactored props-driven — convex/react import replaced with injected `chat` prop (R3).

    Slices touched

    • image-picker — env dep typed (server-scoped, optional)
    • ai-chat — AiChatFab props-driven (`chat` prop, exported AiChatSend types)
    JUN042026
    FeaturemarkdownJun 4, 2026

    markdown slice — CRUD tabs (Read/Write/Review) + mermaid diagrams + charts

    md-reader renamed to `markdown` and maximised. <MarkdownPage> adds optional surfaces: Read (rich text), Write (raw source editor with snippet toolbar + live preview), Review (block-anchored comments with add/resolve — controlled callbacks or internal fallback). Fenced ```mermaid blocks render as SVG diagrams (dynamic-imported mermaid) and ```chart blocks as recharts bar/line/area/pie from a JSON spec. Notion sync grammar unchanged.

    Slices touched

    • markdown — MarkdownPage tabs + MermaidBlock + ChartBlock + comments model
    JUN042026
    Featuremd-readerJun 4, 2026

    Markdown Reader slice — notion-synced rich-text page container

    New read-only surface that renders a markdown string as a clean document (headings, lists, todo, callouts, fenced code, KaTeX, tables, images, toggles, inline marks). Sync with the notion block editor is by shared grammar: a new notion bridge (blocksToMarkdown / markdownToBlocks) serialises blocks ↔ the exact markdown this reader parses — so anything readable as a notion page is readable here, and back. Self-contained (own parser + inline renderer, no notion runtime dep). 21 tests.

    Slices touched

    • md-reader — new: MarkdownReader container + parseMarkdown + inline renderer
    • notion — added shared/lib/markdown bridge (blocksToMarkdown / markdownToBlocks)
    JUN032026
    Fixnotion-databaseJun 3, 2026

    Date cell: back to the custom grid + range click-sequence

    Reverting to the shadcn Calendar broke picking again (it's the unreliable part here); the self-contained DateCalendar grid is what works. Restored it and added Notion-style range picking: with End date on, click 1 = start, click 2 = end (the earlier of the two is always kept as start, so clicking before the start swaps them); clicking once a full range exists starts a fresh range.

    Slices touched

    • notion-database — custom date grid + range click-sequence
    JUN032026
    Fixnotion-databaseJun 3, 2026

    Date picking — pin react-day-picker to v9 (shadcn Calendar's target)

    Root cause: the repo pinned react-day-picker ^10.0.0, but this shadcn Calendar component is generated for rdp v9; v10's breaking changes silently stopped the controlled mode/selected/onSelect path from registering day clicks (same bug in notion-page-clone). Fix: pin react-day-picker to ^9.14.0 (what the shadcn Calendar targets) and restore the canonical Popover + Calendar date picker (mode=single / mode=range).

    Slices touched

    • notion-database — custom DateCalendar (drop react-day-picker)
    NewerPage 7 / 17Older
  • notion-database — pilot subsystem scenarios (table/board/list/chart)
  • 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