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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants