You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Put the official demo fleet under version-currency automation: shared dependency-update config (Renovate/Dependabot preset tracking react_on_rails* gems + react-on-rails* packages), a reusable smoke-test workflow each demo runs in CI, and an auto-checked currency table in the docs. Then fix the immediate embarrassments: the most-starred maintained OSS demo runs react_on_rails 14.0.3 / React 18.2 / Shakapacker 8, and the "minimal RSC starter" runs Pro 16.4.0.
Why this matters
User value: Demos are the proof layer of every claim in this roadmap. An evaluator who lands on react-on-rails-demo-ssr-hmr (93★, billed as the reference tutorial app) sees a three-majors-old stack and reasonably concludes the React 19/RSC story is marketing. Fleet staleness silently converts research investment into distrust.
Competitive comparison: Vercel's examples repo and Evil Martians' Inertia starters are kept current by automation, not heroics. Audit snapshot (2026-06-10): ssr-hmr → RoR 14.0.3/React 18.2; react-on-rails-rsc-demo → Pro 16.4.0; gumroad-rsc → 16.6.0; marketplace-rsc → react-on-rails-rsc pinned to a git branch; only hacker-news-rsc, octochangelog, and starter-tanstack track 17.0.0-rc. Nobody is watching the fleet as a fleet.
No org-level automation: demos lack Renovate/Dependabot configs tracking RoR packages specifically; no shared smoke workflow; no inventory of which repos are "official."
The docs examples-and-references page and the reactonrails.com landing link demos without version/freshness signals.
Internal spec/dummy + react_on_rails_pro/spec/dummy are the only genuinely-current example apps, but they serve CI, not marketing.
Proposed work
Inventory: canonical list of official demo repos with owner, purpose, tier (flagship / topical / archived) — committed as docs/oss/getting-started/examples-and-references.md data or a small JSON the docs render.
Shared Renovate preset (org repo, e.g. shakacode/renovate-config): group react_on_rails+react-on-rails+react-on-rails-pro*+shakapacker bumps into one PR, schedule weekly, auto-label.
Reusable GitHub workflow (shakacode/.github or this repo): bundle install && npm ci && assets:precompile && boot && curl / smoke; demos call it via workflow_call; bump PRs must pass it before merge.
Bring the fleet current: upgrade ssr-hmr to v17/React 19 (or archive it with a README redirect to OSS flagship demo app (clone-and-run) + an npx-disposable eval demo #3876's flagship — decide per repo), upgrade react-on-rails-rsc-demo + gumroad-rsc to 17.0.0(-rc), replace marketplace-rsc's git-branch pin with a published version.
Currency surfacing: badge or generated table (repo → RoR version → last green smoke) in the examples docs page; stale (>1 minor behind) entries flagged automatically (small scheduled job).
Release-checklist hook: cutting a release triggers/verifies fleet bump PRs (manual checklist item is enough to start).
Acceptance criteria
Every official demo has the preset + smoke workflow; bump PRs flow automatically.
No official, non-archived demo more than one minor behind the latest release (enforced by the flag job, verified once after rollout).
Examples page shows live currency information; ssr-hmr is either current or formally archived+redirected.
Risks & open questions
Upgrading old demos may be real porting work (v14→v17 spans Shakapacker 8→9, React 18→19) — archiving with redirect is a legitimate outcome; the decision per repo is part of this issue.
Renovate vs Dependabot: Renovate's grouping + presets fit better; confirm org policy.
Keep scope to official repos; community examples just get a "last verified" note.
Verified via the GitHub API against the demo repos; part of the #3864 triage pass. Priority: P2.
Why P2: Demos are the proof layer, but the right moment for the fleet bump is 17.0.0 stable (#3823) — bumping everything to an rc means doing it twice. Needs cross-repo write access and per-repo archive-vs-upgrade decisions (maintainer calls).
Corrections (verified 2026-06-11):
marketplace-rsc is on Pro 17.0.0-rc.1 — the body's "only hacker-news, octochangelog, starter-tanstack track 17.0.0-rc" undersells it; its only real problem is the react-on-rails-rsc git-branch pin (which can't be replaced until the pinned FOUC fix ships in a published version — the RSC FOUC: ship stable react-on-rails-rsc@19.0.5 and pin v17 to it (native-only) #3634 line).
react-webpack-rails-tutorial is already description-marked legacy ("See reactonrails.com/examples…"), so the inventory/tiering checkbox is partially done.
Descoped v1 (the platform is over-built for ~8 repos): (1) one manual bump-or-archive pass timed with 17.0.0 stable; (2) per-repo Renovate/Dependabot config (copy-paste, no org-level preset); (3) a release-checklist line item ("bump the demo fleet"). Defer the org preset, generated currency table, and scheduled staleness job until decay demonstrably recurs.
Parallelization: Disjoint repos — safe with everything; fits a maintainer-supervised batch, not autonomous agents. Decide #3876's flagship question first (it affects whether ssr-hmr is upgraded or archived).
Suggested labels: enhancement, documentation, P1
Effort: M · Risk: low · Theme: dx / credibility
Summary
Put the official demo fleet under version-currency automation: shared dependency-update config (Renovate/Dependabot preset tracking
react_on_rails*gems +react-on-rails*packages), a reusable smoke-test workflow each demo runs in CI, and an auto-checked currency table in the docs. Then fix the immediate embarrassments: the most-starred maintained OSS demo runs react_on_rails 14.0.3 / React 18.2 / Shakapacker 8, and the "minimal RSC starter" runs Pro 16.4.0.Why this matters
react-on-rails-demo-ssr-hmr(93★, billed as the reference tutorial app) sees a three-majors-old stack and reasonably concludes the React 19/RSC story is marketing. Fleet staleness silently converts research investment into distrust.ssr-hmr→ RoR 14.0.3/React 18.2;react-on-rails-rsc-demo→ Pro 16.4.0;gumroad-rsc→ 16.6.0;marketplace-rsc→react-on-rails-rscpinned to a git branch; onlyhacker-news-rsc,octochangelog, andstarter-tanstacktrack 17.0.0-rc. Nobody is watching the fleet as a fleet.npx-disposable eval demo #3876 builds a new flagship demo — without this issue it joins the same decay curve. Migration playbooks (this pass) and the landing page's "6 live demos" links all point at these repos.Current state
examples-and-referencespage and the reactonrails.com landing link demos without version/freshness signals.spec/dummy+react_on_rails_pro/spec/dummyare the only genuinely-current example apps, but they serve CI, not marketing.Proposed work
docs/oss/getting-started/examples-and-references.mddata or a small JSON the docs render.shakacode/renovate-config): groupreact_on_rails+react-on-rails+react-on-rails-pro*+shakapackerbumps into one PR, schedule weekly, auto-label.shakacode/.githubor this repo):bundle install && npm ci && assets:precompile && boot && curl /smoke; demos call it viaworkflow_call; bump PRs must pass it before merge.ssr-hmrto v17/React 19 (or archive it with a README redirect to OSS flagship demo app (clone-and-run) + annpx-disposable eval demo #3876's flagship — decide per repo), upgradereact-on-rails-rsc-demo+gumroad-rscto 17.0.0(-rc), replacemarketplace-rsc's git-branch pin with a published version.Acceptance criteria
ssr-hmris either current or formally archived+redirected.Risks & open questions
References
npx-disposable eval demo #3876 (flagship demo), Tracking: Evaluate Inertia-Rails apps for React on Rails demo migrations #3355 (Inertia migration demos), Run create-app package tests in CI #3533/Add OSS-only create-app smoke mode #3534 (create-app smoke precedent)Proposed via roadmap research pass 2 (2026-06-10), extending pass 1. Part of the Modern React with Rails 30-day roadmap.
Triage — 2026-06-11
Verified via the GitHub API against the demo repos; part of the #3864 triage pass. Priority: P2.
Why P2: Demos are the proof layer, but the right moment for the fleet bump is 17.0.0 stable (#3823) — bumping everything to an rc means doing it twice. Needs cross-repo write access and per-repo archive-vs-upgrade decisions (maintainer calls).
Corrections (verified 2026-06-11):
react-on-rails-rscgit-branch pin (which can't be replaced until the pinned FOUC fix ships in a published version — the RSC FOUC: ship stable react-on-rails-rsc@19.0.5 and pin v17 to it (native-only) #3634 line).react-webpack-rails-tutorialis already description-marked legacy ("See reactonrails.com/examples…"), so the inventory/tiering checkbox is partially done.Descoped v1 (the platform is over-built for ~8 repos): (1) one manual bump-or-archive pass timed with 17.0.0 stable; (2) per-repo Renovate/Dependabot config (copy-paste, no org-level preset); (3) a release-checklist line item ("bump the demo fleet"). Defer the org preset, generated currency table, and scheduled staleness job until decay demonstrably recurs.
Parallelization: Disjoint repos — safe with everything; fits a maintainer-supervised batch, not autonomous agents. Decide #3876's flagship question first (it affects whether ssr-hmr is upgraded or archived).