Skip to content

Commit df13d7d

Browse files
authored
Merge pull request #1304 from th-ch/fix/deps
2 parents f08f003 + 85228fd commit df13d7d

File tree

12 files changed

+108
-156
lines changed

12 files changed

+108
-156
lines changed

config/defaults.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ const defaultConfig = {
7474
'adblocker': {
7575
enabled: true,
7676
cache: true,
77-
blocker: blockers.WithBlocklists as string,
77+
blocker: blockers.InPlayer as string, // Fixed an issue with the initial launch in certain regions, such as South Korea.
7878
additionalBlockLists: [], // Additional list of filters, e.g "https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt"
7979
disableDefaultLists: false,
8080
},

index.ts

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
import path from 'node:path';
22

33
import { 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';
55
import is from 'electron-is';
66
import unhandled from 'electron-unhandled';
77
import { autoUpdater } from 'electron-updater';
88
import electronDebug from 'electron-debug';
99

10-
import { BetterWebRequest } from 'electron-better-web-request/lib/electron-better-web-request';
11-
1210
import config from './config';
13-
import { setApplicationMenu } from './menu';
11+
import { refreshMenu, setApplicationMenu } from './menu';
1412
import { fileExists, injectCSS, injectCSSAsFile } from './plugins/utils';
1513
import { isTesting } from './utils/testing';
1614
import { 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 };
608605
function 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;

menu.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,15 @@ const pluginEnabledMenu = (plugin: string, label = '', hasSubmenu = false, refre
6262
},
6363
});
6464

65+
export const refreshMenu = (win: BrowserWindow) => {
66+
setApplicationMenu(win);
67+
if (inAppMenuActive) {
68+
win.webContents.send('refreshMenu');
69+
}
70+
};
71+
6572
export const mainMenuTemplate = (win: BrowserWindow): MenuTemplate => {
66-
const refreshMenu = () => {
67-
setApplicationMenu(win);
68-
if (inAppMenuActive) {
69-
win.webContents.send('refreshMenu');
70-
}
71-
};
73+
const innerRefreshMenu = () => refreshMenu(win);
7274

7375
return [
7476
{
@@ -84,15 +86,15 @@ export const mainMenuTemplate = (win: BrowserWindow): MenuTemplate => {
8486
const getPluginMenu = pluginMenus[pluginName as keyof typeof pluginMenus];
8587

8688
if (!config.plugins.isEnabled(pluginName)) {
87-
return pluginEnabledMenu(pluginName, pluginLabel, true, refreshMenu);
89+
return pluginEnabledMenu(pluginName, pluginLabel, true, innerRefreshMenu);
8890
}
8991

9092
return {
9193
label: pluginLabel,
9294
submenu: [
93-
pluginEnabledMenu(pluginName, 'Enabled', true, refreshMenu),
95+
pluginEnabledMenu(pluginName, 'Enabled', true, innerRefreshMenu),
9496
{ type: 'separator' },
95-
...getPluginMenu(win, config.plugins.getOptions(pluginName), refreshMenu),
97+
...getPluginMenu(win, config.plugins.getOptions(pluginName), innerRefreshMenu),
9698
],
9799
} satisfies Electron.MenuItemConstructorOptions;
98100
}

package-lock.json

Lines changed: 66 additions & 68 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)