Upgrade electron@30.0.9 (#2158)

* Upgrade electron@30.0.9

* Adapt media permissions handler due to types changes
This commit is contained in:
Salah Benmoussati 2024-06-05 09:14:09 +02:00 committed by GitHub
parent 7f2fe2c8c4
commit c999e279b6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 8 deletions

View File

@ -178,7 +178,7 @@
"builder-util-runtime": "^9.0.3", "builder-util-runtime": "^9.0.3",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"del": "3.0.0", "del": "3.0.0",
"electron": "29.3.1", "electron": "30.0.9",
"electron-builder": "^24.13.2", "electron-builder": "^24.13.2",
"electron-devtools-installer": "^3.2.0", "electron-devtools-installer": "^3.2.0",
"electron-icon-maker": "0.0.5", "electron-icon-maker": "0.0.5",

View File

@ -1,7 +1,8 @@
import { import {
BrowserWindow, BrowserWindow,
dialog, dialog,
PermissionRequestHandlerHandlerDetails, MediaAccessPermissionRequest,
OpenExternalPermissionRequest,
systemPreferences, systemPreferences,
WebContents, WebContents,
} from 'electron'; } from 'electron';
@ -414,13 +415,13 @@ export const handleSessionPermissions = async (
* @param permission {boolean} - config value to a specific permission (only supports media permissions) * @param permission {boolean} - config value to a specific permission (only supports media permissions)
* @param message {string} - custom message displayed to the user * @param message {string} - custom message displayed to the user
* @param callback {function} * @param callback {function}
* @param details {PermissionRequestHandlerHandlerDetails} - object passed along with certain permission types. see {@link https://www.electronjs.org/docs/api/session#sessetpermissionrequesthandlerhandler} * @param details MediaAccessPermissionRequest see {@link https://www.electronjs.org/docs/latest/api/session/#sessetpermissionrequesthandlerhandler}
*/ */
const handleMediaPermissions = async ( const handleMediaPermissions = async (
permission: boolean, permission: boolean,
message: string, message: string,
callback: (permission: boolean) => void, callback: (permission: boolean) => void,
details: PermissionRequestHandlerHandlerDetails, details: MediaAccessPermissionRequest,
): Promise<void> => { ): Promise<void> => {
logger.info('window-action: permission is ->', permission); logger.info('window-action: permission is ->', permission);
let systemAudioPermission; let systemAudioPermission;
@ -497,7 +498,7 @@ export const handlePermissionRequests = (webContents: WebContents): void => {
PERMISSIONS_NAMESPACE, PERMISSIONS_NAMESPACE,
)(), )(),
callback, callback,
details, details as MediaAccessPermissionRequest,
); );
case Permissions.LOCATION: case Permissions.LOCATION:
return handleSessionPermissions( return handleSessionPermissions(
@ -546,9 +547,15 @@ export const handlePermissionRequests = (webContents: WebContents): void => {
); );
case Permissions.OPEN_EXTERNAL: case Permissions.OPEN_EXTERNAL:
if ( if (
details?.externalURL?.startsWith('symphony:') || (details as OpenExternalPermissionRequest)?.externalURL?.startsWith(
details?.externalURL?.startsWith('tel:') || 'symphony:',
details?.externalURL?.startsWith('mailto:') ) ||
(details as OpenExternalPermissionRequest)?.externalURL?.startsWith(
'tel:',
) ||
(details as OpenExternalPermissionRequest)?.externalURL?.startsWith(
'mailto:',
)
) { ) {
return callback(true); return callback(true);
} }