@@ -6,7 +6,7 @@ import { NativePrimaryColumnContext } from "../../native/v5-workspace-context";
66import * as Arr from "effect/Array" ;
77import * as Order from "effect/Order" ;
88import { useNavigation } from "@react-navigation/native" ;
9- import { useCallback , useEffect , useMemo , useState } from "react" ;
9+ import { useCallback , useMemo , useState } from "react" ;
1010import { Platform , useWindowDimensions } from "react-native" ;
1111
1212import type { EnvironmentThreadShell } from "@t3tools/client-runtime/state/shell" ;
@@ -137,16 +137,16 @@ export function HomeRouteScreen() {
137137 setSelectedProjectKey,
138138 } = useHomeListOptions ( availableEnvironmentIds ) ;
139139 const selectedEnvironmentId = listOptions . selectedEnvironmentId ;
140- const projectScopeKey = listOptions . selectedProjectKey ;
141- const resolvedProjectKey = resolveScratchProjectScopeKey ( projectScopeKey , projects , {
142- sidebarProjectGroupingMode : listOptions . projectGroupingMode ,
143- sidebarProjectGroupingOverrides : { } ,
144- } ) ;
145- useEffect ( ( ) => {
146- if ( resolvedProjectKey !== projectScopeKey ) {
147- setSelectedProjectKey ( resolvedProjectKey ) ;
148- }
149- } , [ projectScopeKey , resolvedProjectKey , setSelectedProjectKey ] ) ;
140+ // A legacy per-environment scratch key resolves here on every render; the stored
141+ // value is only rewritten when the user picks a filter.
142+ const resolvedProjectKey = resolveScratchProjectScopeKey (
143+ listOptions . selectedProjectKey ,
144+ projects ,
145+ {
146+ sidebarProjectGroupingMode : listOptions . projectGroupingMode ,
147+ sidebarProjectGroupingOverrides : { } ,
148+ } ,
149+ ) ;
150150 const projectFilterOptions = useMemo (
151151 ( ) =>
152152 buildHomeProjectScopes ( {
0 commit comments