diff --git a/crates/workspace-server/src/server.rs b/crates/workspace-server/src/server.rs index 63534670..3cffac63 100644 --- a/crates/workspace-server/src/server.rs +++ b/crates/workspace-server/src/server.rs @@ -12520,9 +12520,7 @@ fn unscoped_workspace_ui_redirect( query: Option<&str>, workspace_id: &str, ) -> Option { - let scoped_tail = if path == "/" { - "" - } else if ["/repositories", "/objectives", "/settings", "/runtimes"] + let scoped_tail = if ["/repositories", "/objectives", "/settings", "/runtimes"] .iter() .any(|prefix| path == *prefix || path.starts_with(&format!("{prefix}/"))) { @@ -14494,6 +14492,23 @@ mod tests { assert_eq!(b["workspace_id"], workspace_b.workspace.workspace_id); assert_eq!(b["display_name"], "Workspace B"); + let chooser = app + .clone() + .oneshot(Request::builder().uri("/").body(Body::empty()).unwrap()) + .await + .unwrap(); + assert_eq!(chooser.status(), StatusCode::OK); + assert_eq!( + String::from_utf8( + to_bytes(chooser.into_body(), usize::MAX) + .await + .unwrap() + .to_vec(), + ) + .unwrap(), + "
Workspace chooser
" + ); + for asset_uri in [ "/_app/immutable/entry/start.js".to_string(), format!(