diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index d93ede0a6b..0b00839a7e 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -1,95 +1,95 @@
name: Bug Report
description: Report a YouTube Music bug
-title: "[Bug]: "
-labels: "bug :beetle:"
+title: '[Bug]: '
+labels: 'bug :beetle:'
body:
-- type: checkboxes
- attributes:
- label: Preflight Checklist
- description: Please ensure you've completed all of the following.
- options:
- - label: I use the latest version of YouTube Music (Application).
- required: true
- - label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a bug report that matches the one I want to file, without success.
- required: true
- - label: I understand that **th-ch/youtube-music has NO affiliation with Google or YouTube**
- required: true
-- type: input
- attributes:
- label: YouTube Music (Application) Version
- description: |
- What version of the YouTube Music Application are you using?
+ - type: checkboxes
+ attributes:
+ label: Preflight Checklist
+ description: Please ensure you've completed all of the following.
+ options:
+ - label: I use the latest version of YouTube Music (Application).
+ required: true
+ - label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a bug report that matches the one I want to file, without success.
+ required: true
+ - label: I understand that **th-ch/youtube-music has NO affiliation with Google or YouTube**
+ required: true
+ - type: input
+ attributes:
+ label: YouTube Music (Application) Version
+ description: |
+ What version of the YouTube Music Application are you using?
- Note: Please check if this issue is reproducible with the latest stable release.
- placeholder: 2.0.0
- validations:
- required: true
-- type: checkboxes
- attributes:
- label: Checklists
- options:
- - label: I use the portable version of the YouTube Music Application.
- - label: I can reproduce this issue in the [official version of (WEB) YTM](https://music.youtube.com).
-- type: dropdown
- attributes:
- label: What operating system are you using?
- options:
- - Windows
- - macOS
- - Ubuntu
- - Other Linux
- - Other (specify below)
- validations:
- required: true
-- type: input
- attributes:
- label: Operating System Version
- description: What operating system version are you using? On Windows, click the Start button > Settings > System > About. On macOS, click the Apple Menu > About This Mac. On Linux, use lsb_release or uname -a.
- placeholder: "e.g. Windows 10 version 1909, macOS Catalina 10.15.7, or Ubuntu 20.04"
- validations:
- required: true
-- type: dropdown
- attributes:
- label: What CPU architecture are you using?
- options:
- - x64
- - ia32
- - arm64 (including Apple Silicon)
- - Other (specify below)
- validations:
- required: true
-- type: input
- attributes:
- label: Last Known Working YouTube Music (Application) version
- description: (If applicable) What is the last version of YouTube Music this worked in?
- placeholder: 1.20.0
-- type: textarea
- attributes:
- label: Reproduction steps
- description: Provide steps to reproduce the issue.
- placeholder: 1. Enable the X plugin.
- validations:
- required: true
-- type: textarea
- attributes:
- label: Expected Behavior
- description: A clear and concise description of what you expected to happen.
- validations:
- required: true
-- type: textarea
- attributes:
- label: Actual Behavior
- description: A clear description of what actually happens.
- validations:
- required: true
-- type: textarea
- attributes:
- label: Enabled plugins
- description: Provide the list of plugins you enabled.
- placeholder: 1. Album Color Theme
- validations:
- required: true
-- type: textarea
- attributes:
- label: Additional Information
- description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here.
+ Note: Please check if this issue is reproducible with the latest stable release.
+ placeholder: 2.0.0
+ validations:
+ required: true
+ - type: checkboxes
+ attributes:
+ label: Checklists
+ options:
+ - label: I use the portable version of the YouTube Music Application.
+ - label: I can reproduce this issue in the [official version of (WEB) YTM](https://music.youtube.com).
+ - type: dropdown
+ attributes:
+ label: What operating system are you using?
+ options:
+ - Windows
+ - macOS
+ - Ubuntu
+ - Other Linux
+ - Other (specify below)
+ validations:
+ required: true
+ - type: input
+ attributes:
+ label: Operating System Version
+ description: What operating system version are you using? On Windows, click the Start button > Settings > System > About. On macOS, click the Apple Menu > About This Mac. On Linux, use lsb_release or uname -a.
+ placeholder: 'e.g. Windows 10 version 1909, macOS Catalina 10.15.7, or Ubuntu 20.04'
+ validations:
+ required: true
+ - type: dropdown
+ attributes:
+ label: What CPU architecture are you using?
+ options:
+ - x64
+ - ia32
+ - arm64 (including Apple Silicon)
+ - Other (specify below)
+ validations:
+ required: true
+ - type: input
+ attributes:
+ label: Last Known Working YouTube Music (Application) version
+ description: (If applicable) What is the last version of YouTube Music this worked in?
+ placeholder: 1.20.0
+ - type: textarea
+ attributes:
+ label: Reproduction steps
+ description: Provide steps to reproduce the issue.
+ placeholder: 1. Enable the X plugin.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Expected Behavior
+ description: A clear and concise description of what you expected to happen.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Actual Behavior
+ description: A clear description of what actually happens.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Enabled plugins
+ description: Provide the list of plugins you enabled.
+ placeholder: 1. Album Color Theme
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Additional Information
+ description: If your problem needs further explanation, or if the issue you're seeing cannot be reproduced in a gist, please add more information here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
index 1744337369..5130b2ec98 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -1,38 +1,38 @@
name: Feature Request
description: Suggest an idea for YouTube Music
-title: "[Feature Request]: "
-labels: "enhancement :sparkles:"
+title: '[Feature Request]: '
+labels: 'enhancement :sparkles:'
body:
-- type: checkboxes
- attributes:
- label: Preflight Checklist
- description: Please ensure you've completed all of the following.
- options:
- - label: I use the latest version of YouTube Music (Application).
- required: true
- - label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a feature request that matches the one I want to file, without success.
- required: true
-- type: textarea
- attributes:
- label: Problem Description
- description: A clear and concise description of the problem you are seeking to solve with this feature request.
- validations:
- required: true
-- type: textarea
- attributes:
- label: Proposed Solution
- description: Describe the solution you'd like in a clear and concise manner.
- validations:
- required: true
-- type: textarea
- attributes:
- label: Alternatives Considered
- description: A clear and concise description of any alternative solutions or features you've considered.
- validations:
- required: true
-- type: textarea
- attributes:
- label: Additional Information
- description: Any other context about the problem.
- validations:
- required: false
+ - type: checkboxes
+ attributes:
+ label: Preflight Checklist
+ description: Please ensure you've completed all of the following.
+ options:
+ - label: I use the latest version of YouTube Music (Application).
+ required: true
+ - label: I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a feature request that matches the one I want to file, without success.
+ required: true
+ - type: textarea
+ attributes:
+ label: Problem Description
+ description: A clear and concise description of the problem you are seeking to solve with this feature request.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Proposed Solution
+ description: Describe the solution you'd like in a clear and concise manner.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Alternatives Considered
+ description: A clear and concise description of any alternative solutions or features you've considered.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Additional Information
+ description: Any other context about the problem.
+ validations:
+ required: false
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index eeec671b3c..a4491740ea 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -2,11 +2,11 @@ name: Build YouTube Music
on:
push:
- branches: [ master ]
+ branches: [master]
pull_request:
env:
- NODE_VERSION: "20.x"
+ NODE_VERSION: '20.x'
jobs:
build:
@@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: true
matrix:
- os: [ macos-latest, ubuntu-latest, windows-latest ]
+ os: [macos-latest, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
@@ -84,7 +84,6 @@ jobs:
with:
run: pnpm test:debug
-
release:
runs-on: ubuntu-latest
name: Release YouTube Music
@@ -165,6 +164,6 @@ jobs:
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Update changelog for ${{ env.VERSION_TAG }}
- file_pattern: "changelog.md"
+ file_pattern: 'changelog.md'
commit_user_name: CI
commit_user_email: th-ch@users.noreply.github.com
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
index 2447eb386d..9a9dcfebb7 100644
--- a/.github/workflows/dependency-review.yml
+++ b/.github/workflows/dependency-review.yml
@@ -4,8 +4,8 @@
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
-name: "Dependency Review"
-on: [ pull_request ]
+name: 'Dependency Review'
+on: [pull_request]
permissions:
contents: read
@@ -14,7 +14,7 @@ jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- - name: "Checkout Repository"
+ - name: 'Checkout Repository'
uses: actions/checkout@v4
- - name: "Dependency Review"
+ - name: 'Dependency Review'
uses: actions/dependency-review-action@v4
diff --git a/.github/workflows/winget-cla.yml b/.github/workflows/winget-cla.yml
index bd3f51246d..759b1cb575 100644
--- a/.github/workflows/winget-cla.yml
+++ b/.github/workflows/winget-cla.yml
@@ -4,7 +4,7 @@ on:
workflow_dispatch:
inputs:
pr_url:
- description: "Specific PR URL"
+ description: 'Specific PR URL'
required: true
type: string
diff --git a/.github/workflows/winget-submission.yml b/.github/workflows/winget-submission.yml
index 802d2ee2fe..74bfa3e7c1 100644
--- a/.github/workflows/winget-submission.yml
+++ b/.github/workflows/winget-submission.yml
@@ -2,11 +2,11 @@ name: Submit to Windows Package Manager Community Repository
on:
release:
- types: [ released ]
+ types: [released]
workflow_dispatch:
inputs:
tag_name:
- description: "Specific tag name"
+ description: 'Specific tag name'
required: true
type: string
diff --git a/README.md b/README.md
index 929c53c697..6163560f39 100644
--- a/README.md
+++ b/README.md
@@ -12,13 +12,12 @@
-
-
+
Read this in other languages: [🇰🇷](./docs/readme/README-ko.md), [🇫🇷](./docs/readme/README-fr.md), [🇮🇸](./docs/readme/README-is.md), [🇨🇱 🇪🇸](./docs/readme/README-es.md), [🇷🇺](./docs/readme/README-ru.md), [🇭🇺](./docs/readme/README-hu.md)
@@ -31,40 +30,44 @@ Read this in other languages: [🇰🇷](./docs/readme/README-ko.md), [🇫🇷]
## Demo Image
-| Player Screen (album color theme & ambient light) |
-|:---------------------------------------------------------------------------------------------------------:|
-||
+| Player Screen (album color theme & ambient light) |
+| :---------------------------------------------------------------------------------------------------------: |
+|  |
## Content
-- [Features](#features)
-- [Available plugins](#available-plugins)
-- [Translation](#translation)
-- [Download](#download)
- - [Arch Linux](#arch-linux)
- - [MacOS](#macos)
- - [Windows](#windows)
- - [How to install without a network connection? (in Windows)](#how-to-install-without-a-network-connection-in-windows)
-- [Themes](#themes)
-- [Dev](#dev)
-- [Build your own plugins](#build-your-own-plugins)
- - [Creating a plugin](#creating-a-plugin)
- - [Common use cases](#common-use-cases)
-- [Build](#build)
-- [Production Preview](#production-preview)
-- [Tests](#tests)
-- [License](#license)
-- [FAQ](#faq)
-
-## Features:
+- [YouTube Music](#youtube-music)
+ - [Demo Image](#demo-image)
+ - [Content](#content)
+ - [Features](#features)
+ - [Available plugins](#available-plugins)
+ - [Translation](#translation)
+ - [Download](#download)
+ - [Arch Linux](#arch-linux)
+ - [macOS](#macos)
+ - [Windows](#windows)
+ - [How to install without a network connection? (in Windows)](#how-to-install-without-a-network-connection-in-windows)
+ - [Themes](#themes)
+ - [Dev](#dev)
+ - [Build your own plugins](#build-your-own-plugins)
+ - [Creating a plugin](#creating-a-plugin)
+ - [Common use cases](#common-use-cases)
+ - [Build](#build)
+ - [Production Preview](#production-preview)
+ - [Tests](#tests)
+ - [License](#license)
+ - [FAQ](#faq)
+ - [Why apps menu isn't showing up?](#why-apps-menu-isnt-showing-up)
+
+## Features
- **Auto confirm when paused** (Always Enabled): disable
the ["Continue Watching?"](https://user-images.githubusercontent.com/61631665/129977894-01c60740-7ec6-4bf0-9a2c-25da24491b0e.png)
popup that pause music after a certain time
- - And more ...
+- And more ...
-## Available plugins:
+## Available plugins
- **Ad Blocker**: Block all ads and tracking out of the box
@@ -104,7 +107,7 @@ Read this in other languages: [🇰🇷](./docs/readme/README-ko.md), [🇫🇷]
- **In-App Menu**: [gives bars a fancy, dark look](https://user-images.githubusercontent.com/78568641/112215894-923dbf00-8c29-11eb-95c3-3ce15db27eca.png)
> (see [this post](https://github.com/th-ch/youtube-music/issues/410#issuecomment-952060709) if you have problem
- accessing the menu after enabling this plugin and hide-menu option)
+ > accessing the menu after enabling this plugin and hide-menu option)
- **Scrobbler**: Adds scrobbling support for [Last.fm](https://www.last.fm/) and [ListenBrainz](https://listenbrainz.org/)
@@ -163,7 +166,6 @@ Read this in other languages: [🇰🇷](./docs/readme/README-ko.md), [🇫🇷]
- **Visualizer**: Different music visualizers
-
## Translation
You can help with translation on [Hosted Weblate](https://hosted.weblate.org/projects/youtube-music/).
@@ -210,9 +212,9 @@ scoop install extras/youtube-music
Alternately you can use [Winget](https://learn.microsoft.com/en-us/windows/package-manager/winget/), Windows 11s
official CLI package manager to install the `th-ch.YouTubeMusic` package.
-*Note: Microsoft Defender SmartScreen might block the installation since it is from an "unknown publisher". This is also
+_Note: Microsoft Defender SmartScreen might block the installation since it is from an "unknown publisher". This is also
true for the manual installation when trying to run the executable(.exe) after a manual download here on github (same
-file).*
+file)._
```bash
winget install th-ch.YouTubeMusic
@@ -232,7 +234,7 @@ winget install th-ch.YouTubeMusic
You can load CSS files to change the look of the application (Options > Visual Tweaks > Themes).
-Some predefined themes are available in https://github.com/kerichdev/themes-for-ytmdesktop-player.
+Some predefined themes are available in .
## Dev
@@ -255,6 +257,7 @@ Using plugins, you can:
Create a folder in `src/plugins/YOUR-PLUGIN-NAME`:
- `index.ts`: the main file of the plugin
+
```typescript
import style from './style.css?inline'; // import style as inline
@@ -294,9 +297,13 @@ export default createPlugin({
});
},
// it fired when config changed
- onConfigChange(newConfig) { /* ... */ },
+ onConfigChange(newConfig) {
+ /* ... */
+ },
// it fired when plugin disabled
- stop(context) { /* ... */ },
+ stop(context) {
+ /* ... */
+ },
},
renderer: {
async start(context) {
@@ -307,8 +314,12 @@ export default createPlugin({
// set plugin config easily
context.setConfig({ myConfig: api.getVolume() });
},
- onConfigChange(newConfig) { /* ... */ },
- stop(_context) { /* ... */ },
+ onConfigChange(newConfig) {
+ /* ... */
+ },
+ stop(_context) {
+ /* ... */
+ },
},
preload: {
async start({ getConfig }) {
@@ -337,7 +348,7 @@ export default createPlugin({
enabled: false,
}, // your custom config
stylesheets: [style], // your custom style
- renderer() {} // define renderer hook
+ renderer() {}, // define renderer hook
});
```
@@ -354,8 +365,8 @@ export default createPlugin({
}, // your custom config
renderer() {
// Remove the login button
- document.querySelector(".sign-in-link.ytmusic-nav-bar").remove();
- } // define renderer hook
+ document.querySelector('.sign-in-link.ytmusic-nav-bar').remove();
+ }, // define renderer hook
});
```
diff --git a/changelog.md b/changelog.md
index ef3636a89b..8eb8d9b395 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1195,7 +1195,7 @@ All notable changes to this project will be documented in this file. Dates are d
- fix security issues in dependencies [`#1116`](https://github.com/th-ch/youtube-music/pull/1116)
- commit assets/generated [`#1118`](https://github.com/th-ch/youtube-music/pull/1118)
- remove `electron.remote` dependency [`#1113`](https://github.com/th-ch/youtube-music/pull/1113)
-- .gitattributes set `eol=lf` on *all* files [`#1115`](https://github.com/th-ch/youtube-music/pull/1115)
+- .gitattributes set `eol=lf` on _all_ files [`#1115`](https://github.com/th-ch/youtube-music/pull/1115)
- [crossfade] add `[beta]` tag to warn of possible bugs [`#1096`](https://github.com/th-ch/youtube-music/pull/1096)
- [crossfade] add menu options [`#1065`](https://github.com/th-ch/youtube-music/pull/1065)
- [captions-selector] add `autoload` option [`#1079`](https://github.com/th-ch/youtube-music/pull/1079)
@@ -1379,14 +1379,14 @@ All notable changes to this project will be documented in this file. Dates are d
- [Snyk] Security upgrade node-fetch from 2.6.6 to 2.6.7 (3.1.1 incompatible) [`#554`](https://github.com/th-ch/youtube-music/pull/554)
- fix app starting offscreen [`#548`](https://github.com/th-ch/youtube-music/pull/548)
- Release Mac arm64 [`#566`](https://github.com/th-ch/youtube-music/pull/566)
-- Build command for Apple (m1) silicon macs [`#553`](https://github.com/th-ch/youtube-music/pull/553)
+- Build command for Apple (m1) silicon macs [`#553`](https://github.com/th-ch/youtube-music/pull/553)
- [Snyk] Upgrade custom-electron-titlebar from 3.2.9 to 3.2.10 [`#545`](https://github.com/th-ch/youtube-music/pull/545)
- Fix duplicate media session on linux [`#551`](https://github.com/th-ch/youtube-music/pull/551)
- show a badge remaining items when downloading a playlist [`#550`](https://github.com/th-ch/youtube-music/pull/550)
- allow downloading playlists from popup menu [`#549`](https://github.com/th-ch/youtube-music/pull/549)
- xesam:artist should be a list [`#539`](https://github.com/th-ch/youtube-music/pull/539)
- fix notifications showing thumbnail of last song [`#537`](https://github.com/th-ch/youtube-music/pull/537)
-- Fix https://github.com/th-ch/youtube-music/pull/578#issuecomment-1035517531 [`#578`](https://github.com/th-ch/youtube-music/pull/578)
+- Fix [`#578`](https://github.com/th-ch/youtube-music/pull/578)
- Add automatic changelog [`1d9bfe8`](https://github.com/th-ch/youtube-music/commit/1d9bfe8ac8869cde648164979986964baa52c2f9)
- update electron to v17.0.0 [`fef7115`](https://github.com/th-ch/youtube-music/commit/fef711549fa9862f8ea23301edde747c5802e352)
- update dependencies [`8be07bc`](https://github.com/th-ch/youtube-music/commit/8be07bcb7ad8b727d97c36aa0760aed4e2fc481f)
@@ -1468,7 +1468,7 @@ All notable changes to this project will be documented in this file. Dates are d
- add tuna plugin for obs [`#397`](https://github.com/th-ch/youtube-music/pull/397)
- Update menu buttons to new format [`#389`](https://github.com/th-ch/youtube-music/pull/389)
- Plugin to fetch lyrics from Genius [`#387`](https://github.com/th-ch/youtube-music/pull/387)
-- Add mpris support with cherry picked commit from previous PR https://github.com/th-ch/youtube-music/pull/394 [`#395`](https://github.com/th-ch/youtube-music/pull/395)
+- Add mpris support with cherry picked commit from previous PR [`#395`](https://github.com/th-ch/youtube-music/pull/395)
- Add "Listen Along" button, solve #353 [`#383`](https://github.com/th-ch/youtube-music/pull/383)
- Bump node to v14 [`#386`](https://github.com/th-ch/youtube-music/pull/386)
- [Snyk] Upgrade electron-updater from 4.3.9 to 4.3.10 [`#350`](https://github.com/th-ch/youtube-music/pull/350)
@@ -1552,7 +1552,7 @@ All notable changes to this project will be documented in this file. Dates are d
- Improved songinfo provider, by using the data from the '/player' request [`#194`](https://github.com/th-ch/youtube-music/pull/194)
- Download plugin directory chooser [`#10`](https://github.com/th-ch/youtube-music/pull/10)
- [Snyk] Upgrade @cliqz/adblocker-electron from 1.20.0 to 1.20.1 [`#180`](https://github.com/th-ch/youtube-music/pull/180)
-- [Plugin] taskbar-mediacontrol (for Windows) [`#200`](https://github.com/th-ch/youtube-music/pull/200)
+- [Plugin] taskbar-mediacontrol (for Windows) [`#200`](https://github.com/th-ch/youtube-music/pull/200)
- merge source [`#3`](https://github.com/th-ch/youtube-music/pull/3)
- merge source [`#2`](https://github.com/th-ch/youtube-music/pull/2)
- Add playlist feature in downloader plugin + custom menus in plugin system [`#203`](https://github.com/th-ch/youtube-music/pull/203)
diff --git a/docs/index.html b/docs/index.html
index 9216848d00..42f0e2fef5 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,490 +1,490 @@
-
-
+
+
-
-
+
+
YouTube Music Desktop App (Unofficial)
-
+
-
+
-
-
+
+
-
-
-
- Download (like youtube-dl) to custom formats (mp3, opus,
- etc) directly from the interface
-
-
-
-
-
-
-
-
-
Many other plugins in one click
-
- Enhance your user experience with media keys, integrations
- (Discord), cosmetic filters, notifications, TouchBar,
- auto-unpause and many more! Every plugin can be enabled or
- disabled in one click.
-
-
-
-
-
-
-
-
-
Open source & Cross platform
-
- Available for Windows (installer and portable), Mac and
- Linux (AppImage, deb, etc)
-
-
-
-
+
+
+
+
+
+
+
+
+
Built-in adblocker
+
Block all ads and tracking out of the box
+
+
+
+
+
+
+
Built-in downloader
+
+ Download (like youtube-dl) to custom formats (mp3, opus,
+ etc) directly from the interface
+
+
+
+
+
+
+
+
+
Many other plugins in one click
+
+ Enhance your user experience with media keys, integrations
+ (Discord), cosmetic filters, notifications, TouchBar,
+ auto-unpause and many more! Every plugin can be enabled or
+ disabled in one click.
+
+
+
+
+
+
+
+
+
Open source & Cross platform
+
+ Available for Windows (installer and portable), Mac and
+ Linux (AppImage, deb, etc)
+