Don't clear filters on space change (#30903)

This commit is contained in:
David Langley 2025-09-30 10:53:48 +01:00 committed by GitHub
parent a9f4ccaa02
commit 7e48f2b6b6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 3 additions and 8 deletions

View File

@ -15,8 +15,6 @@ import RoomListStoreV3, {
type RoomsResult, type RoomsResult,
} from "../../../stores/room-list-v3/RoomListStoreV3"; } from "../../../stores/room-list-v3/RoomListStoreV3";
import { useEventEmitter } from "../../../hooks/useEventEmitter"; import { useEventEmitter } from "../../../hooks/useEventEmitter";
import SpaceStore from "../../../stores/spaces/SpaceStore";
import { UPDATE_SELECTED_SPACE } from "../../../stores/spaces";
/** /**
* Provides information about a primary filter. * Provides information about a primary filter.
@ -74,9 +72,6 @@ export function useFilteredRooms(): FilteredRooms {
setRoomsResult(newRooms); setRoomsResult(newRooms);
}, []); }, []);
// Reset filters when active space changes
useEventEmitter(SpaceStore.instance, UPDATE_SELECTED_SPACE, () => setPrimaryFilter(undefined));
const filterUndefined = (array: (FilterKey | undefined)[]): FilterKey[] => const filterUndefined = (array: (FilterKey | undefined)[]): FilterKey[] =>
array.filter((f) => f !== undefined) as FilterKey[]; array.filter((f) => f !== undefined) as FilterKey[];

View File

@ -127,7 +127,7 @@ describe("RoomListViewModel", () => {
expect(vm.current.activePrimaryFilter).toEqual(vm.current.primaryFilters[i]); expect(vm.current.activePrimaryFilter).toEqual(vm.current.primaryFilters[i]);
}); });
it("should remove all filters when active space is changed", async () => { it("should not remove all filters when active space is changed", async () => {
mockAndCreateRooms(); mockAndCreateRooms();
const { result: vm } = renderHook(() => useRoomListViewModel()); const { result: vm } = renderHook(() => useRoomListViewModel());
@ -141,8 +141,8 @@ describe("RoomListViewModel", () => {
// Simulate a space change // Simulate a space change
await act(() => SpaceStore.instance.emit(UPDATE_SELECTED_SPACE)); await act(() => SpaceStore.instance.emit(UPDATE_SELECTED_SPACE));
// Primary filer should have been unapplied // Primary filter should remain unchanged
expect(vm.current.activePrimaryFilter).toEqual(undefined); expect(vm.current.activePrimaryFilter?.name).toEqual("People");
}); });
}); });