Compare commits

...

11 Commits

Author SHA1 Message Date
8735107eb0 Bump version to 3.3.9 2024-06-01 10:07:12 +09:00
5b9e947b8f feat(adblocker): improve In-Player adblocker 2024-06-01 10:01:53 +09:00
1f1efac466 fix(adblocker): fix In-Player adblocker
fix #1817
2024-06-01 09:50:13 +09:00
ee9c5a149b chore(deps): update dependency eslint to v9.4.0 (#2106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-01 09:30:58 +09:00
79151cb3aa chore(i18n): Translated using Weblate (Malay)
Currently translated at 0.8% (3 of 346 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/ms/
2024-06-01 02:28:08 +02:00
328530ea2c chore(i18n): Translated using Weblate (Hebrew)
Currently translated at 0.8% (3 of 346 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/he/
2024-06-01 02:28:08 +02:00
9e809b002d chore(i18n): Translated using Weblate (French)
Currently translated at 100.0% (346 of 346 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/fr/
2024-06-01 02:28:08 +02:00
200226f42d Update changelog for v3.3.8 2024-05-31 19:43:15 +00:00
5d99a854e2 Bump version to 3.3.8 2024-06-01 04:35:36 +09:00
cd4f0ccad7 fix(adblocker): fix blank screen
- fix #1942
- fix #2100
- fix #2103
2024-06-01 04:34:21 +09:00
b572623442 Update changelog for v3.3.7 2024-05-31 16:29:54 +00:00
9 changed files with 199 additions and 294 deletions

View File

@ -2,8 +2,68 @@
All notable changes to this project will be documented in this file. Dates are displayed in UTC. All notable changes to this project will be documented in this file. Dates are displayed in UTC.
#### [v3.3.8](https://github.com/th-ch/youtube-music/compare/v3.3.7...v3.3.8)
- fix(adblocker): fix blank screen [`#1942`](https://github.com/th-ch/youtube-music/issues/1942) [`#2100`](https://github.com/th-ch/youtube-music/issues/2100) [`#2103`](https://github.com/th-ch/youtube-music/issues/2103)
- Update changelog for v3.3.7 [`b572623`](https://github.com/th-ch/youtube-music/commit/b572623442fc8b45b593dc0c91623fbf814115b4)
- Bump version to 3.3.8 [`5d99a85`](https://github.com/th-ch/youtube-music/commit/5d99a854e2f29bdb6682beeffa4e6b9b8be0f60f)
#### [v3.3.7](https://github.com/th-ch/youtube-music/compare/v3.3.6...v3.3.7)
> 1 June 2024
- chore(deps): update dependency electron to v30.0.9 [`#2098`](https://github.com/th-ch/youtube-music/pull/2098)
- Revert "fix(deps): update dependency @cliqz/adblocker-electron to v1.27.6" [`#2101`](https://github.com/th-ch/youtube-music/pull/2101)
- fix(deps): update dependency @cliqz/adblocker-electron to v1.27.6 [`#2096`](https://github.com/th-ch/youtube-music/pull/2096)
- chore(deps): update dependency discord-api-types to v0.37.86 [`#2092`](https://github.com/th-ch/youtube-music/pull/2092)
- chore(deps): update dependency vite to v5.2.12 [`#2094`](https://github.com/th-ch/youtube-music/pull/2094)
- chore(deps): update dependency @typescript-eslint/eslint-plugin to v7.11.0 [`#2093`](https://github.com/th-ch/youtube-music/pull/2093)
- chore(docs): Added README-es.md and linked to README.md [`#2090`](https://github.com/th-ch/youtube-music/pull/2090)
- fix(deps): update dependency deepmerge-ts to v7 [`#2085`](https://github.com/th-ch/youtube-music/pull/2085)
- chore(deps): update dependency builtin-modules to v4 [`#2084`](https://github.com/th-ch/youtube-music/pull/2084)
- fix(deps): update dependency electron-debug to v4 [`#2086`](https://github.com/th-ch/youtube-music/pull/2086)
- fix(deps): update dependency electron-store to v9 [`#2087`](https://github.com/th-ch/youtube-music/pull/2087)
- fix(deps): update dependency conf to v12 [`#1463`](https://github.com/th-ch/youtube-music/pull/1463)
- fix(deps): update dependency youtubei.js to v9.4.0 [`#2083`](https://github.com/th-ch/youtube-music/pull/2083)
- chore(deps): update playwright monorepo to v1.44.1 [`#2082`](https://github.com/th-ch/youtube-music/pull/2082)
- chore(deps): update dependency ws to v8.17.0 [`#2081`](https://github.com/th-ch/youtube-music/pull/2081)
- chore(deps): update dependency glob to v10.4.1 [`#2080`](https://github.com/th-ch/youtube-music/pull/2080)
- chore(deps): update dependency eslint to v9.3.0 [`#2079`](https://github.com/th-ch/youtube-music/pull/2079)
- fix(deps): update dependency peerjs to v1.5.4 [`#2075`](https://github.com/th-ch/youtube-music/pull/2075)
- chore(deps): update dependency esbuild to v0.21.4 [`#2078`](https://github.com/th-ch/youtube-music/pull/2078)
- fix(deps): update dependency semver to v7.6.2 [`#2076`](https://github.com/th-ch/youtube-music/pull/2076)
- chore(deps): update dependency electron-vite to v2.2.0 [`#2077`](https://github.com/th-ch/youtube-music/pull/2077)
- fix(deps): update dependency i18next to v23.11.5 [`#2074`](https://github.com/th-ch/youtube-music/pull/2074)
- fix(deps): update dependency @cliqz/adblocker-electron to v1.27.3 [`#2071`](https://github.com/th-ch/youtube-music/pull/2071)
- chore(deps): update dependency vite to v5.2.11 [`#2070`](https://github.com/th-ch/youtube-music/pull/2070)
- fix(deps): update dependency @floating-ui/dom to v1.6.5 [`#2073`](https://github.com/th-ch/youtube-music/pull/2073)
- fix(deps): update dependency @cliqz/adblocker-electron-preload to v1.27.3 [`#2072`](https://github.com/th-ch/youtube-music/pull/2072)
- chore(deps): update pnpm to v9 [`#1980`](https://github.com/th-ch/youtube-music/pull/1980)
- chore(deps): update dependency electron to v30.0.8 [`#2068`](https://github.com/th-ch/youtube-music/pull/2068)
- chore(deps-dev): bump ejs from 3.1.9 to 3.1.10 [`#2023`](https://github.com/th-ch/youtube-music/pull/2023)
- chore(deps): update dependency utf-8-validate to v6.0.4 [`#2069`](https://github.com/th-ch/youtube-music/pull/2069)
- fix(MPRIS): Prevents player to start with invalid MPRIS interface [`#1996`](https://github.com/th-ch/youtube-music/pull/1996)
- fix(deps): update dependency solid-js to v1.8.17 [`#2002`](https://github.com/th-ch/youtube-music/pull/2002)
- chore(deps): update dependency @typescript-eslint/eslint-plugin to v7.10.0 [`#2000`](https://github.com/th-ch/youtube-music/pull/2000)
- chore(deps): update dependency discord-api-types to v0.37.85 [`#1998`](https://github.com/th-ch/youtube-music/pull/1998)
- fix(deps): update dependency serve to v14.2.3 [`#1997`](https://github.com/th-ch/youtube-music/pull/1997)
- chore(deps): update dependency rollup to v4.18.0 [`#1990`](https://github.com/th-ch/youtube-music/pull/1990)
- feat: Enable arm64 for deb and rpm [`#2033`](https://github.com/th-ch/youtube-music/pull/2033)
- chore (README-is.md): Replace viðbót with tengiforrit [`#2004`](https://github.com/th-ch/youtube-music/pull/2004)
- chore(docs): readme file translated to french [`#2049`](https://github.com/th-ch/youtube-music/pull/2049)
- chore(deps): update dependency @babel/runtime to v7.24.6 [`#2039`](https://github.com/th-ch/youtube-music/pull/2039)
- Fix substract `margin-top` in fullscreen mode [`#2015`](https://github.com/th-ch/youtube-music/pull/2015)
- chore(deps): update pnpm to v8.15.7 [`#1970`](https://github.com/th-ch/youtube-music/pull/1970)
- fix(renderer): fix macos traffic lights gap [`#2035`](https://github.com/th-ch/youtube-music/issues/2035)
- Fix substract `margin-top` in fullscreen mode [`#2013`](https://github.com/th-ch/youtube-music/issues/2013)
- chore(i18n): Translated using Weblate (Hungarian) [`f3de171`](https://github.com/th-ch/youtube-music/commit/f3de17112af787437362f31b5c4e2d4149ba1436)
- feat(menu): add theme list in menu [`933b4cc`](https://github.com/th-ch/youtube-music/commit/933b4cc8f062b3442afd4516a40eb2938db98fc6)
- chore(i18n): Translated using Weblate (Filipino) [`91392c0`](https://github.com/th-ch/youtube-music/commit/91392c0c7efaf3b33da4be4aaa7946af7108d676)
#### [v3.3.6](https://github.com/th-ch/youtube-music/compare/v3.3.5...v3.3.6) #### [v3.3.6](https://github.com/th-ch/youtube-music/compare/v3.3.5...v3.3.6)
> 13 April 2024
- fix: add AdGuard as blocklist sources [`#1966`](https://github.com/th-ch/youtube-music/pull/1966) - fix: add AdGuard as blocklist sources [`#1966`](https://github.com/th-ch/youtube-music/pull/1966)
- chore(deps): update dependency rollup to v4.14.2 [`#1968`](https://github.com/th-ch/youtube-music/pull/1968) - chore(deps): update dependency rollup to v4.14.2 [`#1968`](https://github.com/th-ch/youtube-music/pull/1968)
- fix(deps): update dependency youtubei.js to v9.3.0 [`#1967`](https://github.com/th-ch/youtube-music/pull/1967) - fix(deps): update dependency youtubei.js to v9.3.0 [`#1967`](https://github.com/th-ch/youtube-music/pull/1967)

View File

@ -1,7 +1,7 @@
{ {
"name": "youtube-music", "name": "youtube-music",
"productName": "YouTube Music", "productName": "YouTube Music",
"version": "3.3.7", "version": "3.3.9",
"description": "YouTube Music Desktop App - including custom plugins", "description": "YouTube Music Desktop App - including custom plugins",
"main": "./dist/main/index.js", "main": "./dist/main/index.js",
"license": "MIT", "license": "MIT",
@ -121,7 +121,8 @@
"typecheck": "tsc -p tsconfig.json --noEmit" "typecheck": "tsc -p tsconfig.json --noEmit"
}, },
"engines": { "engines": {
"node": ">=18.0.0" "node": ">=18.0.0",
"pnpm": ">=8"
}, },
"pnpm": { "pnpm": {
"overrides": { "overrides": {
@ -206,7 +207,7 @@
"electron-devtools-installer": "3.2.0", "electron-devtools-installer": "3.2.0",
"electron-vite": "2.2.0", "electron-vite": "2.2.0",
"esbuild": "0.21.4", "esbuild": "0.21.4",
"eslint": "9.3.0", "eslint": "9.4.0",
"eslint-import-resolver-exports": "1.0.0-beta.5", "eslint-import-resolver-exports": "1.0.0-beta.5",
"eslint-import-resolver-typescript": "3.6.1", "eslint-import-resolver-typescript": "3.6.1",
"eslint-plugin-import": "2.29.1", "eslint-plugin-import": "2.29.1",
@ -228,8 +229,5 @@
"package": true, "package": true,
"unreleased": true, "unreleased": true,
"output": "changelog.md" "output": "changelog.md"
},
"engines": {
"pnpm": ">=8"
} }
} }

151
pnpm-lock.yaml generated
View File

@ -192,7 +192,7 @@ importers:
version: 7.5.8 version: 7.5.8
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: 7.11.0 specifier: 7.11.0
version: 7.11.0(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5) version: 7.11.0(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)
bufferutil: bufferutil:
specifier: 4.0.8 specifier: 4.0.8
version: 4.0.8 version: 4.0.8
@ -224,20 +224,20 @@ importers:
specifier: 0.21.4 specifier: 0.21.4
version: 0.21.4 version: 0.21.4
eslint: eslint:
specifier: 9.3.0 specifier: 9.4.0
version: 9.3.0 version: 9.4.0
eslint-import-resolver-exports: eslint-import-resolver-exports:
specifier: 1.0.0-beta.5 specifier: 1.0.0-beta.5
version: 1.0.0-beta.5(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0))(eslint@9.3.0) version: 1.0.0-beta.5(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.4.0))(eslint@9.4.0)
eslint-import-resolver-typescript: eslint-import-resolver-typescript:
specifier: 3.6.1 specifier: 3.6.1
version: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.3.0) version: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.4.0)
eslint-plugin-import: eslint-plugin-import:
specifier: 2.29.1 specifier: 2.29.1
version: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0) version: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.4.0)
eslint-plugin-prettier: eslint-plugin-prettier:
specifier: 5.1.3 specifier: 5.1.3
version: 5.1.3(eslint@9.3.0)(prettier@3.2.5) version: 5.1.3(eslint@9.4.0)(prettier@3.2.5)
glob: glob:
specifier: 10.4.1 specifier: 10.4.1
version: 10.4.1 version: 10.4.1
@ -881,12 +881,20 @@ packages:
resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
'@eslint/config-array@0.15.1':
resolution: {integrity: sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/eslintrc@3.1.0': '@eslint/eslintrc@3.1.0':
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/js@9.3.0': '@eslint/js@9.4.0':
resolution: {integrity: sha512-niBqk8iwv96+yuTwjM6bWg8ovzAPF9qkICsGtcoa5/dmqcEMfdwNAX7+/OHcJHc7wj7XqPxH98oAHytFYlw6Sw==} resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.3':
resolution: {integrity: sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@fastify/busboy@2.1.0': '@fastify/busboy@2.1.0':
@ -912,17 +920,10 @@ packages:
'@foobar404/wave@2.0.5': '@foobar404/wave@2.0.5':
resolution: {integrity: sha512-V/ydadtv5ObCw8aEg+Qy3YSq1eyinEWzJfRI43Ovmj7VmAvEdWAdL7MatoMbiIVYPATkNDVF7GOxX1xirxM9dA==} resolution: {integrity: sha512-V/ydadtv5ObCw8aEg+Qy3YSq1eyinEWzJfRI43Ovmj7VmAvEdWAdL7MatoMbiIVYPATkNDVF7GOxX1xirxM9dA==}
'@humanwhocodes/config-array@0.13.0':
resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
engines: {node: '>=10.10.0'}
'@humanwhocodes/module-importer@1.0.1': '@humanwhocodes/module-importer@1.0.1':
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
engines: {node: '>=12.22'} engines: {node: '>=12.22'}
'@humanwhocodes/object-schema@2.0.3':
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
'@humanwhocodes/retry@0.3.0': '@humanwhocodes/retry@0.3.0':
resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==}
engines: {node: '>=18.18'} engines: {node: '>=18.18'}
@ -2209,8 +2210,8 @@ packages:
resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
eslint@9.3.0: eslint@9.4.0:
resolution: {integrity: sha512-5Iv4CsZW030lpUqHBapdPo3MJetAPtejVW8B84GIcIIv8+ohFaddXsrn1Gn8uD9ijDb+kcYKFUVmC8qG8B2ORQ==} resolution: {integrity: sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true hasBin: true
@ -2624,6 +2625,7 @@ packages:
inflight@1.0.6: inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
inherits@2.0.4: inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
@ -3100,10 +3102,6 @@ packages:
resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
minipass@7.0.4:
resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
engines: {node: '>=16 || 14 >=14.17'}
minipass@7.1.2: minipass@7.1.2:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'} engines: {node: '>=16 || 14 >=14.17'}
@ -3505,6 +3503,7 @@ packages:
rimraf@3.0.2: rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true hasBin: true
roarr@2.15.4: roarr@2.15.4:
@ -4634,13 +4633,21 @@ snapshots:
'@esbuild/win32-x64@0.21.4': '@esbuild/win32-x64@0.21.4':
optional: true optional: true
'@eslint-community/eslint-utils@4.4.0(eslint@9.3.0)': '@eslint-community/eslint-utils@4.4.0(eslint@9.4.0)':
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.10.0': {} '@eslint-community/regexpp@4.10.0': {}
'@eslint/config-array@0.15.1':
dependencies:
'@eslint/object-schema': 2.1.3
debug: 4.3.4
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
'@eslint/eslintrc@3.1.0': '@eslint/eslintrc@3.1.0':
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
@ -4655,7 +4662,9 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@eslint/js@9.3.0': {} '@eslint/js@9.4.0': {}
'@eslint/object-schema@2.1.3': {}
'@fastify/busboy@2.1.0': {} '@fastify/busboy@2.1.0': {}
@ -4680,18 +4689,8 @@ snapshots:
'@foobar404/wave@2.0.5': {} '@foobar404/wave@2.0.5': {}
'@humanwhocodes/config-array@0.13.0':
dependencies:
'@humanwhocodes/object-schema': 2.0.3
debug: 4.3.4
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
'@humanwhocodes/module-importer@1.0.1': {} '@humanwhocodes/module-importer@1.0.1': {}
'@humanwhocodes/object-schema@2.0.3': {}
'@humanwhocodes/retry@0.3.0': {} '@humanwhocodes/retry@0.3.0': {}
'@isaacs/cliui@8.0.2': '@isaacs/cliui@8.0.2':
@ -5006,15 +5005,15 @@ snapshots:
'@types/node': 20.12.5 '@types/node': 20.12.5
optional: true optional: true
'@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.10.0 '@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 7.5.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 7.5.0(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/scope-manager': 7.11.0 '@typescript-eslint/scope-manager': 7.11.0
'@typescript-eslint/type-utils': 7.11.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/type-utils': 7.11.0(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/utils': 7.11.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/utils': 7.11.0(eslint@9.4.0)(typescript@5.4.5)
'@typescript-eslint/visitor-keys': 7.11.0 '@typescript-eslint/visitor-keys': 7.11.0
eslint: 9.3.0 eslint: 9.4.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.3.1 ignore: 5.3.1
natural-compare: 1.4.0 natural-compare: 1.4.0
@ -5024,14 +5023,14 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@typescript-eslint/scope-manager': 7.5.0 '@typescript-eslint/scope-manager': 7.5.0
'@typescript-eslint/types': 7.5.0 '@typescript-eslint/types': 7.5.0
'@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.5) '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.5)
'@typescript-eslint/visitor-keys': 7.5.0 '@typescript-eslint/visitor-keys': 7.5.0
debug: 4.3.4 debug: 4.3.4
eslint: 9.3.0 eslint: 9.4.0
optionalDependencies: optionalDependencies:
typescript: 5.4.5 typescript: 5.4.5
transitivePeerDependencies: transitivePeerDependencies:
@ -5047,12 +5046,12 @@ snapshots:
'@typescript-eslint/types': 7.5.0 '@typescript-eslint/types': 7.5.0
'@typescript-eslint/visitor-keys': 7.5.0 '@typescript-eslint/visitor-keys': 7.5.0
'@typescript-eslint/type-utils@7.11.0(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/type-utils@7.11.0(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5)
'@typescript-eslint/utils': 7.11.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/utils': 7.11.0(eslint@9.4.0)(typescript@5.4.5)
debug: 4.3.4 debug: 4.3.4
eslint: 9.3.0 eslint: 9.4.0
ts-api-utils: 1.3.0(typescript@5.4.5) ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies: optionalDependencies:
typescript: 5.4.5 typescript: 5.4.5
@ -5093,13 +5092,13 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/utils@7.11.0(eslint@9.3.0)(typescript@5.4.5)': '@typescript-eslint/utils@7.11.0(eslint@9.4.0)(typescript@5.4.5)':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
'@typescript-eslint/scope-manager': 7.11.0 '@typescript-eslint/scope-manager': 7.11.0
'@typescript-eslint/types': 7.11.0 '@typescript-eslint/types': 7.11.0
'@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5) '@typescript-eslint/typescript-estree': 7.11.0(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
- typescript - typescript
@ -5513,7 +5512,7 @@ snapshots:
fs-minipass: 3.0.3 fs-minipass: 3.0.3
glob: 10.4.1 glob: 10.4.1
lru-cache: 10.2.0 lru-cache: 10.2.0
minipass: 7.0.4 minipass: 7.1.2
minipass-collect: 2.0.1 minipass-collect: 2.0.1
minipass-flush: 1.0.5 minipass-flush: 1.0.5
minipass-pipeline: 1.2.4 minipass-pipeline: 1.2.4
@ -6242,10 +6241,10 @@ snapshots:
escape-string-regexp@5.0.0: {} escape-string-regexp@5.0.0: {}
eslint-import-resolver-exports@1.0.0-beta.5(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0))(eslint@9.3.0): eslint-import-resolver-exports@1.0.0-beta.5(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.4.0))(eslint@9.4.0):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.4.0)
resolve.exports: 2.0.2 resolve.exports: 2.0.2
eslint-import-resolver-node@0.3.9: eslint-import-resolver-node@0.3.9:
@ -6256,13 +6255,13 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.3.0): eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.4.0):
dependencies: dependencies:
debug: 4.3.4 debug: 4.3.4
enhanced-resolve: 5.15.0 enhanced-resolve: 5.15.0
eslint: 9.3.0 eslint: 9.4.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@9.3.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.4.0))(eslint@9.4.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.4.0)
fast-glob: 3.3.2 fast-glob: 3.3.2
get-tsconfig: 4.7.2 get-tsconfig: 4.7.2
is-core-module: 2.13.1 is-core-module: 2.13.1
@ -6273,18 +6272,18 @@ snapshots:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
eslint-module-utils@2.8.0(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@9.3.0): eslint-module-utils@2.8.0(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.4.0))(eslint@9.4.0):
dependencies: dependencies:
debug: 3.2.7 debug: 3.2.7
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 7.5.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 7.5.0(eslint@9.4.0)(typescript@5.4.5)
eslint: 9.3.0 eslint: 9.4.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.3.0) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.4.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0): eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@9.4.0):
dependencies: dependencies:
array-includes: 3.1.7 array-includes: 3.1.7
array.prototype.findlastindex: 1.2.3 array.prototype.findlastindex: 1.2.3
@ -6292,9 +6291,9 @@ snapshots:
array.prototype.flatmap: 1.3.2 array.prototype.flatmap: 1.3.2
debug: 3.2.7 debug: 3.2.7
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 9.3.0 eslint: 9.4.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.3.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.3.0))(eslint@9.3.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.5.0(eslint@9.4.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1)(eslint@9.4.0))(eslint@9.4.0)
hasown: 2.0.0 hasown: 2.0.0
is-core-module: 2.13.1 is-core-module: 2.13.1
is-glob: 4.0.3 is-glob: 4.0.3
@ -6305,15 +6304,15 @@ snapshots:
semver: 6.3.1 semver: 6.3.1
tsconfig-paths: 3.15.0 tsconfig-paths: 3.15.0
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 7.5.0(eslint@9.3.0)(typescript@5.4.5) '@typescript-eslint/parser': 7.5.0(eslint@9.4.0)(typescript@5.4.5)
transitivePeerDependencies: transitivePeerDependencies:
- eslint-import-resolver-typescript - eslint-import-resolver-typescript
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
eslint-plugin-prettier@5.1.3(eslint@9.3.0)(prettier@3.2.5): eslint-plugin-prettier@5.1.3(eslint@9.4.0)(prettier@3.2.5):
dependencies: dependencies:
eslint: 9.3.0 eslint: 9.4.0
prettier: 3.2.5 prettier: 3.2.5
prettier-linter-helpers: 1.0.0 prettier-linter-helpers: 1.0.0
synckit: 0.8.8 synckit: 0.8.8
@ -6327,13 +6326,13 @@ snapshots:
eslint-visitor-keys@4.0.0: {} eslint-visitor-keys@4.0.0: {}
eslint@9.3.0: eslint@9.4.0:
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) '@eslint-community/eslint-utils': 4.4.0(eslint@9.4.0)
'@eslint-community/regexpp': 4.10.0 '@eslint-community/regexpp': 4.10.0
'@eslint/config-array': 0.15.1
'@eslint/eslintrc': 3.1.0 '@eslint/eslintrc': 3.1.0
'@eslint/js': 9.3.0 '@eslint/js': 9.4.0
'@humanwhocodes/config-array': 0.13.0
'@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.3.0 '@humanwhocodes/retry': 0.3.0
'@nodelib/fs.walk': 1.2.8 '@nodelib/fs.walk': 1.2.8
@ -6553,7 +6552,7 @@ snapshots:
fs-minipass@3.0.3: fs-minipass@3.0.3:
dependencies: dependencies:
minipass: 7.0.4 minipass: 7.1.2
fs.realpath@1.0.0: {} fs.realpath@1.0.0: {}
@ -7112,7 +7111,7 @@ snapshots:
cacache: 18.0.2 cacache: 18.0.2
http-cache-semantics: 4.1.1 http-cache-semantics: 4.1.1
is-lambda: 1.0.1 is-lambda: 1.0.1
minipass: 7.0.4 minipass: 7.1.2
minipass-fetch: 3.0.4 minipass-fetch: 3.0.4
minipass-flush: 1.0.5 minipass-flush: 1.0.5
minipass-pipeline: 1.2.4 minipass-pipeline: 1.2.4
@ -7211,11 +7210,11 @@ snapshots:
minipass-collect@2.0.1: minipass-collect@2.0.1:
dependencies: dependencies:
minipass: 7.0.4 minipass: 7.1.2
minipass-fetch@3.0.4: minipass-fetch@3.0.4:
dependencies: dependencies:
minipass: 7.0.4 minipass: 7.1.2
minipass-sized: 1.0.3 minipass-sized: 1.0.3
minizlib: 2.1.2 minizlib: 2.1.2
optionalDependencies: optionalDependencies:
@ -7239,8 +7238,6 @@ snapshots:
minipass@5.0.0: {} minipass@5.0.0: {}
minipass@7.0.4: {}
minipass@7.1.2: {} minipass@7.1.2: {}
minizlib@2.1.2: minizlib@2.1.2:
@ -7891,7 +7888,7 @@ snapshots:
ssri@10.0.5: ssri@10.0.5:
dependencies: dependencies:
minipass: 7.0.4 minipass: 7.1.2
stat-mode@1.0.0: {} stat-mode@1.0.0: {}

View File

@ -59,7 +59,7 @@
}, },
"unresponsive": { "unresponsive": {
"buttons": { "buttons": {
"quit": "Quitté", "quit": "Quitter",
"relaunch": "Relancer", "relaunch": "Relancer",
"wait": "Attendre" "wait": "Attendre"
}, },
@ -158,6 +158,14 @@
}, },
"remove-upgrade-button": "Supprimer le bouton de mise à niveau", "remove-upgrade-button": "Supprimer le bouton de mise à niveau",
"theme": { "theme": {
"dialog": {
"button": {
"cancel": "Annuler",
"remove": "Supprimer"
},
"remove-theme": "Êtes-vous sûr de supprimer le thème personnalisé?",
"remove-theme-message": "Cela va supprimer le thème personnalisé"
},
"label": "Thème", "label": "Thème",
"submenu": { "submenu": {
"import-css-file": "Importer fichier CSS personnalisé", "import-css-file": "Importer fichier CSS personnalisé",

View File

@ -1 +1,7 @@
{} {
"language": {
"code": "he",
"local-name": "עברית",
"name": "Hebrew"
}
}

View File

@ -1 +1,7 @@
{} {
"language": {
"code": "ms",
"local-name": "Bahasa Malaysia",
"name": "Malay"
}
}

View File

@ -8,11 +8,13 @@ import { app, net } from 'electron';
const SOURCES = [ const SOURCES = [
'https://raw.githubusercontent.com/kbinani/adblock-youtube-ads/master/signed.txt', 'https://raw.githubusercontent.com/kbinani/adblock-youtube-ads/master/signed.txt',
// UBlock Origin // UBlock Origin
'https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt', 'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters.txt',
'https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters-2020.txt', 'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/quick-fixes.txt',
'https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters-2021.txt', 'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/unbreak.txt',
'https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters-2022.txt', 'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2020.txt',
'https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters-2023.txt', '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-2022.txt',
'https://raw.githubusercontent.com/ghostery/adblocker/master/packages/adblocker/assets/ublock-origin/filters-2023.txt',
// Fanboy Annoyances // Fanboy Annoyances
'https://secure.fanboy.co.nz/fanboy-annoyance_ubo.txt', 'https://secure.fanboy.co.nz/fanboy-annoyance_ubo.txt',
// AdGuard // AdGuard

View File

@ -22,10 +22,17 @@ export const inject = (contextBridge) => {
const pruner = function (o) { const pruner = function (o) {
delete o.playerAds; delete o.playerAds;
delete o.adPlacements; delete o.adPlacements;
delete o.adSlots;
// //
if (o.playerResponse) { if (o.playerResponse) {
delete o.playerResponse.playerAds; delete o.playerResponse.playerAds;
delete o.playerResponse.adPlacements; delete o.playerResponse.adPlacements;
delete o.playerResponse.adSlots;
}
if (o.ytInitialPlayerResponse) {
delete o.ytInitialPlayerResponse.playerAds;
delete o.ytInitialPlayerResponse.adPlacements;
delete o.ytInitialPlayerResponse.adSlots;
} }
// //
@ -45,9 +52,26 @@ export const inject = (contextBridge) => {
})); }));
} }
(function () { const chains = [
let cValue = 'undefined'; {
const chain = 'playerResponse.adPlacements'; chain: 'playerResponse.adPlacements',
cValue: 'undefined',
},
{
chain: 'ytInitialPlayerResponse.playerAds',
cValue: 'undefined',
},
{
chain: 'ytInitialPlayerResponse.adPlacements',
cValue: 'undefined',
},
{
chain: 'ytInitialPlayerResponse.adSlots',
cValue: 'undefined',
}
];
chains.forEach(function ({ chain, cValue }) {
const thisScript = document.currentScript; const thisScript = document.currentScript;
// //
switch (cValue) { switch (cValue) {
@ -241,203 +265,5 @@ export const inject = (contextBridge) => {
// //
trapChain(window, chain); trapChain(window, chain);
})(); });
(function () {
let cValue = 'undefined';
const thisScript = document.currentScript;
const chain = 'ytInitialPlayerResponse.adPlacements';
//
switch (cValue) {
case 'null': {
cValue = null;
break;
}
case "''": {
cValue = '';
break;
}
case 'true': {
cValue = true;
break;
}
case 'false': {
cValue = false;
break;
}
case 'undefined': {
cValue = undefined;
break;
}
case 'noopFunc': {
cValue = function () {};
break;
}
case 'trueFunc': {
cValue = function () {
return true;
};
break;
}
case 'falseFunc': {
cValue = function () {
return false;
};
break;
}
default: {
if (/^\d+$/.test(cValue)) {
cValue = Number.parseFloat(cValue);
//
if (isNaN(cValue)) {
return;
}
if (Math.abs(cValue) > 0x7f_ff) {
return;
}
} else {
return;
}
}
}
//
let aborted = false;
const mustAbort = function (v) {
if (aborted) {
return true;
}
aborted =
v !== undefined &&
v !== null &&
cValue !== undefined &&
cValue !== null &&
typeof v !== typeof cValue;
return aborted;
};
/*
Support multiple trappers for the same property:
https://github.com/uBlockOrigin/uBlock-issues/issues/156
*/
const trapProp = function (owner, prop, configurable, handler) {
if (handler.init(owner[prop]) === false) {
return;
}
//
const odesc = Object.getOwnPropertyDescriptor(owner, prop);
let previousGetter;
let previousSetter;
if (odesc instanceof Object) {
if (odesc.configurable === false) {
return;
}
if (odesc.get instanceof Function) {
previousGetter = odesc.get;
}
if (odesc.set instanceof Function) {
previousSetter = odesc.set;
}
}
//
Object.defineProperty(owner, prop, {
configurable,
get() {
if (previousGetter !== undefined) {
previousGetter();
}
//
return handler.getter();
},
set(a) {
if (previousSetter !== undefined) {
previousSetter(a);
}
//
handler.setter(a);
},
});
};
const trapChain = function (owner, chain) {
const pos = chain.indexOf('.');
if (pos === -1) {
trapProp(owner, chain, false, {
v: undefined,
getter() {
return document.currentScript === thisScript ? this.v : cValue;
},
setter(a) {
if (mustAbort(a) === false) {
return;
}
cValue = a;
},
init(v) {
if (mustAbort(v)) {
return false;
}
//
this.v = v;
return true;
},
});
//
return;
}
//
const prop = chain.slice(0, pos);
const v = owner[prop];
//
chain = chain.slice(pos + 1);
if (v instanceof Object || (typeof v === 'object' && v !== null)) {
trapChain(v, chain);
return;
}
//
trapProp(owner, prop, true, {
v: undefined,
getter() {
return this.v;
},
setter(a) {
this.v = a;
if (a instanceof Object) {
trapChain(a, chain);
}
},
init(v) {
this.v = v;
return true;
},
});
};
//
trapChain(window, chain);
})();
}; };

View File

@ -225,7 +225,9 @@ const preload = async () => {
t: i18t.bind(i18next), t: i18t.bind(i18next),
}; };
defineYTMDTransElements(); defineYTMDTransElements();
document.body.dataset.os = navigator.userAgent; if (document.body?.dataset?.os) {
document.body.dataset.os = navigator.userAgent;
}
}; };
const main = async () => { const main = async () => {