diff --git a/packages/liveview/src/adapters/axum_adapter.rs b/packages/liveview/src/adapters/axum_adapter.rs index 638e6cd9c..4e819d512 100644 --- a/packages/liveview/src/adapters/axum_adapter.rs +++ b/packages/liveview/src/adapters/axum_adapter.rs @@ -62,6 +62,13 @@ impl LiveviewRouter for Router { }; let app = Arc::new(app); + // Add an extra catch all segment to the route + let mut route = route.trim_matches('/').to_string(); + if route.is_empty() { + route = "/*route".to_string(); + } else { + route = format!("/{route}/*route"); + } self.route( &ws_path, @@ -75,7 +82,7 @@ impl LiveviewRouter for Router { }), ) .route( - route, + &route, get(move || async move { index_page_with_glue(&interpreter_glue(&ws_path)) }), ) } diff --git a/packages/liveview/src/history.rs b/packages/liveview/src/history.rs index 7009ed58b..aed8fcfc7 100644 --- a/packages/liveview/src/history.rs +++ b/packages/liveview/src/history.rs @@ -342,6 +342,10 @@ impl History for LiveviewHistory { let mut updater_callback = self.updater_callback.write().unwrap(); *updater_callback = callback; } + + fn include_prevent_default(&self) -> bool { + true + } } mod routes {