diff --git a/reflex/.templates/web/utils/state.js b/reflex/.templates/web/utils/state.js index 11767572f..901429915 100644 --- a/reflex/.templates/web/utils/state.js +++ b/reflex/.templates/web/utils/state.js @@ -168,7 +168,8 @@ export const applyEvent = async (event, router, socket) => { // Send the event to the server. event.token = getToken(); - event.router_data = (({ pathname, query }) => ({ pathname, query }))(router); + event.router_data = (({ pathname, query, asPath }) => ({ pathname, query, asPath }))(router); + if (socket) { socket.emit("event", JSON.stringify(event)); return true; diff --git a/reflex/app.py b/reflex/app.py index 94194358e..bad0e3097 100644 --- a/reflex/app.py +++ b/reflex/app.py @@ -432,14 +432,7 @@ class App(Base): ) froute = format.format_route - if (froute(constants.ROOT_404) not in self.pages) and ( - not any(page.startswith("[[...") for page in self.pages) - ): - self.pages[froute(constants.ROOT_404)] = component - if not any( - page.startswith("[...") or page.startswith("[[...") for page in self.pages - ): - self.pages[froute(constants.SLUG_404)] = component + self.pages[froute(constants.SLUG_404)] = component def setup_admin_dash(self): """Setup the admin dash.""" @@ -663,9 +656,7 @@ def upload(app: App): update = await app.postprocess(state, event, update) # Send update to client await asyncio.create_task( - app.event_namespace.emit( # type: ignore - str(constants.SocketEvent.EVENT), update.json(), to=sid - ) + app.event_namespace.emit(str(constants.SocketEvent.EVENT), update.json(), to=sid) # type: ignore ) # Set the state for the session. app.state_manager.set_state(event.token, state) diff --git a/reflex/constants.py b/reflex/constants.py index 2763ba71c..023817b32 100644 --- a/reflex/constants.py +++ b/reflex/constants.py @@ -350,8 +350,7 @@ class RouteRegex(SimpleNamespace): # 404 variables -ROOT_404 = "" -SLUG_404 = "[..._]" +SLUG_404 = "404" TITLE_404 = "404 - Not Found" FAVICON_404 = "favicon.ico" DESCRIPTION_404 = "The page was not found"