Skip to content

Conversation

@glimp-ly
Copy link

Description

This PR restores and fixes the adblocker plugin functionality, which was experiencing issues in recent versions.

Changes made

  • Fixed implementation errors within the adblocker plugin.
  • Applied general adjustments to src/index.ts to ensure compatibility with transparency changes on Linux.
  • Integrated updated translations (German).

Additional notes

The commits include a specific fix for transparency and window support in Linux environments.

glimp-ly and others added 10 commits December 26, 2025 01:02
…tana

Habilita el plugin transparent-player para Linux y corrige la configuración de ventana para asegurar compatibilidad con compositores (Picom).
Cambios realizados:
- Habilitado plugin para plataforma Linux y activado por defecto.
- Añadido switch 'enable-transparent-visuals' en main process para Linux.
- Configurada ventana principal con 'transparent: true' y 'backgroundColor' transparente cuando el plugin está activo.
- Corregida la carga del icono usando rutas absolutas (soluciona icono faltante en build).
- Establecido título de ventana explícito a 'Youtube Music'.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Currently translated at 100.0% (463 of 463 strings)

Translation: pear-devs/pear-desktop/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/de/
- Restore missing adblocker plugin source files
- Fix imports to use @ghostery/adblocker-electron instead of deprecated @cliqz dependencies
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

eslint

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

...((disableDefaultLists && !Array.isArray(disableDefaultLists)) ||


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

(Array.isArray(disableDefaultLists) && disableDefaultLists.length > 0)


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

...additionalBlockLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

blocker = await ElectronBlocker.fromLists(


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

(url: string) => net.fetch(url),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

// When generating the engine for caching, do not load network filters


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

// So that enhancing the session works as expected


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

// Allowing to define multiple webRequest listeners


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

loadNetworkFilters: session !== undefined,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

blocker.enableBlockingInSession(session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

console.log('Error loading adBlocker engine', error);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

blocker.disableBlockingInSession(session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ··blocker·!==·undefined·&&·blocker.isBlockingEnabled(session); with blocker·!==·undefined·&&·blocker.isBlockingEnabled(session);⏎

blocker !== undefined && blocker.isBlockingEnabled(session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

loadAdBlockerEngine,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

unloadAdBlockerEngine,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Whether to enable the adblocker.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····· with ···


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····· with ···

* When enabled, the adblocker will cache the blocklists.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Which adblocker to use.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* @default blockers.InPlayer


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····· with ···


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

blocker: (typeof blockers)[keyof typeof blockers];


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Additional list of filters to use.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* @example ["https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt"]


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

additionalBlockLists: string[];


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Disable the default blocklists.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

disableDefaultLists: boolean;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

name: () => t('plugins.adblocker.name'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

description: () => t('plugins.adblocker.description'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

restartNeeded: false,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

blocker: blockers.InPlayer,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

additionalBlockLists: [],


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

disableDefaultLists: false,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

} as AdblockerConfig,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

menu: async ({ getConfig, setConfig }) => {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

const config = await getConfig();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

label: t('plugins.adblocker.menu.blocker'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

submenu: Object.values(blockers).map((blocker) => ({


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

checked: (config.blocker || blockers.WithBlocklists) === blocker,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

setConfig({ blocker });


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

mainWindow: null as BrowserWindow | null,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async start({ getConfig, window }) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

const config = await getConfig();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

this.mainWindow = window;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (config.blocker === blockers.WithBlocklists) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await loadAdBlockerEngine(


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

window.webContents.session,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········

config.additionalBlockLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

config.disableDefaultLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (isBlockerEnabled(window.webContents.session)) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

unloadAdBlockerEngine(window.webContents.session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async onConfigChange(newConfig) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

if (this.mainWindow) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

newConfig.blocker === blockers.WithBlocklists &&


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

!isBlockerEnabled(this.mainWindow.webContents.session)


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········

await loadAdBlockerEngine(


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

this.mainWindow.webContents.session,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

newConfig.additionalBlockLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

newConfig.disableDefaultLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········script: with ····script:⏎·····

script: 'window.JSON.parse = window._proxyJsonParse; window._proxyJsonParse = undefined; window.Response.prototype.json = window._proxyResponseJson; window._proxyResponseJson = undefined; 0',


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async start({ getConfig }) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

const config = await getConfig();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (config.blocker === blockers.WithBlocklists) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

// Preload adblocker to inject scripts/styles


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await injectCliqzPreload();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

} else if (config.blocker === blockers.InPlayer && !isInjected()) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

inject(contextBridge);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

await webFrame.executeJavaScript(this.script);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async onConfigChange(newConfig) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (newConfig.blocker === blockers.WithBlocklists) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await injectCliqzPreload();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

} else if (newConfig.blocker === blockers.InPlayer && !isInjected()) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

inject(contextBridge);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await webFrame.executeJavaScript(this.script);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

await import('@ghostery/adblocker-electron-preload');


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert

export const isInjected: () => boolean;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

WithBlocklists: 'With blocklists',


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert

glimp-ly and others added 4 commits December 26, 2025 17:09
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

eslint

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

...((disableDefaultLists && !Array.isArray(disableDefaultLists)) ||


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

(Array.isArray(disableDefaultLists) && disableDefaultLists.length > 0)


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

...additionalBlockLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

blocker = await ElectronBlocker.fromLists(


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

(url: string) => net.fetch(url),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

// When generating the engine for caching, do not load network filters


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

// So that enhancing the session works as expected


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

// Allowing to define multiple webRequest listeners


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

loadNetworkFilters: session !== undefined,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

blocker.enableBlockingInSession(session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

console.log('Error loading adBlocker engine', error);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

blocker.disableBlockingInSession(session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ··blocker·!==·undefined·&&·blocker.isBlockingEnabled(session); with blocker·!==·undefined·&&·blocker.isBlockingEnabled(session);⏎

blocker !== undefined && blocker.isBlockingEnabled(session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

loadAdBlockerEngine,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

unloadAdBlockerEngine,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Whether to enable the adblocker.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····· with ···


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····· with ···

* When enabled, the adblocker will cache the blocklists.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Which adblocker to use.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* @default blockers.InPlayer


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····· with ···


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

blocker: (typeof blockers)[keyof typeof blockers];


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Additional list of filters to use.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* @example ["https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt"]


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

additionalBlockLists: string[];


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Disable the default blocklists.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

disableDefaultLists: boolean;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

name: () => t('plugins.adblocker.name'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

description: () => t('plugins.adblocker.description'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

restartNeeded: false,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

blocker: blockers.InPlayer,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

additionalBlockLists: [],


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

disableDefaultLists: false,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

} as AdblockerConfig,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

menu: async ({ getConfig, setConfig }) => {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

const config = await getConfig();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

label: t('plugins.adblocker.menu.blocker'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

submenu: Object.values(blockers).map((blocker) => ({


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

checked: (config.blocker || blockers.WithBlocklists) === blocker,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

setConfig({ blocker });


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

mainWindow: null as BrowserWindow | null,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async start({ getConfig, window }) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

const config = await getConfig();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

this.mainWindow = window;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (config.blocker === blockers.WithBlocklists) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await loadAdBlockerEngine(


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

window.webContents.session,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········

config.additionalBlockLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

config.disableDefaultLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (isBlockerEnabled(window.webContents.session)) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

unloadAdBlockerEngine(window.webContents.session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async onConfigChange(newConfig) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

if (this.mainWindow) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

newConfig.blocker === blockers.WithBlocklists &&


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

!isBlockerEnabled(this.mainWindow.webContents.session)


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········

await loadAdBlockerEngine(


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

this.mainWindow.webContents.session,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

newConfig.additionalBlockLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

newConfig.disableDefaultLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········script: with ····script:⏎·····

script: 'window.JSON.parse = window._proxyJsonParse; window._proxyJsonParse = undefined; window.Response.prototype.json = window._proxyResponseJson; window._proxyResponseJson = undefined; 0',


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async start({ getConfig }) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

const config = await getConfig();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (config.blocker === blockers.WithBlocklists) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

// Preload adblocker to inject scripts/styles


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await injectCliqzPreload();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

} else if (config.blocker === blockers.InPlayer && !isInjected()) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

inject(contextBridge);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

await webFrame.executeJavaScript(this.script);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async onConfigChange(newConfig) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (newConfig.blocker === blockers.WithBlocklists) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await injectCliqzPreload();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

} else if (newConfig.blocker === blockers.InPlayer && !isInjected()) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

inject(contextBridge);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await webFrame.executeJavaScript(this.script);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

await import('@ghostery/adblocker-electron-preload');


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert

export const isInjected: () => boolean;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

WithBlocklists: 'With blocklists',


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


const SOURCES = [
'https://raw.githubusercontent.com/kbinani/adblock-youtube-ads/master/signed.txt',
// UBlock Origin
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

Suggested change
// UBlock Origin
UBlock Origin

const SOURCES = [
'https://raw.githubusercontent.com/kbinani/adblock-youtube-ads/master/signed.txt',
// UBlock Origin
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

Suggested change
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',

'https://raw.githubusercontent.com/kbinani/adblock-youtube-ads/master/signed.txt',
// UBlock Origin
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

Suggested change
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
ttps://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',

// UBlock Origin
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

Suggested change
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',

'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2020.txt',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

Suggested change
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2020.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2020.txt',

const cachingOptions =
cache && additionalBlockLists.length === 0
? {
path: path.join(cacheDirectory, 'adblocker-engine.bin'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

Suggested change
path: path.join(cacheDirectory, 'adblocker-engine.bin'),
path: path.join(cacheDirectory, 'adblocker-engine.bin'),

cache && additionalBlockLists.length === 0
? {
path: path.join(cacheDirectory, 'adblocker-engine.bin'),
read: promises.readFile,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

Suggested change
read: promises.readFile,
read: promises.readFile,

? {
path: path.join(cacheDirectory, 'adblocker-engine.bin'),
read: promises.readFile,
write: promises.writeFile,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ··········

Suggested change
write: promises.writeFile,
write: promises.writeFile,

read: promises.readFile,
write: promises.writeFile,
}
: undefined;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

Suggested change
: undefined;
: undefined;

write: promises.writeFile,
}
: undefined;
const lists = [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

Suggested change
const lists = [
const lists = [

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

eslint

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

(Array.isArray(disableDefaultLists) && disableDefaultLists.length > 0)


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

...additionalBlockLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

blocker = await ElectronBlocker.fromLists(


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

(url: string) => net.fetch(url),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

// When generating the engine for caching, do not load network filters


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

// So that enhancing the session works as expected


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

// Allowing to define multiple webRequest listeners


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

loadNetworkFilters: session !== undefined,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

blocker.enableBlockingInSession(session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

console.log('Error loading adBlocker engine', error);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

blocker.disableBlockingInSession(session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ··blocker·!==·undefined·&&·blocker.isBlockingEnabled(session); with blocker·!==·undefined·&&·blocker.isBlockingEnabled(session);⏎

blocker !== undefined && blocker.isBlockingEnabled(session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

loadAdBlockerEngine,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

unloadAdBlockerEngine,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Whether to enable the adblocker.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····· with ···


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····· with ···

* When enabled, the adblocker will cache the blocklists.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Which adblocker to use.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* @default blockers.InPlayer


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ····· with ···


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

blocker: (typeof blockers)[keyof typeof blockers];


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Additional list of filters to use.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* @example ["https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt"]


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

additionalBlockLists: string[];


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

* Disable the default blocklists.


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

disableDefaultLists: boolean;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

name: () => t('plugins.adblocker.name'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

description: () => t('plugins.adblocker.description'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

restartNeeded: false,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

blocker: blockers.InPlayer,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

additionalBlockLists: [],


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

disableDefaultLists: false,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

} as AdblockerConfig,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

menu: async ({ getConfig, setConfig }) => {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····

const config = await getConfig();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

label: t('plugins.adblocker.menu.blocker'),


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

submenu: Object.values(blockers).map((blocker) => ({


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

checked: (config.blocker || blockers.WithBlocklists) === blocker,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

setConfig({ blocker });


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

mainWindow: null as BrowserWindow | null,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async start({ getConfig, window }) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

const config = await getConfig();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

this.mainWindow = window;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (config.blocker === blockers.WithBlocklists) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await loadAdBlockerEngine(


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

window.webContents.session,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········

config.additionalBlockLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

config.disableDefaultLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (isBlockerEnabled(window.webContents.session)) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

unloadAdBlockerEngine(window.webContents.session);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async onConfigChange(newConfig) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

if (this.mainWindow) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

newConfig.blocker === blockers.WithBlocklists &&


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···················· with ··········

!isBlockerEnabled(this.mainWindow.webContents.session)


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········

await loadAdBlockerEngine(


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

this.mainWindow.webContents.session,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ············


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

newConfig.additionalBlockLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ························ with ············

newConfig.disableDefaultLists,


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········script: with ····script:⏎·····

script: 'window.JSON.parse = window._proxyJsonParse; window._proxyJsonParse = undefined; window.Response.prototype.json = window._proxyResponseJson; window._proxyResponseJson = undefined; 0',


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async start({ getConfig }) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ············ with ······

const config = await getConfig();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (config.blocker === blockers.WithBlocklists) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

// Preload adblocker to inject scripts/styles


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await injectCliqzPreload();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

} else if (config.blocker === blockers.InPlayer && !isInjected()) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

inject(contextBridge);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

await webFrame.executeJavaScript(this.script);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

async onConfigChange(newConfig) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

if (newConfig.blocker === blockers.WithBlocklists) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await injectCliqzPreload();


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

} else if (newConfig.blocker === blockers.InPlayer && !isInjected()) {


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ········

inject(contextBridge);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ········

await webFrame.executeJavaScript(this.script);


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ········ with ····


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

await import('@ghostery/adblocker-electron-preload');


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert

export const isInjected: () => boolean;


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

WithBlocklists: 'With blocklists',


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··


🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Insert

const SOURCES = [
'https://raw.githubusercontent.com/kbinani/adblock-youtube-ads/master/signed.txt',
// UBlock Origin
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

Suggested change
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
ttps://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',

'https://raw.githubusercontent.com/kbinani/adblock-youtube-ads/master/signed.txt',
// UBlock Origin
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

Suggested change
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',

// UBlock Origin
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ··

Suggested change
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',
ttps://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',

'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2020.txt',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

Suggested change
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2020.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2020.txt',

'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2020.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2021.txt',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

Suggested change
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2021.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2021.txt',

? {
path: path.join(cacheDirectory, 'adblocker-engine.bin'),
read: promises.readFile,
write: promises.writeFile,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ················ with ··········

Suggested change
write: promises.writeFile,
write: promises.writeFile,

path: path.join(cacheDirectory, 'adblocker-engine.bin'),
read: promises.readFile,
write: promises.writeFile,
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

Suggested change
}
}

read: promises.readFile,
write: promises.writeFile,
}
: undefined;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ······

Suggested change
: undefined;
: undefined;

write: promises.writeFile,
}
: undefined;
const lists = [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Replace ···· with ··

Suggested change
const lists = [
const lists = [

}
: undefined;
const lists = [
...((disableDefaultLists && !Array.isArray(disableDefaultLists)) ||
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [eslint] <prettier/prettier> reported by reviewdog 🐶
Delete ····

Suggested change
...((disableDefaultLists && !Array.isArray(disableDefaultLists)) ||
...((disableDefaultLists && !Array.isArray(disableDefaultLists)) ||

@J0w03L
Copy link

J0w03L commented Jan 1, 2026

Been running this for a good few hours now and all seems to be working fine!

@glimp-ly
Copy link
Author

glimp-ly commented Jan 4, 2026

Been running this for a good few hours now and all seems to be working fine!

That's right, since I did the PR, I've been using my compiled version and so far nothing has failed me, everything is going well and the transparency works wonderfully.

@Yumeo0
Copy link
Contributor

Yumeo0 commented Jan 4, 2026

Works perfectly for me too

@Dradgit Dradgit mentioned this pull request Jan 18, 2026
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet