Skip to content

prerender routes on prod mode - #5447

Merged
adhami3310 merged 1 commit into
remix-over-nextfrom
khaleel/eng-6296-pr-blocker-prod-mode-refresh-dynamic-route-404
Jun 13, 2025
Merged

adhami3310 merged 1 commit into
remix-over-nextfrom
khaleel/eng-6296-pr-blocker-prod-mode-refresh-dynamic-route-404

Conversation

@adhami3310

Copy link
Copy Markdown
Member

this enables 404 page being prerendered and dynamic route to be fixed

@linear

linear Bot commented Jun 13, 2025

Copy link
Copy Markdown

@adhami3310
adhami3310 changed the base branch from main to remix-over-next June 13, 2025 21:30
@adhami3310 adhami3310 changed the title Khaleel/eng 6296 pr blocker prod mode refresh dynamic route 404 prerender routes on prod mode Jun 13, 2025

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Summary

Major architectural migration from Next.js to React Router + Vite to fix 404 page handling and dynamic routing issues in production mode.

  • Introduced React Router v7.6.2 with Vite for improved dynamic route handling and 404 page prerendering in reflex/.templates/web/vite.config.js
  • Replaced Next.js Head/Document components with React Helmet v6.1.0 for better document head management in reflex/components/core/helmet.py
  • Added new SitemapPlugin in reflex/plugins/sitemap.py for automatic XML sitemap generation with dynamic route support
  • Upgraded minimum Node version to 20.0.0 and removed Next.js specific dependencies in reflex/constants/installer.py
  • Consolidated routing configuration into new reflex/.templates/web/app/routes.js for centralized route management

87 files reviewed, 1 comment
Edit PR Review Bot Settings | Greptile

Comment thread tests/units/test_prerequisites.py
@codspeed

codspeed Bot commented Jun 13, 2025

Copy link
Copy Markdown

CodSpeed Performance Report

Merging #5447 will not alter performance

Comparing khaleel/eng-6296-pr-blocker-prod-mode-refresh-dynamic-route-404 (abbb657) with remix-over-next (ac5793b)

Summary

✅ 8 untouched benchmarks

@adhami3310
adhami3310 merged commit 058dc60 into remix-over-next Jun 13, 2025
@adhami3310
adhami3310 deleted the khaleel/eng-6296-pr-blocker-prod-mode-refresh-dynamic-route-404 branch June 13, 2025 22:04
adhami3310 added a commit that referenced this pull request Jun 13, 2025
* remix over next

* make 404 page work

* get layout working again

* in theory, one can get rid of jsx, but that would be craaazy

* Fix aria-* and other hiphenated props in `jsx` mode

* compiler: preserve `app/routes.js` when purging

this file only gets copied during `reflex init`, so don't blow it away

* remove next/link stuff from `rx.link`

* completely remove jsx files and replace them with js files

* fix special props handling

* fix empty name

* fix reflex web syntax error

* fix dynamic rendering

* bring helmet to fix issues with head in component, bonus fix for next/script to make reflex web compile

* got distracted

* oh well

* add helmet pyi

* change vite config to fix builds

* one should format their js files, prettier said

* precommit

* try to optimize jsx import

* i don't know what i'm doing here

* do this until we figure out how to fix that issue

* ssr back to false

* fix static directory name

* merge changes

* pyi

* update versions

* use unstable_optimizeDeps

* reset testing py

* remove helmet pyi and make the tests wait for token

* please

* add timeout and log

* add logs for polling

* add logs for starting backend

* python buffered

* require node 20

* add logs for line

* repr the line

* remove ansi

* remove -s

* brings back s for some time

* maybe

* no color

* remove -s now?

* fix redirects

* maybe ? i'm not sure

* move some of the config

* make unit test cases pass

* fix the checkpoints for react router

* do some stuff with the url

* fix client storage

* yea that guy isn't happy

* fix for react moment

* fix three tests

* try stuff with prerender

* make it only on export

* fix lazy components

* prerender fix units

* i couldn't get this guy to work but at least make some progress

* fix tailwind test

* fix test_event_actions

* this shit is weird

* simplify things further

* precommit

* remove /

* fix datetime

* make some progress on test dynamic route

* remove work that wouldn't work

* precommit

* dynamic icon fix

* merge

* precommit

* bring back some notion of link

* remove weird component

* fix dynamic route

* app

* update tailwind plugins

* update pyi hashes

* precommit

* remove helmet

* fix tests

* fix config for esm

* Revert "remove helmet"

This reverts commit 2f300d1.

* bring back helmet but only for scripts

* upgrade react

* fix cls

* use rolldown

* add sitemap

* add deploy url handling

* make native plugin only run on build

* remove enableNativePlugin for now

* remove setup frontend test

* always have --bun ?

* maybe

* ok we can't get around that

* we could do this though

* fix pyi

* Match static route before dynamic route for on_load

* enable sitemap plugin

* fix tailwind

* also set inline colorScheme when the theme changes

* upgrade RR

* handle preset

* removed unused ignore

* fix build time and checkpoints

* make frontend listening regex handle dev and prod

* [ENG-6295] missing stylesheet issue (#5446)

When the app specified custom `head_components`, the default meta was not being
included.

* add fix for strict mode being there all the time

* prerender routes on prod mode (#5447)

* [ENG-6294] fix test_event_actions for react-router

When pushing an empty fragment onto react router, the page url does not
actually change.

* assert children

* debounce input is default

* grid into no ssr

* pyi

* [ENG-6292] add explicit on_mount StrictMode test cases

* optimize REACT_ROUTER_LINK_PROPS check

---------

Co-authored-by: Masen Furer <m_github@0x26.net>
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.

2 participants