Use isolated IPC API
This adjusts to match changes on the desktop side where we now use Electron's context isolation feature to expose only the IPC channels and methods we actually expect to use.
This commit is contained in:
parent
66080b5751
commit
58eca1aa7d
3 changed files with 40 additions and 22 deletions
23
src/@types/global.d.ts
vendored
23
src/@types/global.d.ts
vendored
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright 2020 New Vector Ltd
|
||||
Copyright 2020, 2021 New Vector Ltd
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -17,13 +17,32 @@ limitations under the License.
|
|||
import "matrix-react-sdk/src/@types/global"; // load matrix-react-sdk's type extensions first
|
||||
import type {Renderer} from "react-dom";
|
||||
|
||||
type ElectronChannel =
|
||||
"app_onAction" |
|
||||
"before-quit" |
|
||||
"check_updates" |
|
||||
"install_update" |
|
||||
"ipcCall" |
|
||||
"ipcReply" |
|
||||
"loudNotification" |
|
||||
"preferences" |
|
||||
"seshat" |
|
||||
"seshatReply" |
|
||||
"setBadgeCount" |
|
||||
"update-downloaded" |
|
||||
"userDownloadCompleted" |
|
||||
"userDownloadOpen";
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
mxSendRageshake: (text: string, withLogs?: boolean) => void;
|
||||
matrixChat: ReturnType<Renderer>;
|
||||
|
||||
// electron-only
|
||||
ipcRenderer: any;
|
||||
electron: {
|
||||
on(channel: ElectronChannel, listener: (event: Event, ...args: any[]) => void): void;
|
||||
send(channel: ElectronChannel, ...args: any[]): void;
|
||||
}
|
||||
|
||||
// opera-only
|
||||
opera: any;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue