Support dynamic room predecessors in StopGapWidgetDriver (#10338)
This commit is contained in:
parent
aca077cf2b
commit
f90bc40cfc
2 changed files with 30 additions and 1 deletions
|
@ -61,6 +61,7 @@ import { ElementWidgetCapabilities } from "./ElementWidgetCapabilities";
|
||||||
import { navigateToPermalink } from "../../utils/permalinks/navigator";
|
import { navigateToPermalink } from "../../utils/permalinks/navigator";
|
||||||
import { SdkContextClass } from "../../contexts/SDKContext";
|
import { SdkContextClass } from "../../contexts/SDKContext";
|
||||||
import { ModuleRunner } from "../../modules/ModuleRunner";
|
import { ModuleRunner } from "../../modules/ModuleRunner";
|
||||||
|
import SettingsStore from "../../settings/SettingsStore";
|
||||||
|
|
||||||
// TODO: Purge this from the universe
|
// TODO: Purge this from the universe
|
||||||
|
|
||||||
|
@ -311,7 +312,7 @@ export class StopGapWidgetDriver extends WidgetDriver {
|
||||||
|
|
||||||
const targetRooms = roomIds
|
const targetRooms = roomIds
|
||||||
? roomIds.includes(Symbols.AnyRoom)
|
? roomIds.includes(Symbols.AnyRoom)
|
||||||
? client.getVisibleRooms()
|
? client.getVisibleRooms(SettingsStore.getValue("feature_dynamic_room_predecessors"))
|
||||||
: roomIds.map((r) => client.getRoom(r))
|
: roomIds.map((r) => client.getRoom(r))
|
||||||
: [client.getRoom(SdkContextClass.instance.roomViewStore.getRoomId()!)];
|
: [client.getRoom(SdkContextClass.instance.roomViewStore.getRoomId()!)];
|
||||||
return targetRooms.filter((r) => !!r) as Room[];
|
return targetRooms.filter((r) => !!r) as Room[];
|
||||||
|
|
|
@ -40,6 +40,7 @@ import { StopGapWidgetDriver } from "../../../src/stores/widgets/StopGapWidgetDr
|
||||||
import { stubClient } from "../../test-utils";
|
import { stubClient } from "../../test-utils";
|
||||||
import { ModuleRunner } from "../../../src/modules/ModuleRunner";
|
import { ModuleRunner } from "../../../src/modules/ModuleRunner";
|
||||||
import dis from "../../../src/dispatcher/dispatcher";
|
import dis from "../../../src/dispatcher/dispatcher";
|
||||||
|
import SettingsStore from "../../../src/settings/SettingsStore";
|
||||||
|
|
||||||
describe("StopGapWidgetDriver", () => {
|
describe("StopGapWidgetDriver", () => {
|
||||||
let client: MockedObject<MatrixClient>;
|
let client: MockedObject<MatrixClient>;
|
||||||
|
@ -366,4 +367,31 @@ describe("StopGapWidgetDriver", () => {
|
||||||
expect(dis.dispatch).not.toHaveBeenCalled();
|
expect(dis.dispatch).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("If the feature_dynamic_room_predecessors feature is not enabled", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
jest.spyOn(SettingsStore, "getValue").mockReturnValue(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("passes the flag through to getVisibleRooms", () => {
|
||||||
|
const driver = mkDefaultDriver();
|
||||||
|
driver.readRoomEvents(EventType.CallAnswer, "", 0, ["*"]);
|
||||||
|
expect(client.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 the flag through to getVisibleRooms", () => {
|
||||||
|
const driver = mkDefaultDriver();
|
||||||
|
driver.readRoomEvents(EventType.CallAnswer, "", 0, ["*"]);
|
||||||
|
expect(client.getVisibleRooms).toHaveBeenCalledWith(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue