rmnr
DocsTourSlicesBest PracticeAgentsInstall

Command Palette

Search for a command to run...

New
  • Changelog
Release notes

Changelog

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

JUL042026
Improvementperf-skeletons-caching-waveJul 4, 2026

Perf pass — preview skeletons, lazy recharts, deploy-life caching, dead-dep cut

The site had cacheComponents (PPR) on but barely used it. This wave closes the gaps a ponytail/perf audit surfaced: (1) a route-level loading.tsx paints an instant skeleton for all 63 /preview/** routes (each ships a 0.4–1.1MB slice chunk) instead of blank, plus a preview-shaped skeleton for /tour. (2) recharts (~150kB) is code-split out of the markdown slice — it only loads when a chart fence actually renders, not on every markdown page (ChartBlock now next/dynamic's a ChartCanvas chunk, mirroring the already-lazy MermaidBlock). (3) the slice-files fs walkers get cacheLife('max') + cacheTag('slice-files') so immutable repo files cache for the deploy's life instead of a 5–15min revalidate. (4) 25 zero-interactivity preview pages + the docs footer + code-tab dropped 'use client', leaving the client graph so they PPR-prerender.

Slices touched

  • markdown — recharts code-split behind next/dynamic (ChartBlock → ChartCanvas + chart-spec)
JUL032026
Featureslice-variants-waveJul 3, 2026

shadcn-style slice variants — 80 slices consolidated to 69

New variant mechanism: a slice can declare `variants` in slice.json. `npx rr add <slug> <variant>` installs one variant (its files flatten to the slice root, so imports resolve at @/features/<slug> like any slice); `npx rr add <slug>` installs all variants + a root switcher and you pick via a prop — exactly the shadcn pattern. An optional `shared/` folder is copied for every variant, and each variant can declare its own `convex` roots so it pulls only its own backend. Purely additive: the ~60 non-variant slices install exactly as before, and every old slug keeps working via an alias. Used to collapse the confusingly-named slice families into fewer, clearer slices.

Merged into variant slices

  • feedback-states — loading + empty (was loading-states + empty-states)
  • profile — resume + card (was resume + about-profile)
JUL022026
Featureslices@admin-consoleJul 2, 2026

admin-console — composed admin panel; /slices gains sort + clearer filter; CLI 1.15.0

The ideal admin panel lands as a portable composition slice (admin-console): a gated two-column shell over a 26-section registry harvested from ~15 project admin panels, mounting existing rr slices by id via a consumer components map (no slice→slice imports), plus 5 net-new gap sections nothing else covered — Analytics, Audit-log viewer, Navigation config, Leads/CRM inbox, SEO health — each adapter-driven with in-memory mocks so the whole console runs backend-free. Access is injected; gate logic is pure + unit-tested. Convex copy-source ships ac_leads + ac_nav_items with requireAdmin-gated CRUD. Alongside it, the /slices catalog gains a clearer toolbar — a Sort dropdown (Featured / Recently updated / Name A–Z / Version) and a labelled tag-filter row — and rahman-resources publishes 1.15.0 so `npx rr add admin-console` resolves.

New slices

  • admin-console — composed admin panel: 26-section registry + gated shell + 5 gap sections (analytics, audit-log viewer, nav config, leads/CRM, SEO health), adapter-driven, backend-free demo
JUN302026
Featureslices@html-studioJun 30, 2026

html-studio — new os slice: sandboxed HTML/CSS/JS editor with live preview (backend-injected)

Ported from the rahmanef-com web-OS as a brand-free, self-contained slice. A tiny web-page studio: type HTML / CSS / JS and watch it render live in a sandboxed iframe (srcdoc + sandbox=allow-scripts WITHOUT allow-same-origin → opaque origin, the security boundary), then Save to a shareable /p/<slug>. Keeps the Code / Split / Preview view toggle, device-width preview (responsive / tablet / phone), a saved-pages rail, and public/private visibility. The Convex page store + auth/write-key/session bits were dropped in favour of an injected HtmlStudioAdapter (save/load/list/remove); unwired it runs on an in-memory mock so the editor + live preview + saved list are interactive with zero backend.

New slices

  • html-studio — sandboxed HTML/CSS/JS editor + live iframe preview, HtmlStudioAdapter host seam, in-memory mock
JUN302026
Featureslices@resources-launcher-adminJun 30, 2026

resources-launcher-admin — new os slice: curated icon-launcher CRUD (backend-injected)

Ported from the rahmanef-com web-OS as a brand-free, self-contained slice. An owner-gated admin for a curated icon-launcher: add / edit / remove / reorder links (label, lucide icon NAME, url, group, order) that open in a new tab. The backend is injected via a ResourcesAdapter (list/upsert/remove/canManage); unwired it runs on an in-memory mock so the whole CRUD — including reorder — is interactive with zero backend. The Convex resources.* mutations and the auth/sign-in gating were replaced by the adapter plus a simple canManage flag, and the launcher icon map was brand-stripped to generic lucide NAMEs.

New slices

  • resources-launcher-admin — curated icon-launcher CRUD (add/edit/remove/reorder), ResourcesAdapter host seam, in-memory mock
JUN302026
Featureslices@resumeJun 30, 2026

resume — new os slice: one-column CV renderer (profile injected)

Ported from the rahmanef-com web-OS as a brand-free, self-contained slice. A clean one-column résumé / CV: name, roles, location, contacts, summary, skills, experience and projects. The profile is injected via a single ResumeProfile seam (configureResume / useResumeProfile); unwired it renders a generic placeholder person so the catalog preview is fully populated with zero backend. Includes a 'Print / PDF' button (window.print()) with a print-friendly layout.

New slices

  • resume — one-column CV renderer, ResumeProfile host seam, generic placeholder profile, Print/PDF
JUN302026
Featureslices@start-hereJun 30, 2026

start-here — new os slice: guided onboarding tour (live-registry, drift-proof)

Ported from the rahmanef-com web-OS as a brand-free, self-contained slice. A guided 'Start Here' tour that lays the OS out as a path of stages, each stage opening real apps from the live registry — it reads the injected app catalog instead of a hardcoded list, so adding an app surfaces it automatically (in a stage if listed, else a final 'Everything else' bucket). The catalog, the open(id) callback, and the journey are injected via a StartHereAdapter (apps/open/stages); unwired it runs on an in-memory mock (a few generic apps + 3 stages) so the welcome tour renders fully alive with zero host.

New slices

  • start-here — guided OS onboarding tour, drift-proof live-registry path, StartHereAdapter host seam, in-memory mock
JUN302026
Featureslices@about-profileJun 30, 2026

about-profile — new os slice: macOS-style identity card (profile-injected)

Ported from the rahmanef-com web-OS as a brand-free, self-contained slice. A macOS 'About This Mac'-style identity card: avatar (or monogram fallback), name, roles, location, description, outbound links and an accordion FAQ. The whole card is driven by ONE injected AboutProfile via configureAbout; unwired it renders a generic mock person so it is fully populated with zero backend.

New slices

  • about-profile — identity card (avatar/monogram, roles, links, accordion FAQ), AboutProfile host seam via configureAbout, generic mock person
JUN302026
Featureslices@bookingJun 30, 2026

booking — new os slice: session request form + owner inbox (backend-injected)

Ported from the rahmanef-com web-OS as a brand-free, self-contained slice. One app that is both a public 'book a session' request form and the owner's triage inbox (flips on canManage). The backend is injected via a BookingAdapter (submit/list/setStatus/canManage); unwired it runs on an in-memory mock so the form + inbox are interactive with zero backend.

New slices

  • booking — public request form + owner inbox, BookingAdapter host seam, in-memory mock
JUN282026
Fixslices@file-explorer-tree-alignJun 28, 2026

file-explorer sidebar tree — left-align the folder/file rows (were centered)

The sidebar file-tree rows (Desktop, Documents, … and the files under them) rendered centered instead of flush-left like the Favorites 'Home' entry just above. Cause: the tree Node buttons (file-tree/dir.tsx) set `flex w-full items-center text-left` but never overrode shadcn Button's base `justify-center`, so the `[icon] name` group sat in the middle of the full-width row (`text-left` only aligns text inside the label, not the flex group). Added `justify-start` to both the file and folder Node buttons so they sit flush-left, matching the Favorites buttons that already had it. The main content/grid view was left untouched.

Fixes

  • file-explorer sidebar tree — folder/file rows now left-aligned (justify-start) instead of centered, matching the Favorites items
Page 1 / 17Older
  • settings — account + appearance (was settings-page + shell-settings)
  • payment — doku + midtrans (was doku-payment + midtrans-payment)
  • notion-ui — page + database + sidebar (was notion-shell + notion-database + notion-sidebar)
  • admin — shell + console, each pulling only its own convex (was admin + admin-console)
  • ai-workspace — chat + studio + agents, only the chat variant pulls convex (was ai-chat + ai-studio + ai-agents; studio/agents views lifted from superspace)
  • Renamed for clarity (old slugs aliased)

    • files → file-upload (vs file-explorer)
    • media-studio → design-studio (vs image-editor)
    • onboarding-wizard → site-setup-wizard
    • notion → notion-app (vs notion-ui primitives)
    • landing-sections → sections