Skip to content

Commit 9cbcd19

Browse files
authored
Merge branch 'pear-devs:master' into master
2 parents 4fa14a6 + 7192ad7 commit 9cbcd19

File tree

210 files changed

+5163
-10699
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

210 files changed

+5163
-10699
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Bug Report
2-
description: Report a YouTube Music bug
2+
description: Report a Pear Desktop bug
33
title: "[Bug]: "
44
labels: "bug :beetle:"
55
body:
@@ -8,17 +8,17 @@ body:
88
label: Preflight Checklist
99
description: Please ensure you've completed all of the following.
1010
options:
11-
- label: I use the latest version of YouTube Music (Application).
11+
- label: I use the latest version of Pear Desktop (Application).
1212
required: true
13-
- 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.
13+
- label: I have searched the [issue tracker](https://github.com/pear-devs/pear-desktop/issues) for a bug report that matches the one I want to file, without success.
1414
required: true
15-
- label: I understand that **th-ch/youtube-music has NO affiliation with Google or YouTube**
15+
- label: I understand that **pear-devs/pear-desktop has NO affiliation with Google or YouTube**
1616
required: true
1717
- type: input
1818
attributes:
19-
label: YouTube Music (Application) Version
19+
label: Pear Desktop (Application) Version
2020
description: |
21-
What version of the YouTube Music Application are you using?
21+
What version of the Pear Desktop Application are you using?
2222
2323
Note: Please check if this issue is reproducible with the latest stable release.
2424
placeholder: 2.0.0
@@ -28,7 +28,7 @@ body:
2828
attributes:
2929
label: Checklists
3030
options:
31-
- label: I use the portable version of the YouTube Music Application.
31+
- label: I use the portable version of the Pear Desktop Application.
3232
- label: I can reproduce this issue in the [official version of (WEB) YTM](https://music.youtube.com).
3333
- type: dropdown
3434
attributes:
@@ -60,8 +60,8 @@ body:
6060
required: true
6161
- type: input
6262
attributes:
63-
label: Last Known Working YouTube Music (Application) version
64-
description: (If applicable) What is the last version of YouTube Music this worked in?
63+
label: Last Known Working Pear Desktop (Application) version
64+
description: (If applicable) What is the last version of Pear Desktop this worked in?
6565
placeholder: 1.20.0
6666
- type: textarea
6767
attributes:
@@ -92,4 +92,4 @@ body:
9292
- type: textarea
9393
attributes:
9494
label: Additional Information
95-
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.
95+
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.

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Feature Request
2-
description: Suggest an idea for YouTube Music
2+
description: Suggest an idea for Pear Desktop
33
title: "[Feature Request]: "
44
labels: "enhancement :sparkles:"
55
body:
@@ -8,9 +8,9 @@ body:
88
label: Preflight Checklist
99
description: Please ensure you've completed all of the following.
1010
options:
11-
- label: I use the latest version of YouTube Music (Application).
11+
- label: I use the latest version of Pear Desktop (Application).
1212
required: true
13-
- 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.
13+
- label: I have searched the [issue tracker](https://github.com/pear-devs/pear-desktop/issues) for a feature request that matches the one I want to file, without success.
1414
required: true
1515
- type: textarea
1616
attributes:

.github/workflows/build.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build YouTube Music
1+
name: Build Pear Desktop
22

33
on:
44
push:
@@ -10,7 +10,8 @@ env:
1010

1111
jobs:
1212
build:
13-
name: Build YouTube Music
13+
if: github.event.pull_request.draft == false
14+
name: Build Pear Desktop
1415
runs-on: ${{ matrix.os }}
1516
strategy:
1617
fail-fast: true
@@ -44,20 +45,20 @@ jobs:
4445

4546
# Only vite build without release if it is a fork, or it is a pull-request
4647
- name: Vite Build
47-
if: github.repository == 'th-ch/youtube-music' && github.event_name == 'pull_request'
48+
if: github.repository == 'pear-devs/pear-desktop' && github.event_name == 'pull_request'
4849
run: |
4950
pnpm build
5051
5152
# Build and release if it's the main repository and is not pull-request
5253
- name: Build and release on Mac
53-
if: startsWith(matrix.os, 'macOS') && (github.repository == 'th-ch/youtube-music' && github.event_name != 'pull_request')
54+
if: startsWith(matrix.os, 'macOS') && (github.repository == 'pear-devs/pear-desktop' && github.event_name != 'pull_request')
5455
env:
5556
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5657
run: |
5758
pnpm release:mac
5859
5960
- name: Build and release on Linux
60-
if: startsWith(matrix.os, 'ubuntu') && (github.repository == 'th-ch/youtube-music' && github.event_name != 'pull_request')
61+
if: startsWith(matrix.os, 'ubuntu') && (github.repository == 'pear-devs/pear-desktop' && github.event_name != 'pull_request')
6162
env:
6263
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6364
run: |
@@ -71,7 +72,7 @@ jobs:
7172
pnpm release:linux
7273
7374
- name: Build and release on Windows
74-
if: startsWith(matrix.os, 'windows') && (github.repository == 'th-ch/youtube-music' && github.event_name != 'pull_request')
75+
if: startsWith(matrix.os, 'windows') && (github.repository == 'pear-devs/pear-desktop' && github.event_name != 'pull_request')
7576
env:
7677
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7778
run: |
@@ -87,8 +88,8 @@ jobs:
8788

8889
release:
8990
runs-on: ubuntu-latest
90-
name: Release YouTube Music
91-
if: github.repository == 'th-ch/youtube-music' && github.ref == 'refs/heads/master'
91+
name: Release Pear Desktop
92+
if: github.repository == 'pear-devs/pear-desktop' && github.ref == 'refs/heads/master'
9293
needs: build
9394
steps:
9495
- uses: actions/checkout@v5
@@ -149,11 +150,11 @@ jobs:
149150
name: ${{ env.VERSION_TAG }}
150151
replacebody: true
151152
body: |
152-
See [changelog](https://github.com/th-ch/youtube-music/blob/master/changelog.md#${{ env.CHANGELOG_ANCHOR }}) for the list of updates and the full diff.
153+
See [changelog](https://github.com/pear-devs/pear-desktop/blob/master/changelog.md#${{ env.CHANGELOG_ANCHOR }}) for the list of updates and the full diff.
153154
154155
Thanks to all contributors! 🏅
155156
156-
(Note for Windows: `YouTube-Music-Web-Setup-${{ env.VERSION_TAG }}.exe` is an installer, and `YouTube-Music-${{ env.VERSION_TAG }}.exe` is a portable version)
157+
(Note for Windows: `Pear-Desktop-Web-Setup-${{ env.VERSION_TAG }}.exe` is an installer, and `Pear-Desktop-${{ env.VERSION_TAG }}.exe` is a portable version)
157158
158159
- name: Update changelog
159160
if: ${{ env.VERSION_HASH == '' }}

.github/workflows/dependency-review.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ permissions:
1212

1313
jobs:
1414
dependency-review:
15+
if: github.event.pull_request.draft == false
1516
runs-on: ubuntu-latest
1617
steps:
1718
- name: "Checkout Repository"
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
name: Build PR Artifacts
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened]
6+
7+
env:
8+
NODE_VERSION: "22.x"
9+
10+
jobs:
11+
check-permissions:
12+
if: github.event.pull_request.draft == false
13+
name: Check if user has write access
14+
runs-on: ubuntu-latest
15+
outputs:
16+
has-write-access: ${{ steps.check.outputs.require-result }}
17+
steps:
18+
- name: Check user permission
19+
id: check
20+
uses: actions-cool/check-user-permission@v2
21+
with:
22+
require: write
23+
username: ${{ github.event.pull_request.user.login }}
24+
25+
build:
26+
name: Build ${{ matrix.os }}
27+
needs: check-permissions
28+
if: needs.check-permissions.outputs.has-write-access == 'true'
29+
runs-on: ${{ matrix.os }}
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
os: [macos-latest, ubuntu-latest, windows-latest]
34+
35+
steps:
36+
- uses: actions/checkout@v5
37+
38+
- name: Install pnpm
39+
uses: pnpm/action-setup@v4
40+
with:
41+
version: 10
42+
run_install: false
43+
44+
- name: Setup NodeJS
45+
if: startsWith(matrix.os, 'macOS') != true
46+
uses: actions/setup-node@v5
47+
with:
48+
node-version: ${{ env.NODE_VERSION }}
49+
cache: 'pnpm'
50+
51+
- name: Setup NodeJS for macOS
52+
if: startsWith(matrix.os, 'macOS')
53+
uses: actions/setup-node@v5
54+
with:
55+
node-version: ${{ env.NODE_VERSION }}
56+
57+
- name: Install dependencies
58+
run: pnpm install --frozen-lockfile
59+
60+
- name: Build on macOS
61+
if: startsWith(matrix.os, 'macOS')
62+
run: |
63+
pnpm dist:mac
64+
pnpm dist:mac:arm64
65+
66+
- name: Install Linux dependencies
67+
if: startsWith(matrix.os, 'ubuntu')
68+
run: |
69+
sudo snap install snapcraft --classic
70+
sudo apt update
71+
sudo apt install -y flatpak flatpak-builder
72+
sudo flatpak remote-add --if-not-exists --system flathub https://flathub.org/repo/flathub.flatpakrepo
73+
sudo flatpak install -y flathub org.freedesktop.Platform/x86_64/24.08
74+
sudo flatpak install -y flathub org.freedesktop.Sdk/x86_64/24.08
75+
sudo flatpak install -y flathub org.electronjs.Electron2.BaseApp/x86_64/24.08
76+
77+
- name: Build on Linux
78+
if: startsWith(matrix.os, 'ubuntu')
79+
run: |
80+
pnpm dist:linux
81+
pnpm dist:linux:deb-arm64
82+
pnpm dist:linux:rpm-arm64
83+
84+
- name: Build on Windows
85+
if: startsWith(matrix.os, 'windows')
86+
run: |
87+
pnpm dist:win
88+
89+
- name: Upload artifacts
90+
uses: actions/upload-artifact@v4
91+
with:
92+
name: build-artifacts-${{ matrix.os }}
93+
path: pack/
94+
retention-days: 7
95+
if-no-files-found: error
96+
97+
comment:
98+
name: Comment on PR
99+
needs: [check-permissions, build]
100+
if: always() && needs.check-permissions.outputs.has-write-access == 'true'
101+
runs-on: ubuntu-latest
102+
permissions:
103+
pull-requests: write
104+
steps:
105+
- name: Create comment
106+
uses: actions/github-script@v7
107+
with:
108+
script: |
109+
const runId = context.runId;
110+
const runUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${runId}`;
111+
112+
const buildResult = '${{ needs.build.result }}';
113+
114+
let comment;
115+
if (buildResult === 'success') {
116+
comment = `## 🚀 Build Artifacts Ready!
117+
118+
The builds have completed successfully. You can download the artifacts from the workflow run:
119+
120+
**[📦 Download Artifacts](${runUrl})**
121+
122+
### Available builds:
123+
- **Windows**: \`build-artifacts-windows-latest\`
124+
- **macOS**: \`build-artifacts-macos-latest\`
125+
- **Linux**: \`build-artifacts-ubuntu-latest\`
126+
127+
*Note: Artifacts are available for 7 days.*`;
128+
} else if (buildResult === 'failure') {
129+
comment = `## ❌ Build Failed
130+
131+
Unfortunately, one or more builds failed. Please check the workflow run for details:
132+
133+
**[View Workflow Run](${runUrl})**`;
134+
} else {
135+
comment = `## ⚠️ Build Status: ${buildResult}
136+
137+
The build process completed with status: **${buildResult}**
138+
139+
**[View Workflow Run](${runUrl})**`;
140+
}
141+
142+
github.rest.issues.createComment({
143+
issue_number: context.issue.number,
144+
owner: context.repo.owner,
145+
repo: context.repo.repo,
146+
body: comment
147+
});

.github/workflows/reviewdog.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ env:
77

88
jobs:
99
eslint:
10+
if: github.event.pull_request.draft == false
1011
name: runner / eslint
1112
runs-on: ubuntu-latest
1213
permissions:

.github/workflows/winget-submission.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ jobs:
2222
- name: Submit package to Windows Package Manager Community Repository
2323
uses: vedantmgoyal2009/winget-releaser@main
2424
with:
25-
identifier: th-ch.YouTubeMusic
26-
installers-regex: '^YouTube-Music-Web-Setup-[\d\.]+\.exe$'
25+
identifier: pear-devs.PearDesktop
26+
installers-regex: '^Pear-Desktop-Web-Setup-[\d\.]+\.exe$'
2727
version: ${{ env.WINGET_TAG_NAME }}
2828
release-tag: ${{ inputs.tag_name || github.event.release.tag_name }}
2929
token: ${{ secrets.WINGET_ACC_TOKEN }}
30-
fork-user: youtube-music-winget
30+
fork-user: pear-desktop-winget

0 commit comments

Comments
 (0)