Skip to content
This repository has been archived by the owner on Oct 16, 2024. It is now read-only.

Remove references to MatrixClient.crypto #134

28 changes: 0 additions & 28 deletions src/SlashCommands.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -736,34 +736,6 @@ export const Commands = [
category: CommandCategories.advanced,
renderingTypes: [TimelineRenderingType.Room],
}),
new Command({
command: "remakeolm",
description: _td("slash_command|remakeolm"),
isEnabled: (cli) => {
return SettingsStore.getValue("developerMode") && !isCurrentLocalRoom(cli);
},
runFn: (cli, roomId) => {
try {
const room = cli.getRoom(roomId);

cli.forceDiscardSession(roomId);

return success(
room?.getEncryptionTargetMembers().then((members) => {
// noinspection JSIgnoredPromiseFromCall
cli.crypto?.ensureOlmSessionsForUsers(
members.map((m) => m.userId),
true,
);
}),
);
} catch (e) {
return reject(e instanceof Error ? e.message : e);
}
},
category: CommandCategories.advanced,
renderingTypes: [TimelineRenderingType.Room],
}),
new Command({
command: "rainbow",
description: _td("slash_command|rainbow"),
Expand Down
2 changes: 0 additions & 2 deletions src/components/views/dialogs/DevtoolsDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import MatrixClientContext from "../../../contexts/MatrixClientContext";
import BaseDialog from "./BaseDialog";
import { TimelineEventEditor } from "./devtools/Event";
import ServersInRoom from "./devtools/ServersInRoom";
import VerificationExplorer from "./devtools/VerificationExplorer";
import SettingExplorer from "./devtools/SettingExplorer";
import { RoomStateExplorer } from "./devtools/RoomState";
import BaseTool, { DevtoolsContext, IDevtoolsProps } from "./devtools/BaseTool";
Expand Down Expand Up @@ -45,7 +44,6 @@ const Tools: Record<Category, [label: TranslationKey, tool: Tool][]> = {
[_td("devtools|explore_room_account_data"), RoomAccountDataExplorer],
[_td("devtools|view_servers_in_room"), ServersInRoom],
[_td("devtools|notifications_debug"), RoomNotifications],
[_td("devtools|verification_explorer"), VerificationExplorer],
[_td("devtools|active_widgets"), WidgetExplorer],
],
[Category.Other]: [
Expand Down
98 changes: 0 additions & 98 deletions src/components/views/dialogs/devtools/VerificationExplorer.tsx

This file was deleted.

14 changes: 0 additions & 14 deletions src/i18n/strings/en_EN.json
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,6 @@
"unmute": "Unmute",
"unnamed_room": "Unnamed Room",
"unnamed_space": "Unnamed Space",
"unsent": "Unsent",
"unverified": "Unverified",
"updating": "Updating...",
"user": "User",
Expand Down Expand Up @@ -760,20 +759,11 @@
"low_bandwidth_mode": "Low bandwidth mode",
"low_bandwidth_mode_description": "Requires compatible homeserver.",
"main_timeline": "Main timeline",
"methods": "Methods",
"no_receipt_found": "No receipt found",
"no_verification_requests_found": "No verification requests found",
"notification_state": "Notification state is <strong>%(notificationState)s</strong>",
"notifications_debug": "Notifications debug",
"number_of_users": "Number of users",
"original_event_source": "Original event source",
"other_user": "Other user",
"phase": "Phase",
"phase_cancelled": "Cancelled",
"phase_ready": "Ready",
"phase_requested": "Requested",
"phase_started": "Started",
"phase_transaction": "Transaction",
"room_encrypted": "Room is <strong>encrypted ✅</strong>",
"room_id": "Room ID: %(roomId)s",
"room_not_encrypted": "Room is <strong>not encrypted 🚨</strong>",
Expand Down Expand Up @@ -811,8 +801,6 @@
"state_key": "State Key",
"thread_root_id": "Thread Root ID: %(threadRootId)s",
"threads_timeline": "Threads timeline",
"timeout": "Timeout",
"timeout_none": "None",
"title": "Developer tools",
"toggle_event": "toggle event",
"toolbox": "Toolbox",
Expand All @@ -829,7 +817,6 @@
"values_explicit_colon": "Values at explicit levels:",
"values_explicit_room": "Values at explicit levels in this room",
"values_explicit_this_room_colon": "Values at explicit levels in this room:",
"verification_explorer": "Verification explorer",
"view_servers_in_room": "View servers in room",
"view_source_decrypted_event_source": "Decrypted event source",
"view_source_decrypted_event_source_unavailable": "Decrypted source unavailable",
Expand Down Expand Up @@ -3013,7 +3000,6 @@
"rageshake": "Send a bug report with logs",
"rainbow": "Sends the given message coloured as a rainbow",
"rainbowme": "Sends the given emote coloured as a rainbow",
"remakeolm": "Developer command: Discards the current outbound group session and sets up new Olm sessions",
"remove": "Removes user with given id from this room",
"roomavatar": "Changes the avatar of the current room",
"roomname": "Sets the room name",
Expand Down
2 changes: 0 additions & 2 deletions src/stores/SetupEncryptionStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -284,8 +284,6 @@ export class SetupEncryptionStore extends EventEmitter {
public done(): void {
this.phase = Phase.Finished;
this.emit("update");
// async - ask other clients for keys, if necessary
MatrixClientPeg.safeGet().crypto?.cancelAndResendAllOutgoingKeyRequests();
}

private async setActiveVerificationRequest(request: VerificationRequest): Promise<void> {
Expand Down
49 changes: 0 additions & 49 deletions src/stores/widgets/StopGapWidgetDriver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -414,55 +414,6 @@ export class StopGapWidgetDriver extends WidgetDriver {
await client._unstable_updateDelayedEvent(delayId, action);
}

public async sendToDevice(
eventType: string,
encrypted: boolean,
contentMap: { [userId: string]: { [deviceId: string]: object } },
): Promise<void> {
const client = MatrixClientPeg.safeGet();

if (encrypted) {
const deviceInfoMap = await client.crypto!.deviceList.downloadKeys(Object.keys(contentMap), false);

await Promise.all(
Object.entries(contentMap).flatMap(([userId, userContentMap]) =>
Object.entries(userContentMap).map(async ([deviceId, content]): Promise<void> => {
const devices = deviceInfoMap.get(userId);
if (!devices) return;

if (deviceId === "*") {
// Send the message to all devices we have keys for
await client.encryptAndSendToDevices(
Array.from(devices.values()).map((deviceInfo) => ({
userId,
deviceInfo,
})),
content,
);
} else if (devices.has(deviceId)) {
// Send the message to a specific device
await client.encryptAndSendToDevices(
[{ userId, deviceInfo: devices.get(deviceId)! }],
content,
);
}
}),
),
);
} else {
await client.queueToDevice({
eventType,
batch: Object.entries(contentMap).flatMap(([userId, userContentMap]) =>
Object.entries(userContentMap).map(([deviceId, content]) => ({
userId,
deviceId,
payload: content,
})),
),
});
}
}

private pickRooms(roomIds?: (string | Symbols.AnyRoom)[]): Room[] {
const client = MatrixClientPeg.get();
if (!client) throw new Error("Not attached to a client");
Expand Down
44 changes: 0 additions & 44 deletions test/SlashCommands-test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -236,50 +236,6 @@ describe("SlashCommands", () => {
});
});

describe("/remakeolm", () => {
beforeEach(() => {
command = findCommand("remakeolm")!;
});

describe("isEnabled", () => {
describe("when developer mode is enabled", () => {
beforeEach(() => {
jest.spyOn(SettingsStore, "getValue").mockImplementation((settingName: string) => {
if (settingName === "developerMode") return true;
});
});

it("should return true for Room", () => {
setCurrentRoom();
expect(command.isEnabled(client)).toBe(true);
});

it("should return false for LocalRoom", () => {
setCurrentLocalRoom();
expect(command.isEnabled(client)).toBe(false);
});
});

describe("when developer mode is not enabled", () => {
beforeEach(() => {
jest.spyOn(SettingsStore, "getValue").mockImplementation((settingName: string) => {
if (settingName === "developerMode") return false;
});
});

it("should return false for Room", () => {
setCurrentRoom();
expect(command.isEnabled(client)).toBe(false);
});

it("should return false for LocalRoom", () => {
setCurrentLocalRoom();
expect(command.isEnabled(client)).toBe(false);
});
});
});
});

describe("/part", () => {
it("should part room matching alias if found", async () => {
const room1 = new Room("room-id", client, client.getSafeUserId());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,6 @@ exports[`DevtoolsDialog renders the devtools dialog 1`] = `
>
Notifications debug
</button>
<button
class="mx_DevTools_button"
>
Verification explorer
</button>
<button
class="mx_DevTools_button"
>
Expand Down
2 changes: 0 additions & 2 deletions test/components/views/settings/devices/LoginWithQR-test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ function makeClient() {
},
getClientWellKnown: jest.fn().mockReturnValue({}),
getCrypto: jest.fn().mockReturnValue({}),
crypto: {},
} as unknown as MatrixClient);
}

Expand Down Expand Up @@ -194,7 +193,6 @@ describe("<LoginWithQR />", () => {
});

test("approve - no crypto", async () => {
(client as any).crypto = undefined;
(client as any).getCrypto = () => undefined;
const onFinished = jest.fn();
render(getComponent({ client, onFinished }));
Expand Down
Loading
Loading