Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
9e328a3
Added downloader-ytdlp language.
digitalnomad91 Jan 4, 2026
188b8cb
Merge branch 'master' of https://github.com/pear-devs/pear-desktop
digitalnomad91 Jan 10, 2026
2274d04
Add adblocker and downloader-ytdlp plugins with package.json dependen…
digitalnomad91 Jan 10, 2026
0f8f005
Added reason for fork/branch + rebase / merge instructions.
digitalnomad91 Jan 10, 2026
948babb
Merge branch 'pear-devs:master' into master
digitalnomad91 Feb 22, 2026
231b47a
Merged changes.
digitalnomad91 Feb 22, 2026
bc0152b
ci: add concurrency settings to prevent workflow cancellation
digitalnomad91 Feb 22, 2026
bea76ca
Merge pull request #1 from digitalnomad91/feature/adblocker-and-downl…
digitalnomad91 Feb 22, 2026
af83790
Merge branch 'pear-devs:master' into master
digitalnomad91 Feb 25, 2026
1afa844
fix(downloader-ytdlp): fix file-exists logging, IPC conflicts, and NA…
digitalnomad91 Feb 25, 2026
a25cabf
Merge pull request #3 from digitalnomad91/fix/downloader-ytdlp-issues
digitalnomad91 Feb 25, 2026
59865a2
Initial plan
Copilot Feb 28, 2026
9a441a1
Add taskbar-widget mini player plugin for Windows 11
Copilot Feb 28, 2026
4fc110f
Address code review: add IPC channel validation, enable sandbox, impr…
Copilot Feb 28, 2026
7ff2d1a
Embed mini player into Windows taskbar instead of floating above it
Copilot Feb 28, 2026
9017f04
Add comment clarifying Windows 11 taskbar position assumption
Copilot Feb 28, 2026
bb3f3af
Fix widget z-order, prevent DisplayFusion overlay, add monitor selection
Copilot Feb 28, 2026
bdc2131
Fix z-index persistence, auto-hide taskbar, add position offset config
Copilot Feb 28, 2026
876dbd7
Fix lint: import ordering and prettier formatting
Copilot Feb 28, 2026
28e6817
Fix offset persistence, faster z-recovery, compact layout, background…
Copilot Feb 28, 2026
66cb0d7
Address review: improve small button accessibility and restore info gap
Copilot Feb 28, 2026
a113d77
Dynamic widget sizing, immediate visibility recovery, more compact la…
Copilot Feb 28, 2026
1676539
Fix invisible widget blocking clicks + stale offset values in settings
Copilot Feb 28, 2026
380e851
Fix widget disappearing on Start menu / taskbar clicks
Copilot Feb 28, 2026
59a7dc1
Remove accidentally committed package-lock.json (pnpm project)
Copilot Feb 28, 2026
1e654c0
Extract hide recovery retry delays as named constant
Copilot Feb 28, 2026
1141eca
Improve taskbar widget: aggressive visibility recovery, click-to-open…
Copilot Feb 28, 2026
216d0b1
Fix Start menu z-order issue with TOPMOST toggle and event-driven rec…
Copilot Feb 28, 2026
f3e0614
Address review: fix comment reference and revert hide interval to 100ms
Copilot Feb 28, 2026
6f9770e
Fix stutter, Start menu recovery, UI padding/corners, dynamic album c…
Copilot Feb 28, 2026
fa020fc
Address review: use const in widget JS, fix colour→color spelling
Copilot Feb 28, 2026
d35d00b
Restore periodic z-order reassertion with opacity guard, add outer bl…
Copilot Feb 28, 2026
28e7b1c
Increase blur background padding and transparency
Copilot Feb 28, 2026
f2004f0
Adjust blur background padding to halfway between original and double…
Copilot Feb 28, 2026
79be979
Add subtle border, reduce border-radius, increase blur opacity, reduc…
Copilot Feb 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
branches: [ master ]
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false

env:
NODE_VERSION: "22.x"

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
node_modules
/dist
/pack
package-lock.json
.vscode/settings.json
.idea

Expand Down
32 changes: 32 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,35 @@
# Fork Information

## Purpose of This Fork

This fork adds back the **adblocker plugin** and implements a new **ytdlp-based downloader plugin** that provides more reliable downloading functionality compared to the previous youtube.js implementation.

### Key Changes
- **Adblocker Plugin**: Restores ad-blocking capabilities using Cliqz adblocker
- **Downloader (ytdlp)**: New implementation using yt-dlp for robust video/audio downloads

## Keeping Your Feature Branch Updated

**To keep your feature branch updated with upstream changes:**
```bash
git checkout master
git fetch upstream
git merge upstream/master
git push origin master
git checkout feature/adblocker-and-downloader-plugins
git rebase master # Cleanly applies your changes on top of latest master
git push --force-with-lease origin feature/adblocker-and-downloader-plugins
```

**When ready to create a PR to upstream:**
1. Make sure your feature branch is rebased on latest upstream/master (steps above)
2. Push to your fork: `git push origin feature/adblocker-and-downloader-plugins`
3. Go to https://github.com/pear-devs/pear-desktop and create a PR from your fork's branch

Using `rebase` keeps a clean, linear history which is preferred for PRs.
Comment on lines +1 to +29
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is titled/described as adding the Windows 11 taskbar widget, but the README change documents a fork that reintroduces an adblocker and adds a yt-dlp downloader, plus branch maintenance instructions. If this PR is meant to land upstream, these fork-specific sections look out of scope and will confuse end users. Consider reverting this README change or moving it to fork-only documentation.

Copilot uses AI. Check for mistakes.

---

<div align="center" markdown="1">
<sup>Special thanks to:</sup>
<br>
Expand Down
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
"bgutils-js": "3.2.0",
"butterchurn": "3.0.0-beta.5",
"butterchurn-presets": "3.0.0-beta.4",
"chalk": "^5.6.2",
"chinese-conv": "^4.0.0",
"color": "5.0.3",
"conf": "15.1.0",
Expand Down Expand Up @@ -145,6 +146,7 @@
"@playwright/test": "1.58.2",
"@stylistic/eslint-plugin": "5.7.1",
"@total-typescript/ts-reset": "0.6.1",
"@types/chalk": "^2.2.4",
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@types/chalk is a deprecated stub package (chalk ships its own types, especially for v5+). Keeping it adds unnecessary dependencies and can cause type/version mismatches. Remove @types/chalk and rely on the types bundled with chalk instead.

Suggested change
"@types/chalk": "^2.2.4",

Copilot uses AI. Check for mistakes.
"@types/electron-localshortcut": "3.1.3",
"@types/howler": "2.2.12",
"@types/html-to-text": "9.0.4",
Expand Down Expand Up @@ -185,4 +187,4 @@
"unreleased": true,
"output": "changelog.md"
}
}
}
22 changes: 21 additions & 1 deletion pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions src/i18n/resources/ar.json
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,10 @@
"button": "تنزيل"
}
},
"downloader-ytdlp": {
"name": "أداة التنزيل (yt-dlp)",
"description": "يقوم بتنزيل ملفات MP3/مصدر الصوت مباشرة من الواجهة. نسخة من إضافة التنزيل تستخدم yt-dlp.exe. يمكنك تحديد مسار مخصص للملف التنفيذي وضبط سلسلة ملفات تعريف الارتباط (cookies) لتحسين نجاح التنزيلات عبر تضمين ملفات تعريف ارتباط صالحة."
},
"equalizer": {
"description": "يضيف معادل صوتي للمشغل",
"menu": {
Expand Down Expand Up @@ -948,3 +952,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/bg.json
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,10 @@
"button": "Изтегляне"
}
},
"downloader-ytdlp": {
"name": "Изтегляч (yt-dlp)",
"description": "Изтегля MP3 / източниково аудио директно от интерфейса. Версия на приставката за изтегляне, която използва yt-dlp.exe. Можете да зададете персонализиран път до изпълнимия файл и низ с бисквитки (cookies), за да повишите успеваемостта на изтеглянията, като добавите валидни бисквитки."
},
"equalizer": {
"description": "Добавя еквалайзер към плеъра",
"menu": {
Expand Down Expand Up @@ -948,3 +952,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/bn.json
Original file line number Diff line number Diff line change
Expand Up @@ -527,6 +527,10 @@
"button": "ডাউনলোড"
}
},
"downloader-ytdlp": {
"name": "ডাউনলোডার (yt-dlp)",
"description": "ইন্টারফেস থেকে সরাসরি MP3 / উৎস অডিও ডাউনলোড করে. ডাউনলোডার প্লাগইনের একটি সংস্করণ যা yt-dlp.exe ব্যবহার করে। এক্সিকিউটেবলটির জন্য কাস্টম পাথ এবং বৈধ কুকি অন্তর্ভুক্ত করে ডাউনলোড সফলতার হার বাড়াতে একটি cookies string সেট করা যায়।"
},
"equalizer": {
"description": "প্লেয়ারে একটি ইকুয়ালাইজার যোগ করে",
"menu": {
Expand Down Expand Up @@ -897,3 +901,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/ca.json
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,10 @@
"button": "Descarrega"
}
},
"downloader-ytdlp": {
"name": "Descàrregues (yt-dlp)",
"description": "Descarrega el MP3 / àudio d'origen directament des de la interfície. Una versió del connector de descàrrega que utilitza yt-dlp.exe. Pots establir un camí personalitzat per a l'executable i una cadena de cookies per millorar l'èxit de les descàrregues incloent cookies vàlides."
},
"equalizer": {
"description": "Afegeix un equalitzador al reproductor",
"menu": {
Expand Down Expand Up @@ -965,3 +969,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/cs.json
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,10 @@
"button": "Stáhnout"
}
},
"downloader-ytdlp": {
"name": "Stahovač (yt-dlp)",
"description": "Stahuje MP3 / source audio přímo z rozhraní. Verze pluginu stahování, která používá yt-dlp.exe. Můžete nastavit vlastní cestu ke spustitelnému souboru a řetězec cookies pro zlepšení úspěšnosti stahování zahrnutím platných cookies."
},
"equalizer": {
"description": "Přidá do přehrávače ekvalizér",
"menu": {
Expand Down Expand Up @@ -948,3 +952,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,10 @@
"button": "Herunterladen"
}
},
"downloader-ytdlp": {
"name": "Downloader (yt-dlp)",
"description": "Lädt MP3-/Original-Audio direkt von der Schnittstelle herunter. Eine Version des Downloader-Plugins, die yt-dlp.exe verwendet. Du kannst einen benutzerdefinierten Pfad zur ausführbaren Datei sowie einen Cookies-String festlegen, um erfolgreiche Downloads durch gültige Cookies zu verbessern."
},
"equalizer": {
"description": "Fügt einen Equalizer zum Player hinzu",
"menu": {
Expand Down Expand Up @@ -995,3 +999,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/el.json
Original file line number Diff line number Diff line change
Expand Up @@ -527,6 +527,10 @@
"button": "Λήψη"
}
},
"downloader-ytdlp": {
"name": "Κατεβαστής (yt-dlp)",
"description": "Λήψεις MP3 / ήχου πηγής απευθείας από τη διεπαφή. Μια έκδοση του πρόσθετου λήψης που χρησιμοποιεί το yt-dlp.exe. Μπορείς να ορίσεις προσαρμοσμένη διαδρομή για το εκτελέσιμο και μια συμβολοσειρά cookies για να βελτιώσεις την επιτυχία των λήψεων συμπεριλαμβάνοντας έγκυρα cookies."
},
"equalizer": {
"description": "Προσθέτει έναν ισοσταθμιστή στο πρόγραμμα αναπαραγωγής",
"menu": {
Expand Down Expand Up @@ -897,3 +901,4 @@
}
}
}

20 changes: 20 additions & 0 deletions src/i18n/resources/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,10 @@
"button": "Download"
}
},
"downloader-ytdlp": {
"name": "Downloader (yt-dlp)",
"description": "Downloads MP3 / source audio directly from the interface. A version of the downloader plugin that uses yt-dlp.exe. You can set a custom path for the executable and a cookies string to improve successful downloads by including valid cookies."
},
"equalizer": {
"description": "Adds an equalizer to the player",
"menu": {
Expand Down Expand Up @@ -926,6 +930,22 @@
"description": "Control playback from your Windows taskbar",
"name": "Taskbar Media Control"
},
"taskbar-widget": {
"description": "Embeds a mini player into the Windows taskbar with album art, song info, and playback controls",
"name": "Taskbar Widget",
"menu": {
"monitor": {
"label": "Display Monitor",
"primary": "Primary"
},
"position": {
"label": "Position Offset",
"horizontal-offset": "Horizontal offset (px)",
"vertical-offset": "Vertical offset (px)"
},
"background-blur": "Background Blur"
}
},
"touchbar": {
"description": "Adds a TouchBar widget for macOS users",
"name": "TouchBar"
Expand Down
5 changes: 5 additions & 0 deletions src/i18n/resources/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,10 @@
"button": "Descargar"
}
},
"downloader-ytdlp": {
"name": "Gestor de descargas (yt-dlp)",
"description": "Descarga audio MP3 / fuente directamente desde la interfaz. Una versión del complemento de descargas que usa yt-dlp.exe. Puedes establecer una ruta personalizada para el ejecutable y una cadena de cookies para mejorar el éxito de las descargas incluyendo cookies válidas."
},
"equalizer": {
"description": "Añade un ecualizador al reproductor",
"menu": {
Expand Down Expand Up @@ -995,3 +999,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/fa.json
Original file line number Diff line number Diff line change
Expand Up @@ -564,6 +564,10 @@
"button": "دانلود"
}
},
"downloader-ytdlp": {
"name": "دانلودر (yt-dlp)",
"description": "دانلود MP3 / صدای منبع به طور مستقیم از رابط. نسخه‌ای از افزونهٔ دانلود که از yt-dlp.exe استفاده می‌کند. می‌توانید مسیر سفارشی برای فایل اجرایی و یک رشتهٔ کوکی‌ها تنظیم کنید تا با افزودن کوکی‌های معتبر، موفقیت دانلودها بیشتر شود."
},
"equalizer": {
"description": "اضافه کردن یک اکولایزر به پخش‌کننده",
"menu": {
Expand Down Expand Up @@ -964,3 +968,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/fi.json
Original file line number Diff line number Diff line change
Expand Up @@ -527,6 +527,10 @@
"button": "Lataa"
}
},
"downloader-ytdlp": {
"name": "Lataaja (yt-dlp)",
"description": "Lataa MP3- tai lähdetiedoston suoraan käyttöliittymästä. Latauslisäosan versio, joka käyttää yt-dlp.exe:tä. Voit asettaa suoritettavalle tiedostolle mukautetun polun sekä eväste-merkkijonon parantaaksesi latausten onnistumista lisäämällä kelvolliset evästeet."
},
"equalizer": {
"description": "Lisää taajuuskorjaimen toistimeen",
"menu": {
Expand Down Expand Up @@ -777,3 +781,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/fil.json
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,10 @@
"button": "I-download"
}
},
"downloader-ytdlp": {
"name": "Taga-download (yt-dlp)",
"description": "Dina-download ang mga MP3 / source audio direkta mula sa interface. Isang bersyon ng plugin na pang-download na gumagamit ng yt-dlp.exe. Maaari kang magtakda ng custom na path para sa executable at isang cookies string para mas tumaas ang tagumpay ng pag-download sa pamamagitan ng paglalagay ng valid na cookies."
},
"equalizer": {
"description": "Nagdaragdag ng equalizer sa player",
"menu": {
Expand Down Expand Up @@ -910,3 +914,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,10 @@
"button": "Télécharger"
}
},
"downloader-ytdlp": {
"name": "Téléchargeur (yt-dlp)",
"description": "Télécharge les fichiers MP3/source audio directement depuis l'interface. Une version du plugin de téléchargement qui utilise yt-dlp.exe. Vous pouvez définir un chemin personnalisé vers l'exécutable ainsi qu'une chaîne de cookies afin d'améliorer la réussite des téléchargements en incluant des cookies valides."
},
"equalizer": {
"description": "Ajoute un égaliseur au lecteur",
"menu": {
Expand Down Expand Up @@ -995,3 +999,4 @@
}
}
}

5 changes: 5 additions & 0 deletions src/i18n/resources/hi.json
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,10 @@
"button": "डाउनलोड"
}
},
"downloader-ytdlp": {
"name": "डाउनलोडर (yt-dlp)",
"description": "इंटरफ़ेस से सीधे MP3 / स्रोत ऑडियो डाउनलोड करता है. डाउनलोडर प्लगइन का एक संस्करण जो yt-dlp.exe का उपयोग करता है। आप executable के लिए कस्टम पाथ और वैध कुकीज़ शामिल करके डाउनलोड की सफलता बढ़ाने हेतु एक cookies string सेट कर सकते हैं।"
},
"equalizer": {
"description": "प्लेयर में एक एक्विलाइज़र जोड़ता है",
"menu": {
Expand Down Expand Up @@ -826,3 +830,4 @@
}
}
}

Loading
Loading