@@ -504,7 +504,7 @@ export const useRoomHierarchy = (space: Room): {
504504 loadMore ( pageSize ?: number ) : Promise < void > ;
505505} => {
506506 const [ rooms , setRooms ] = useState < IHierarchyRoom [ ] > ( [ ] ) ;
507- const [ hierarchy , setHierarchy ] = useState < RoomHierarchy > ( ) ;
507+ const [ roomHierarchy , setHierarchy ] = useState < RoomHierarchy > ( ) ;
508508 const [ error , setError ] = useState < Error | undefined > ( ) ;
509509
510510 const resetHierarchy = useCallback ( ( ) => {
@@ -526,15 +526,21 @@ export const useRoomHierarchy = (space: Room): {
526526 } ) ) ;
527527
528528 const loadMore = useCallback ( async ( pageSize ?: number ) => {
529- if ( hierarchy . loading || ! hierarchy . canLoadMore || hierarchy . noSupport || error ) return ;
530- await hierarchy . load ( pageSize ) . catch ( setError ) ;
531- setRooms ( hierarchy . rooms ) ;
532- } , [ error , hierarchy ] ) ;
529+ if ( roomHierarchy . loading || ! roomHierarchy . canLoadMore || roomHierarchy . noSupport || error ) return ;
530+ await roomHierarchy . load ( pageSize ) . catch ( setError ) ;
531+ setRooms ( roomHierarchy . rooms ) ;
532+ } , [ error , roomHierarchy ] ) ;
533+
534+ // Only return the hierarchy if it is for the space requested
535+ let hierarchy = roomHierarchy ;
536+ if ( hierarchy ?. root !== space ) {
537+ hierarchy = undefined ;
538+ }
533539
534540 return {
535541 loading : hierarchy ?. loading ?? true ,
536542 rooms,
537- hierarchy : hierarchy ?. root === space ? hierarchy : undefined ,
543+ hierarchy,
538544 loadMore,
539545 error,
540546 } ;
0 commit comments