@@ -27,6 +27,7 @@ export function PageSearch() {
2727 const [ open , setOpen ] = useState ( false ) ;
2828 const [ selectedIndex , setSelectedIndex ] = useState ( 0 ) ;
2929 const [ workspaceId , setWorkspaceId ] = useState < string | null > ( null ) ;
30+ const [ workspaceResolved , setWorkspaceResolved ] = useState ( false ) ;
3031 const containerRef = useRef < HTMLDivElement > ( null ) ;
3132 const inputRef = useRef < HTMLInputElement > ( null ) ;
3233 const debounceRef = useRef < ReturnType < typeof setTimeout > | null > ( null ) ;
@@ -35,9 +36,11 @@ export function PageSearch() {
3536 useEffect ( ( ) => {
3637 if ( ! params . workspaceSlug ) {
3738 setWorkspaceId ( null ) ;
39+ setWorkspaceResolved ( true ) ;
3840 return ;
3941 }
4042
43+ setWorkspaceResolved ( false ) ;
4144 const supabase = createClient ( ) ;
4245 supabase
4346 . from ( "workspaces" )
@@ -47,9 +50,11 @@ export function PageSearch() {
4750 . then ( ( { data, error } ) => {
4851 if ( error ) {
4952 captureSupabaseError ( error , "page-search:workspace-lookup" ) ;
53+ setWorkspaceResolved ( true ) ;
5054 return ;
5155 }
5256 setWorkspaceId ( data ?. id ?? null ) ;
57+ setWorkspaceResolved ( true ) ;
5358 } ) ;
5459 } , [ params . workspaceSlug ] ) ;
5560
@@ -83,7 +88,7 @@ export function PageSearch() {
8388 [ workspaceId ]
8489 ) ;
8590
86- // Debounced search (300ms)
91+ // Debounced search (300ms) — waits for workspaceId to resolve before firing
8792 useEffect ( ( ) => {
8893 if ( debounceRef . current ) {
8994 clearTimeout ( debounceRef . current ) ;
@@ -95,6 +100,11 @@ export function PageSearch() {
95100 return ;
96101 }
97102
103+ if ( ! workspaceResolved ) {
104+ setLoading ( true ) ;
105+ return ;
106+ }
107+
98108 setLoading ( true ) ;
99109 debounceRef . current = setTimeout ( ( ) => {
100110 search ( query ) ;
@@ -105,7 +115,7 @@ export function PageSearch() {
105115 clearTimeout ( debounceRef . current ) ;
106116 }
107117 } ;
108- } , [ query , search ] ) ;
118+ } , [ query , search , workspaceResolved ] ) ;
109119
110120 // Close on click outside
111121 useEffect ( ( ) => {
0 commit comments