Add Electron IPC APIs for authenticated media
							parent
							
								
									4ffc77dfef
								
							
						
					
					
						commit
						8e03b273ae
					
				|  | @ -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 New Issue
	
	 Travis Ralston
						Travis Ralston