Skip to content

Migrate app to React Router 8 Framework Mode - #60

Merged
ceane merged 1 commit into
continuing-multisource-and-demodfrom
codex/react-router-8-framework-mode
Aug 5, 2026
Merged

Migrate app to React Router 8 Framework Mode#60
ceane merged 1 commit into
continuing-multisource-and-demodfrom
codex/react-router-8-framework-mode

Conversation

@ceane

@ceane ceane commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Summary

Stacked on #59, this PR adds the first React Router 8 Framework Mode migration slice while preserving the existing SDR, Redux, WebSocket, Rust, WASM, 3D, React Flow, map, and legal-app boundaries.

What changed

  • Upgraded to React Router 8.3.0 and React 19.2.7 with the Node >=22.22.0 baseline.
  • Added Framework Mode config, generated route types, root document layout, public/authenticated route groups, route error boundaries, and compatibility redirects.
  • Kept /get-started authenticated while giving it a lightweight route shell that does not initialize SpectrumProvider or the full application graph.
  • Deferred the full app shell until authentication succeeds.
  • Moved Demod/React Flow, 3D, map, and draw-signal providers behind route-scoped lazy boundaries.
  • Preserved the legacy inner route tree as an incremental compatibility bridge.
  • Added SSR-safe browser storage guards and Jest compatibility coverage for React Router 8's ESM package.
  • Added npm run dev:router, npm run build:router, and npm run typegen.

Validation

  • Framework production build: passed.
  • Legacy frontend production build: passed.
  • Typecheck: passed.
  • Full Jest: 244 suites / 1,807 tests passed.
  • Focused auth, onboarding, route, provider, and storage tests: passed.
  • Rust and integration suites were run; existing backend/TX-monitor failures are documented in the local handoff.

Follow-up

React Router 8.3.0 rejects Lazy Route Discovery mode with ssr:false, so this SPA pass uses initial route discovery while retaining route-module code splitting. Enabling the lazy manifest requires the later SSR-capable deployment milestone. Browser-level Playwright lifecycle and deployment-version-skew coverage remain follow-up gates.

@ceane ceane self-assigned this Aug 5, 2026
@ceane
ceane marked this pull request as ready for review August 5, 2026 19:52
@cursor

cursor Bot commented Aug 5, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@ceane
ceane merged commit c7f1b61 into main Aug 5, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant