diff --git a/web/components/sf/projects-view.tsx b/web/components/sf/projects-view.tsx index 4fe9e768d..d61692b64 100644 --- a/web/components/sf/projects-view.tsx +++ b/web/components/sf/projects-view.tsx @@ -338,7 +338,9 @@ export function ProjectsPanel({ setDevRoot(prefs.devRoot); const discovered = await loadProjects(prefs.devRoot); - if (!cancelled) setProjects(discovered); + if (!cancelled) { + setProjects(discovered); + } } catch (err) { if (!cancelled) { setError(err instanceof Error ? err.message : "Unknown error"); @@ -1148,6 +1150,14 @@ export function ProjectSelectionGate() { }; }, [loadProjects]); + useEffect(() => { + if (loading || projects.length !== 1) return; + const [onlyProject] = projects; + if (onlyProject?.path === devRoot) { + manager.switchProject(onlyProject.path); + } + }, [devRoot, loading, manager, projects]); + const handleDevRootSaved = useCallback(async (newRoot: string) => { setLoading(true); setError(null);