Compare commits

...

15 Commits

Author SHA1 Message Date
27f4c0393e Bump version to 3.6.2 2024-10-16 20:43:19 +09:00
9bc42f836f fix: trustedTypes issue
- Close #2339
2024-10-16 20:40:35 +09:00
11b11ed966 fix(deps): update dependency serve to v14.2.4 (#2515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-16 20:15:01 +09:00
5f79b7e788 chore(i18n): Translated using Weblate (Icelandic)
Currently translated at 94.7% (376 of 397 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/is/
2024-10-15 22:15:39 +02:00
7d1d806797 chore(i18n): Translated using Weblate (Indonesian)
Currently translated at 100.0% (397 of 397 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/id/
2024-10-15 22:15:39 +02:00
836cedb0f3 chore(i18n): Translated using Weblate (Ukrainian)
Currently translated at 100.0% (397 of 397 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/uk/
2024-10-15 22:15:39 +02:00
70349e13cc chore(i18n): Translated using Weblate (Russian)
Currently translated at 99.7% (396 of 397 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/ru/
2024-10-15 22:15:39 +02:00
6d16b74471 fix(deps): update dependency hono to v4.6.5 (#2509)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 22:33:46 +09:00
c211780c33 chore(deps): update dependency vite to v5.4.9 (#2500)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 13:46:51 +09:00
2173ba0234 fix(api-server): properly implement next api call (#2505) 2024-10-15 13:34:19 +09:00
3a4cbc543b chore(deps): update dependency electron to v33 (#2507)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 13:30:11 +09:00
2fef7f0246 chore(deps): update dependency typescript-eslint to v8.9.0 (#2503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 05:03:21 +09:00
12d693921e chore(i18n): Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (397 of 397 strings)

Translation: th-ch/youtube-music/i18n
Translate-URL: https://hosted.weblate.org/projects/youtube-music/i18n/zh_Hant/
2024-10-14 19:24:56 +02:00
d1b4879f51 chore(deps): update dependency discord-api-types to v0.37.102 (#2501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 23:32:47 +09:00
f14939fcd2 Update changelog for v3.6.1 2024-10-14 13:42:17 +00:00
14 changed files with 461 additions and 183 deletions

View File

@ -2,8 +2,24 @@
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
#### [v3.6.1](https://github.com/th-ch/youtube-music/compare/v3.6.0...v3.6.1)
- fix(api-server): Various fixes and improvements [`#2496`](https://github.com/th-ch/youtube-music/pull/2496)
- fix(deps): update dependency electron-debug to v4.1.0 [`#2499`](https://github.com/th-ch/youtube-music/pull/2499)
- fix(renderer): fix force like buttons display logic [`#2493`](https://github.com/th-ch/youtube-music/pull/2493)
- fix(deps): update dependency i18next to v23.16.0 [`#2492`](https://github.com/th-ch/youtube-music/pull/2492)
- fix(downloader): fix #2371 [`#2371`](https://github.com/th-ch/youtube-music/issues/2371)
- fix(ytm-bugs): incorrect video ratio [`#2459`](https://github.com/th-ch/youtube-music/issues/2459)
- fix(api-server): fix init/authentication error [`#2497`](https://github.com/th-ch/youtube-music/issues/2497)
- fix: RSS feed CORS issue [`#1620`](https://github.com/th-ch/youtube-music/issues/1620)
- chore(flatpak-builder): Add more details when failing [`d3acb49`](https://github.com/th-ch/youtube-music/commit/d3acb4945a8dcde6598c53d8207bbf16eda8c739)
- chore(i18n): Translated using Weblate (Filipino) [`e428708`](https://github.com/th-ch/youtube-music/commit/e4287085a11f30d141148ab0432cc684819fd0d0)
- Bump version to 3.6.1 [`b668730`](https://github.com/th-ch/youtube-music/commit/b6687307dfe7ef765517019093c8db3c2ad14417)
#### [v3.6.0](https://github.com/th-ch/youtube-music/compare/v3.5.3...v3.6.0)
> 13 October 2024
- feat(api-server): remote control api [`#1909`](https://github.com/th-ch/youtube-music/pull/1909)
- chore(deps): update playwright monorepo to v1.48.0 [`#2489`](https://github.com/th-ch/youtube-music/pull/2489)
- fix(`synced-lyrics`): Fix 2 issues [`#2441`](https://github.com/th-ch/youtube-music/pull/2441)

View File

@ -1,7 +1,7 @@
{
"name": "youtube-music",
"productName": "YouTube Music",
"version": "3.6.1",
"version": "3.6.2",
"description": "YouTube Music Desktop App - including custom plugins",
"main": "./dist/main/index.js",
"license": "MIT",
@ -248,7 +248,7 @@
"fast-average-color": "9.4.0",
"fast-equals": "5.0.1",
"filenamify": "6.0.0",
"hono": "4.6.4",
"hono": "4.6.5",
"howler": "2.2.4",
"html-to-text": "9.0.5",
"i18next": "23.16.0",
@ -259,7 +259,7 @@
"node-id3": "0.2.6",
"peerjs": "1.5.4",
"semver": "7.6.3",
"serve": "14.2.3",
"serve": "14.2.4",
"simple-youtube-age-restriction-bypass": "github:organization/Simple-YouTube-Age-Restriction-Bypass#v2.5.9",
"solid-floating-ui": "0.3.1",
"solid-js": "1.9.2",
@ -287,8 +287,8 @@
"builtin-modules": "4.0.0",
"cross-env": "7.0.3",
"del-cli": "6.0.0",
"discord-api-types": "0.37.101",
"electron": "32.2.0",
"discord-api-types": "0.37.102",
"electron": "33.0.0",
"electron-builder": "24.13.3",
"electron-devtools-installer": "3.2.0",
"electron-vite": "2.3.0",
@ -304,9 +304,9 @@
"playwright": "1.48.0",
"rollup": "4.24.0",
"typescript": "5.6.3",
"typescript-eslint": "8.8.1",
"typescript-eslint": "8.9.0",
"utf-8-validate": "6.0.4",
"vite": "5.4.8",
"vite": "5.4.9",
"vite-plugin-inspect": "0.8.7",
"vite-plugin-resolve": "2.5.2",
"vite-plugin-solid": "2.10.2",

289
pnpm-lock.yaml generated
View File

@ -29,16 +29,16 @@ importers:
dependencies:
'@cliqz/adblocker-electron':
specifier: 1.27.1
version: 1.27.1(electron@32.2.0)
version: 1.27.1(electron@33.0.0)
'@cliqz/adblocker-electron-preload':
specifier: 1.27.1
version: 1.27.1(electron@32.2.0)
version: 1.27.1(electron@33.0.0)
'@electron-toolkit/tsconfig':
specifier: 1.0.1
version: 1.0.1(@types/node@20.12.5)
'@electron/remote':
specifier: 2.1.2
version: 2.1.2(electron@32.2.0)
version: 2.1.2(electron@33.0.0)
'@ffmpeg.wasm/core-mt':
specifier: 0.12.0
version: 0.12.0
@ -53,16 +53,16 @@ importers:
version: 2.0.5
'@hono/node-server':
specifier: 1.13.2
version: 1.13.2(hono@4.6.4)
version: 1.13.2(hono@4.6.5)
'@hono/swagger-ui':
specifier: 0.4.1
version: 0.4.1(hono@4.6.4)
version: 0.4.1(hono@4.6.5)
'@hono/zod-openapi':
specifier: 0.16.4
version: 0.16.4(hono@4.6.4)(zod@3.23.8)
version: 0.16.4(hono@4.6.5)(zod@3.23.8)
'@hono/zod-validator':
specifier: 0.4.1
version: 0.4.1(hono@4.6.4)(zod@3.23.8)
version: 0.4.1(hono@4.6.5)(zod@3.23.8)
'@jellybrick/electron-better-web-request':
specifier: 1.0.4
version: 1.0.4
@ -95,7 +95,7 @@ importers:
version: 13.0.1
custom-electron-prompt:
specifier: 1.5.8
version: 1.5.8(electron@32.2.0)
version: 1.5.8(electron@33.0.0)
dbus-next:
specifier: 0.10.2
version: 0.10.2
@ -130,8 +130,8 @@ importers:
specifier: 6.0.0
version: 6.0.0
hono:
specifier: 4.6.4
version: 4.6.4
specifier: 4.6.5
version: 4.6.5
howler:
specifier: 2.2.4
version: 2.2.4
@ -163,8 +163,8 @@ importers:
specifier: 7.6.3
version: 7.6.3
serve:
specifier: 14.2.3
version: 14.2.3
specifier: 14.2.4
version: 14.2.4
simple-youtube-age-restriction-bypass:
specifier: github:organization/Simple-YouTube-Age-Restriction-Bypass#v2.5.9
version: https://codeload.github.com/organization/Simple-YouTube-Age-Restriction-Bypass/tar.gz/4e2db89ccb2fb880c5110add9ff3f1dfb78d0ff6
@ -242,11 +242,11 @@ importers:
specifier: 6.0.0
version: 6.0.0
discord-api-types:
specifier: 0.37.101
version: 0.37.101
specifier: 0.37.102
version: 0.37.102
electron:
specifier: 32.2.0
version: 32.2.0
specifier: 33.0.0
version: 33.0.0
electron-builder:
specifier: 24.13.3
version: 24.13.3(electron-builder-squirrel-windows@24.13.3)
@ -255,7 +255,7 @@ importers:
version: 3.2.0
electron-vite:
specifier: 2.3.0
version: 2.3.0(vite@5.4.8(@types/node@20.12.5))
version: 2.3.0(vite@5.4.9(@types/node@20.12.5))
esbuild:
specifier: 0.24.0
version: 0.24.0
@ -270,10 +270,10 @@ importers:
version: 1.0.0-beta.5(eslint-plugin-import@2.31.0)(eslint@9.12.0)
eslint-import-resolver-typescript:
specifier: 3.6.3
version: 3.6.3(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.12.0)
version: 3.6.3(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.12.0)
eslint-plugin-import:
specifier: 2.31.0
version: 2.31.0(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
version: 2.31.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
eslint-plugin-prettier:
specifier: 5.2.1
version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.12.0))(eslint@9.12.0)(prettier@3.3.3)
@ -293,23 +293,23 @@ importers:
specifier: 5.6.3
version: 5.6.3
typescript-eslint:
specifier: 8.8.1
version: 8.8.1(eslint@9.12.0)(typescript@5.6.3)
specifier: 8.9.0
version: 8.9.0(eslint@9.12.0)(typescript@5.6.3)
utf-8-validate:
specifier: 6.0.4
version: 6.0.4
vite:
specifier: 5.4.8
version: 5.4.8(@types/node@20.12.5)
specifier: 5.4.9
version: 5.4.9(@types/node@20.12.5)
vite-plugin-inspect:
specifier: 0.8.7
version: 0.8.7(rollup@4.24.0)(vite@5.4.8(@types/node@20.12.5))
version: 0.8.7(rollup@4.24.0)(vite@5.4.9(@types/node@20.12.5))
vite-plugin-resolve:
specifier: 2.5.2
version: 2.5.2
vite-plugin-solid:
specifier: 2.10.2
version: 2.10.2(solid-js@1.9.2)(vite@5.4.8(@types/node@20.12.5))
version: 2.10.2(solid-js@1.9.2)(vite@5.4.9(@types/node@20.12.5))
ws:
specifier: 8.18.0
version: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
@ -1387,8 +1387,8 @@ packages:
'@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
'@typescript-eslint/eslint-plugin@8.8.1':
resolution: {integrity: sha512-xfvdgA8AP/vxHgtgU310+WBnLB4uJQ9XdyP17RebG26rLtDrQJV3ZYrcopX91GrHmMoH8bdSwMRh2a//TiJ1jQ==}
'@typescript-eslint/eslint-plugin@8.9.0':
resolution: {integrity: sha512-Y1n621OCy4m7/vTXNlCbMVp87zSd7NH0L9cXD8aIpOaNlzeWxIK4+Q19A68gSmTNRZn92UjocVUWDthGxtqHFg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
@ -1398,8 +1398,8 @@ packages:
typescript:
optional: true
'@typescript-eslint/parser@8.8.1':
resolution: {integrity: sha512-hQUVn2Lij2NAxVFEdvIGxT9gP1tq2yM83m+by3whWFsWC+1y8pxxxHUFE1UqDu2VsGi2i6RLcv4QvouM84U+ow==}
'@typescript-eslint/parser@8.9.0':
resolution: {integrity: sha512-U+BLn2rqTTHnc4FL3FJjxaXptTxmf9sNftJK62XLz4+GxG3hLHm/SUNaaXP5Y4uTiuYoL5YLy4JBCJe3+t8awQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@ -1408,12 +1408,12 @@ packages:
typescript:
optional: true
'@typescript-eslint/scope-manager@8.8.1':
resolution: {integrity: sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA==}
'@typescript-eslint/scope-manager@8.9.0':
resolution: {integrity: sha512-bZu9bUud9ym1cabmOYH9S6TnbWRzpklVmwqICeOulTCZ9ue2/pczWzQvt/cGj2r2o1RdKoZbuEMalJJSYw3pHQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/type-utils@8.8.1':
resolution: {integrity: sha512-qSVnpcbLP8CALORf0za+vjLYj1Wp8HSoiI8zYU5tHxRVj30702Z1Yw4cLwfNKhTPWp5+P+k1pjmD5Zd1nhxiZA==}
'@typescript-eslint/type-utils@8.9.0':
resolution: {integrity: sha512-JD+/pCqlKqAk5961vxCluK+clkppHY07IbV3vett97KOV+8C6l+CPEPwpUuiMwgbOz/qrN3Ke4zzjqbT+ls+1Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@ -1421,12 +1421,12 @@ packages:
typescript:
optional: true
'@typescript-eslint/types@8.8.1':
resolution: {integrity: sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q==}
'@typescript-eslint/types@8.9.0':
resolution: {integrity: sha512-SjgkvdYyt1FAPhU9c6FiYCXrldwYYlIQLkuc+LfAhCna6ggp96ACncdtlbn8FmnG72tUkXclrDExOpEYf1nfJQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@8.8.1':
resolution: {integrity: sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg==}
'@typescript-eslint/typescript-estree@8.9.0':
resolution: {integrity: sha512-9iJYTgKLDG6+iqegehc5+EqE6sqaee7kb8vWpmHZ86EqwDjmlqNNHeqDVqb9duh+BY6WCNHfIGvuVU3Tf9Db0g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@ -1434,14 +1434,14 @@ packages:
typescript:
optional: true
'@typescript-eslint/utils@8.8.1':
resolution: {integrity: sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w==}
'@typescript-eslint/utils@8.9.0':
resolution: {integrity: sha512-PKgMmaSo/Yg/F7kIZvrgrWa1+Vwn036CdNUvYFEkYbPwOH4i8xvkaRlu148W3vtheWK9ckKRIz7PBP5oUlkrvQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
'@typescript-eslint/visitor-keys@8.8.1':
resolution: {integrity: sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag==}
'@typescript-eslint/visitor-keys@8.9.0':
resolution: {integrity: sha512-Ht4y38ubk4L5/U8xKUBfKNYGmvKvA1CANoxiTRMM+tOLk3lbF3DvzZCxJCRSE+2GdCMSh6zq9VZJc3asc1XuAA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@vladfrangu/async_event_emitter@2.4.4':
@ -2030,8 +2030,8 @@ packages:
dir-compare@4.2.0:
resolution: {integrity: sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==}
discord-api-types@0.37.101:
resolution: {integrity: sha512-2wizd94t7G3A8U5Phr3AiuL4gSvhqistDwWnlk1VLTit8BI1jWUncFqFQNdPbHqS3661+Nx/iEyIwtVjPuBP3w==}
discord-api-types@0.37.102:
resolution: {integrity: sha512-5+m5twqG8n77rLhKuh2c/971UWszEL/c3KbdvVLUBTPXuS8PbYC/7W7NYhwP02qowjj6CHoKYZbD0ppOUCsT6g==}
discord-api-types@0.37.83:
resolution: {integrity: sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA==}
@ -2151,8 +2151,8 @@ packages:
'@swc/core':
optional: true
electron@32.2.0:
resolution: {integrity: sha512-Xy82QBQrEiQysoxsv6lnhHAcWNNe6vV6QqH3OPFXhEj/T9oAsBHEhZuuYHINSSsUE7zRSj+J9sNwJYOjisT0Vw==}
electron@33.0.0:
resolution: {integrity: sha512-OdLLR/zAVuNfKahSSYokZmSi7uK2wEYTbCoiIdqWLsOWmCqO9j0JC2XkYQmXQcAk2BJY0ri4lxwAfc5pzPDYsA==}
engines: {node: '>= 12.20.55'}
hasBin: true
@ -2419,9 +2419,6 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
fast-url-parser@1.1.3:
resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==}
fastq@1.16.0:
resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==}
@ -2672,8 +2669,8 @@ packages:
resolution: {integrity: sha512-ciq6hFsSG/Bpt2DmrZJtv+56zpPdnq+NQ4ijEFrveKN0ZG1mhl/LdT1NQZ9se6ty1fACcI4d4vYqC9v8EYpH2A==}
hasBin: true
hono@4.6.4:
resolution: {integrity: sha512-T5WqBkTOcIQblqBKB5mpzaH/A+dSpvVe938xZJCHOmOuYfF7DSwE/9/10+BMvwSPq9N/f6LiQ38HxrZSQOsXKw==}
hono@4.6.5:
resolution: {integrity: sha512-qsmN3V5fgtwdKARGLgwwHvcdLKursMd+YOt69eGpl1dUCJb8mCd7hZfyZnBYjxCegBG7qkJRQRUy2oO25yHcyQ==}
engines: {node: '>=16.9.0'}
hosted-git-info@4.1.0:
@ -3456,8 +3453,8 @@ packages:
resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
engines: {node: 20 || >=22}
path-to-regexp@2.2.1:
resolution: {integrity: sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==}
path-to-regexp@3.3.0:
resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==}
path-type@5.0.0:
resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
@ -3571,9 +3568,6 @@ packages:
pump@3.0.0:
resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
punycode@1.4.1:
resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==}
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@ -3749,11 +3743,11 @@ packages:
resolution: {integrity: sha512-74Wpe+hhPx4V8NFe00I2Fu9gTJopKoH5vE7nCqFzVgKOXV8AnN23T58K79QLYQotzGpH93UZ+UN2Y11j9huZJg==}
engines: {node: '>=10'}
serve-handler@6.1.5:
resolution: {integrity: sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==}
serve-handler@6.1.6:
resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==}
serve@14.2.3:
resolution: {integrity: sha512-VqUFMC7K3LDGeGnJM9h56D3XGKb6KGgOw0cVNtA26yYXHCcpxf3xwCTUaQoWlVS7i8Jdh3GjQkOB23qsXyjoyQ==}
serve@14.2.4:
resolution: {integrity: sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==}
engines: {node: '>= 14'}
hasBin: true
@ -4074,8 +4068,8 @@ packages:
resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
engines: {node: '>= 0.4'}
typescript-eslint@8.8.1:
resolution: {integrity: sha512-R0dsXFt6t4SAFjUSKFjMh4pXDtq04SsFKCVGDP3ZOzNP7itF0jBcZYU4fMsZr4y7O7V7Nc751dDeESbe4PbQMQ==}
typescript-eslint@8.9.0:
resolution: {integrity: sha512-AuD/FXGYRQyqyOBCpNLldMlsCGvmDNxptQ3Dp58/NXeB+FqyvTfXmMyba3PYa0Vi9ybnj7G8S/yd/4Cw8y47eA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@ -4195,8 +4189,8 @@ packages:
'@testing-library/jest-dom':
optional: true
vite@5.4.8:
resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==}
vite@5.4.9:
resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@ -4538,16 +4532,16 @@ snapshots:
dependencies:
'@cliqz/adblocker-extended-selectors': 1.27.6
'@cliqz/adblocker-electron-preload@1.27.1(electron@32.2.0)':
'@cliqz/adblocker-electron-preload@1.27.1(electron@33.0.0)':
dependencies:
'@cliqz/adblocker-content': 1.27.6
electron: 32.2.0
electron: 33.0.0
'@cliqz/adblocker-electron@1.27.1(electron@32.2.0)':
'@cliqz/adblocker-electron@1.27.1(electron@33.0.0)':
dependencies:
'@cliqz/adblocker': 1.27.6
'@cliqz/adblocker-electron-preload': 1.27.1(electron@32.2.0)
electron: 32.2.0
'@cliqz/adblocker-electron-preload': 1.27.1(electron@33.0.0)
electron: 33.0.0
tldts-experimental: 6.1.2
'@cliqz/adblocker-extended-selectors@1.27.6': {}
@ -4627,9 +4621,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@electron/remote@2.1.2(electron@32.2.0)':
'@electron/remote@2.1.2(electron@33.0.0)':
dependencies:
electron: 32.2.0
electron: 33.0.0
'@electron/universal@2.0.1':
dependencies:
@ -4846,29 +4840,29 @@ snapshots:
'@foobar404/wave@2.0.5': {}
'@hono/node-server@1.13.2(hono@4.6.4)':
'@hono/node-server@1.13.2(hono@4.6.5)':
dependencies:
hono: 4.6.4
hono: 4.6.5
'@hono/swagger-ui@0.4.1(hono@4.6.4)':
'@hono/swagger-ui@0.4.1(hono@4.6.5)':
dependencies:
hono: 4.6.4
hono: 4.6.5
'@hono/zod-openapi@0.16.4(hono@4.6.4)(zod@3.23.8)':
'@hono/zod-openapi@0.16.4(hono@4.6.5)(zod@3.23.8)':
dependencies:
'@asteasolutions/zod-to-openapi': 7.2.0(zod@3.23.8)
'@hono/zod-validator': 0.3.0(hono@4.6.4)(zod@3.23.8)
hono: 4.6.4
'@hono/zod-validator': 0.3.0(hono@4.6.5)(zod@3.23.8)
hono: 4.6.5
zod: 3.23.8
'@hono/zod-validator@0.3.0(hono@4.6.4)(zod@3.23.8)':
'@hono/zod-validator@0.3.0(hono@4.6.5)(zod@3.23.8)':
dependencies:
hono: 4.6.4
hono: 4.6.5
zod: 3.23.8
'@hono/zod-validator@0.4.1(hono@4.6.4)(zod@3.23.8)':
'@hono/zod-validator@0.4.1(hono@4.6.5)(zod@3.23.8)':
dependencies:
hono: 4.6.4
hono: 4.6.5
zod: 3.23.8
'@humanfs/core@0.19.0': {}
@ -5364,7 +5358,7 @@ snapshots:
'@types/electron-localshortcut@3.1.3':
dependencies:
electron: 32.2.0
electron: 33.0.0
transitivePeerDependencies:
- supports-color
@ -5437,14 +5431,14 @@ snapshots:
'@types/node': 20.12.5
optional: true
'@typescript-eslint/eslint-plugin@8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)':
'@typescript-eslint/eslint-plugin@8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)':
dependencies:
'@eslint-community/regexpp': 4.11.1
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/scope-manager': 8.8.1
'@typescript-eslint/type-utils': 8.8.1(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/visitor-keys': 8.8.1
'@typescript-eslint/parser': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/scope-manager': 8.9.0
'@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/visitor-keys': 8.9.0
eslint: 9.12.0
graphemer: 1.4.0
ignore: 5.3.2
@ -5455,12 +5449,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3)':
'@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.8.1
'@typescript-eslint/types': 8.8.1
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3)
'@typescript-eslint/visitor-keys': 8.8.1
'@typescript-eslint/scope-manager': 8.9.0
'@typescript-eslint/types': 8.9.0
'@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
'@typescript-eslint/visitor-keys': 8.9.0
debug: 4.3.7
eslint: 9.12.0
optionalDependencies:
@ -5468,15 +5462,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/scope-manager@8.8.1':
'@typescript-eslint/scope-manager@8.9.0':
dependencies:
'@typescript-eslint/types': 8.8.1
'@typescript-eslint/visitor-keys': 8.8.1
'@typescript-eslint/types': 8.9.0
'@typescript-eslint/visitor-keys': 8.9.0
'@typescript-eslint/type-utils@8.8.1(eslint@9.12.0)(typescript@5.6.3)':
'@typescript-eslint/type-utils@8.9.0(eslint@9.12.0)(typescript@5.6.3)':
dependencies:
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3)
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
'@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
debug: 4.3.7
ts-api-utils: 1.3.0(typescript@5.6.3)
optionalDependencies:
@ -5485,12 +5479,12 @@ snapshots:
- eslint
- supports-color
'@typescript-eslint/types@8.8.1': {}
'@typescript-eslint/types@8.9.0': {}
'@typescript-eslint/typescript-estree@8.8.1(typescript@5.6.3)':
'@typescript-eslint/typescript-estree@8.9.0(typescript@5.6.3)':
dependencies:
'@typescript-eslint/types': 8.8.1
'@typescript-eslint/visitor-keys': 8.8.1
'@typescript-eslint/types': 8.9.0
'@typescript-eslint/visitor-keys': 8.9.0
debug: 4.3.7
fast-glob: 3.3.2
is-glob: 4.0.3
@ -5502,20 +5496,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.8.1(eslint@9.12.0)(typescript@5.6.3)':
'@typescript-eslint/utils@8.9.0(eslint@9.12.0)(typescript@5.6.3)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
'@typescript-eslint/scope-manager': 8.8.1
'@typescript-eslint/types': 8.8.1
'@typescript-eslint/typescript-estree': 8.8.1(typescript@5.6.3)
'@typescript-eslint/scope-manager': 8.9.0
'@typescript-eslint/types': 8.9.0
'@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
eslint: 9.12.0
transitivePeerDependencies:
- supports-color
- typescript
'@typescript-eslint/visitor-keys@8.8.1':
'@typescript-eslint/visitor-keys@8.9.0':
dependencies:
'@typescript-eslint/types': 8.8.1
'@typescript-eslint/types': 8.9.0
eslint-visitor-keys: 3.4.3
'@vladfrangu/async_event_emitter@2.4.4': {}
@ -5524,7 +5518,7 @@ snapshots:
dependencies:
'@discordjs/rest': 2.3.0
'@vladfrangu/async_event_emitter': 2.4.4
discord-api-types: 0.37.101
discord-api-types: 0.37.102
ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)
transitivePeerDependencies:
- bufferutil
@ -6121,9 +6115,9 @@ snapshots:
csstype@3.1.3: {}
custom-electron-prompt@1.5.8(electron@32.2.0):
custom-electron-prompt@1.5.8(electron@33.0.0):
dependencies:
electron: 32.2.0
electron: 33.0.0
data-uri-to-buffer@4.0.1: {}
@ -6255,7 +6249,7 @@ snapshots:
minimatch: 3.1.2
p-limit: 3.1.0
discord-api-types@0.37.101: {}
discord-api-types@0.37.102: {}
discord-api-types@0.37.83: {}
@ -6430,7 +6424,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
electron-vite@2.3.0(vite@5.4.8(@types/node@20.12.5)):
electron-vite@2.3.0(vite@5.4.9(@types/node@20.12.5)):
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.7)
@ -6438,11 +6432,11 @@ snapshots:
esbuild: 0.21.5
magic-string: 0.30.10
picocolors: 1.0.1
vite: 5.4.8(@types/node@20.12.5)
vite: 5.4.9(@types/node@20.12.5)
transitivePeerDependencies:
- supports-color
electron@32.2.0:
electron@33.0.0:
dependencies:
'@electron/get': 2.0.3
'@types/node': 20.12.5
@ -6636,7 +6630,7 @@ snapshots:
eslint-import-resolver-exports@1.0.0-beta.5(eslint-plugin-import@2.31.0)(eslint@9.12.0):
dependencies:
eslint: 9.12.0
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
resolve.exports: 2.0.2
eslint-import-resolver-node@0.3.9:
@ -6647,37 +6641,37 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.12.0):
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.12.0):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.3.7
enhanced-resolve: 5.15.0
eslint: 9.12.0
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
fast-glob: 3.3.2
get-tsconfig: 4.8.0
is-bun-module: 1.1.0
is-glob: 4.0.3
optionalDependencies:
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0):
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/parser': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
eslint: 9.12.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.12.0)
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.12.0)
transitivePeerDependencies:
- supports-color
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0):
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@ -6688,7 +6682,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.12.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.12.0)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@ -6700,7 +6694,7 @@ snapshots:
string.prototype.trimend: 1.0.8
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/parser': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@ -6848,10 +6842,6 @@ snapshots:
fast-levenshtein@2.0.6: {}
fast-url-parser@1.1.3:
dependencies:
punycode: 1.4.1
fastq@1.16.0:
dependencies:
reusify: 1.0.4
@ -7130,7 +7120,7 @@ snapshots:
hexy@0.2.11: {}
hono@4.6.4: {}
hono@4.6.5: {}
hosted-git-info@4.1.0:
dependencies:
@ -7890,7 +7880,7 @@ snapshots:
lru-cache: 11.0.0
minipass: 7.1.2
path-to-regexp@2.2.1: {}
path-to-regexp@3.3.0: {}
path-type@5.0.0: {}
@ -7981,8 +7971,6 @@ snapshots:
end-of-stream: 1.4.4
once: 1.4.0
punycode@1.4.1: {}
punycode@2.3.1: {}
queue-microtask@1.2.3: {}
@ -8174,18 +8162,17 @@ snapshots:
seroval@1.1.0: {}
serve-handler@6.1.5:
serve-handler@6.1.6:
dependencies:
bytes: 3.0.0
content-disposition: 0.5.2
fast-url-parser: 1.1.3
mime-types: 2.1.18
minimatch: 3.1.2
path-is-inside: 1.0.2
path-to-regexp: 2.2.1
path-to-regexp: 3.3.0
range-parser: 1.2.0
serve@14.2.3:
serve@14.2.4:
dependencies:
'@zeit/schemas': 2.36.0
ajv: 8.12.0
@ -8196,7 +8183,7 @@ snapshots:
clipboardy: 3.0.0
compression: 1.7.4
is-port-reachable: 4.0.0
serve-handler: 6.1.5
serve-handler: 6.1.6
update-check: 1.5.4
transitivePeerDependencies:
- supports-color
@ -8551,11 +8538,11 @@ snapshots:
is-typed-array: 1.1.13
possible-typed-array-names: 1.0.0
typescript-eslint@8.8.1(eslint@9.12.0)(typescript@5.6.3):
typescript-eslint@8.9.0(eslint@9.12.0)(typescript@5.6.3):
dependencies:
'@typescript-eslint/eslint-plugin': 8.8.1(@typescript-eslint/parser@8.8.1(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/parser': 8.8.1(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/utils': 8.8.1(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/eslint-plugin': 8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/parser': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
'@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
transitivePeerDependencies:
@ -8651,7 +8638,7 @@ snapshots:
extsprintf: 1.4.1
optional: true
vite-plugin-inspect@0.8.7(rollup@4.24.0)(vite@5.4.8(@types/node@20.12.5)):
vite-plugin-inspect@0.8.7(rollup@4.24.0)(vite@5.4.9(@types/node@20.12.5)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.24.0)
@ -8662,7 +8649,7 @@ snapshots:
perfect-debounce: 1.0.0
picocolors: 1.0.1
sirv: 2.0.4
vite: 5.4.8(@types/node@20.12.5)
vite: 5.4.9(@types/node@20.12.5)
transitivePeerDependencies:
- rollup
- supports-color
@ -8671,7 +8658,7 @@ snapshots:
dependencies:
lib-esm: 0.4.2
vite-plugin-solid@2.10.2(solid-js@1.9.2)(vite@5.4.8(@types/node@20.12.5)):
vite-plugin-solid@2.10.2(solid-js@1.9.2)(vite@5.4.9(@types/node@20.12.5)):
dependencies:
'@babel/core': 7.24.7
'@types/babel__core': 7.20.5
@ -8679,12 +8666,12 @@ snapshots:
merge-anything: 5.1.7
solid-js: 1.9.2
solid-refresh: 0.6.3(solid-js@1.9.2)
vite: 5.4.8(@types/node@20.12.5)
vitefu: 0.2.5(vite@5.4.8(@types/node@20.12.5))
vite: 5.4.9(@types/node@20.12.5)
vitefu: 0.2.5(vite@5.4.9(@types/node@20.12.5))
transitivePeerDependencies:
- supports-color
vite@5.4.8(@types/node@20.12.5):
vite@5.4.9(@types/node@20.12.5):
dependencies:
esbuild: 0.21.5
postcss: 8.4.44
@ -8693,9 +8680,9 @@ snapshots:
'@types/node': 20.12.5
fsevents: 2.3.3
vitefu@0.2.5(vite@5.4.8(@types/node@20.12.5)):
vitefu@0.2.5(vite@5.4.9(@types/node@20.12.5)):
optionalDependencies:
vite: 5.4.8(@types/node@20.12.5)
vite: 5.4.9(@types/node@20.12.5)
vudio@2.1.1(patch_hash=7iux5msqpgl3octdmwy4uspwoe): {}

View File

@ -202,7 +202,7 @@
"show": "Tampilkan jendela",
"tooltip": {
"default": "YouTube Musik",
"with-song-info": "YouTube Music: {{artist}} - {{title}}"
"with-song-info": "YouTube Musik: {{artist}} - {{title}}"
}
}
},
@ -279,6 +279,49 @@
},
"name": "Mode ambient"
},
"api-server": {
"description": "Menambahkan server API untuk mengontrol pemutar",
"dialog": {
"request": {
"buttons": {
"allow": "Izinkan",
"deny": "Menolak"
},
"message": "Izinkan {{ID}} ({{origin}}) untuk mengakses API?",
"title": "Permintaan otorisasi API"
}
},
"menu": {
"auth-strategy": {
"label": "Strategi otorisasi",
"submenu": {
"auth-at-first": {
"label": "Otorisasi pada permintaan pertama"
},
"none": {
"label": "Tidak ada otorisasi"
}
}
},
"hostname": {
"label": "Nama host"
},
"port": {
"label": "Port"
}
},
"name": "API Server [Beta]",
"prompt": {
"hostname": {
"label": "Masukkan nama host (seperti 0.0.0.0) untuk server API:",
"title": "Nama host"
},
"port": {
"label": "Masukkan port untuk server API:",
"title": "Port"
}
}
},
"audio-compressor": {
"description": "Menerapkan kompresi pada audio (mengurangi volume pada bagian paling keras dari sinyal dan meningkatkan volume pada bagian paling lembut)",
"name": "Kompresi suara"

View File

@ -279,6 +279,49 @@
},
"name": "Umhverfishamur"
},
"api-server": {
"description": "Bætir API netþjóni til að stjórna spilaranum",
"dialog": {
"request": {
"buttons": {
"allow": "Leyfa",
"deny": "Óleyfa"
},
"message": "Leyfa {{ID}} ({{origin}}) að aðganga API-ið?",
"title": "API heimildarbeiðni"
}
},
"menu": {
"auth-strategy": {
"label": "Heimildarstefna",
"submenu": {
"auth-at-first": {
"label": "Heimila á fyrst beiðni"
},
"none": {
"label": "Nei heimild"
}
}
},
"hostname": {
"label": "Hýsitölvunafn"
},
"port": {
"label": "Tengi"
}
},
"name": "API-Netþjónn [Beta]",
"prompt": {
"hostname": {
"label": "Sláðu inn hýsitölvunafnið (eins og 0.0.0.0) fyrir API-netþjónninn:",
"title": "Hýsitölvunafn"
},
"port": {
"label": "Sláðu inn tengið fyrir API-netþjónninn:",
"title": "Tengi"
}
}
},
"audio-compressor": {
"description": "Notaðu þjöppun á hljóð (lækkar hljóðstyrk háværustu hluta merkis og hækkar hljóðstyrk í mýkstu hlutunum)",
"name": "Hljóðþjöppu"
@ -670,7 +713,34 @@
},
"synced-lyrics": {
"description": "Veitir samstillta texta við lög, með því að nota veitur eins og LRClib.",
"name": "Samstilltur texti"
"errors": {
"not-found": "⚠️ - Enginn texti fannst við þetta lag."
},
"menu": {
"line-effect": {
"label": "Línuafleiðing",
"submenu": {
"focus": {
"label": "Brennidepill",
"tooltip": "Gerðu aðeins núverandi línu hvíta"
},
"offset": {
"label": "Fararbyrjun"
},
"scale": {
"label": "Skali",
"tooltip": "Skala núverandi línu"
}
}
},
"show-time-codes": {
"label": "Sýna tímikóðar"
}
},
"name": "Samstilltur texti",
"warnings": {
"instrumental": "⚠️ - Þetta er hljóðfærilegt lag"
}
},
"taskbar-mediacontrol": {
"description": "Stjórnaðu spilun frá Windows verkefnastikunni þinni",

View File

@ -279,6 +279,49 @@
},
"name": "Режим Ambient"
},
"api-server": {
"description": "Добавляет API сервер для контроля за плеером",
"dialog": {
"request": {
"buttons": {
"allow": "Разрешить",
"deny": "Отказать"
},
"message": "Разрешить {{ID}} ({{origin}}) доступ к API?",
"title": "Запрос на авторизацию в API"
}
},
"menu": {
"auth-strategy": {
"label": "Способ авторизации",
"submenu": {
"auth-at-first": {
"label": "Авторизация при первом запросе"
},
"none": {
"label": "Без авторизации"
}
}
},
"hostname": {
"label": "Имя хоста"
},
"port": {
"label": "Порт"
}
},
"name": "API Сервер [БЕТА]",
"prompt": {
"hostname": {
"label": "Введите имя хоста (на подобии 0.0.0.0) для API сервера:",
"title": "Имя хоста"
},
"port": {
"label": "Введите порт для API сервера:",
"title": "Порт"
}
}
},
"audio-compressor": {
"description": "Применяет компрессию к аудио (уменьшает громкость самых громких частей сигнала и повышает громкость самых тихих частей)",
"name": "Нормализация аудио"
@ -414,6 +457,21 @@
"description": "Скачивать MP3 / исходное аудио напрямую из интерфейса",
"menu": {
"choose-download-folder": "Выберите папку для загрузок",
"download-finish-settings": {
"label": "Скачать по завершении",
"prompt": {
"last-percent": "После х процентов",
"last-seconds": "Осталось x сек",
"title": "Условия скачивания"
},
"submenu": {
"advanced": "Расширенные настройки",
"enabled": "Включено",
"mode": "Врмеменной режим",
"percent": "Проценты",
"seconds": "Секунды"
}
},
"download-playlist": "Скачать плейлист",
"presets": "Пресеты",
"skip-existing": "Пропускать уже существующие файлы"

View File

@ -207,6 +207,10 @@
}
},
"plugins": {
"ad-speedup": {
"description": "При програванні реклами звук вимикається і встановлюється швидкість відтворення 16х",
"name": "Прискорення реклами"
},
"adblocker": {
"description": "Блокувати всю рекламу та відстеження з коробки",
"menu": {
@ -275,6 +279,49 @@
},
"name": "Режим навколишнього середовища"
},
"api-server": {
"description": "Додає API сервер для контролю плеєра",
"dialog": {
"request": {
"buttons": {
"allow": "Дозволити",
"deny": "Відмінити"
},
"message": "Дозволити {{ID}} ({{origin}}) доступ до API?",
"title": "Запит авторизації до API"
}
},
"menu": {
"auth-strategy": {
"label": "Стратегія авторизації",
"submenu": {
"auth-at-first": {
"label": "Авторизувати при першому запиті"
},
"none": {
"label": "Немає авторизації"
}
}
},
"hostname": {
"label": "Назва серверу"
},
"port": {
"label": "Порт"
}
},
"name": "API сервер [Бета]",
"prompt": {
"hostname": {
"label": "Введіть ім'я хоста (наприклад 0.0.0.0) для API серверу:",
"title": "Ім'я хоста"
},
"port": {
"label": "Введіть порт API серверу:",
"title": "Порт"
}
}
},
"audio-compressor": {
"description": "Застосувати стиснення аудіо (зменшити гучність найгучніших фрагментів сигналу та збільшити гучність тихих фрагментів)",
"name": "Аудіокомпресор"
@ -411,13 +458,17 @@
"menu": {
"choose-download-folder": "Оберіть папку для завантаження",
"download-finish-settings": {
"label": "Скачати по завершенню",
"prompt": {
"last-percent": "Після Х відсотків",
"last-seconds": "Останні Х секунд"
"last-seconds": "Останні Х секунд",
"title": "Налаштувати коли завантажувати"
},
"submenu": {
"advanced": "Розширені",
"enabled": "Увімкнено",
"percent": "Відсотків",
"mode": "Режим часу",
"percent": "Відсоток",
"seconds": "Секунди"
}
},
@ -661,6 +712,7 @@
"name": "SponsorBlock"
},
"synced-lyrics": {
"description": "Додає синхронізовані тексти до пісень використовуючи провайдери, такі як LRClib.",
"errors": {
"fetch": "⚠️ - При завантаженні тексту сталась помилка. Спробуйте ще раз пізніше.",
"not-found": "⚠️ - До цієї пісні текст не знайдено."
@ -677,6 +729,10 @@
"label": "Зосереджитись",
"tooltip": "Зробити білим лише поточний рядок"
},
"offset": {
"label": "Офсет",
"tooltip": "Офсет з права від нинішньої лінії"
},
"scale": {
"label": "Масштабувати",
"tooltip": "Масштабуваты поточну лінію"
@ -685,7 +741,8 @@
"tooltip": "Виберіть ефект, який потрібно застосувати до поточної лінії"
},
"precise-timing": {
"label": "Зробити текст пісні ідеально синхронізованим"
"label": "Зробити текст пісні ідеально синхронізованим",
"tooltip": "Обчисли до мілісекунд відображення наступного рядка (може мати невеликий вплив на продуктивність)"
},
"show-lyrics-even-if-inexact": {
"label": "Показувати текст пісні, навіть якщо він неточний",
@ -698,7 +755,7 @@
},
"name": "Синхронізовані тексти",
"refetch-btn": {
"fetching": "Отримання...",
"fetching": "Завантаження...",
"normal": "Перезавантажити текст"
},
"warnings": {

View File

@ -279,6 +279,49 @@
},
"name": "微光效果"
},
"api-server": {
"description": "新增伺服器以使用 API 控制播放器",
"dialog": {
"request": {
"buttons": {
"allow": "允許",
"deny": "拒絕"
},
"message": "允許 {{ID}} ({{origin}}) 訪問 API 嗎?",
"title": "API 驗證請求"
}
},
"menu": {
"auth-strategy": {
"label": "驗證策略",
"submenu": {
"auth-at-first": {
"label": "首次請求時驗證"
},
"none": {
"label": "不要驗證"
}
}
},
"hostname": {
"label": "主機名稱"
},
"port": {
"label": "接口"
}
},
"name": "API 伺服器 [Beta]",
"prompt": {
"hostname": {
"label": "輸入 API 伺服器的主機名稱 例 (0.0.0.0)",
"title": "主機名稱"
},
"port": {
"label": "輸入 API 伺服器接口:",
"title": "接口"
}
}
},
"audio-compressor": {
"description": "使用音效壓縮 (大聲部份的音量降低, 柔和部份的音量提高)",
"name": "音效壓縮器"
@ -300,7 +343,7 @@
"name": "標題選擇器",
"prompt": {
"selector": {
"label": "目前標題語言: {{language}}",
"label": "目前標題語言{{language}}",
"none": "無",
"title": "選擇標題語言"
}
@ -363,7 +406,7 @@
"name": "Discord 狀態",
"prompt": {
"set-inactivity-timeout": {
"label": "設定多少秒後清除狀態:",
"label": "設定多少秒後清除狀態",
"title": "設定閒置狀態時長"
}
}
@ -388,11 +431,11 @@
}
},
"feedback": {
"conversion-progress": "轉檔進度: {{percent}}%",
"conversion-progress": "轉檔進度{{percent}}%",
"converting": "轉檔中…",
"done": "完成下載: {{filePath}}",
"done": "完成下載{{filePath}}",
"download-info": "正在下載 {{artist}} - {{title}} [{{videoId}}",
"download-progress": "下載進度: {{percent}}%",
"download-progress": "下載進度{{percent}}%",
"downloading": "下載中…",
"downloading-counter": "正在下載第 {{current}}/{{total}}…",
"downloading-playlist": "正在下載播放清單 \"{{playlistTitle}}\" - 共 {{playlistSize}} 首歌 ({{playlistId}})",
@ -403,10 +446,10 @@
"playlist-has-only-one-song": "播放清單內只有一首歌曲, 將直接下載",
"playlist-id-not-found": "沒有找到播放清單 ID",
"playlist-is-empty": "播放清單是空的",
"playlist-is-mix-or-private": "獲取播放清單資訊時發生錯誤: 請確認非私人播放清單或是\"為你推薦的合輯\"\n\n{{error}}",
"playlist-is-mix-or-private": "獲取播放清單資訊時發生錯誤請確認非私人播放清單或是\"為你推薦的合輯\"\n\n{{error}}",
"preparing-file": "正在準備檔案…",
"saving": "儲存中…",
"trying-to-get-playlist-id": "正在嘗試獲取播放清單 ID: {{playlistId}}",
"trying-to-get-playlist-id": "正在嘗試獲取播放清單 ID{{playlistId}}",
"video-id-not-found": "未能找到該影片",
"writing-id3": "正在寫入 ID3 標籤…"
}
@ -582,7 +625,7 @@
"decrease": "降低音量",
"increase": "增加音量"
},
"label": "選擇全域音量控制快捷鍵:",
"label": "選擇全域音量控制快捷鍵",
"title": "全域音量控制快捷鍵"
},
"volume-steps": {
@ -595,8 +638,8 @@
"backend": {
"dialog": {
"quality-changer": {
"detail": "目前畫質: {{quality}}",
"message": "選擇影片畫質:",
"detail": "目前畫質{{quality}}",
"message": "選擇影片畫質",
"title": "選擇影片畫質"
}
}
@ -651,7 +694,7 @@
"play-pause": "播放/暫停",
"previous": "上一首"
},
"label": "選擇全域音樂控制快捷鍵:",
"label": "選擇全域音樂控制快捷鍵",
"title": "全域快捷鍵"
}
}
@ -703,7 +746,7 @@
},
"show-lyrics-even-if-inexact": {
"label": "即使不精確依然強制顯示歌詞",
"tooltip": "當找不到符合該歌曲的歌詞時,該功能會嘗試不同的搜尋方式\n使用不同的搜尋方式會導致不精確的結果。"
"tooltip": "當找不到符合該歌曲的歌詞時,該功能會嘗試不同的搜尋方式\n使用不同的搜尋方式會導致不精確的結果。"
},
"show-time-codes": {
"label": "顯示時間線",

View File

@ -309,8 +309,8 @@ export const register = (
ctx.status(204);
return ctx.body(null);
});
app.openapi(routes.previous, (ctx) => {
controller.previous();
app.openapi(routes.next, (ctx) => {
controller.next();
ctx.status(204);
return ctx.body(null);

View File

@ -107,7 +107,8 @@ export const onRendererLoad = ({
ipc.on('downloader-feedback', (feedback: string) => {
if (progress) {
progress.innerHTML = feedback || t('plugins.downloader.templates.button');
const targetHtml = feedback || t('plugins.downloader.templates.button');
progress.innerHTML = window.trustedTypes?.defaultPolicy ? window.trustedTypes.defaultPolicy.createHTML(targetHtml) : targetHtml;
} else {
console.warn(
LoggerPrefix,

View File

@ -10,7 +10,7 @@ export const onRendererLoad = ({
ipc: { invoke, on },
}: RendererContext<LyricsGeniusPluginConfig>) => {
const setLyrics = (lyricsContainer: Element, lyrics: string | null) => {
lyricsContainer.innerHTML = `
const targetHtml = `
<div id="contents" class="style-scope ytmusic-section-list-renderer description ytmusic-description-shelf-renderer genius-lyrics">
${
lyrics?.replaceAll(/\r\n|\r|\n/g, '<br/>') ??
@ -20,6 +20,7 @@ export const onRendererLoad = ({
<yt-formatted-string class="footer style-scope ytmusic-description-shelf-renderer" style="align-self: baseline">
</yt-formatted-string>
`;
lyricsContainer.innerHTML = window.trustedTypes?.defaultPolicy ? window.trustedTypes.defaultPolicy.createHTML(targetHtml) : targetHtml;
if (lyrics) {
const footer = lyricsContainer.querySelector('.footer');

View File

@ -22,7 +22,8 @@ const updatePlayBackSpeed = () => {
const playbackSpeedElement = document.querySelector('#playback-speed-value');
if (playbackSpeedElement) {
playbackSpeedElement.innerHTML = String(playbackSpeed);
const targetHtml = String(playbackSpeed);
playbackSpeedElement.innerHTML = window.trustedTypes?.defaultPolicy ? trustedTypes.defaultPolicy.createHTML(targetHtml) : targetHtml;
}
};

View File

@ -6,7 +6,7 @@
export const ElementFromHtml = (html: string): HTMLElement => {
const template = document.createElement('template');
html = html.trim(); // Never return a text node of whitespace as the result
template.innerHTML = html;
template.innerHTML = window.trustedTypes?.defaultPolicy ? window.trustedTypes.defaultPolicy.createHTML(html) : html;
return template.content.firstElementChild as HTMLElement;
};

View File

@ -269,7 +269,8 @@ const defineYTMDTransElements = () => {
const that = this as HTMLElement;
const key = that.getAttribute('key');
if (key) {
that.innerHTML = i18t(key);
const targetHtml = i18t(key);
that.innerHTML = window.trustedTypes?.defaultPolicy ? window.trustedTypes.defaultPolicy.createHTML(targetHtml) : targetHtml;
}
};
customElements.define(