Support dynamic room predecessors in ForwardDialog (#10344)
parent
42abfb1fac
commit
2e064e57a0
|
@ -227,11 +227,16 @@ const ForwardDialog: React.FC<IProps> = ({ matrixClient: cli, event, permalinkCr
|
||||||
const lcQuery = query.toLowerCase();
|
const lcQuery = query.toLowerCase();
|
||||||
|
|
||||||
const previewLayout = useSettingValue<Layout>("layout");
|
const previewLayout = useSettingValue<Layout>("layout");
|
||||||
|
const msc3946DynamicRoomPredecessors = useSettingValue<boolean>("feature_dynamic_room_predecessors");
|
||||||
|
|
||||||
let rooms = useMemo(
|
let rooms = useMemo(
|
||||||
() =>
|
() =>
|
||||||
sortRooms(cli.getVisibleRooms().filter((room) => room.getMyMembership() === "join" && !room.isSpaceRoom())),
|
sortRooms(
|
||||||
[cli],
|
cli
|
||||||
|
.getVisibleRooms(msc3946DynamicRoomPredecessors)
|
||||||
|
.filter((room) => room.getMyMembership() === "join" && !room.isSpaceRoom()),
|
||||||
|
),
|
||||||
|
[cli, msc3946DynamicRoomPredecessors],
|
||||||
);
|
);
|
||||||
|
|
||||||
if (lcQuery) {
|
if (lcQuery) {
|
||||||
|
|
|
@ -36,6 +36,7 @@ import {
|
||||||
mockPlatformPeg,
|
mockPlatformPeg,
|
||||||
} from "../../../test-utils";
|
} from "../../../test-utils";
|
||||||
import { TILE_SERVER_WK_KEY } from "../../../../src/utils/WellKnownUtils";
|
import { TILE_SERVER_WK_KEY } from "../../../../src/utils/WellKnownUtils";
|
||||||
|
import SettingsStore from "../../../../src/settings/SettingsStore";
|
||||||
|
|
||||||
describe("ForwardDialog", () => {
|
describe("ForwardDialog", () => {
|
||||||
const sourceRoom = "!111111111111111111:example.org";
|
const sourceRoom = "!111111111111111111:example.org";
|
||||||
|
@ -325,4 +326,31 @@ describe("ForwardDialog", () => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("If the feature_dynamic_room_predecessors is not enabled", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
jest.spyOn(SettingsStore, "getValue").mockReturnValue(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("Passes through the dynamic predecessor setting", async () => {
|
||||||
|
mockClient.getVisibleRooms.mockClear();
|
||||||
|
mountForwardDialog();
|
||||||
|
expect(mockClient.getVisibleRooms).toHaveBeenCalledWith(false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("If the feature_dynamic_room_predecessors is enabled", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
// Turn on feature_dynamic_room_predecessors setting
|
||||||
|
jest.spyOn(SettingsStore, "getValue").mockImplementation(
|
||||||
|
(settingName) => settingName === "feature_dynamic_room_predecessors",
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("Passes through the dynamic predecessor setting", async () => {
|
||||||
|
mockClient.getVisibleRooms.mockClear();
|
||||||
|
mountForwardDialog();
|
||||||
|
expect(mockClient.getVisibleRooms).toHaveBeenCalledWith(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue