11import path from 'node:path' ;
22
33import { BrowserWindow , app , screen , globalShortcut , session , shell , dialog , ipcMain } from 'electron' ;
4- import enhanceWebRequest from 'electron-better-web-request' ;
4+ import enhanceWebRequest , { BetterSession } from '@jellybrick/ electron-better-web-request' ;
55import is from 'electron-is' ;
66import unhandled from 'electron-unhandled' ;
77import { autoUpdater } from 'electron-updater' ;
88import electronDebug from 'electron-debug' ;
99
10- import { BetterWebRequest } from 'electron-better-web-request/lib/electron-better-web-request' ;
11-
1210import config from './config' ;
13- import { setApplicationMenu } from './menu' ;
11+ import { refreshMenu , setApplicationMenu } from './menu' ;
1412import { fileExists , injectCSS , injectCSSAsFile } from './plugins/utils' ;
1513import { isTesting } from './utils/testing' ;
1614import { setUpTray } from './tray' ;
@@ -337,7 +335,7 @@ async function createMainWindow() {
337335
338336 removeContentSecurityPolicy ( ) ;
339337
340- await win . webContents . loadURL ( urlToLoad ) ;
338+ win . webContents . loadURL ( urlToLoad ) ;
341339
342340 return win ;
343341}
@@ -472,6 +470,7 @@ app.on('ready', async () => {
472470
473471 mainWindow = await createMainWindow ( ) ;
474472 setApplicationMenu ( mainWindow ) ;
473+ refreshMenu ( mainWindow ) ;
475474 setUpTray ( app , mainWindow ) ;
476475
477476 setupProtocolHandler ( mainWindow ) ;
@@ -603,8 +602,6 @@ function showUnresponsiveDialog(win: BrowserWindow, details: Electron.RenderProc
603602 } ) ;
604603}
605604
606- // HACK: electron-better-web-request's typing is wrong
607- type BetterSession = Omit < Electron . Session , 'webRequest' > & { webRequest : BetterWebRequest & Electron . WebRequest } ;
608605function removeContentSecurityPolicy (
609606 betterSession : BetterSession = session . defaultSession as BetterSession ,
610607) {
@@ -624,11 +621,10 @@ function removeContentSecurityPolicy(
624621 callback ( { cancel : false , responseHeaders : details . responseHeaders } ) ;
625622 } ) ;
626623
627- type ResolverListener = { apply : ( ) => Promise < Record < string , unknown > > ; context : unknown } ;
628624 // When multiple listeners are defined, apply them all
629- betterSession . webRequest . setResolver ( 'onHeadersReceived' , async ( listeners : ResolverListener [ ] ) => {
630- return listeners . reduce < Promise < Record < string , unknown > > > (
631- async ( accumulator : Promise < Record < string , unknown > > , listener : ResolverListener ) => {
625+ betterSession . webRequest . setResolver ( 'onHeadersReceived' , async ( listeners ) => {
626+ return listeners . reduce (
627+ async ( accumulator , listener ) => {
632628 const acc = await accumulator ;
633629 if ( acc . cancel ) {
634630 return acc ;
0 commit comments