mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-09 17:51:46 +00:00
Compare commits
20 Commits
1ccabb8e25
...
78cd3a786c
| Author | SHA1 | Date | |
|---|---|---|---|
| 78cd3a786c | |||
| adb88991d9 | |||
| 4dad68d255 | |||
| 33a09cc8e1 | |||
| e2c849f6c4 | |||
| 7b41775b26 | |||
| 6284b87fc7 | |||
| f3f63d4fcd | |||
| cf80dd396c | |||
| c79fc799b2 | |||
| 7789d5d444 | |||
| e0dbd4b88f | |||
| 1c74bbd954 | |||
| d949e3550f | |||
| d76115ab5d | |||
| 5be467a869 | |||
| b2dfbe1ed3 | |||
| a9e9e0bdc2 | |||
| 93ce9cc359 | |||
| 2a626a5ff1 |
173
changelog.md
173
changelog.md
@ -2,8 +2,181 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
||||
|
||||
#### [v3.10.0](https://github.com/th-ch/youtube-music/compare/v3.9.0...v3.10.0)
|
||||
|
||||
- fix(deps): update dependency butterchurn to v3.0.0-beta.5 [`#3610`](https://github.com/th-ch/youtube-music/pull/3610)
|
||||
- chore(deps): update eslint monorepo to v9.31.0 [`#3600`](https://github.com/th-ch/youtube-music/pull/3600)
|
||||
- chore(deps): update dependency rollup to v4.45.0 [`#3568`](https://github.com/th-ch/youtube-music/pull/3568)
|
||||
- feat: code splitting [`#3593`](https://github.com/th-ch/youtube-music/pull/3593)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.11.1 [`#3571`](https://github.com/th-ch/youtube-music/pull/3571)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.11.1 [`#3570`](https://github.com/th-ch/youtube-music/pull/3570)
|
||||
- chore(deps): update playwright monorepo to v1.54.1 [`#3599`](https://github.com/th-ch/youtube-music/pull/3599)
|
||||
- chore(deps): update playwright monorepo to v1.54.0 [`#3591`](https://github.com/th-ch/youtube-music/pull/3591)
|
||||
- chore(deps): update dependency electron to v37.2.1 [`#3559`](https://github.com/th-ch/youtube-music/pull/3559)
|
||||
- fix(deps): update dependency socks to v2.8.6 [`#3598`](https://github.com/th-ch/youtube-music/pull/3598)
|
||||
- fix(deps): update dependency zod to v4.0.5 [`#3594`](https://github.com/th-ch/youtube-music/pull/3594)
|
||||
- chore(deps): update dependency vite to v7.0.8 [`#3597`](https://github.com/th-ch/youtube-music/pull/3597)
|
||||
- chore(deps): update dependency vite to v7.0.7 [`#3590`](https://github.com/th-ch/youtube-music/pull/3590)
|
||||
- chore(deps): update dependency @electron/universal to v3 [`#3565`](https://github.com/th-ch/youtube-music/pull/3565)
|
||||
- fix(deps): update dependency electron-unhandled to v5 [`#2088`](https://github.com/th-ch/youtube-music/pull/2088)
|
||||
- feat: enable the ESM for main [`#3588`](https://github.com/th-ch/youtube-music/pull/3588)
|
||||
- fix(deps): update dependency zod to v4 [`#3587`](https://github.com/th-ch/youtube-music/pull/3587)
|
||||
- feat: migrate from raw HTML to JSX (TSX / SolidJS) [`#3583`](https://github.com/th-ch/youtube-music/pull/3583)
|
||||
- docs: add Unobtrusive Player in available plugins [`#3582`](https://github.com/th-ch/youtube-music/pull/3582)
|
||||
- fix(deps): update dependency @hono/node-server to v1.15.0 [`#3557`](https://github.com/th-ch/youtube-music/pull/3557)
|
||||
- chore(deps): update dependency vitefu to v1.1.1 [`#3564`](https://github.com/th-ch/youtube-music/pull/3564)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.15 [`#3562`](https://github.com/th-ch/youtube-music/pull/3562)
|
||||
- fix(deps): update dependency es-hangul to v2.3.5 [`#3563`](https://github.com/th-ch/youtube-music/pull/3563)
|
||||
- fix(deps): update dependency zod to v3.25.71 [`#3558`](https://github.com/th-ch/youtube-music/pull/3558)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.9.2 [`#3560`](https://github.com/th-ch/youtube-music/pull/3560)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.9.2 [`#3561`](https://github.com/th-ch/youtube-music/pull/3561)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.9.0 [`#3555`](https://github.com/th-ch/youtube-music/pull/3555)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.9.0 [`#3556`](https://github.com/th-ch/youtube-music/pull/3556)
|
||||
- chore(deps): update eslint monorepo to v9.30.1 [`#3552`](https://github.com/th-ch/youtube-music/pull/3552)
|
||||
- Fixed play/pause discord rich presence by fixing lastsonginfo tracking [`#3551`](https://github.com/th-ch/youtube-music/pull/3551)
|
||||
- feat: enable rolldown native plugin [`#3502`](https://github.com/th-ch/youtube-music/pull/3502)
|
||||
- fix(deps): update dependency virtua to v0.41.5 [`#3549`](https://github.com/th-ch/youtube-music/pull/3549)
|
||||
- chore(deps): update dependency typescript-eslint to v8.35.1 [`#3545`](https://github.com/th-ch/youtube-music/pull/3545)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.14 [`#3546`](https://github.com/th-ch/youtube-music/pull/3546)
|
||||
- chore(deps): update playwright monorepo to v1.53.2 [`#3547`](https://github.com/th-ch/youtube-music/pull/3547)
|
||||
- fix(deps): update dependency i18next to v25.3.0 [`#3548`](https://github.com/th-ch/youtube-music/pull/3548)
|
||||
- perf(synced-lyrics): virtual scrolling [`#3162`](https://github.com/th-ch/youtube-music/pull/3162)
|
||||
- chore(deps): update dependency vite to v7 [`#3524`](https://github.com/th-ch/youtube-music/pull/3524)
|
||||
- feat(synced-lyrics): Musixmatch [`#3261`](https://github.com/th-ch/youtube-music/pull/3261)
|
||||
- feat(api-server): add optional params for search [`#3440`](https://github.com/th-ch/youtube-music/pull/3440)
|
||||
- chore(deps): update dependency vite-plugin-inspect to v11.3.0 [`#3543`](https://github.com/th-ch/youtube-music/pull/3543)
|
||||
- chore(deps): update eslint monorepo to v9.30.0 [`#3544`](https://github.com/th-ch/youtube-music/pull/3544)
|
||||
- chore(deps): update dependency rollup to v4.44.1 [`#3537`](https://github.com/th-ch/youtube-music/pull/3537)
|
||||
- chore(deps): update dependency ws to v8.18.3 [`#3538`](https://github.com/th-ch/youtube-music/pull/3538)
|
||||
- fix(deps): update dependency @hono/zod-openapi to v0.19.9 [`#3540`](https://github.com/th-ch/youtube-music/pull/3540)
|
||||
- fix(deps): update dependency @floating-ui/dom to v1.7.2 [`#3539`](https://github.com/th-ch/youtube-music/pull/3539)
|
||||
- fix(deps): update dependency es-hangul to v2.3.4 [`#3541`](https://github.com/th-ch/youtube-music/pull/3541)
|
||||
- fix(deps): update dependency hono to v4.8.3 [`#3542`](https://github.com/th-ch/youtube-music/pull/3542)
|
||||
- fix(style): fix duplicated scrollbar [`#3483`](https://github.com/th-ch/youtube-music/pull/3483)
|
||||
- chore(deps): update dependency typescript-eslint to v8.35.0 [`#3518`](https://github.com/th-ch/youtube-music/pull/3518)
|
||||
- chore(deps): update dependency vite-plugin-solid to v2.11.7 [`#3520`](https://github.com/th-ch/youtube-music/pull/3520)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.13 [`#3517`](https://github.com/th-ch/youtube-music/pull/3517)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.4.4 [`#3534`](https://github.com/th-ch/youtube-music/pull/3534)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.8.0 [`#3521`](https://github.com/th-ch/youtube-music/pull/3521)
|
||||
- chore(deps): update dependency eslint-plugin-prettier to v5.5.1 [`#3535`](https://github.com/th-ch/youtube-music/pull/3535)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.8.0 [`#3522`](https://github.com/th-ch/youtube-music/pull/3522)
|
||||
- chore(deps): update dependency electron to v37 [`#3527`](https://github.com/th-ch/youtube-music/pull/3527)
|
||||
- feat: Add instructional note to Swagger documentation [`#3532`](https://github.com/th-ch/youtube-music/pull/3532)
|
||||
- chore(deps): update playwright monorepo to v1.53.1 [`#3504`](https://github.com/th-ch/youtube-music/pull/3504)
|
||||
- chore(deps): update dependency rollup to v4.44.0 [`#3508`](https://github.com/th-ch/youtube-music/pull/3508)
|
||||
- chore(deps): update dependency eslint-plugin-import to v2.32.0 [`#3513`](https://github.com/th-ch/youtube-music/pull/3513)
|
||||
- fix(deps): update dependency hono to v4.8.2 [`#3509`](https://github.com/th-ch/youtube-music/pull/3509)
|
||||
- chore(deps): update dependency electron to v36.5.0 [`#3503`](https://github.com/th-ch/youtube-music/pull/3503)
|
||||
- chore(deps): update stefanzweifel/git-auto-commit-action action to v6 [`#3500`](https://github.com/th-ch/youtube-music/pull/3500)
|
||||
- chore(deps): update dependency vite to v6.3.21 [`#3492`](https://github.com/th-ch/youtube-music/pull/3492)
|
||||
- fix(deps): update dependency hono to v4.8.0 [`#3499`](https://github.com/th-ch/youtube-music/pull/3499)
|
||||
- chore(deps): update playwright monorepo to v1.53.0 [`#3497`](https://github.com/th-ch/youtube-music/pull/3497)
|
||||
- chore(deps): update eslint monorepo to v9.29.0 [`#3496`](https://github.com/th-ch/youtube-music/pull/3496)
|
||||
- chore(deps): update dependency vite-plugin-inspect to v11.2.0 [`#3495`](https://github.com/th-ch/youtube-music/pull/3495)
|
||||
- fix(deps): update dependency happy-dom to v18 [`#3501`](https://github.com/th-ch/youtube-music/pull/3501)
|
||||
- fix(deps): update dependency electron-store to v10.1.0 [`#3498`](https://github.com/th-ch/youtube-music/pull/3498)
|
||||
- chore(deps): update dependency eslint-plugin-prettier to v5.5.0 [`#3493`](https://github.com/th-ch/youtube-music/pull/3493)
|
||||
- chore(deps): update dependency rollup to v4.43.0 [`#3494`](https://github.com/th-ch/youtube-music/pull/3494)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.7.0 [`#3466`](https://github.com/th-ch/youtube-music/pull/3466)
|
||||
- fix(deps): update dependency @hono/swagger-ui to v0.5.2 [`#3465`](https://github.com/th-ch/youtube-music/pull/3465)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.7.0 [`#3467`](https://github.com/th-ch/youtube-music/pull/3467)
|
||||
- fix(deps): update dependency youtubei.js to v14 [`#3468`](https://github.com/th-ch/youtube-music/pull/3468)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.12 [`#3490`](https://github.com/th-ch/youtube-music/pull/3490)
|
||||
- chore(deps): update dependency glob to v11.0.3 [`#3491`](https://github.com/th-ch/youtube-music/pull/3491)
|
||||
- chore(deps): update dependency typescript-eslint to v8.34.1 [`#3469`](https://github.com/th-ch/youtube-music/pull/3469)
|
||||
- fix(deps): update dependency socks to v2.8.5 [`#3470`](https://github.com/th-ch/youtube-music/pull/3470)
|
||||
- fix(deps): update dependency zod to v3.25.67 [`#3471`](https://github.com/th-ch/youtube-music/pull/3471)
|
||||
- chore(deps): update dependency @babel/runtime to v7.27.6 [`#3451`](https://github.com/th-ch/youtube-music/pull/3451)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.4.3 [`#3453`](https://github.com/th-ch/youtube-music/pull/3453)
|
||||
- fix(deps): update dependency zod to v3.25.56 [`#3454`](https://github.com/th-ch/youtube-music/pull/3454)
|
||||
- fix(deps): update dependency @hono/node-server to v1.14.4 [`#3456`](https://github.com/th-ch/youtube-music/pull/3456)
|
||||
- chore(deps): update dependency rollup to v4.42.0 [`#3457`](https://github.com/th-ch/youtube-music/pull/3457)
|
||||
- fix(deps): update dependency conf to v14 [`#3458`](https://github.com/th-ch/youtube-music/pull/3458)
|
||||
- fix(deps): update dependency peerjs to v1.5.5 [`#3460`](https://github.com/th-ch/youtube-music/pull/3460)
|
||||
- chore(deps): update dependency @stylistic/eslint-plugin-js to v4.4.1 [`#3444`](https://github.com/th-ch/youtube-music/pull/3444)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.11 [`#3445`](https://github.com/th-ch/youtube-music/pull/3445)
|
||||
- chore(deps): update dependency electron to v36.4.0 [`#3447`](https://github.com/th-ch/youtube-music/pull/3447)
|
||||
- fix(deps): update dependency zod to v3.25.51 [`#3446`](https://github.com/th-ch/youtube-music/pull/3446)
|
||||
- fix(deps): update dependency hono to v4.7.11 [`#3435`](https://github.com/th-ch/youtube-music/pull/3435)
|
||||
- fix(deps): update dependency @floating-ui/dom to v1.7.1 [`#3434`](https://github.com/th-ch/youtube-music/pull/3434)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.4.2 [`#3432`](https://github.com/th-ch/youtube-music/pull/3432)
|
||||
- chore(deps): update dependency eslint-plugin-prettier to v5.4.1 [`#3433`](https://github.com/th-ch/youtube-music/pull/3433)
|
||||
- fix(deps): update dependency zod to v3.25.50 [`#3443`](https://github.com/th-ch/youtube-music/pull/3443)
|
||||
- fix(deps): update dependency happy-dom to v17.6.3 [`#3438`](https://github.com/th-ch/youtube-music/pull/3438)
|
||||
- fix(deps): update dependency zod to v3.25.49 [`#3436`](https://github.com/th-ch/youtube-music/pull/3436)
|
||||
- chore(deps): update eslint monorepo to v9.28.0 [`#3437`](https://github.com/th-ch/youtube-music/pull/3437)
|
||||
- fix(deps): update dependency @hono/zod-openapi to v0.19.8 [`#3411`](https://github.com/th-ch/youtube-music/pull/3411)
|
||||
- fix: use gtk 3 switch as workaround [`#3366`](https://github.com/th-ch/youtube-music/pull/3366)
|
||||
- chore(deps): update dependency electron to v36.3.2 [`#3431`](https://github.com/th-ch/youtube-music/pull/3431)
|
||||
- fix(deps): update dependency @xhayper/discord-rpc to v1.2.2 [`#3413`](https://github.com/th-ch/youtube-music/pull/3413)
|
||||
- fix(deps): update dependency happy-dom to v17.5.6 [`#3417`](https://github.com/th-ch/youtube-music/pull/3417)
|
||||
- fix(deps): update dependency @hono/zod-validator to v0.7.0 [`#3414`](https://github.com/th-ch/youtube-music/pull/3414)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.10 [`#3430`](https://github.com/th-ch/youtube-music/pull/3430)
|
||||
- chore(deps): update dependency typescript-eslint to v8.33.1 [`#3416`](https://github.com/th-ch/youtube-music/pull/3416)
|
||||
- chore(docs): Improve README-es.md by adjusting the bad Spanish translation [`#3424`](https://github.com/th-ch/youtube-music/pull/3424)
|
||||
- chore(docs): Improve README.md by removing the extra flag for Spanish translation [`#3422`](https://github.com/th-ch/youtube-music/pull/3422)
|
||||
- chore(deps): update dependency @babel/runtime to v7.27.4 [`#3410`](https://github.com/th-ch/youtube-music/pull/3410)
|
||||
- fix(deps): update dependency ts-morph to v26 [`#3409`](https://github.com/th-ch/youtube-music/pull/3409)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.6.1 [`#3407`](https://github.com/th-ch/youtube-music/pull/3407)
|
||||
- fix(deps): update dependency zod to v3.25.30 [`#3408`](https://github.com/th-ch/youtube-music/pull/3408)
|
||||
- fix(precise-volume): replace constructor check for volume slider [`#3362`](https://github.com/th-ch/youtube-music/pull/3362)
|
||||
- chore(deps): update dependency vite-plugin-inspect to v11.1.0 [`#3393`](https://github.com/th-ch/youtube-music/pull/3393)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.4.1 [`#3406`](https://github.com/th-ch/youtube-music/pull/3406)
|
||||
- chore(deps): update dependency @stylistic/eslint-plugin-js to v4.4.0 [`#3391`](https://github.com/th-ch/youtube-music/pull/3391)
|
||||
- fix(deps): update dependency i18next to v25.2.1 [`#3405`](https://github.com/th-ch/youtube-music/pull/3405)
|
||||
- chore(deps): update dependency esbuild to v0.25.5 [`#3403`](https://github.com/th-ch/youtube-music/pull/3403)
|
||||
- fix(deps): update dependency @hono/node-server to v1.14.3 [`#3404`](https://github.com/th-ch/youtube-music/pull/3404)
|
||||
- chore(deps): update dependency rollup to v4.41.1 [`#3392`](https://github.com/th-ch/youtube-music/pull/3392)
|
||||
- chore(deps): update eslint monorepo to v9.27.0 [`#3394`](https://github.com/th-ch/youtube-music/pull/3394)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.6.1 [`#3395`](https://github.com/th-ch/youtube-music/pull/3395)
|
||||
- fix(deps): update dependency hono to v4.7.10 [`#3390`](https://github.com/th-ch/youtube-music/pull/3390)
|
||||
- chore(deps): update dependency eslint-import-resolver-typescript to v4.3.5 [`#3388`](https://github.com/th-ch/youtube-music/pull/3388)
|
||||
- fix(deps): update dependency @hono/node-server to v1.14.2 [`#3389`](https://github.com/th-ch/youtube-music/pull/3389)
|
||||
- chore(deps): update dependency electron to v36.3.1 [`#3372`](https://github.com/th-ch/youtube-music/pull/3372)
|
||||
- chore(deps): update dependency typescript-eslint to v8.32.1 [`#3364`](https://github.com/th-ch/youtube-music/pull/3364)
|
||||
- fix(deps): update dependency semver to v7.7.2 [`#3365`](https://github.com/th-ch/youtube-music/pull/3365)
|
||||
- fix(album-actions): update playlist and button selectors [`#3367`](https://github.com/th-ch/youtube-music/pull/3367)
|
||||
- fix(deps): update dependency i18next to v25.2.0 [`#3370`](https://github.com/th-ch/youtube-music/pull/3370)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.8 [`#3361`](https://github.com/th-ch/youtube-music/pull/3361)
|
||||
- fix(deps): update dependency solid-js to v1.9.7 [`#3375`](https://github.com/th-ch/youtube-music/pull/3375)
|
||||
- chore(deps): update dependency electron to v36 [`#3307`](https://github.com/th-ch/youtube-music/pull/3307)
|
||||
- fix(deps): update dependency @floating-ui/dom to v1.7.0 [`#3357`](https://github.com/th-ch/youtube-music/pull/3357)
|
||||
- chore(deps): update eslint monorepo to v9.26.0 [`#3356`](https://github.com/th-ch/youtube-music/pull/3356)
|
||||
- chore(deps): update dependency eslint-plugin-prettier to v5.4.0 [`#3355`](https://github.com/th-ch/youtube-music/pull/3355)
|
||||
- fix(deps): update dependency zod to v3.24.4 [`#3354`](https://github.com/th-ch/youtube-music/pull/3354)
|
||||
- fix(deps): update dependency solid-js to v1.9.6 [`#3353`](https://github.com/th-ch/youtube-music/pull/3353)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron-preload to v2.5.2 [`#3350`](https://github.com/th-ch/youtube-music/pull/3350)
|
||||
- fix(deps): update dependency happy-dom to v17.4.7 [`#3352`](https://github.com/th-ch/youtube-music/pull/3352)
|
||||
- fix(deps): update dependency @ghostery/adblocker-electron to v2.5.2 [`#3349`](https://github.com/th-ch/youtube-music/pull/3349)
|
||||
- chore(deps): update dependency vite to v6.3.5 [`#3346`](https://github.com/th-ch/youtube-music/pull/3346)
|
||||
- chore(deps): update dependency ws to v8.18.2 [`#3347`](https://github.com/th-ch/youtube-music/pull/3347)
|
||||
- feat(plugin): support authenticated proxy [`#3175`](https://github.com/th-ch/youtube-music/pull/3175)
|
||||
- chore(deps): update dependency esbuild to v0.25.4 [`#3344`](https://github.com/th-ch/youtube-music/pull/3344)
|
||||
- chore(deps): update dependency eslint-config-prettier to v10.1.5 [`#3345`](https://github.com/th-ch/youtube-music/pull/3345)
|
||||
- fix(deps): update dependency hono to v4.7.9 [`#3302`](https://github.com/th-ch/youtube-music/pull/3302)
|
||||
- chore(deps): update dependency electron to v34.5.5 [`#3343`](https://github.com/th-ch/youtube-music/pull/3343)
|
||||
- docs: Add Ukrainian translation [`#3338`](https://github.com/th-ch/youtube-music/pull/3338)
|
||||
- chore(deps): update dependency discord-api-types to v0.38.4 [`#3342`](https://github.com/th-ch/youtube-music/pull/3342)
|
||||
- chore(deps): update dependency rollup to v4.40.2 [`#3301`](https://github.com/th-ch/youtube-music/pull/3301)
|
||||
- chore(deps): update dependency @electron/universal to v2.0.3 [`#3341`](https://github.com/th-ch/youtube-music/pull/3341)
|
||||
- fix(deps): update dependency @hono/zod-validator to v0.5.0 [`#3295`](https://github.com/th-ch/youtube-music/pull/3295)
|
||||
- chore(deps): update dependency @babel/runtime to v7.27.1 [`#3340`](https://github.com/th-ch/youtube-music/pull/3340)
|
||||
- fix(deps): update dependency i18next to v25.1.2 [`#3305`](https://github.com/th-ch/youtube-music/pull/3305)
|
||||
- fix(album-actions): use playlist shelf for playlist detection [`#3306`](https://github.com/th-ch/youtube-music/pull/3306)
|
||||
- chore(deps): update dependency typescript-eslint to v8.32.0 [`#3304`](https://github.com/th-ch/youtube-music/pull/3304)
|
||||
- chore(deps): update dependency vite to v6.3.4 [security] [`#3313`](https://github.com/th-ch/youtube-music/pull/3313)
|
||||
- fix(deps): update dependency @hono/zod-openapi to v0.19.6 [`#3294`](https://github.com/th-ch/youtube-music/pull/3294)
|
||||
- fix(deps): update dependency es-hangul to v2.3.3 [`#3293`](https://github.com/th-ch/youtube-music/pull/3293)
|
||||
- fix(api-server): fix #3572 [`#3572`](https://github.com/th-ch/youtube-music/issues/3572)
|
||||
- fix(youtube-music): fix #3296, and macOS traffic lights [`#3296`](https://github.com/th-ch/youtube-music/issues/3296)
|
||||
- fix: kuromoji zlib and apply rolldown-vite [`f047dd2`](https://github.com/th-ch/youtube-music/commit/f047dd2d2df189b55b60188392c451aad65b7a1b)
|
||||
- fix: apply fix from eslint [`1da83ff`](https://github.com/th-ch/youtube-music/commit/1da83ff27c2ccfcdf48c0b0b125033b1a1c194d2)
|
||||
- feat: refactor [`51b3f53`](https://github.com/th-ch/youtube-music/commit/51b3f535695c0f19cd252049985578d11a853ccb)
|
||||
|
||||
#### [v3.9.0](https://github.com/th-ch/youtube-music/compare/v3.8.1...v3.9.0)
|
||||
|
||||
> 27 April 2025
|
||||
|
||||
- feat(tuna-obs): added alternativeTitle and tags to tuna [`#3288`](https://github.com/th-ch/youtube-music/pull/3288)
|
||||
- fix: rollback electron version to v34 (for fix #3216) [`#3216`](https://github.com/th-ch/youtube-music/issues/3216)
|
||||
- fix(synced-lyrics): fix #3157 [`#3157`](https://github.com/th-ch/youtube-music/issues/3157)
|
||||
|
||||
14
package.json
14
package.json
@ -2,7 +2,7 @@
|
||||
"name": "youtube-music",
|
||||
"desktopName": "com.github.th_ch.youtube_music",
|
||||
"productName": "YouTube Music",
|
||||
"version": "3.9.0",
|
||||
"version": "3.10.0",
|
||||
"description": "YouTube Music Desktop App - including custom plugins",
|
||||
"main": "./dist/main/index.js",
|
||||
"type": "module",
|
||||
@ -72,7 +72,7 @@
|
||||
"@ghostery/adblocker-electron-preload": "2.11.1",
|
||||
"@hono/node-server": "1.15.0",
|
||||
"@hono/swagger-ui": "0.5.2",
|
||||
"@hono/zod-openapi": "0.19.9",
|
||||
"@hono/zod-openapi": "1.0.0-beta.1",
|
||||
"@hono/zod-validator": "0.7.0",
|
||||
"@jellybrick/dbus-next": "0.10.3",
|
||||
"@jellybrick/electron-better-web-request": "1.0.4",
|
||||
@ -82,7 +82,7 @@
|
||||
"@xhayper/discord-rpc": "1.2.2",
|
||||
"async-mutex": "0.5.0",
|
||||
"bgutils-js": "3.2.0",
|
||||
"butterchurn": "3.0.0-beta.4",
|
||||
"butterchurn": "3.0.0-beta.5",
|
||||
"butterchurn-presets": "3.0.0-beta.4",
|
||||
"color": "5.0.0",
|
||||
"conf": "14.0.0",
|
||||
@ -136,7 +136,7 @@
|
||||
"zod": "4.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "9.30.1",
|
||||
"@eslint/js": "9.31.0",
|
||||
"@malept/flatpak-bundler": "0.4.0",
|
||||
"@playwright/test": "1.54.1",
|
||||
"@stylistic/eslint-plugin": "5.1.0",
|
||||
@ -151,13 +151,13 @@
|
||||
"cross-env": "7.0.3",
|
||||
"del-cli": "6.0.0",
|
||||
"discord-api-types": "0.38.15",
|
||||
"electron": "37.2.1",
|
||||
"electron": "38.0.0-alpha.5",
|
||||
"electron-builder": "26.0.12",
|
||||
"electron-builder-squirrel-windows": "26.0.12",
|
||||
"electron-devtools-installer": "4.0.0",
|
||||
"electron-vite": "4.0.0",
|
||||
"esbuild": "0.25.6",
|
||||
"eslint": "9.30.1",
|
||||
"eslint": "9.31.0",
|
||||
"eslint-config-prettier": "10.1.5",
|
||||
"eslint-import-resolver-exports": "1.0.0-beta.5",
|
||||
"eslint-import-resolver-typescript": "4.4.4",
|
||||
@ -167,7 +167,7 @@
|
||||
"glob": "11.0.3",
|
||||
"node-gyp": "11.2.0",
|
||||
"playwright": "1.54.1",
|
||||
"rollup": "4.44.2",
|
||||
"rollup": "4.45.0",
|
||||
"typescript": "5.8.3",
|
||||
"typescript-eslint": "8.36.0",
|
||||
"utf-8-validate": "6.0.5",
|
||||
|
||||
395
pnpm-lock.yaml
generated
395
pnpm-lock.yaml
generated
@ -36,7 +36,7 @@ importers:
|
||||
version: 1.0.1(@types/node@22.13.5)
|
||||
'@electron/remote':
|
||||
specifier: 2.1.3
|
||||
version: 2.1.3(electron@37.2.1)
|
||||
version: 2.1.3(electron@38.0.0-alpha.5)
|
||||
'@ffmpeg.wasm/core-mt':
|
||||
specifier: 0.12.0
|
||||
version: 0.12.0
|
||||
@ -51,10 +51,10 @@ importers:
|
||||
version: 2.0.5
|
||||
'@ghostery/adblocker-electron':
|
||||
specifier: 2.11.1
|
||||
version: 2.11.1(electron@37.2.1)
|
||||
version: 2.11.1(electron@38.0.0-alpha.5)
|
||||
'@ghostery/adblocker-electron-preload':
|
||||
specifier: 2.11.1
|
||||
version: 2.11.1(electron@37.2.1)
|
||||
version: 2.11.1(electron@38.0.0-alpha.5)
|
||||
'@hono/node-server':
|
||||
specifier: 1.15.0
|
||||
version: 1.15.0(hono@4.8.4)
|
||||
@ -62,8 +62,8 @@ importers:
|
||||
specifier: 0.5.2
|
||||
version: 0.5.2(hono@4.8.4)
|
||||
'@hono/zod-openapi':
|
||||
specifier: 0.19.9
|
||||
version: 0.19.9(hono@4.8.4)(zod@4.0.5)
|
||||
specifier: 1.0.0-beta.1
|
||||
version: 1.0.0-beta.1(hono@4.8.4)(zod@4.0.5)
|
||||
'@hono/zod-validator':
|
||||
specifier: 0.7.0
|
||||
version: 0.7.0(hono@4.8.4)(zod@4.0.5)
|
||||
@ -92,8 +92,8 @@ importers:
|
||||
specifier: 3.2.0
|
||||
version: 3.2.0
|
||||
butterchurn:
|
||||
specifier: 3.0.0-beta.4
|
||||
version: 3.0.0-beta.4
|
||||
specifier: 3.0.0-beta.5
|
||||
version: 3.0.0-beta.5
|
||||
butterchurn-presets:
|
||||
specifier: 3.0.0-beta.4
|
||||
version: 3.0.0-beta.4
|
||||
@ -105,7 +105,7 @@ importers:
|
||||
version: 14.0.0
|
||||
custom-electron-prompt:
|
||||
specifier: 1.5.8
|
||||
version: 1.5.8(electron@37.2.1)
|
||||
version: 1.5.8(electron@38.0.0-alpha.5)
|
||||
deepmerge-ts:
|
||||
specifier: 7.1.5
|
||||
version: 7.1.5
|
||||
@ -249,8 +249,8 @@ importers:
|
||||
version: 4.0.5
|
||||
devDependencies:
|
||||
'@eslint/js':
|
||||
specifier: 9.30.1
|
||||
version: 9.30.1
|
||||
specifier: 9.31.0
|
||||
version: 9.31.0
|
||||
'@malept/flatpak-bundler':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0(patch_hash=c787371eeb2af011ea934e8818a0dad6d7dcb2df31bbb1686babc7231af0183c)
|
||||
@ -259,7 +259,7 @@ importers:
|
||||
version: 1.54.1
|
||||
'@stylistic/eslint-plugin':
|
||||
specifier: 5.1.0
|
||||
version: 5.1.0(eslint@9.30.1)
|
||||
version: 5.1.0(eslint@9.31.0)
|
||||
'@total-typescript/ts-reset':
|
||||
specifier: 0.6.1
|
||||
version: 0.6.1
|
||||
@ -294,8 +294,8 @@ importers:
|
||||
specifier: 0.38.15
|
||||
version: 0.38.15
|
||||
electron:
|
||||
specifier: 37.2.1
|
||||
version: 37.2.1
|
||||
specifier: 38.0.0-alpha.5
|
||||
version: 38.0.0-alpha.5
|
||||
electron-builder:
|
||||
specifier: 26.0.12
|
||||
version: 26.0.12(electron-builder-squirrel-windows@26.0.12)
|
||||
@ -312,26 +312,26 @@ importers:
|
||||
specifier: 0.25.6
|
||||
version: 0.25.6
|
||||
eslint:
|
||||
specifier: 9.30.1
|
||||
version: 9.30.1
|
||||
specifier: 9.31.0
|
||||
version: 9.31.0
|
||||
eslint-config-prettier:
|
||||
specifier: 10.1.5
|
||||
version: 10.1.5(eslint@9.30.1)
|
||||
version: 10.1.5(eslint@9.31.0)
|
||||
eslint-import-resolver-exports:
|
||||
specifier: 1.0.0-beta.5
|
||||
version: 1.0.0-beta.5(eslint-plugin-import@2.32.0)(eslint@9.30.1)
|
||||
version: 1.0.0-beta.5(eslint-plugin-import@2.32.0)(eslint@9.31.0)
|
||||
eslint-import-resolver-typescript:
|
||||
specifier: 4.4.4
|
||||
version: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.30.1)
|
||||
version: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.31.0)
|
||||
eslint-plugin-import:
|
||||
specifier: 2.32.0
|
||||
version: 2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.30.1)
|
||||
version: 2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0)
|
||||
eslint-plugin-prettier:
|
||||
specifier: 5.5.1
|
||||
version: 5.5.1(@types/eslint@9.6.1)(eslint-config-prettier@10.1.5(eslint@9.30.1))(eslint@9.30.1)(prettier@3.5.2)
|
||||
version: 5.5.1(@types/eslint@9.6.1)(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint@9.31.0)(prettier@3.5.2)
|
||||
eslint-plugin-solid:
|
||||
specifier: 0.14.5
|
||||
version: 0.14.5(eslint@9.30.1)(typescript@5.8.3)
|
||||
version: 0.14.5(eslint@9.31.0)(typescript@5.8.3)
|
||||
glob:
|
||||
specifier: 11.0.3
|
||||
version: 11.0.3
|
||||
@ -342,14 +342,14 @@ importers:
|
||||
specifier: 1.54.1
|
||||
version: 1.54.1
|
||||
rollup:
|
||||
specifier: 4.44.2
|
||||
version: 4.44.2
|
||||
specifier: 4.45.0
|
||||
version: 4.45.0
|
||||
typescript:
|
||||
specifier: 5.8.3
|
||||
version: 5.8.3
|
||||
typescript-eslint:
|
||||
specifier: 8.36.0
|
||||
version: 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
version: 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
utf-8-validate:
|
||||
specifier: 6.0.5
|
||||
version: 6.0.5
|
||||
@ -381,10 +381,10 @@ packages:
|
||||
'@assemblyscript/loader@0.17.14':
|
||||
resolution: {integrity: sha512-+PVTOfla/0XMLRTQLJFPg4u40XcdTfon6GGea70hBGi8Pd7ZymIXyVUR+vK8wt5Jb4MVKTKPIz43Myyebw5mZA==}
|
||||
|
||||
'@asteasolutions/zod-to-openapi@7.3.0':
|
||||
resolution: {integrity: sha512-7tE/r1gXwMIvGnXVUdIqUhCU1RevEFC4Jk6Bussa0fk1ecbnnINkZzj1EOAJyE/M3AI25DnHT/zKQL1/FPFi8Q==}
|
||||
'@asteasolutions/zod-to-openapi@8.0.0-beta.4':
|
||||
resolution: {integrity: sha512-om7KH4B6/Rd/jjrxUjV3yC7vUwKKQcM1m7R8jd12uZyBqYd4ihqa1mMHp9MG3Hau8M/ha6teNJLouDUvwZXpNg==}
|
||||
peerDependencies:
|
||||
zod: ^3.20.2
|
||||
zod: ~3.25.1
|
||||
|
||||
'@babel/code-frame@7.27.1':
|
||||
resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
|
||||
@ -741,12 +741,16 @@ packages:
|
||||
resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/core@0.15.1':
|
||||
resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/eslintrc@3.3.1':
|
||||
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/js@9.30.1':
|
||||
resolution: {integrity: sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==}
|
||||
'@eslint/js@9.31.0':
|
||||
resolution: {integrity: sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/object-schema@2.1.6':
|
||||
@ -816,12 +820,12 @@ packages:
|
||||
peerDependencies:
|
||||
hono: '*'
|
||||
|
||||
'@hono/zod-openapi@0.19.9':
|
||||
resolution: {integrity: sha512-TonPfh8xUdsdzWNMiKOYSG4Wk2DkZIShHZoXkdOSjPmqpnobXpvSQU3w3XmB7N2t12I2NnnoGSHyMj+BXk+1bw==}
|
||||
'@hono/zod-openapi@1.0.0-beta.1':
|
||||
resolution: {integrity: sha512-4GYMrB1+Ni0kCCBLUOPlVEGA5XcYzBShKheoXoxJjpitcxgZPwwoinunhgNqGCOF/VY0oLw5GXOiKtK0tkpOhA==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
peerDependencies:
|
||||
hono: '>=4.3.6'
|
||||
zod: 3.*
|
||||
zod: ^3.25.0
|
||||
|
||||
'@hono/zod-validator@0.7.0':
|
||||
resolution: {integrity: sha512-qe2ZE6sHFE98dcUrbYMtS3bAV8hqcCOflykvZga2S7XhmNSZzT+dIz4OuMILsjLHkJw9JMn912/dB7dQOmuPvg==}
|
||||
@ -1156,103 +1160,103 @@ packages:
|
||||
'@rolldown/pluginutils@1.0.0-beta.26':
|
||||
resolution: {integrity: sha512-r/5po89voz/QRPDmoErL10+hVuTAuz1SHvokx+yWBlOIPB5C41jC7QhLqq9kaebx/+EHyoV3z22/qBfX81Ns8A==}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.44.2':
|
||||
resolution: {integrity: sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q==}
|
||||
'@rollup/rollup-android-arm-eabi@4.45.0':
|
||||
resolution: {integrity: sha512-2o/FgACbji4tW1dzXOqAV15Eu7DdgbKsF2QKcxfG4xbh5iwU7yr5RRP5/U+0asQliSYv5M4o7BevlGIoSL0LXg==}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-android-arm64@4.44.2':
|
||||
resolution: {integrity: sha512-Yt5MKrOosSbSaAK5Y4J+vSiID57sOvpBNBR6K7xAaQvk3MkcNVV0f9fE20T+41WYN8hDn6SGFlFrKudtx4EoxA==}
|
||||
'@rollup/rollup-android-arm64@4.45.0':
|
||||
resolution: {integrity: sha512-PSZ0SvMOjEAxwZeTx32eI/j5xSYtDCRxGu5k9zvzoY77xUNssZM+WV6HYBLROpY5CkXsbQjvz40fBb7WPwDqtQ==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.44.2':
|
||||
resolution: {integrity: sha512-EsnFot9ZieM35YNA26nhbLTJBHD0jTwWpPwmRVDzjylQT6gkar+zenfb8mHxWpRrbn+WytRRjE0WKsfaxBkVUA==}
|
||||
'@rollup/rollup-darwin-arm64@4.45.0':
|
||||
resolution: {integrity: sha512-BA4yPIPssPB2aRAWzmqzQ3y2/KotkLyZukVB7j3psK/U3nVJdceo6qr9pLM2xN6iRP/wKfxEbOb1yrlZH6sYZg==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.44.2':
|
||||
resolution: {integrity: sha512-dv/t1t1RkCvJdWWxQ2lWOO+b7cMsVw5YFaS04oHpZRWehI1h0fV1gF4wgGCTyQHHjJDfbNpwOi6PXEafRBBezw==}
|
||||
'@rollup/rollup-darwin-x64@4.45.0':
|
||||
resolution: {integrity: sha512-Pr2o0lvTwsiG4HCr43Zy9xXrHspyMvsvEw4FwKYqhli4FuLE5FjcZzuQ4cfPe0iUFCvSQG6lACI0xj74FDZKRA==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.44.2':
|
||||
resolution: {integrity: sha512-W4tt4BLorKND4qeHElxDoim0+BsprFTwb+vriVQnFFtT/P6v/xO5I99xvYnVzKWrK6j7Hb0yp3x7V5LUbaeOMg==}
|
||||
'@rollup/rollup-freebsd-arm64@4.45.0':
|
||||
resolution: {integrity: sha512-lYE8LkE5h4a/+6VnnLiL14zWMPnx6wNbDG23GcYFpRW1V9hYWHAw9lBZ6ZUIrOaoK7NliF1sdwYGiVmziUF4vA==}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.44.2':
|
||||
resolution: {integrity: sha512-tdT1PHopokkuBVyHjvYehnIe20fxibxFCEhQP/96MDSOcyjM/shlTkZZLOufV3qO6/FQOSiJTBebhVc12JyPTA==}
|
||||
'@rollup/rollup-freebsd-x64@4.45.0':
|
||||
resolution: {integrity: sha512-PVQWZK9sbzpvqC9Q0GlehNNSVHR+4m7+wET+7FgSnKG3ci5nAMgGmr9mGBXzAuE5SvguCKJ6mHL6vq1JaJ/gvw==}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.44.2':
|
||||
resolution: {integrity: sha512-+xmiDGGaSfIIOXMzkhJ++Oa0Gwvl9oXUeIiwarsdRXSe27HUIvjbSIpPxvnNsRebsNdUo7uAiQVgBD1hVriwSQ==}
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.45.0':
|
||||
resolution: {integrity: sha512-hLrmRl53prCcD+YXTfNvXd776HTxNh8wPAMllusQ+amcQmtgo3V5i/nkhPN6FakW+QVLoUUr2AsbtIRPFU3xIA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.44.2':
|
||||
resolution: {integrity: sha512-bDHvhzOfORk3wt8yxIra8N4k/N0MnKInCW5OGZaeDYa/hMrdPaJzo7CSkjKZqX4JFUWjUGm88lI6QJLCM7lDrA==}
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.45.0':
|
||||
resolution: {integrity: sha512-XBKGSYcrkdiRRjl+8XvrUR3AosXU0NvF7VuqMsm7s5nRy+nt58ZMB19Jdp1RdqewLcaYnpk8zeVs/4MlLZEJxw==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.44.2':
|
||||
resolution: {integrity: sha512-NMsDEsDiYghTbeZWEGnNi4F0hSbGnsuOG+VnNvxkKg0IGDvFh7UVpM/14mnMwxRxUf9AdAVJgHPvKXf6FpMB7A==}
|
||||
'@rollup/rollup-linux-arm64-gnu@4.45.0':
|
||||
resolution: {integrity: sha512-fRvZZPUiBz7NztBE/2QnCS5AtqLVhXmUOPj9IHlfGEXkapgImf4W9+FSkL8cWqoAjozyUzqFmSc4zh2ooaeF6g==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.44.2':
|
||||
resolution: {integrity: sha512-lb5bxXnxXglVq+7imxykIp5xMq+idehfl+wOgiiix0191av84OqbjUED+PRC5OA8eFJYj5xAGcpAZ0pF2MnW+A==}
|
||||
'@rollup/rollup-linux-arm64-musl@4.45.0':
|
||||
resolution: {integrity: sha512-Btv2WRZOcUGi8XU80XwIvzTg4U6+l6D0V6sZTrZx214nrwxw5nAi8hysaXj/mctyClWgesyuxbeLylCBNauimg==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.44.2':
|
||||
resolution: {integrity: sha512-Yl5Rdpf9pIc4GW1PmkUGHdMtbx0fBLE1//SxDmuf3X0dUC57+zMepow2LK0V21661cjXdTn8hO2tXDdAWAqE5g==}
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.45.0':
|
||||
resolution: {integrity: sha512-Li0emNnwtUZdLwHjQPBxn4VWztcrw/h7mgLyHiEI5Z0MhpeFGlzaiBHpSNVOMB/xucjXTTcO+dhv469Djr16KA==}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.44.2':
|
||||
resolution: {integrity: sha512-03vUDH+w55s680YYryyr78jsO1RWU9ocRMaeV2vMniJJW/6HhoTBwyyiiTPVHNWLnhsnwcQ0oH3S9JSBEKuyqw==}
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.45.0':
|
||||
resolution: {integrity: sha512-sB8+pfkYx2kvpDCfd63d5ScYT0Fz1LO6jIb2zLZvmK9ob2D8DeVqrmBDE0iDK8KlBVmsTNzrjr3G1xV4eUZhSw==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.44.2':
|
||||
resolution: {integrity: sha512-iYtAqBg5eEMG4dEfVlkqo05xMOk6y/JXIToRca2bAWuqjrJYJlx/I7+Z+4hSrsWU8GdJDFPL4ktV3dy4yBSrzg==}
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.45.0':
|
||||
resolution: {integrity: sha512-5GQ6PFhh7E6jQm70p1aW05G2cap5zMOvO0se5JMecHeAdj5ZhWEHbJ4hiKpfi1nnnEdTauDXxPgXae/mqjow9w==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.44.2':
|
||||
resolution: {integrity: sha512-e6vEbgaaqz2yEHqtkPXa28fFuBGmUJ0N2dOJK8YUfijejInt9gfCSA7YDdJ4nYlv67JfP3+PSWFX4IVw/xRIPg==}
|
||||
'@rollup/rollup-linux-riscv64-musl@4.45.0':
|
||||
resolution: {integrity: sha512-N/euLsBd1rekWcuduakTo/dJw6U6sBP3eUq+RXM9RNfPuWTvG2w/WObDkIvJ2KChy6oxZmOSC08Ak2OJA0UiAA==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.44.2':
|
||||
resolution: {integrity: sha512-evFOtkmVdY3udE+0QKrV5wBx7bKI0iHz5yEVx5WqDJkxp9YQefy4Mpx3RajIVcM6o7jxTvVd/qpC1IXUhGc1Mw==}
|
||||
'@rollup/rollup-linux-s390x-gnu@4.45.0':
|
||||
resolution: {integrity: sha512-2l9sA7d7QdikL0xQwNMO3xURBUNEWyHVHfAsHsUdq+E/pgLTUcCE+gih5PCdmyHmfTDeXUWVhqL0WZzg0nua3g==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.44.2':
|
||||
resolution: {integrity: sha512-/bXb0bEsWMyEkIsUL2Yt5nFB5naLAwyOWMEviQfQY1x3l5WsLKgvZf66TM7UTfED6erckUVUJQ/jJ1FSpm3pRQ==}
|
||||
'@rollup/rollup-linux-x64-gnu@4.45.0':
|
||||
resolution: {integrity: sha512-XZdD3fEEQcwG2KrJDdEQu7NrHonPxxaV0/w2HpvINBdcqebz1aL+0vM2WFJq4DeiAVT6F5SUQas65HY5JDqoPw==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.44.2':
|
||||
resolution: {integrity: sha512-3D3OB1vSSBXmkGEZR27uiMRNiwN08/RVAcBKwhUYPaiZ8bcvdeEwWPvbnXvvXHY+A/7xluzcN+kaiOFNiOZwWg==}
|
||||
'@rollup/rollup-linux-x64-musl@4.45.0':
|
||||
resolution: {integrity: sha512-7ayfgvtmmWgKWBkCGg5+xTQ0r5V1owVm67zTrsEY1008L5ro7mCyGYORomARt/OquB9KY7LpxVBZes+oSniAAQ==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.44.2':
|
||||
resolution: {integrity: sha512-VfU0fsMK+rwdK8mwODqYeM2hDrF2WiHaSmCBrS7gColkQft95/8tphyzv2EupVxn3iE0FI78wzffoULH1G+dkw==}
|
||||
'@rollup/rollup-win32-arm64-msvc@4.45.0':
|
||||
resolution: {integrity: sha512-B+IJgcBnE2bm93jEW5kHisqvPITs4ddLOROAcOc/diBgrEiQJJ6Qcjby75rFSmH5eMGrqJryUgJDhrfj942apQ==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.44.2':
|
||||
resolution: {integrity: sha512-+qMUrkbUurpE6DVRjiJCNGZBGo9xM4Y0FXU5cjgudWqIBWbcLkjE3XprJUsOFgC6xjBClwVa9k6O3A7K3vxb5Q==}
|
||||
'@rollup/rollup-win32-ia32-msvc@4.45.0':
|
||||
resolution: {integrity: sha512-+CXwwG66g0/FpWOnP/v1HnrGVSOygK/osUbu3wPRy8ECXjoYKjRAyfxYpDQOfghC5qPJYLPH0oN4MCOjwgdMug==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.44.2':
|
||||
resolution: {integrity: sha512-3+QZROYfJ25PDcxFF66UEk8jGWigHJeecZILvkPkyQN7oc5BvFo4YEXFkOs154j3FTMp9mn9Ky8RCOwastduEA==}
|
||||
'@rollup/rollup-win32-x64-msvc@4.45.0':
|
||||
resolution: {integrity: sha512-SRf1cytG7wqcHVLrBc9VtPK4pU5wxiB/lNIkNmW2ApKXIg+RpqwHfsaEK+e7eH4A1BpI6BX/aBWXxZCIrJg3uA==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
@ -1839,8 +1843,8 @@ packages:
|
||||
butterchurn-presets@3.0.0-beta.4:
|
||||
resolution: {integrity: sha512-TbQLUPvGOYMZAtWKoCmBtludh9aQZ6NaMGQU4lvPeadBPy3Du3yNmwBjlTMLP5c5mRWElxQPjTL1PtR7FZK3OQ==}
|
||||
|
||||
butterchurn@3.0.0-beta.4:
|
||||
resolution: {integrity: sha512-hiY1ktHYHQ8MT65nnZi7GjrgZZ6sl/ipT5rBqEfaYJd90L4SvOtB6lVxtKadtzAyJo2TQJc4gJfEca4cpZo0DA==}
|
||||
butterchurn@3.0.0-beta.5:
|
||||
resolution: {integrity: sha512-BStK4OAbBb9Pvt8PuQlS4WVmYBwU1KuDMRHF1V89QjoIFauAqq7tpV4EpYXj7K563r5daLrMX+2y5DBhZZ9Xig==}
|
||||
|
||||
bytes@3.0.0:
|
||||
resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
|
||||
@ -2251,8 +2255,8 @@ packages:
|
||||
ecma-proposal-math-extensions@0.0.2:
|
||||
resolution: {integrity: sha512-80BnDp2Fn7RxXlEr5HHZblniY4aQ97MOAicdWWpSo0vkQiISSE9wLR4SqxKsu4gCtXFBIPPzy8JMhay4NWRg/Q==}
|
||||
|
||||
eel-wasm@0.0.15:
|
||||
resolution: {integrity: sha512-FSTWf6lwGn7Zc3QiV+KxWTznIqq4j9eST/aXmyN/cC39+1Arqs13YOMosHQ7tqUt+OjQmG79Vd41f9gu+w1lvA==}
|
||||
eel-wasm@0.0.16:
|
||||
resolution: {integrity: sha512-1tkId7I7E1Vs4fXTRsH83Sjn2S/AbzrVQKLBRGys6NLc3eVH4NBffJsdEeLHOWWUgQpVXBEP3CV/srUZNIuBnw==}
|
||||
|
||||
ejs@3.1.10:
|
||||
resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
|
||||
@ -2327,6 +2331,11 @@ packages:
|
||||
engines: {node: '>= 12.20.55'}
|
||||
hasBin: true
|
||||
|
||||
electron@38.0.0-alpha.5:
|
||||
resolution: {integrity: sha512-h3IB0Z5hGf5zjBDVM9H/B6mNGS8m5NCPcNDe+nOg8qyI3yfKPcE3VVDb8RpAc9cqFhhCvyN7pCt8o5z9a8gejQ==}
|
||||
engines: {node: '>= 12.20.55'}
|
||||
hasBin: true
|
||||
|
||||
emoji-regex@8.0.0:
|
||||
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||
|
||||
@ -2519,8 +2528,8 @@ packages:
|
||||
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
eslint@9.30.1:
|
||||
resolution: {integrity: sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==}
|
||||
eslint@9.31.0:
|
||||
resolution: {integrity: sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@ -4157,8 +4166,8 @@ packages:
|
||||
resolution: {integrity: sha512-2rad1JDFst/GD1J86RuqN1SIP8O8Xv4UbqNyKaVayXTjgF0D6HpvTnUZ1RQ6tANpZweGmq4v6Ay0uyRNEycFPw==}
|
||||
hasBin: true
|
||||
|
||||
rollup@4.44.2:
|
||||
resolution: {integrity: sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==}
|
||||
rollup@4.45.0:
|
||||
resolution: {integrity: sha512-WLjEcJRIo7i3WDDgOIJqVI2d+lAC3EwvOGy+Xfq6hs+GQuAA4Di/H72xmXkOhrIWFg2PFYSKZYfH0f4vfKXN4A==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
|
||||
@ -4932,7 +4941,7 @@ snapshots:
|
||||
|
||||
'@assemblyscript/loader@0.17.14': {}
|
||||
|
||||
'@asteasolutions/zod-to-openapi@7.3.0(zod@4.0.5)':
|
||||
'@asteasolutions/zod-to-openapi@8.0.0-beta.4(zod@4.0.5)':
|
||||
dependencies:
|
||||
openapi3-ts: 4.5.0
|
||||
zod: 4.0.5
|
||||
@ -5173,9 +5182,9 @@ snapshots:
|
||||
- bluebird
|
||||
- supports-color
|
||||
|
||||
'@electron/remote@2.1.3(electron@37.2.1)':
|
||||
'@electron/remote@2.1.3(electron@38.0.0-alpha.5)':
|
||||
dependencies:
|
||||
electron: 37.2.1
|
||||
electron: 38.0.0-alpha.5
|
||||
|
||||
'@electron/universal@3.0.0':
|
||||
dependencies:
|
||||
@ -5293,9 +5302,9 @@ snapshots:
|
||||
'@esbuild/win32-x64@0.25.6':
|
||||
optional: true
|
||||
|
||||
'@eslint-community/eslint-utils@4.7.0(eslint@9.30.1)':
|
||||
'@eslint-community/eslint-utils@4.7.0(eslint@9.31.0)':
|
||||
dependencies:
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@eslint-community/regexpp@4.12.1': {}
|
||||
@ -5314,6 +5323,10 @@ snapshots:
|
||||
dependencies:
|
||||
'@types/json-schema': 7.0.15
|
||||
|
||||
'@eslint/core@0.15.1':
|
||||
dependencies:
|
||||
'@types/json-schema': 7.0.15
|
||||
|
||||
'@eslint/eslintrc@3.3.1':
|
||||
dependencies:
|
||||
ajv: 6.12.6
|
||||
@ -5328,7 +5341,7 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@eslint/js@9.30.1': {}
|
||||
'@eslint/js@9.31.0': {}
|
||||
|
||||
'@eslint/object-schema@2.1.6': {}
|
||||
|
||||
@ -5366,16 +5379,16 @@ snapshots:
|
||||
dependencies:
|
||||
'@ghostery/adblocker-extended-selectors': 2.11.1
|
||||
|
||||
'@ghostery/adblocker-electron-preload@2.11.1(electron@37.2.1)':
|
||||
'@ghostery/adblocker-electron-preload@2.11.1(electron@38.0.0-alpha.5)':
|
||||
dependencies:
|
||||
'@ghostery/adblocker-content': 2.11.1
|
||||
electron: 37.2.1
|
||||
electron: 38.0.0-alpha.5
|
||||
|
||||
'@ghostery/adblocker-electron@2.11.1(electron@37.2.1)':
|
||||
'@ghostery/adblocker-electron@2.11.1(electron@38.0.0-alpha.5)':
|
||||
dependencies:
|
||||
'@ghostery/adblocker': 2.11.1
|
||||
'@ghostery/adblocker-electron-preload': 2.11.1(electron@37.2.1)
|
||||
electron: 37.2.1
|
||||
'@ghostery/adblocker-electron-preload': 2.11.1(electron@38.0.0-alpha.5)
|
||||
electron: 38.0.0-alpha.5
|
||||
tldts-experimental: 7.0.9
|
||||
|
||||
'@ghostery/adblocker-extended-selectors@2.11.1': {}
|
||||
@ -5402,12 +5415,11 @@ snapshots:
|
||||
dependencies:
|
||||
hono: 4.8.4
|
||||
|
||||
'@hono/zod-openapi@0.19.9(hono@4.8.4)(zod@4.0.5)':
|
||||
'@hono/zod-openapi@1.0.0-beta.1(hono@4.8.4)(zod@4.0.5)':
|
||||
dependencies:
|
||||
'@asteasolutions/zod-to-openapi': 7.3.0(zod@4.0.5)
|
||||
'@asteasolutions/zod-to-openapi': 8.0.0-beta.4(zod@4.0.5)
|
||||
'@hono/zod-validator': 0.7.0(hono@4.8.4)(zod@4.0.5)
|
||||
hono: 4.8.4
|
||||
openapi3-ts: 4.5.0
|
||||
zod: 4.0.5
|
||||
|
||||
'@hono/zod-validator@0.7.0(hono@4.8.4)(zod@4.0.5)':
|
||||
@ -5805,64 +5817,64 @@ snapshots:
|
||||
|
||||
'@rolldown/pluginutils@1.0.0-beta.26': {}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.44.2':
|
||||
'@rollup/rollup-android-arm-eabi@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-android-arm64@4.44.2':
|
||||
'@rollup/rollup-android-arm64@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.44.2':
|
||||
'@rollup/rollup-darwin-arm64@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.44.2':
|
||||
'@rollup/rollup-darwin-x64@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.44.2':
|
||||
'@rollup/rollup-freebsd-arm64@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.44.2':
|
||||
'@rollup/rollup-freebsd-x64@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.44.2':
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.44.2':
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.44.2':
|
||||
'@rollup/rollup-linux-arm64-gnu@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.44.2':
|
||||
'@rollup/rollup-linux-arm64-musl@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.44.2':
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.44.2':
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.44.2':
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.44.2':
|
||||
'@rollup/rollup-linux-riscv64-musl@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.44.2':
|
||||
'@rollup/rollup-linux-s390x-gnu@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.44.2':
|
||||
'@rollup/rollup-linux-x64-gnu@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.44.2':
|
||||
'@rollup/rollup-linux-x64-musl@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.44.2':
|
||||
'@rollup/rollup-win32-arm64-msvc@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.44.2':
|
||||
'@rollup/rollup-win32-ia32-msvc@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.44.2':
|
||||
'@rollup/rollup-win32-x64-msvc@4.45.0':
|
||||
optional: true
|
||||
|
||||
'@rtsao/scc@1.1.0': {}
|
||||
@ -5895,11 +5907,11 @@ snapshots:
|
||||
dependencies:
|
||||
solid-js: 1.9.7
|
||||
|
||||
'@stylistic/eslint-plugin@5.1.0(eslint@9.30.1)':
|
||||
'@stylistic/eslint-plugin@5.1.0(eslint@9.31.0)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0)
|
||||
'@typescript-eslint/types': 8.36.0
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
eslint-visitor-keys: 4.2.1
|
||||
espree: 10.4.0
|
||||
estraverse: 5.3.0
|
||||
@ -6028,15 +6040,15 @@ snapshots:
|
||||
'@types/node': 22.13.5
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)':
|
||||
'@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint@9.31.0)(typescript@5.8.3)':
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.12.1
|
||||
'@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
'@typescript-eslint/parser': 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/scope-manager': 8.36.0
|
||||
'@typescript-eslint/type-utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
'@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
'@typescript-eslint/type-utils': 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/utils': 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/visitor-keys': 8.36.0
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 7.0.3
|
||||
natural-compare: 1.4.0
|
||||
@ -6045,14 +6057,14 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3)':
|
||||
'@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 8.36.0
|
||||
'@typescript-eslint/types': 8.36.0
|
||||
'@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
|
||||
'@typescript-eslint/visitor-keys': 8.36.0
|
||||
debug: 4.4.1
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
typescript: 5.8.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@ -6075,12 +6087,12 @@ snapshots:
|
||||
dependencies:
|
||||
typescript: 5.8.3
|
||||
|
||||
'@typescript-eslint/type-utils@8.36.0(eslint@9.30.1)(typescript@5.8.3)':
|
||||
'@typescript-eslint/type-utils@8.36.0(eslint@9.31.0)(typescript@5.8.3)':
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
|
||||
'@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
'@typescript-eslint/utils': 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
debug: 4.4.1
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
ts-api-utils: 2.1.0(typescript@5.8.3)
|
||||
typescript: 5.8.3
|
||||
transitivePeerDependencies:
|
||||
@ -6104,13 +6116,13 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@8.36.0(eslint@9.30.1)(typescript@5.8.3)':
|
||||
'@typescript-eslint/utils@8.36.0(eslint@9.31.0)(typescript@5.8.3)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0)
|
||||
'@typescript-eslint/scope-manager': 8.36.0
|
||||
'@typescript-eslint/types': 8.36.0
|
||||
'@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3)
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
typescript: 5.8.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@ -6546,12 +6558,11 @@ snapshots:
|
||||
dependencies:
|
||||
'@babel/runtime': 7.27.6
|
||||
|
||||
butterchurn@3.0.0-beta.4:
|
||||
butterchurn@3.0.0-beta.5:
|
||||
dependencies:
|
||||
'@assemblyscript/loader': 0.17.14
|
||||
'@babel/runtime': 7.27.6
|
||||
ecma-proposal-math-extensions: 0.0.2
|
||||
eel-wasm: 0.0.15
|
||||
eel-wasm: 0.0.16
|
||||
|
||||
bytes@3.0.0: {}
|
||||
|
||||
@ -6807,9 +6818,9 @@ snapshots:
|
||||
|
||||
csstype@3.1.3: {}
|
||||
|
||||
custom-electron-prompt@1.5.8(electron@37.2.1):
|
||||
custom-electron-prompt@1.5.8(electron@38.0.0-alpha.5):
|
||||
dependencies:
|
||||
electron: 37.2.1
|
||||
electron: 38.0.0-alpha.5
|
||||
|
||||
data-uri-to-buffer@4.0.1: {}
|
||||
|
||||
@ -7012,7 +7023,7 @@ snapshots:
|
||||
|
||||
ecma-proposal-math-extensions@0.0.2: {}
|
||||
|
||||
eel-wasm@0.0.15: {}
|
||||
eel-wasm@0.0.16: {}
|
||||
|
||||
ejs@3.1.10:
|
||||
dependencies:
|
||||
@ -7149,6 +7160,14 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
electron@38.0.0-alpha.5:
|
||||
dependencies:
|
||||
'@electron/get': 2.0.3
|
||||
'@types/node': 22.13.5
|
||||
extract-zip: 2.0.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
emoji-regex@8.0.0: {}
|
||||
|
||||
emoji-regex@9.2.2: {}
|
||||
@ -7312,9 +7331,9 @@ snapshots:
|
||||
|
||||
escape-string-regexp@5.0.0: {}
|
||||
|
||||
eslint-config-prettier@10.1.5(eslint@9.30.1):
|
||||
eslint-config-prettier@10.1.5(eslint@9.31.0):
|
||||
dependencies:
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
|
||||
eslint-import-context@0.1.8(unrs-resolver@1.7.11):
|
||||
dependencies:
|
||||
@ -7323,10 +7342,10 @@ snapshots:
|
||||
optionalDependencies:
|
||||
unrs-resolver: 1.7.11
|
||||
|
||||
eslint-import-resolver-exports@1.0.0-beta.5(eslint-plugin-import@2.32.0)(eslint@9.30.1):
|
||||
eslint-import-resolver-exports@1.0.0-beta.5(eslint-plugin-import@2.32.0)(eslint@9.31.0):
|
||||
dependencies:
|
||||
eslint: 9.30.1
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.30.1)
|
||||
eslint: 9.31.0
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0)
|
||||
resolve.exports: 2.0.3
|
||||
|
||||
eslint-import-resolver-node@0.3.9:
|
||||
@ -7337,10 +7356,10 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.30.1):
|
||||
eslint-import-resolver-typescript@4.4.4(eslint-plugin-import@2.32.0)(eslint@9.31.0):
|
||||
dependencies:
|
||||
debug: 4.4.1
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
eslint-import-context: 0.1.8(unrs-resolver@1.7.11)
|
||||
get-tsconfig: 4.10.1
|
||||
is-bun-module: 2.0.0
|
||||
@ -7348,22 +7367,22 @@ snapshots:
|
||||
tinyglobby: 0.2.14
|
||||
unrs-resolver: 1.7.11
|
||||
optionalDependencies:
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.30.1)
|
||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.30.1):
|
||||
eslint-module-utils@2.12.1(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0):
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
eslint: 9.30.1
|
||||
'@typescript-eslint/parser': 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
eslint: 9.31.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.30.1)
|
||||
eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import@2.32.0)(eslint@9.31.0)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.30.1):
|
||||
eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0):
|
||||
dependencies:
|
||||
'@rtsao/scc': 1.1.0
|
||||
array-includes: 3.1.9
|
||||
@ -7372,9 +7391,9 @@ snapshots:
|
||||
array.prototype.flatmap: 1.3.3
|
||||
debug: 3.2.7
|
||||
doctrine: 2.1.0
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.30.1)
|
||||
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@9.31.0)
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.16.1
|
||||
is-glob: 4.0.3
|
||||
@ -7386,26 +7405,26 @@ snapshots:
|
||||
string.prototype.trimend: 1.0.9
|
||||
tsconfig-paths: 3.15.0
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
'@typescript-eslint/parser': 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-typescript
|
||||
- eslint-import-resolver-webpack
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-prettier@5.5.1(@types/eslint@9.6.1)(eslint-config-prettier@10.1.5(eslint@9.30.1))(eslint@9.30.1)(prettier@3.5.2):
|
||||
eslint-plugin-prettier@5.5.1(@types/eslint@9.6.1)(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint@9.31.0)(prettier@3.5.2):
|
||||
dependencies:
|
||||
eslint: 9.30.1
|
||||
eslint: 9.31.0
|
||||
prettier: 3.5.2
|
||||
prettier-linter-helpers: 1.0.0
|
||||
synckit: 0.11.8
|
||||
optionalDependencies:
|
||||
'@types/eslint': 9.6.1
|
||||
eslint-config-prettier: 10.1.5(eslint@9.30.1)
|
||||
eslint-config-prettier: 10.1.5(eslint@9.31.0)
|
||||
|
||||
eslint-plugin-solid@0.14.5(eslint@9.30.1)(typescript@5.8.3):
|
||||
eslint-plugin-solid@0.14.5(eslint@9.31.0)(typescript@5.8.3):
|
||||
dependencies:
|
||||
'@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
eslint: 9.30.1
|
||||
'@typescript-eslint/utils': 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
eslint: 9.31.0
|
||||
estraverse: 5.3.0
|
||||
is-html: 2.0.0
|
||||
kebab-case: 1.0.2
|
||||
@ -7424,15 +7443,15 @@ snapshots:
|
||||
|
||||
eslint-visitor-keys@4.2.1: {}
|
||||
|
||||
eslint@9.30.1:
|
||||
eslint@9.31.0:
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.30.1)
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0)
|
||||
'@eslint-community/regexpp': 4.12.1
|
||||
'@eslint/config-array': 0.21.0
|
||||
'@eslint/config-helpers': 0.3.0
|
||||
'@eslint/core': 0.14.0
|
||||
'@eslint/core': 0.15.1
|
||||
'@eslint/eslintrc': 3.3.1
|
||||
'@eslint/js': 9.30.1
|
||||
'@eslint/js': 9.31.0
|
||||
'@eslint/plugin-kit': 0.3.1
|
||||
'@humanfs/node': 0.16.6
|
||||
'@humanwhocodes/module-importer': 1.0.1
|
||||
@ -9094,30 +9113,30 @@ snapshots:
|
||||
'@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.26
|
||||
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.26
|
||||
|
||||
rollup@4.44.2:
|
||||
rollup@4.45.0:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.8
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-android-arm-eabi': 4.44.2
|
||||
'@rollup/rollup-android-arm64': 4.44.2
|
||||
'@rollup/rollup-darwin-arm64': 4.44.2
|
||||
'@rollup/rollup-darwin-x64': 4.44.2
|
||||
'@rollup/rollup-freebsd-arm64': 4.44.2
|
||||
'@rollup/rollup-freebsd-x64': 4.44.2
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.44.2
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.44.2
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.44.2
|
||||
'@rollup/rollup-linux-arm64-musl': 4.44.2
|
||||
'@rollup/rollup-linux-loongarch64-gnu': 4.44.2
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.44.2
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.44.2
|
||||
'@rollup/rollup-linux-riscv64-musl': 4.44.2
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.44.2
|
||||
'@rollup/rollup-linux-x64-gnu': 4.44.2
|
||||
'@rollup/rollup-linux-x64-musl': 4.44.2
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.44.2
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.44.2
|
||||
'@rollup/rollup-win32-x64-msvc': 4.44.2
|
||||
'@rollup/rollup-android-arm-eabi': 4.45.0
|
||||
'@rollup/rollup-android-arm64': 4.45.0
|
||||
'@rollup/rollup-darwin-arm64': 4.45.0
|
||||
'@rollup/rollup-darwin-x64': 4.45.0
|
||||
'@rollup/rollup-freebsd-arm64': 4.45.0
|
||||
'@rollup/rollup-freebsd-x64': 4.45.0
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.45.0
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.45.0
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.45.0
|
||||
'@rollup/rollup-linux-arm64-musl': 4.45.0
|
||||
'@rollup/rollup-linux-loongarch64-gnu': 4.45.0
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.45.0
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.45.0
|
||||
'@rollup/rollup-linux-riscv64-musl': 4.45.0
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.45.0
|
||||
'@rollup/rollup-linux-x64-gnu': 4.45.0
|
||||
'@rollup/rollup-linux-x64-musl': 4.45.0
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.45.0
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.45.0
|
||||
'@rollup/rollup-win32-x64-msvc': 4.45.0
|
||||
fsevents: 2.3.3
|
||||
|
||||
run-applescript@7.0.0: {}
|
||||
@ -9623,12 +9642,12 @@ snapshots:
|
||||
possible-typed-array-names: 1.1.0
|
||||
reflect.getprototypeof: 1.0.10
|
||||
|
||||
typescript-eslint@8.36.0(eslint@9.30.1)(typescript@5.8.3):
|
||||
typescript-eslint@8.36.0(eslint@9.31.0)(typescript@5.8.3):
|
||||
dependencies:
|
||||
'@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.30.1)(typescript@5.8.3))(eslint@9.30.1)(typescript@5.8.3)
|
||||
'@typescript-eslint/parser': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
'@typescript-eslint/utils': 8.36.0(eslint@9.30.1)(typescript@5.8.3)
|
||||
eslint: 9.30.1
|
||||
'@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint@9.31.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/parser': 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
'@typescript-eslint/utils': 8.36.0(eslint@9.31.0)(typescript@5.8.3)
|
||||
eslint: 9.31.0
|
||||
typescript: 5.8.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
@ -11,7 +11,7 @@ export type IStore = InstanceType<
|
||||
>;
|
||||
|
||||
const migrations = {
|
||||
'>=3.4.0'(store: IStore) {
|
||||
'>=3.10.0'(store: IStore) {
|
||||
const lyricGeniusConfig = store.get('plugins.lyrics-genius') as
|
||||
| {
|
||||
enabled?: boolean;
|
||||
@ -23,10 +23,16 @@ const migrations = {
|
||||
const syncedLyricsConfig = store.get('plugins.synced-lyrics') as
|
||||
| SyncedLyricsPluginConfig
|
||||
| undefined;
|
||||
store.set('plugins.synced-lyrics', {
|
||||
...syncedLyricsConfig,
|
||||
enabled: lyricGeniusConfig.enabled,
|
||||
});
|
||||
|
||||
if (
|
||||
!syncedLyricsConfig ||
|
||||
syncedLyricsConfig?.enabled !== lyricGeniusConfig?.enabled
|
||||
) {
|
||||
store.set('plugins.synced-lyrics', {
|
||||
...syncedLyricsConfig,
|
||||
enabled: lyricGeniusConfig.enabled,
|
||||
});
|
||||
}
|
||||
|
||||
store.delete('plugins.lyrics-genius');
|
||||
}
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "فتح محدد الترجمة"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "تم تغيير الترجمة الى {{language}}",
|
||||
"caption-disabled": "الترجمة معطلة",
|
||||
"no-captions": "الترجمة لهاته الأغنية غير متاحة"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "أسهم التنقل \"التالي/السابق\" مدمجة مباشرة في الواجهة، كما في متصفحك",
|
||||
"name": "التنقل"
|
||||
"name": "التنقل",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "العودة إلى الصفحة السابقة"
|
||||
},
|
||||
"forward": {
|
||||
"title": "إذهب إلى الصفحة المقبلة"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "إزالة أزرار وروابط تسجيل الدخول بجوجل من الواجهة",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "يسمح بتغيير جودة الفيديو باستخدام زر على صورة الفيديو",
|
||||
"name": "مغير جودة الفيديو"
|
||||
"name": "مغير جودة الفيديو",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "إفتح مغير الجودة"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "إضافة دعم Scrobbling (مثل Last.fm، ListenBrainz)",
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "تفعيل الفيديو",
|
||||
"templates": {
|
||||
"button-song": "أغنية"
|
||||
"button-song": "أغنية",
|
||||
"button-video": "فيديو"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -1 +1,7 @@
|
||||
{}
|
||||
{
|
||||
"language": {
|
||||
"code": "az",
|
||||
"local-name": "Azərbaycan dili",
|
||||
"name": "Azerbaijani"
|
||||
}
|
||||
}
|
||||
|
||||
7
src/i18n/resources/eu.json
Normal file
7
src/i18n/resources/eu.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"language": {
|
||||
"code": "eu",
|
||||
"local-name": "Euskara",
|
||||
"name": "Basque"
|
||||
}
|
||||
}
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "자막 선택기 열기"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "자막 언어가 {{language}}(으)로 변경되었습니다",
|
||||
"caption-disabled": "자막이 비활성화 되었습니다",
|
||||
"no-captions": "이 곡에는 자막이 없습니다"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "브라우저에서처럼, UI에 직접 통합된 앞으로/뒤로 탐색하는 화살표",
|
||||
"name": "탐색"
|
||||
"name": "탐색",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "이전 페이지로 이동"
|
||||
},
|
||||
"forward": {
|
||||
"title": "다음 페이지로 이동"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "UI에서 Google 로그인 버튼 및 링크 제거하기",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "영상 오버레이의 버튼으로 영상 품질을 변경할 수 있습니다",
|
||||
"name": "영상 품질 체인저"
|
||||
"name": "영상 품질 체인저",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "영상 품질 선택기 열기"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "스크로블링 지원을 추가합니다 (예: last.fm, Listenbrainz)",
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Открыть выбор субтитров"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Субтитры изменены на {{language}}",
|
||||
"caption-disabled": "Субтитры отключены",
|
||||
"no-captions": "Нет доступных субтитров для этой песни"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Стрелки навигации \"вперед/назад\" интегрированы в интерфейс, как в вашем любимом браузере",
|
||||
"name": "Навигация"
|
||||
"name": "Навигация",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Предыдущая страница"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Следующая страница"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Убрать из интерфейса кнопки и ссылки для входа через Google",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Позволяет изменять качество видео с помощью кнопки на оверлее видео",
|
||||
"name": "Изменение качества видео"
|
||||
"name": "Изменение качества видео",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Открыть настройки качества плеера"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Добавляет поддержку скробблинга (last.fm, Listenbrainz)",
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "Переключатель видео",
|
||||
"templates": {
|
||||
"button-song": "Песня"
|
||||
"button-song": "Песня",
|
||||
"button-video": "Видео"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
"details": "Yanıt verilmedi!\n{{error}}"
|
||||
},
|
||||
"when-ready": {
|
||||
"clearing-cache-after-20s": "Uygulama ön belleği temizleme"
|
||||
"clearing-cache-after-20s": "Uygulama ön belleği temizle"
|
||||
},
|
||||
"window": {
|
||||
"tried-to-render-offscreen": "Pencere ekranın dışında oluşturulmaya çalışıldı, windowSize={{windowSize}}, displaySize={{displaySize}}, position={{position}}"
|
||||
@ -209,7 +209,7 @@
|
||||
"plugins": {
|
||||
"ad-speedup": {
|
||||
"description": "Bir reklam oynatılırsa sesi kapatır ve oynatma hızını 16x olarak ayarlar",
|
||||
"name": "Hızlandırma"
|
||||
"name": "Reklam Hızlandırma"
|
||||
},
|
||||
"adblocker": {
|
||||
"description": "Tüm reklamları ve izleyicileri engelle",
|
||||
@ -287,7 +287,7 @@
|
||||
}
|
||||
},
|
||||
"api-server": {
|
||||
"description": "APİ ekle ve oynatıcıyı kontrol et",
|
||||
"description": "Oynatıcıyı kontrol etmek için bir API sunucusu ekle",
|
||||
"dialog": {
|
||||
"request": {
|
||||
"buttons": {
|
||||
@ -321,7 +321,7 @@
|
||||
"prompt": {
|
||||
"hostname": {
|
||||
"label": "API sunucusu için hostname (örneğin 0.0.0.0) girin:",
|
||||
"title": "Hostname"
|
||||
"title": "Hostname(Ana bilgisayar adı)"
|
||||
},
|
||||
"port": {
|
||||
"label": "API sunucusu için port girin:",
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "Altyazı seçiciyi aç"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "Başlık {{language}} olarak değiştirildi",
|
||||
"caption-disabled": "Altyazılar devre dışı",
|
||||
"no-captions": "Bu şarkı için altyazı mevcut değil"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "Favori tarayıcınızdaki gibi doğrudan arayüze entegre edilmiş İleri/Geri gezinme okları",
|
||||
"name": "Navigasyon"
|
||||
"name": "Navigasyon",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "Önceki sayfaya git"
|
||||
},
|
||||
"forward": {
|
||||
"title": "Sonraki sayfaya geç"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "Google giriş düğmelerini ve bağlantılarını arayüzden kaldır",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "Video katmanı üzerindeki bir düğme ile video kalitesinin değiştirilmesine izin verir",
|
||||
"name": "Video Kalitesi Değiştirici"
|
||||
"name": "Video Kalitesi Değiştirici",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "Açık oynatıcı kalite değiştirici"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "Listeleme desteği ekler (lastfm, listenbrainz ve benzeri)",
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "Video Geçiş",
|
||||
"templates": {
|
||||
"button-song": "Şarkı"
|
||||
"button-song": "Şarkı",
|
||||
"button-video": "Video"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -381,6 +381,11 @@
|
||||
},
|
||||
"templates": {
|
||||
"title": "打開標題選擇器"
|
||||
},
|
||||
"toast": {
|
||||
"caption-changed": "字幕語言更改為{{language}}",
|
||||
"caption-disabled": "停用字幕",
|
||||
"no-captions": "此歌曲無標題"
|
||||
}
|
||||
},
|
||||
"compact-sidebar": {
|
||||
@ -600,7 +605,15 @@
|
||||
},
|
||||
"navigation": {
|
||||
"description": "允許應用程式上方顯示上一頁/下一頁按鈕",
|
||||
"name": "導覽列"
|
||||
"name": "導覽列",
|
||||
"templates": {
|
||||
"back": {
|
||||
"title": "回到上一頁"
|
||||
},
|
||||
"forward": {
|
||||
"title": "前往下一頁"
|
||||
}
|
||||
}
|
||||
},
|
||||
"no-google-login": {
|
||||
"description": "移除 Google 登入按鈕及連結",
|
||||
@ -692,7 +705,12 @@
|
||||
}
|
||||
},
|
||||
"description": "允許在影片內進行畫質更改",
|
||||
"name": "允許變更影片畫質"
|
||||
"name": "允許變更影片畫質",
|
||||
"renderer": {
|
||||
"quality-settings-button": {
|
||||
"label": "開啟畫質調整器"
|
||||
}
|
||||
}
|
||||
},
|
||||
"scrobbler": {
|
||||
"description": "額外新增 scrobbling 支援 (例如:last.fm, Listenbrainz)",
|
||||
@ -859,7 +877,8 @@
|
||||
},
|
||||
"name": "歌曲/影片切換",
|
||||
"templates": {
|
||||
"button-song": "歌曲"
|
||||
"button-song": "歌曲",
|
||||
"button-video": "影片"
|
||||
}
|
||||
},
|
||||
"visualizer": {
|
||||
|
||||
@ -126,6 +126,8 @@ app.commandLine.appendSwitch(
|
||||
'enable-features',
|
||||
'OverlayScrollbar,SharedArrayBuffer,UseOzonePlatform,WaylandWindowDecorations',
|
||||
);
|
||||
// Disable Fluent Scrollbar (for OverlayScrollbar)
|
||||
app.commandLine.appendSwitch('disable-features', 'FluentScrollbar');
|
||||
if (config.get('options.disableHardwareAcceleration')) {
|
||||
if (is.dev()) {
|
||||
console.log('Disabling hardware acceleration');
|
||||
|
||||
@ -19,7 +19,7 @@ export const backend = createBackend<BackendType, APIServerConfig>({
|
||||
async start(ctx) {
|
||||
const config = await ctx.getConfig();
|
||||
|
||||
await this.init(ctx);
|
||||
this.init(ctx);
|
||||
registerCallback((songInfo) => {
|
||||
this.songInfo = songInfo;
|
||||
});
|
||||
@ -60,8 +60,7 @@ export const backend = createBackend<BackendType, APIServerConfig>({
|
||||
},
|
||||
|
||||
// Custom
|
||||
async init(ctx) {
|
||||
const config = await ctx.getConfig();
|
||||
init(backendCtx) {
|
||||
this.app = new Hono();
|
||||
|
||||
this.app.use('*', cors());
|
||||
@ -74,6 +73,8 @@ export const backend = createBackend<BackendType, APIServerConfig>({
|
||||
|
||||
// middlewares
|
||||
this.app.use('/api/*', async (ctx, next) => {
|
||||
const config = await backendCtx.getConfig();
|
||||
|
||||
if (config.authStrategy !== AuthStrategy.NONE) {
|
||||
return await jwt({
|
||||
secret: config.secret,
|
||||
@ -83,6 +84,7 @@ export const backend = createBackend<BackendType, APIServerConfig>({
|
||||
});
|
||||
this.app.use('/api/*', async (ctx, next) => {
|
||||
const result = await JWTPayloadSchema.spa(await ctx.get('jwtPayload'));
|
||||
const config = await backendCtx.getConfig();
|
||||
|
||||
const isAuthorized =
|
||||
config.authStrategy === AuthStrategy.NONE ||
|
||||
@ -98,12 +100,12 @@ export const backend = createBackend<BackendType, APIServerConfig>({
|
||||
// routes
|
||||
registerControl(
|
||||
this.app,
|
||||
ctx,
|
||||
backendCtx,
|
||||
() => this.songInfo,
|
||||
() => this.currentRepeatMode,
|
||||
() => this.volume,
|
||||
);
|
||||
registerAuth(this.app, ctx);
|
||||
registerAuth(this.app, backendCtx);
|
||||
|
||||
// swagger
|
||||
this.app.openAPIRegistry.registerComponent(
|
||||
|
||||
@ -15,7 +15,7 @@ export type BackendType = {
|
||||
currentRepeatMode?: RepeatMode;
|
||||
volume?: number;
|
||||
|
||||
init: (ctx: BackendContext<APIServerConfig>) => Promise<void>;
|
||||
init: (ctx: BackendContext<APIServerConfig>) => void;
|
||||
run: (hostname: string, port: number) => void;
|
||||
end: () => void;
|
||||
};
|
||||
|
||||
@ -7,11 +7,9 @@ import { Innertube, UniversalCache, Utils, YTNodes } from 'youtubei.js';
|
||||
import is from 'electron-is';
|
||||
import filenamify from 'filenamify';
|
||||
import { Mutex } from 'async-mutex';
|
||||
import { createFFmpeg } from '@ffmpeg.wasm/main';
|
||||
import NodeID3, { TagConstants } from 'node-id3';
|
||||
|
||||
import { Window } from 'happy-dom';
|
||||
import { BG, type BgConfig } from 'bgutils-js';
|
||||
import { lazy } from 'lazy-var';
|
||||
|
||||
import {
|
||||
cropMaxWidth,
|
||||
@ -44,11 +42,13 @@ import type {
|
||||
|
||||
type CustomSongInfo = SongInfo & { trackId?: string };
|
||||
|
||||
const ffmpeg = createFFmpeg({
|
||||
log: false,
|
||||
logger() {}, // Console.log,
|
||||
progress() {}, // Console.log,
|
||||
});
|
||||
const ffmpeg = lazy(async () =>
|
||||
(await import('@ffmpeg.wasm/main')).createFFmpeg({
|
||||
log: false,
|
||||
logger() {}, // Console.log,
|
||||
progress() {}, // Console.log,
|
||||
}),
|
||||
);
|
||||
const ffmpegMutex = new Mutex();
|
||||
|
||||
let yt: Innertube;
|
||||
@ -142,7 +142,7 @@ export const onMainLoad = async ({
|
||||
try {
|
||||
const [width, height] = win.getSize();
|
||||
// emulate jsdom using linkedom
|
||||
const window = new Window({
|
||||
const window = new (await import('happy-dom')).Window({
|
||||
width,
|
||||
height,
|
||||
console,
|
||||
@ -505,12 +505,13 @@ async function iterableStreamToProcessedUint8Array(
|
||||
|
||||
return await ffmpegMutex.runExclusive(async () => {
|
||||
try {
|
||||
if (!ffmpeg.isLoaded()) {
|
||||
await ffmpeg.load();
|
||||
const ffmpegInstance = await ffmpeg.get();
|
||||
if (!ffmpegInstance.isLoaded()) {
|
||||
await ffmpegInstance.load();
|
||||
}
|
||||
|
||||
sendFeedback(t('plugins.downloader.backend.feedback.preparing-file'));
|
||||
ffmpeg.FS(
|
||||
ffmpegInstance.FS(
|
||||
'writeFile',
|
||||
safeVideoName,
|
||||
Buffer.concat(
|
||||
@ -525,7 +526,7 @@ async function iterableStreamToProcessedUint8Array(
|
||||
|
||||
sendFeedback(t('plugins.downloader.backend.feedback.converting'));
|
||||
|
||||
ffmpeg.setProgress(({ ratio }) => {
|
||||
ffmpegInstance.setProgress(({ ratio }) => {
|
||||
sendFeedback(
|
||||
t('plugins.downloader.backend.feedback.conversion-progress', {
|
||||
percent: Math.floor(ratio * 100),
|
||||
@ -537,7 +538,7 @@ async function iterableStreamToProcessedUint8Array(
|
||||
|
||||
const safeVideoNameWithExtension = `${safeVideoName}.${extension}`;
|
||||
try {
|
||||
await ffmpeg.run(
|
||||
await ffmpegInstance.run(
|
||||
'-i',
|
||||
safeVideoName,
|
||||
...presetFfmpegArgs,
|
||||
@ -545,15 +546,15 @@ async function iterableStreamToProcessedUint8Array(
|
||||
safeVideoNameWithExtension,
|
||||
);
|
||||
} finally {
|
||||
ffmpeg.FS('unlink', safeVideoName);
|
||||
ffmpegInstance.FS('unlink', safeVideoName);
|
||||
}
|
||||
|
||||
sendFeedback(t('plugins.downloader.backend.feedback.saving'));
|
||||
|
||||
try {
|
||||
return ffmpeg.FS('readFile', safeVideoNameWithExtension);
|
||||
return ffmpegInstance.FS('readFile', safeVideoNameWithExtension);
|
||||
} finally {
|
||||
ffmpeg.FS('unlink', safeVideoNameWithExtension);
|
||||
ffmpegInstance.FS('unlink', safeVideoNameWithExtension);
|
||||
}
|
||||
} catch (error: unknown) {
|
||||
sendError(error as Error, safeVideoName);
|
||||
|
||||
Reference in New Issue
Block a user