Add Electron IPC APIs for authenticated media
This commit is contained in:
parent
4ffc77dfef
commit
8e03b273ae
2 changed files with 17 additions and 1 deletions
4
src/@types/global.d.ts
vendored
4
src/@types/global.d.ts
vendored
|
@ -33,7 +33,9 @@ type ElectronChannel =
|
|||
| "update-downloaded"
|
||||
| "userDownloadCompleted"
|
||||
| "userDownloadAction"
|
||||
| "openDesktopCapturerSourcePicker";
|
||||
| "openDesktopCapturerSourcePicker"
|
||||
| "userAccessToken"
|
||||
| "serverSupportedVersions";
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
|
|
|
@ -44,6 +44,7 @@ import { UPDATE_EVENT } from "matrix-react-sdk/src/stores/AsyncStore";
|
|||
import { avatarUrlForRoom, getInitialLetter } from "matrix-react-sdk/src/Avatar";
|
||||
import DesktopCapturerSourcePicker from "matrix-react-sdk/src/components/views/elements/DesktopCapturerSourcePicker";
|
||||
import { OidcRegistrationClientMetadata } from "matrix-js-sdk/src/matrix";
|
||||
import { MatrixClientPeg } from "matrix-react-sdk/src/MatrixClientPeg";
|
||||
|
||||
import VectorBasePlatform from "./VectorBasePlatform";
|
||||
import { SeshatIndexManager } from "./SeshatIndexManager";
|
||||
|
@ -127,6 +128,19 @@ export default class ElectronPlatform extends VectorBasePlatform {
|
|||
});
|
||||
});
|
||||
|
||||
// `userAccessToken` (IPC) is requested by the main process when appending authentication
|
||||
// to media downloads. A reply is sent over the same channel.
|
||||
window.electron.on("userAccessToken", () => {
|
||||
window.electron!.send("userAccessToken", MatrixClientPeg.get()?.getAccessToken());
|
||||
});
|
||||
|
||||
// `serverSupportedVersions` is requested by the main process when it needs to know if the
|
||||
// server supports a particular version. This is primarily used to detect authenticated media
|
||||
// support. A reply is sent over the same channel.
|
||||
window.electron.on("serverSupportedVersions", async () => {
|
||||
window.electron!.send("serverSupportedVersions", await MatrixClientPeg.get()?.getVersions());
|
||||
});
|
||||
|
||||
// try to flush the rageshake logs to indexeddb before quit.
|
||||
window.electron.on("before-quit", function () {
|
||||
logger.log("element-desktop closing");
|
||||
|
|
Loading…
Reference in a new issue