Date: Tue, 4 Nov 2025 07:10:24 +0000
Subject: [PATCH 03/35] chore: Release v5.46.0-dev.1 [skip ci]
# [5.46.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.45.0...v5.46.0-dev.1) (2025-11-04)
### Features
* **YouTube - Hide layout components:** Add "Hide Hype points" ([#6230](https://github.com/ReVanced/revanced-patches/issues/6230)) ([a52c015](https://github.com/ReVanced/revanced-patches/commit/a52c0153b12c3f6f0ad260e03d2e9850c0466392))
* **YouTube - Hide player flyout menu items:** Add "Hide Listen with YouTube Music" ([#6232](https://github.com/ReVanced/revanced-patches/issues/6232)) ([858edbf](https://github.com/ReVanced/revanced-patches/commit/858edbf3e7f394fcc766d767c8dc54cf5ba24370))
---
CHANGELOG.md | 8 ++++++++
gradle.properties | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 693096982..bd0f54f9c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+# [5.46.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.45.0...v5.46.0-dev.1) (2025-11-04)
+
+
+### Features
+
+* **YouTube - Hide layout components:** Add "Hide Hype points" ([#6230](https://github.com/ReVanced/revanced-patches/issues/6230)) ([a52c015](https://github.com/ReVanced/revanced-patches/commit/a52c0153b12c3f6f0ad260e03d2e9850c0466392))
+* **YouTube - Hide player flyout menu items:** Add "Hide Listen with YouTube Music" ([#6232](https://github.com/ReVanced/revanced-patches/issues/6232)) ([858edbf](https://github.com/ReVanced/revanced-patches/commit/858edbf3e7f394fcc766d767c8dc54cf5ba24370))
+
# [5.45.0](https://github.com/ReVanced/revanced-patches/compare/v5.44.0...v5.45.0) (2025-11-01)
diff --git a/gradle.properties b/gradle.properties
index 277322a56..585a262a6 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.45.0
+version = 5.46.0-dev.1
From e4f52343c08d525fff187f272a626f9e12a8545c Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 4 Nov 2025 14:59:20 +0200
Subject: [PATCH 04/35] chore: Sync translations (#6239)
---
.../addresources/values-af-rZA/strings.xml | 3 +-
.../addresources/values-am-rET/strings.xml | 3 +-
.../addresources/values-ar-rSA/strings.xml | 12 +++--
.../addresources/values-as-rIN/strings.xml | 3 +-
.../addresources/values-az-rAZ/strings.xml | 12 +++--
.../addresources/values-be-rBY/strings.xml | 12 +++--
.../addresources/values-bg-rBG/strings.xml | 12 +++--
.../addresources/values-bn-rBD/strings.xml | 12 +++--
.../addresources/values-bs-rBA/strings.xml | 3 +-
.../addresources/values-ca-rES/strings.xml | 3 +-
.../addresources/values-cs-rCZ/strings.xml | 12 +++--
.../addresources/values-da-rDK/strings.xml | 12 +++--
.../addresources/values-de-rDE/strings.xml | 12 +++--
.../addresources/values-el-rGR/strings.xml | 12 +++--
.../addresources/values-es-rES/strings.xml | 12 +++--
.../addresources/values-et-rEE/strings.xml | 12 +++--
.../addresources/values-eu-rES/strings.xml | 3 +-
.../addresources/values-fa-rIR/strings.xml | 3 +-
.../addresources/values-fi-rFI/strings.xml | 12 +++--
.../addresources/values-fil-rPH/strings.xml | 12 +++--
.../addresources/values-fr-rFR/strings.xml | 12 +++--
.../addresources/values-ga-rIE/strings.xml | 12 +++--
.../addresources/values-gl-rES/strings.xml | 3 +-
.../addresources/values-gu-rIN/strings.xml | 3 +-
.../addresources/values-hi-rIN/strings.xml | 3 +-
.../addresources/values-hr-rHR/strings.xml | 3 +-
.../addresources/values-hu-rHU/strings.xml | 12 +++--
.../addresources/values-hy-rAM/strings.xml | 12 +++--
.../addresources/values-in-rID/strings.xml | 12 +++--
.../addresources/values-is-rIS/strings.xml | 3 +-
.../addresources/values-it-rIT/strings.xml | 12 +++--
.../addresources/values-iw-rIL/strings.xml | 12 +++--
.../addresources/values-ja-rJP/strings.xml | 50 ++++++++++---------
.../addresources/values-ka-rGE/strings.xml | 3 +-
.../addresources/values-kk-rKZ/strings.xml | 3 +-
.../addresources/values-km-rKH/strings.xml | 3 +-
.../addresources/values-kn-rIN/strings.xml | 3 +-
.../addresources/values-ko-rKR/strings.xml | 12 +++--
.../addresources/values-ky-rKG/strings.xml | 3 +-
.../addresources/values-lo-rLA/strings.xml | 3 +-
.../addresources/values-lt-rLT/strings.xml | 12 +++--
.../addresources/values-lv-rLV/strings.xml | 12 +++--
.../addresources/values-mk-rMK/strings.xml | 3 +-
.../addresources/values-ml-rIN/strings.xml | 3 +-
.../addresources/values-mn-rMN/strings.xml | 3 +-
.../addresources/values-mr-rIN/strings.xml | 3 +-
.../addresources/values-ms-rMY/strings.xml | 3 +-
.../addresources/values-my-rMM/strings.xml | 3 +-
.../addresources/values-nb-rNO/strings.xml | 3 +-
.../addresources/values-ne-rIN/strings.xml | 3 +-
.../addresources/values-nl-rNL/strings.xml | 12 +++--
.../addresources/values-or-rIN/strings.xml | 3 +-
.../addresources/values-pa-rIN/strings.xml | 3 +-
.../addresources/values-pl-rPL/strings.xml | 12 +++--
.../addresources/values-pt-rBR/strings.xml | 12 +++--
.../addresources/values-pt-rPT/strings.xml | 12 +++--
.../addresources/values-ro-rRO/strings.xml | 12 +++--
.../addresources/values-ru-rRU/strings.xml | 12 +++--
.../addresources/values-si-rLK/strings.xml | 3 +-
.../addresources/values-sk-rSK/strings.xml | 12 +++--
.../addresources/values-sl-rSI/strings.xml | 12 +++--
.../addresources/values-sq-rAL/strings.xml | 12 +++--
.../addresources/values-sr-rCS/strings.xml | 12 +++--
.../addresources/values-sr-rSP/strings.xml | 12 +++--
.../addresources/values-sv-rSE/strings.xml | 12 +++--
.../addresources/values-sw-rKE/strings.xml | 3 +-
.../addresources/values-ta-rIN/strings.xml | 3 +-
.../addresources/values-te-rIN/strings.xml | 3 +-
.../addresources/values-th-rTH/strings.xml | 12 +++--
.../addresources/values-tr-rTR/strings.xml | 12 +++--
.../addresources/values-uk-rUA/strings.xml | 18 ++++---
.../addresources/values-ur-rIN/strings.xml | 3 +-
.../addresources/values-uz-rUZ/strings.xml | 3 +-
.../addresources/values-vi-rVN/strings.xml | 12 +++--
.../addresources/values-zh-rCN/strings.xml | 12 +++--
.../addresources/values-zh-rTW/strings.xml | 12 +++--
.../addresources/values-zu-rZA/strings.xml | 3 +-
77 files changed, 351 insertions(+), 302 deletions(-)
diff --git a/patches/src/main/resources/addresources/values-af-rZA/strings.xml b/patches/src/main/resources/addresources/values-af-rZA/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-af-rZA/strings.xml
+++ b/patches/src/main/resources/addresources/values-af-rZA/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-am-rET/strings.xml
+++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
index a56d4fcfa..03abd0d1f 100644
--- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
+++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
إخفاء \'كيف تم إنشاء هذا المحتوى\'
تم إخفاء قسم كيف تم إنشاء هذا المحتوى
يتم عرض قسم كيف تم إنشاء هذا المحتوى
+ إخفاء نقاط الإثارة
+ تم إخفاء نقاط الإثارة
+ يتم عرض نقاط الإثارة
إخفاء \'استكشاف البودكاست\'
تم إخفاء قسم استكشاف البودكاست
يتم عرض قسم استكشاف البودكاست
@@ -771,15 +774,14 @@ Second \"item\" text"
إخفاء سرعة التشغيل
تم إخفاء قائمة سرعة التشغيل
يتم عرض قائمة سرعة التشغيل
-
- إخفاء المزيد من المعلومات
- تم إخفاء قائمة المزيد من المعلومات
- يتم عرض قائمة المزيد من المعلومات
إخفاء شاشة القفل
تم إخفاء قائمة شاشة القفل
يتم عرض قائمة شاشة القفل
+
+ إخفاء الاستماع باستخدام YouTube Music
+ قائمة الاستماع باستخدام YouTube Music مخفية
+ قائمة الاستماع باستخدام YouTube Music ظاهرة
إخفاء المقطع الصوتي
تم إخفاء قائمة المقطع الصوتي
diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml
index efed7ec2d..49c5f8b87 100644
--- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml
@@ -135,9 +135,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
index 5b8058b40..f3128f244 100644
--- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
@@ -328,6 +328,9 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum
\'Bu kontent necə hazırlanıb\'ı Gizlət
Bu məzmunun necə hazırlandığı bölməsi gizlidir
Bu məzmunun necə hazırlandığı bölməsi görünür
+ Hype nöqtələrini gizlət
+ Hype nöqtələri gizlədilib
+ Hype nöqtələri göstərilir
\'Podkastı araşdırın\"-ı Gizlət
Podkast bölməsin araşdırın gizlidir
Podkast bölməsin araşdırın görünür
@@ -771,15 +774,14 @@ Bu seçimi dəyişdirmə işə düşmürsə, Gizli rejimə keçməyə çalışı
\"Oynatma sürəti\"ni gizlət
Oynatma sürəti menyusu gizlidir
Oynatma sürəti menyusu göstərilir
-
- \"Daha çox məlumat\"ı gizlət
- Ətraflı məlumat menyusu gizlidir
- Ətraflı məlumat menyusu göstərilir
Kilid ekranını gizlət
Kilid ekranı menyusu gizlidir
Kilid ekranı menyusu göstərilir
+
+ YouTube Music ilə dinləməni gizlət
+ YouTube Music ilə dinlə menyusu gizlədilib
+ YouTube Music ilə dinlə menyusu göstərilir
Səs trekini gizlət
Səs axını menyusu gizlidir
diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
index ccbe93cb6..7a61591a7 100644
--- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml
+++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
Схаваць «Як быў створаны гэты кантэнт»
Раздзел «Як быў створаны гэты кантэнт» схаваны
Раздзел «Як быў створаны гэты кантэнт» паказаны
+ Схаваць Hype балы
+ Hype балы схаваны
+ Hype балы паказаны
Схаваць «Пазнаёмцеся з падкастам»
Раздзел «Пазнаёмцеся з падкастам» схаваны
Раздзел «Пазнаёмцеся з падкастам» паказаны
@@ -771,15 +774,14 @@ Second \"item\" text"
Схаваць хуткасць прайгравання
Меню хуткасці прайгравання схавана
Адлюструецца меню хуткасці прайгравання
-
- Схаваць Дадатковая інфармацыя
- Меню дадатковай інфармацыі схавана
- Паказана меню дадатковай інфармацыі
Схаваць экран блакіроўкі
Меню экрана блакіроўкі схавана
Адлюстроўваецца меню блакіроўкі экрана
+
+ Схаваць \'Слухаць у YouTube Music\'
+ Меню \'Слухаць у YouTube Music\' схавана
+ Меню \'Слухаць у YouTube Music\' паказана
Схаваць гукавую дарожку
Меню гукавой дарожкі схавана
diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
index 6b5f61c3b..c107758fe 100644
--- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
+++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
Скриване на \"Как е създадено това съдържание\"
Секцията \"Как е създадено това съдържание\" е скрита
Секцията \"Как е създадено това съдържание\" е показана
+ Скриване на точките на хайп
+ Точките на хайп са скрити
+ Точките на хайп са показани
Скриване на \"Разгледайте подкаста\"
Секцията \"Разгледайте подкаста\" е скрита
Секцията \"Разгледайте подкаста\" е показана
@@ -771,15 +774,14 @@ Second \"item\" text"
Скриване на скоростта на възпроизвеждане
Менюто за скорост на видеото е скрито
Менюто за скорост на видеото се показва
-
- \"Допълнителна информация\"
- \"Допълнителна информация\" е скрита
- \"Допълнителна информация\" се показва
\"Заключен екран\"
Менюто на заключен екран е скрито
Менюто на заключен екран се показва
+
+ Скриване на Слушане с YouTube Music
+ Менюто Слушане с YouTube Music е скрито
+ Менюто Слушане с YouTube Music е показано
Избор на Аудио
Менюто за избор на Аудио е скрито
diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
index 0f017c3ce..5bfabe0d0 100644
--- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
+++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
@@ -324,6 +324,9 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
\'How this content was made\' লুকান
How this content was made বিভাগটি লুকানো আছে
How this content was made বিভাগটি দেখানো হয়েছে
+ হাইপ পয়েন্ট লুকান
+ হাইপ পয়েন্ট লুকানো আছে
+ হাইপ পয়েন্ট দেখানো আছে
\'Explore the podcast\' লুকান
Explore the podcast বিভাগটি লুকানো আছে
Explore the podcast বিভাগটি দেখানো হয়েছে
@@ -767,15 +770,14 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
প্লেব্যাকের স্পিড লুকান
প্লেব্যাকের স্পিড মেনু লুকিয়ে রয়েছে
প্লেব্যাকের স্পিড মেনু প্রদর্শিত হয়েছে
-
- আরো তথ্য লুকান
- আরও তথ্য মেনু লুকানো আছে
- আরও তথ্য মেনু দেখানো হয়
লক স্ক্রীন লুকান
লক স্ক্রীন মেনু লুকানো আছে
লক স্ক্রিন মেনু দেখানো হয়েছে
+
+ ইউটিউব মিউজিক দিয়ে শুনুন লুকান
+ ইউটিউব মিউজিক দিয়ে শুনুন মেনু লুকানো আছে
+ ইউটিউব মিউজিক দিয়ে শুনুন মেনু দেখানো আছে
অডিও ট্র্যাক লুকান
অডিও ট্র্যাক মেনু লুকানো আছে
diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml
+++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
index c4fc334a8..508ab7d40 100644
--- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
@@ -328,6 +328,9 @@ Pokud se Doodle v současné době zobrazuje ve vaší oblasti a toto nastavení
Skrýt „Jak tento obsah vznikl“
Sekce Jak tento obsah vznikl je skrytá
Sekce Jak tento obsah vznikl je zobrazena
+ Skrýt Hype body
+ Hype body jsou skryté
+ Hype body jsou zobrazené
Skrýt „Prozkoumat podcast“
Sekce Prozkoumat podcast je skrytá
Sekce Prozkoumat podcast je zobrazena
@@ -771,15 +774,14 @@ Pokud změna tohoto nastavení nemá žádný účinek, zkuste přepnout do rež
Skrýt Rychlost přehrávání
Menu Rychlost přehrávání je skryto
Menu Rychlost přehrávání je zobrazeno
-
- Skrýt Více informací
- Menu Více informací je skryto
- Menu Více informací je zobrazeno
Skrýt Zamknout obrazovku
Menu Zamknout obrazovku je skryto
Menu Zamknout obrazovku je zobrazeno
+
+ Skrýt Poslouchat v YouTube Music
+ Nabídka Poslouchat v YouTube Music je skrytá
+ Nabídka Poslouchat v YouTube Music je zobrazena
Skrýt Zvuková stopa
Menu Zvuková stopa je skryto
diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
index a6fa45cb8..b2b0c23c9 100644
--- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml
+++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
@@ -328,6 +328,9 @@ Hvis et Doodle vises i øjeblikket i din region, og denne skjuleindstilling er a
Skjul \"Hvordan dette indhold blev lavet\"
Sektionen Sådan blev dette indhold lavet er skjult
Sektionen Sådan blev dette indhold lavet vises
+ Skjul Hype-point
+ Hype-point er skjult
+ Hype-point er vist
Skjul \"Udforsk podcasten\"
Sektionen Udforsk podcasten er skjult
Sektionen Udforsk podcasten vises
@@ -771,15 +774,14 @@ Hvis ændring af denne indstilling ikke træder i kraft, kan du prøve at skifte
Skjul afspilningshastighed
Afspilningshastighedsmenu er skjult
Afspilningshastighed menuen vises
-
- Skjul Mere info
- Mere info menu er skjult
- Mere info menu er vist
Skjul låseskærm
Menuen Låseskærm er skjult
Låseskærmsmenuen vises
+
+ Skjul Lyt med YouTube Music
+ Lyt med YouTube Music-menuen er skjult
+ Lyt med YouTube Music-menuen vises
Skjul lydspor
Menuen for lydspor er skjult
diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
index 9c0fe3cc3..8f0950c4a 100644
--- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml
+++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
@@ -327,6 +327,9 @@ Wenn ein Doodle zurzeit in Ihrer Region angezeigt wird und diese Einstellung zum
\"Wie dieser Inhalt erstellt wurde\" ausblenden
Der Abschnitt \"Wie dieser Inhalt erstellt wurde\" ist ausgeblendet
Der Abschnitt \"Wie dieser Inhalt erstellt wurde\" wird angezeigt
+ Hype-Punkte ausblenden
+ Hype-Punkte sind ausgeblendet
+ Hype-Punkte werden angezeigt
\'Podcast entdecken\' ausblenden
Der Abschnitt \"Podcast entdecken\" ist ausgeblendet
Der Abschnitt \"Podcast entdecken\" wird angezeigt
@@ -768,15 +771,14 @@ Wenn diese Änderung nicht wirksam wird, versuchen Sie, in den Inkognito-Modus z
Wiedergabegeschwindigkeit ausblenden
Wiedergabegeschwindigkeit ist ausgeblendet
Wiedergabegeschwindigkeit wird angezeigt
-
- Mehr Info ausblenden
- Mehr Info-Menü ist ausgeblendet
- Mehr Info-Menü wird angezeigt
Sperrbildschirm ausblenden
Sperrbildschirm-Menü ist ausgeblendet
Sperrbildschirm-Menü wird angezeigt
+
+ „Mit YouTube Music hören“ ausblenden
+ „Mit YouTube Music hören“-Menü ist ausgeblendet
+ „Mit YouTube Music hören“-Menü wird angezeigt
Audiospur ausblenden
Audiospur-Menü ist ausgeblendet
diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
index 37ddafdf3..710890ccb 100644
--- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml
+++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
@@ -330,6 +330,9 @@ Second \"item\" text"
Ενότητα «Πως δημιουργήθηκε αυτό το περιεχόμενο»
Κρυμμένη
Εμφανίζεται
+ Απόκρυψη πόντων Hype
+ Οι πόντοι Hype είναι κρυμμένοι
+ Οι πόντοι Hype εμφανίζονται
Ενότητα «Εξερευνήστε το podcast»
Κρυμμένη
Εμφανίζεται
@@ -773,15 +776,14 @@ Second \"item\" text"
Μενού «Ταχύτητα αναπαραγωγής»
Κρυμμένο
Εμφανίζεται
-
- Μενού «Περισσότερα»
- Κρυμμένο
- Εμφανίζεται
Μενού «Οθόνη κλειδώματος»
Κρυμμένο
Εμφανίζεται
+
+ Απόκρυψη Ακρόασης με YouTube Music
+ Το μενού Ακρόαση με YouTube Music είναι κρυμμένο
+ Το μενού Ακρόαση με YouTube Music εμφανίζεται
Μενού «Κομμάτι ήχου»
Κρυμμένο
diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml
index 4d47100b4..0699fb3f9 100644
--- a/patches/src/main/resources/addresources/values-es-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml
@@ -328,6 +328,9 @@ Si un doodle se está mostrando actualmente en tu región y este ajuste de ocult
Ocultar \"Cómo se hizo este contenido\"
La sección Cómo se hizo este contenido está oculta
Se muestra la sección Cómo se hizo este contenido
+ Ocultar puntos de Hype
+ Los puntos de Hype están ocultos
+ Los puntos de Hype están visibles
Ocultar \"Explora el pódcast\"
La sección Explora el pódcast está oculta
Se muestra la sección Explora el pódcast
@@ -771,15 +774,14 @@ Si cambiar este ajuste no tiene efecto, intenta cambiar al modo incógnito."Ocultar velocidad de reproducción
Menú de velocidad de reproducción oculto
Mostrar menú de velocidad de reproducción
-
- Ocultar Más información
- El menú Más información está oculto
- Se muestra el menú Más información
Ocultar pantalla de bloqueo
El menú de la pantalla de bloqueo está oculto
Se muestra el menú de pantalla de bloqueo
+
+ Ocultar Escuchar con YouTube Music
+ El menú Escuchar con YouTube Music está oculto
+ El menú Escuchar con YouTube Music está visible
Ocultar pista de audio
El menú de pista de audio está oculto
diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
index e386c7fb7..c56e9e215 100644
--- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml
+++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
@@ -328,6 +328,9 @@ Kui Doodle on teie piirkonnas praegu nähtav ja see peitmise seade on sisse lül
Peida \"Kuidas see sisu loodi\"
Kuidas see sisu loodi jaotis on peidetud
Kuidas see sisu loodi jaotis on kuvatud
+ Peida Hype\'i punktid
+ Hype\'i punktid on peidetud
+ Hype\'i punktid on nähtavad
Peida \"Avasta taskuhäälingut\"
Avasta taskuhäälingut jaotis on peidetud
Avasta taskuhäälingut jaotis on kuvatud
@@ -771,15 +774,14 @@ Kui selle sätte muutmine ei avalda mõju, proovige lülituda Inkognito režiimi
Peida Esituse kiirus
Esituse kiiruse menüü on peidetud
Esituse kiiruse menüü on nähtav
-
- Peida Lisateave
- Lisateabe menüü on peidetud
- Lisateabe menüü on nähtav
Peida Ekraani lukustus
Ekraani lukustuse menüü on peidetud
Ekraani lukustuse menüü on nähtav
+
+ Peida Kuula YouTube Musicuga
+ Kuula YouTube Musicuga menüü on peidetud
+ Kuula YouTube Musicuga menüü on nähtav
Peida Helitraek
Helitraekide menüü on peidetud
diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml
index 8a9c424a7..4458790c7 100644
--- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml
+++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml
@@ -181,9 +181,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
index b0ac3fdbb..0520602dc 100644
--- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
+++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
@@ -328,6 +328,9 @@ Jos Doodle näkyy tällä hetkellä alueellasi ja tämä piilotusasetus on käyt
Piilota \"Miten sisältö on luotu\"
Miten sisältö on luotu -osio piilotetaan
Miten sisältö on luotu -osio näytetään
+ Piilota Hype-pisteet
+ Hype-pisteet piilotetaan
+ Hype-pisteet näytetään
Piilota \"Tutustu podcastiin\"
Tutustu podcastiin -osio piilotetaan
Tutustu podcastiin -osio näytetään
@@ -771,15 +774,14 @@ Jos tämän asetuksen muuttaminen ei tule voimaan, kokeile vaihtaa Incognito-til
Piilota Toistonopeus
Toistonopeusvalikko piilotetaan
Toistonopeusvalikko näytetään
-
- Piilota Lisätietoja
- Lisätietoja-valinta piilotetaan
- Lisätietoja-valinta näytetään
Piilota Näytön lukitus
Näytön lukitus -valinta piilotetaan
Näytön lukitus -valinta näytetään
+
+ Piilota Kuuntele YouTube Musicilla
+ Kuuntele YouTube Musicilla -valikko on piilotettu
+ Kuuntele YouTube Musicilla -valikko on näkyvissä
Piilota Ääniraita
Ääniraitavalikko piilotetaan
diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
index 9f8b3dd81..cdb1829a5 100644
--- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
+++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
@@ -328,6 +328,9 @@ Kung ang isang Doodle ay kasalukuyang ipinapakita sa iyong rehiyon at ang settin
Itago ang \'Paano ginawa ang content na ito\'
Nakatago ang seksyon ng Paano ginawa ang content na ito
Ipinapakita ang seksyon ng Paano ginawa ang content na ito
+ Itago ang mga Puntos ng Hype
+ Nakatago ang mga Puntos ng Hype
+ Ipinapakita ang mga Puntos ng Hype
Itago ang \'I-explore ang podcast\'
Nakatago ang seksyon ng I-explore ang podcast
Ipinapakita ang seksyon ng I-explore ang podcast
@@ -769,15 +772,14 @@ Tandaan: Ang pagpapagana nito ay nagtatago rin ng mga ad ng video"
Itago ang bilis ng pag-playback
Nakatago ang menu ng bilis ng pag-playback
Ang menu ng bilis ng pag-playback ay ipinapakita
-
- Itago ang Higit pang impormasyon
- Nakatago ang menu ng higit pang impormasyon
- Ang menu ng higit pang impormasyon ay ipinapakita
Itago ang Lock screen
Nakatago ang menu ng lock screen
Ipinapakita ang menu ng lock screen
+
+ Itago ang Makinig gamit ang YouTube Music
+ Nakatago ang menu ng Makinig gamit ang YouTube Music
+ Ipinapakita ang menu ng Makinig gamit ang YouTube Music
Itago ang Audio track
Nakatago ang menu ng audio track
diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
index 2cb49e62f..7d71ab443 100644
--- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
+++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
@@ -328,6 +328,9 @@ Si un Doodle est actuellement affiché dans votre région et que cette option de
Masquer \"Comment ce contenu a été créé\"
La section \"Comment ce contenu a été créé\" est masquée
La section \"Comment ce contenu a été créé\" est affichée
+ Masquer les points Boost
+ Les points Boost sont masqués
+ Les points Boost sont affichés
Masquer \"Découvrir le podcast\"
La section \"Découvrir le podcast\" est masquée
La section \"Découvrir le podcast\" est affichée
@@ -771,15 +774,14 @@ Si la modification de ce paramètre ne prend pas effet, essayez de passer en mod
Masquer \"Vitesse de lecture\"
Le menu Vitesse de lecture est masqué
Le menu Vitesse de lecture est affiché
-
- Masquer \"Plus d\'infos\"
- Le menu Plus d\'infos est masqué
- Le menu Plus d\'infos est affiché
Masquer \"Verrouiller l\'écran\"
Le menu Verrouiller l\'écran est masqué
Le menu Verrouiller l\'écran est affiché
+
+ Masquer \"Écouter avec YouTube Music\"
+ Le menu Écouter avec YouTube Music est masqué
+ Le menu Écouter avec YouTube Music est affiché
Masquer \"Piste audio\"
Le menu Piste audio est masqué
diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
index 1ce439b48..f77199cf2 100644
--- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
+++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
@@ -328,6 +328,9 @@ Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsu
Folaigh \'Conas a rinneadh an t-ábhar seo\'
Tá an chuid Conas a rinneadh an t-ábhar seo i bhfolach
Taispeántar an chuid Conas a rinneadh an t-ábhar seo
+ Folaigh pointí Hype
+ Tá pointí Hype i bhfolach
+ Taispeántar pointí Hype
Folaigh \'Déan iniúchadh ar an bpodchraoladh\'
Tá an chuid Déan iniúchadh ar an bpodchraoladh i bhfolach
Taispeántar an chuid Déan iniúchadh ar an bpodchraoladh
@@ -769,15 +772,14 @@ Mura dtagann aon athrú ar an socrú seo, bain triail as mód Incognito a chur a
Folaigh luas athsheinm
Tá roghchlár luas athsheinm i bhfolach
Taispeántar roghchlár luas athsheinm
-
- Folaigh Tuilleadh eolais
- Tá tuilleadh eolais i bhfolach
- Taispeántar roghchlár tuilleadh eolais
Folaigh scáileán Glas
Tá roghchlár scáileán glas i bhfolach
Taispeántar roghchlár an scáileáin ghlasála
+
+ Folaigh Éist le YouTube Music
+ Tá roghchlár Éist le YouTube Music i bhfolach
+ Taispeántar an roghchlár Éist le YouTube Music
Folaigh Rian Fuaime
Tá roghchlár rian fuaime i bhfolach
diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml
index 3b5672382..a447fbec2 100644
--- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml
@@ -136,9 +136,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml
index 09bfdb4ae..9bebfc982 100644
--- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml
+++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml
@@ -135,9 +135,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
index 0c7c86f34..4411354e0 100644
--- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
+++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
@@ -328,6 +328,9 @@ Ha a Doodle jelenleg a régiódában látható, és ez a rejtés beállítás be
A „Hogyan készült ez a tartalom” elrejtése
A Hogyan készült ez a tartalom szakasz rejtett
A Hogyan készült ez a tartalom szakasz látható
+ Hype pontok elrejtése
+ A Hype pontok el vannak rejtve
+ A Hype pontok láthatóak
A „Podcast felfedezése” elrejtése
A Podcast felfedezése szakasz rejtett
A Podcast felfedezése szakasz látható
@@ -771,15 +774,14 @@ Ha a beállítás módosítása nem lép életbe, próbáljon meg Inkognitó mó
Lejátszási sebesség elrejtése
A lejátszási sebesség menü el van rejtve
A lejátszási sebesség menü látható
-
- További információk elrejtése
- A további információ menü el van rejtve
- A további információ menü megjelenik
Lezárási képernyő elrejtése
A lezárási képernyő menü el van rejtve
A lezárási képernyő menü megjelenik
+
+ \"Meghallgatás YouTube Music alkalmazással\" elrejtése
+ A(z) \"Meghallgatás YouTube Music alkalmazással\" menü rejtett
+ A(z) \"Meghallgatás YouTube Music alkalmazással\" menü megjelenítve
Hangsáv elrejtése
A hangsáv menü el van rejtve
diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
index 48e7e22e7..9cd1beadd 100644
--- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
+++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
@@ -328,6 +328,9 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
Թաքցնել \"Ինչպես է պատրաստվել այս բովանդակությունը\"
Ինչպես է պատրաստվել այս բովանդակությունը բաժինը թաքցված է
Ինչպես է պատրաստվել այս բովանդակությունը բաժինը ցուցադրվում է
+ Թաքցնել Hype միավորները
+ Hype միավորները թաքնված են
+ Hype միավորները ցուցադրվում են
Թաքցնել \"Բացահայտեք փոդքասթը\"
Բացահայտեք փոդքասթը բաժինը թաքցված է
Բացահայտեք փոդքասթը բաժինը ցուցադրվում է
@@ -771,15 +774,14 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
Վերարտադրման արագությունը թաքցնել
Վերարտադրման արագության մենյուը թաքցված է
Վերարտադրման արագության մենյուը երևում է
-
- Լրացուցիչ տեղեկությունը թաքցնել
- Լրացուցիչ տեղեկությունների մենյուը թաքցված է
- Լրացուցիչ տեղեկությունների մենյուը երևում է
Էկրանի արգելափակումը թաքցնել
Էկրանի արգելափակման մենյուը թաքցված է
Էկրանի արգելափակման մենյուը երևում է
+
+ Թաքցնել Լսել YouTube Music-ով
+ Լսել YouTube Music-ով մենյուն թաքցված է
+ Լսել YouTube Music-ով մենյուն ցուցադրված է
Աուդիո ձայնագրությունը թաքցնել
Աուդիո ձայնագրման մենյուը թաքցված է
diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml
index 1bc00ca0b..458d18907 100644
--- a/patches/src/main/resources/addresources/values-in-rID/strings.xml
+++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml
@@ -328,6 +328,9 @@ Jika Doodle saat ini ditampilkan di wilayah Anda dan pengaturan penyembunyi ini
Sembunyikan \'Cara konten ini dibuat\'
Bagian Cara konten ini dibuat disembunyikan
Bagian Cara konten ini dibuat ditampilkan
+ Sembunyikan Poin Hype
+ Poin Hype disembunyikan
+ Poin Hype ditampilkan
Sembunyikan \'Jelajahi podcast\'
Bagian Jelajahi podcast disembunyikan
Bagian Jelajahi podcast ditampilkan
@@ -771,15 +774,14 @@ Jika mengubah setelan ini tidak berpengaruh, coba beralih ke mode Penyamaran."
Sembunyikan Kecepatan pemutaran
Menu kecepatan pemutaran disembunyikan
Menu kecepatan pemutaran ditampilkan
-
- Sembunyikan Info selengkapnya
- Menu info selengkapnya disembunyikan
- Menu info selengkapnya ditampilkan
Sembunyikan Kunci layar
Menu kunci layar disembunyikan
Menu kunci layar ditampilkan
+
+ Sembunyikan Dengarkan dengan YouTube Music
+ Menu Dengarkan dengan YouTube Music disembunyikan
+ Menu Dengarkan dengan YouTube Music ditampilkan
Sembunyikan trek Audio
Menu trek audio disembunyikan
diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml
+++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
index ee8bf8d7d..6c998e8ee 100644
--- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml
+++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
@@ -328,6 +328,9 @@ Se al momento un Doodle è visibile nella tua regione e questa impostazione nasc
Nascondi \"Come è stato realizzato questo contenuto\"
La sezione Come è stato realizzato questo contenuto è nascosta
La sezione Come è stato realizzato questo contenuto è visibile
+ Nascondi i punti Hype
+ I punti Hype sono nascosti
+ I punti Hype sono mostrati
Nascondi \"Esplora il podcast\"
La sezione Esplora il podcast è nascosta
La sezione Esplora il podcast è visibile
@@ -771,15 +774,14 @@ Se la modifica di questa impostazione non ha effetto, prova a passare alla modal
Nascondi Velocità di riproduzione
Il menu Velocità di riproduzione è nascosto
Il menu Velocità di riproduzione è visibile
-
- Nascondi Maggiori Informazioni
- Il menu Maggiori Informazioni è nascosto
- Il menu Maggiori Informazioni è visibile
Nascondi Blocca schermo
Il menu Blocca Schermo è nascosto
Il menu Blocca Schermo è visibile
+
+ Nascondi Ascolta con YouTube Music
+ Il menu Ascolta con YouTube Music è nascosto
+ Il menu Ascolta con YouTube Music è visualizzato
Nascondi Traccia audio
Il menu Traccia audio è nascosto
diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
index 3e91971a8..407bd1ce1 100644
--- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
+++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
הסתר את \'איך התוכן הזה נוצר\'
מדור \'איך התוכן הזה נוצר\' מוסתר
מדור \'איך התוכן הזה נוצר\' מוצג
+ הסתר נקודות הייפ
+ נקודות הייפ מוסתרות
+ נקודות הייפ מוצגות
הסתר את \'גלה את הפודקאסט\'
מדור \'גלה את הפודקאסט\' מוסתר
מדור \'גלה את הפודקאסט\' מוצג
@@ -771,15 +774,14 @@ Second \"item\" text"
הסתר מהירות ההפעלה
תפריט מהירות ההפעלה מוסתר
תפריט מהירות ההפעלה מוצג
-
- הסתר מידע נוסף
- תפריט מידע נוסף מוסתר
- תפריט מידע נוסף מוצג
הסתר נעילת מגע
תפריט נעילת מגע מוסתר
תפריט נעילת מגע מוצג
+
+ הסתר האזנה עם YouTube Music
+ תפריט \"האזנה עם YouTube Music\" מוסתר
+ תפריט \"האזנה עם YouTube Music\" מוצג
הסתר טראק אודיו
תפריט טראק אודיו מוסתר
diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
index e4181b89e..27a71ca9b 100644
--- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
+++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
@@ -330,6 +330,9 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
「このコンテンツの作成手段」を非表示
「このコンテンツの作成手段」セクションは表示されません
「このコンテンツの作成手段」セクションは表示されます
+ ハイプポイントを非表示
+ ハイプポイントは表示されません
+ ハイプポイントは表示されます
「ポッドキャストを検索」を非表示
「ポッドキャストを検索」セクションは表示されません
「ポッドキャストを検索」セクションは表示されます
@@ -773,15 +776,14 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
「再生速度」を非表示
「再生速度」は表示されません
「再生速度」は表示されます
-
- 「詳細情報」を非表示
- 「詳細情報」は表示されません
- 「詳細情報」は表示されます
「画面のロック」を非表示
「画面のロック」は表示されません
「画面のロック」は表示されます
+
+ 「YouTube Music で聴く」を非表示にする
+ 「YouTube Music で聴く」メニューは非表示
+ 「YouTube Music で聴く」メニューは表示
「音声トラック」を非表示
「音声トラック」は表示されません
@@ -1089,12 +1091,12 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
スキップボタンは、表示された数秒後に自動的に非表示になります
スキップボタンは、セグメントの開始から終了まで表示されます
スキップボタンの表示時間
- 自動非表示設定のスキップボタンと「ハイライトまでスキップ」ボタンが表示される時間の長さ
+ 「ハイライトまでスキップ」ボタンと「スキップボタンを自動的に非表示」がオンのときのその他のスキップボタンが、自動的に非表示になるまでの時間の長さ
自動スキップ時にトーストを表示
セグメントが自動的にスキップされたときにトースト通知が表示されます。このトースト通知をタップすると、スキップを取り消すことができます
セグメントが自動的にスキップされたときにトースト通知は表示されません。このトースト通知をタップすると、スキップを取り消すことができます
スキップ トーストの表示時間
- 自動スキップ時にトースト通知が表示される時間の長さ
+ セグメントが自動的にスキップされたときに表示されるトースト通知が、自動的に非表示になるまでの時間の長さ
1 秒
2 秒
3 秒
@@ -1151,31 +1153,31 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
このユーザー ID は、パスワードのようなものであり、決して共有すべきではありません。"
今後表示しない
セグメントに対する動作を変更
- 広告
- 有料の宣伝 、有料の紹介、直接的な広告。自己宣伝や好意をもって行う、慈善活動、クリエーター、ウェブサイト、製品などの無償の紹介は含まれません
+ スポンサー (広告)
+ 有料の宣伝、有料の紹介、直接的な広告。自己宣伝や好意をもって行う、慈善活動、クリエーター、ウェブサイト、製品などの無償の紹介は、このカテゴリには含まれません
無報酬の宣伝 / 自己宣伝
- 無報酬または自己宣伝である、という点以外は「広告」と同様です。商品、寄付、コラボ相手に関する宣伝などを含みます
- 視聴者への催促 (登録など)
- 動画内に挿入される視聴者への高評価、チャンネル登録、フォローなどの時間的に短い催促。時間的に長い催促またはイベントなどの個別具体的なものに関する催促は、「視聴者への催促」ではなく「自己宣伝」に分類すべきです
+ 無報酬または自己宣伝である、という点以外は「スポンサー」と同様です。商品、寄付、コラボ相手に関する宣伝などを含みます
+ 視聴者への催促 (登録)
+ 動画内に挿入される視聴者への高評価、チャンネル登録、フォローなどの時間的に短い催促。時間的に長い場合またはイベントなどの個別具体的なものに関する催促である場合は、このカテゴリではなく「自己宣伝」に分類すべきです
ハイライト
動画の中で最も重要な場面
幕間 / オープニング (OP)
- 実際のコンテンツを含まない区間。一時停止、静止画、繰り返しアニメーションなど。情報を含むトランジッション (場面転換) は、このカテゴリではありません
+ 実際のコンテンツを含まない区間。一時停止、静止画、繰り返しアニメーションなど。情報を含むトランジッション (場面転換) は、このカテゴリには含まれません
終了画面 / クレジット (ED)
- クレジット、または YouTube の終了画面が表示される場面。情報を含む結論、まとめ部分は、このカテゴリには含まれません
+ クレジットまたは YouTube の終了画面が表示される場面。情報を含む結論、まとめ部分は、このカテゴリには含まれません
フック / あいさつ
- 今後の動画のナレーション付きの予告編、および開幕と別れのあいさつ。重複しない内容や情報を追加する場面は含まれません
+ 今後の動画のナレーション付きの予告編、および開幕と別れのあいさつ。他の部分に存在しない内容や情報を追加する場面は、このカテゴリには含まれません
予告編 / 総集編
- その動画またはシリーズ内の他の動画で過去に起きたこと、または今後起こることを示すクリップのコレクション。このクリップ群に含まれるすべての情報は、同じ動画の他の部分や他の動画で繰り返されます
+ その動画またはシリーズ内の他の動画で過去に起きたこと、または今後起こることを示すクリップのコレクション。このクリップ群に含まれるすべての情報は、同じ動画の他の部分やシリーズ内の他の動画で繰り返されます
余談 / 冗談
- 動画の本筋を理解するために必要のない脱線的な場面または冗談。コンテキストや背景情報を提供する場面は含まれません
+ 動画の本筋を理解するために必要のない脱線的な場面または冗談。コンテキストや背景情報を提供する場面は、このカテゴリには含まれません
音楽: 楽曲以外の区間
- ミュージック ビデオ専用。ミュージック ビデオの中で楽曲が流れていない区間であり、公式や他のメディアの音源に存在しない区間
+ ミュージック ビデオ専用。ミュージック ビデオの中で楽曲が流れていない区間であり、公式や他のメディアの音源に存在しない部分
スキップ
ハイライト
広告をスキップ
自己宣伝をスキップ
- 催促をスキップ
+ 登録をスキップ
ハイライトまでスキップ
OP をスキップ
幕間をスキップ
@@ -1188,20 +1190,20 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
余談をスキップ
楽曲以外をスキップ
セグメントをスキップ
- 広告をスキップしました
+ スポンサー (広告) をスキップしました
自己宣伝をスキップしました
- 催促をスキップしました
+ 視聴者への催促 (登録) をスキップしました
ハイライトまでスキップしました
- OP をスキップしました
+ オープニング (OP) をスキップしました
幕間をスキップしました
幕間をスキップしました
- ED をスキップしました
+ エンディング (ED) をスキップしました
フックをスキップしました
予告編をスキップしました
予告編をスキップしました
総集編をスキップしました
余談をスキップしました
- 楽曲以外をスキップしました
+ 楽曲以外の区間をスキップしました
未送信のセグメントをスキップしました
複数のセグメントをスキップしました
自動的にスキップ
diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml
+++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml
+++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml
index 5ab077fb1..033cb936d 100644
--- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml
@@ -149,9 +149,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
index dbff33c9b..44635ec97 100644
--- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
+++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
@@ -331,6 +331,9 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
이 콘텐츠가 제작된 방식 섹션 숨기기
이 콘텐츠가 제작된 방식 섹션이 숨겨집니다
이 콘텐츠가 제작된 방식 섹션이 표시됩니다
+ Hype 점수 숨기기
+ Hype 점수가 숨겨집니다
+ Hype 점수가 표시됩니다
팟캐스트 살펴보기 섹션 숨기기
팟캐스트 살펴보기 섹션이 숨겨집니다
팟캐스트 살펴보기 섹션이 표시됩니다
@@ -770,15 +773,14 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
재생 속도 메뉴 숨기기
재생 속도 메뉴가 숨겨집니다
재생 속도 메뉴가 표시됩니다
-
- 콘텐츠 더보기 메뉴 숨기기
- 콘텐츠 더보기 메뉴가 숨겨집니다
- 콘텐츠 더보기 메뉴가 표시됩니다
잠금 화면 메뉴 숨기기
잠금 화면 메뉴가 숨겨집니다
잠금 화면 메뉴가 표시됩니다
+
+ YouTube Music으로 음악 감상 메뉴 숨기기
+ YouTube Music으로 음악 감상 메뉴가 숨겨집니다
+ YouTube Music으로 음악 감상 메뉴가 표시됩니다
오디오 트랙 메뉴 숨기기
오디오 트랙 메뉴가 숨겨집니다
diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml
+++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml
+++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
index 5ffd71a7e..4f14d370d 100644
--- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
+++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
@@ -328,6 +328,9 @@ Jei „Doodle“ šiuo metu rodomas jūsu regione ir šis paslėpimo nustatymas
Slėpti „Kaip buvo sukurtas šis turinys“
Skyrius „Kaip buvo sukurtas šis turinys“ yra paslėptas
Skyrius „Kaip buvo sukurtas šis turinys“ yra rodomas
+ Slėpti „Hype“ taškus
+ „Hype“ taškai paslėpti
+ „Hype“ taškai rodomi
Slėpti „Naršyti podcast\'ą“
Skyrius „Naršyti podcast\'ą“ yra paslėptas
Skyrius „Naršyti podcast\'ą“ yra rodomas
@@ -771,15 +774,14 @@ Jei pakeitus šį nustatymą neįsigalioja, pabandykite perjungti į inkognito r
Slėpti Vaizdo įrašo atkūrimo greitį
Vaizdo įrašo atkūrimo greičio meniu yra paslėptas
Vaizdo įrašo atkūrimo greičio meniu yra rodomas
-
- Slėpti Daugiau informacijos
- Daugiau informacijos meniu yra paslėptas
- Daugiau informacijos meniu yra rodomas
Slėpti Ekrano užraktą
Ekrano užrakto meniu yra paslėptas
Ekrano užrakto meniu yra rodomas
+
+ Slėpti Klausytis su „YouTube Music“
+ „Klausytis su „YouTube Music““ meniu yra paslėptas
+ „Klausytis su „YouTube Music““ meniu yra rodomas
Slėpti Garso takelius
Garso takelių meniu yra paslėptas
diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
index 4a7659730..8f5aa8676 100644
--- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
+++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
@@ -328,6 +328,9 @@ Ja Doodle pašlaik tiek rādīts jūsu reģionā un šis slēpšanas iestatījum
Paslēpt \"Kā šis saturs tika veidots\"
Sadaļa \"Kā šis saturs tika veidots\" ir paslēpta
Sadaļa \"Kā šis saturs tika veidots\" ir redzama
+ Slēpt Hype punktus
+ Hype punkti ir slēpti
+ Hype punkti ir redzami
Paslēpt sadaļu \"Izpētiet podkāstu\"
Sadaļa \"Izpētiet podkāstu\" ir paslēpta
Sadaļa \"Izpētiet podkāstu\" ir redzama
@@ -771,15 +774,14 @@ Ja šī iestatījuma maiņa nestājas spēkā, mēģiniet pārslēgties uz inkog
Paslēpt Atskaņošanas ātrumu
Atskaņošanas ātruma izvēlne ir paslēpta
Atskaņošanas ātruma izvēlne ir redzama
-
- Paslēpt Papildus informāciju
- Papildus informācijas izvēlne ir paslēpta
- Papildus informācijas izvēlne ir redzama
Paslēpt Bloķēt ekrānu
Bloķēt ekrāna izvēlne ir paslēpta
Bloķēt ekrāna izvēlne ir redzama
+
+ Paslēpt klausīties ar YouTube Music
+ Izvēlne \"Klausīties ar YouTube Music\" ir paslēpta
+ Izvēlne \"Klausīties ar YouTube Music\" ir redzama
Paslēpt Audio ceļu
Audio ceļa izvēlne ir paslēpta
diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml
+++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml
+++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml
index 33f272c20..2c994b256 100644
--- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml
+++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml
+++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml
+++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml
index 88ee8597b..2a02f797f 100644
--- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml
@@ -136,9 +136,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
index 2a670f151..bfd5a3029 100644
--- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
+++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
@@ -328,6 +328,9 @@ Als er momenteel een Doodle wordt getoond in je regio en deze instelling voor ve
\'Zo is deze content gemaakt\' verbergen
Het gedeelte \"Zo is deze content gemaakt\" is verborgen
Het gedeelte \"Zo is deze content gemaakt\" is zichtbaar
+ Verberg Hype-punten
+ Hype-punten zijn verborgen
+ Hype-punten worden getoond
\'Ontdek de podcast\' verbergen
Het gedeelte \'Ontdek de podcast\' is verborgen
Het gedeelte \'Ontdek de podcast\' wordt weergegeven
@@ -771,15 +774,14 @@ Als het wijzigen van deze instelling geen effect heeft, probeer dan over te scha
Afspeel snelheid verbergen
Afspeel snelheid-menu is verborgen
Menu met afspeelsnelheid wordt weergegeven
-
- Verberg Meer info
- Menu Meer info is verborgen
- Menu Meer info wordt weergegeven
Verberg Vergrendelscherm
Menu Vergrendelscherm is verborgen
Menu Vergrendelscherm wordt weergegeven
+
+ Verberg Luisteren met YouTube Music
+ Het menu \'Luisteren met YouTube Music\' is verborgen
+ Het menu \'Luisteren met YouTube Music\' is zichtbaar
Verberg Audiotrack
Menu Audiotrack is verborgen
diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
index e40203383..ff6fafaa1 100644
--- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
+++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
@@ -324,6 +324,9 @@ Jeśli Doodle jest obecnie wyświetlany w Twoim regionie, a to ustawienie ukryci
Ukryj „Jak powstała ta treść”
Sekcja „Jak powstała ta treść” jest ukryta
Sekcja „Jak powstała ta treść” jest widoczna
+ Ukryj punkty Hype
+ Punkty Hype są ukryte
+ Punkty Hype są pokazane
Ukryj „Odkryj podcast”
Sekcja „Odkryj podcast” jest ukryta
Sekcja „Odkryj podcast” jest widoczna
@@ -767,15 +770,14 @@ Jeśli zmiana tego ustawienia nie przyniesie efektu, spróbuj przełączyć się
Menu prędkości odtwarzania
Menu prędkości odtwarzania jest ukryte
Menu prędkości odtwarzania jest widoczne
-
- Menu większej ilości informacji
- Menu większej ilości informacji jest ukryte
- Menu większej ilości informacji jest widoczne
Menu blokady ekranu
Menu blokady ekranu jest ukryte
Menu blokady ekranu jest widoczne
+
+ Ukryj Słuchaj w YouTube Music
+ Menu Słuchaj w YouTube Music jest ukryte
+ Menu Słuchaj w YouTube Music jest widoczne
Menu ścieżki dźwiękowej
Menu ścieżki dźwiękowej jest ukryte
diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
index 9863849e8..ab7d42f2b 100644
--- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
@@ -328,6 +328,9 @@ Se um Doodle estiver sendo exibido atualmente em sua região e esta configuraç
Ocultar \"Como este conteúdo foi feito\"
A seção Como este conteúdo foi feito está oculta
A seção Como este conteúdo foi feito é mostrada
+ Ocultar pontos de Hype
+ Pontos de Hype estão ocultos
+ Pontos de Hype estão visíveis
Ocultar \"Explore o podcast\"
A seção Explore o podcast está oculta
A seção Explore o podcast é mostrada
@@ -771,15 +774,14 @@ Se alterar esta configuração não fizer efeito, tente mudar para o modo anôni
Ocultar Velocidade da reprodução
Menu velocidade da reprodução está oculto
O menu velocidade da reprodução é mostrado
-
- Ocultar Mais informações
- Menu mais Informações está oculto
- O menu mais Informações é mostrado
Ocultar Tela de bloqueio
Menu tela de bloqueio está oculto
Menu tela de bloqueio não está oculto
+
+ Ocultar Ouvir com o YouTube Music
+ O menu Ouvir com o YouTube Music está oculto
+ O menu Ouvir com o YouTube Music está exibido
Ocultar Faixa de áudio
Menu faixa de áudio está oculto
diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
index fcec5b2d9..11a21d40c 100644
--- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
@@ -328,6 +328,9 @@ Se um Doodle estiver a ser exibido na sua região e esta definição de ocultaç
Ocultar \"Como este conteúdo foi criado\"
A seção Como este conteúdo foi criado está oculta
A seção Como este conteúdo foi criado é mostrada
+ Ocultar pontos de Hype
+ Pontos de Hype ocultos
+ Pontos de Hype mostrados
Ocultar \"Explore o podcast\"
A seção Explore o podcast está oculta
A seção Explore o podcast é mostrada
@@ -771,15 +774,14 @@ Se alterar esta configuração não fizer efeito, tente alternar para o modo an
Esconder velocidade de reprodução
Velocidade de reprodução está escondida
Velocidade de reprodução visível
-
- Esconder mais informações
- O menu de informações mais está escondido
- Menu de informações mais exibido
Esconder Ecrã de bloqueio
Menu da ecrã de bloqueio escondido
Ecrã de bloqueio visível
+
+ Ocultar Ouvir com o YouTube Music
+ O menu Ouvir com o YouTube Music está oculto
+ O menu Ouvir com o YouTube Music está visível
Esconder faixa de áudio
Menu de faixa de áudio escondida
diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
index e82a90a0f..d698c2d63 100644
--- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
+++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
@@ -328,6 +328,9 @@ Dacă un Doodle este afișat în prezent în regiunea dvs. și această setare d
Ascunde „Cum a fost creat acest conținut”
Secțiunea Cum a fost creat acest conținut este ascunsă
Secțiunea Cum a fost creat acest conținut este afișată
+ Ascunde Puncte Hype
+ Punctele Hype sunt ascunse
+ Punctele Hype sunt afișate
Ascunde „Explorează podcastul”
Secțiunea Explorează podcastul este ascunsă
Secțiunea Explorează podcastul este afișată
@@ -769,15 +772,14 @@ Dacă modificarea acestei setări nu are efect, încercați să comutați la mod
Ascunde viteza de redare
Meniul vitezei de redare este ascuns
Meniul de redare a vitezei este afișat
-
- Ascunde mai multe informații
- Mai multe informații meniu sunt ascunse
- Mai multe informații sunt afișate
Ascunde ecranul de blocare
Meniul ecranului de blocare este ascuns
Meniul de blocare este afișat
+
+ Ascunde Ascultă cu YouTube Music
+ Meniul Ascultă cu YouTube Music este ascuns
+ Meniul Ascultă cu YouTube Music este afișat
Ascunde piesa audio
Meniul piesei audio este ascuns
diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
index 7d3e8c966..abc168f8f 100644
--- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
+++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
Скрыть раздел \"Как был создан этот контент\"
Раздел \"Как был создан этот контент\" в описании видео скрыт
Раздел \"Как был создан этот контент\" в описании видео показан
+ Скрыть очки голосов
+ Очки голосов скрыты
+ Очки голосов показаны
Скрыть раздел \"Другие выпуски подкаста\"
Раздел \"Другие выпуски подкаста\" в описании видео скрыт
Раздел \"Другие выпуски подкаста\" в описании видео показан
@@ -771,15 +774,14 @@ Second \"item\" text"
Скрыть пункт \"Скорость воспроизведения\"
Пункт \"Скорость воспроизведения\" в выдвижном меню плеера скрыт
Пункт \"Скорость воспроизведения\" в выдвижном меню плеера показан
-
- Скрыть пункт \"Дополнительная информация\"
- Пункт \"Дополнительная информация\" в выдвижном меню плеера скрыт
- Пункт \"Дополнительная информация\" в выдвижном меню плеера показан
Скрыть пункт \"Блокировка экрана\"
Пункт \"Блокировка экрана\" в выдвижном меню плеера скрыт
Пункт \"Блокировка экрана\" в выдвижном меню плеера показан
+
+ Скрыть пункт \"Слушать в YouTube Music\"
+ Пункт \"Слушать в YouTube Music\" в выдвижном меню плеера скрыт
+ Пункт \"Слушать в YouTube Music\" в выдвижном меню плеера показан
Скрыть пункт \"Звуковая дорожка\"
Пункт \"Звуковая дорожка\" в выдвижном меню плеера скрыт
diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml
+++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
index 75fac144d..951999abb 100644
--- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
+++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
@@ -326,6 +326,9 @@ Ak sa Doodle v súčasnosti zobrazuje vo vašom regióne a toto nastavenie skryt
Skryť „Ako bol tento obsah vytvorený“
Sekcia Ako bol tento obsah vytvorený je skrytá
Sekcia Ako bol tento obsah vytvorený je zobrazená
+ Skryť body Hype
+ Body Hype sú skryté
+ Body Hype sú zobrazené
Skryť „Preskúmať podcast“
Sekcia Preskúmať podcast je skrytá
Sekcia Preskúmať podcast je zobrazená
@@ -769,15 +772,14 @@ Ak zmena tohto nastavenia nemá žiadny účinok, skúste prepnúť do režimu i
Skryť rýchlosť prehrávania
Ponuka rýchlosti prehrávania je skrytá
Zobrazí sa ponuka rýchlosti prehrávania
-
- Skryť Ďalšie informácie
- Ponuka Viac informácií je skrytá
- Zobrazí sa ponuka Viac informácií
Skryť uzamknutú obrazovku
Ponuka uzamknutej obrazovky je skrytá
Zobrazí sa ponuka uzamknutej obrazovky
+
+ Skryť Počúvať s YouTube Music
+ Menu Počúvať s YouTube Music je skryté
+ Menu Počúvať s YouTube Music je zobrazené
Skryť zvukovú stopu
Ponuka zvukovej stopy je skrytá
diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
index 15ab10f19..c6ed4ebd3 100644
--- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
+++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
@@ -328,6 +328,9 @@ Vendar pa bo omogočitev tega beležila tudi nekatere uporabniške podatke, kot
Skrij »Kako je bila ta vsebina ustvarjena«
Razdelek »Kako je bila ta vsebina ustvarjena« je skrit
Razdelek »Kako je bila ta vsebina ustvarjena« je prikazan
+ Skrij točke Hype
+ Točke Hype so skrite
+ Točke Hype so prikazane
Skrij »Raziščite podcast«
Razdelek »Raziščite podcast« je skrit
Razdelek »Raziščite podcast« je prikazan
@@ -771,15 +774,14 @@ Opomba: Omogočanje tega tudi prisilno skrije video oglase"
Skrij hitrost predvajanja
Meni s hitrostjo predvajanja je skrit
Meni s hitrostjo predvajanja je prikazan
-
- Skrij več informacij
- Meni z več informacijami je skrit
- Meni z več informacijami je prikazan
Skrij zaklepanje zaslona
Meni z zaklepanjem zaslona je skrit
Meni z zaklepanjem zaslona je prikazan
+
+ Skrij Poslušaj z YouTube Music
+ Meni Poslušaj z YouTube Music je skrit
+ Meni Poslušaj z YouTube Music je prikazan
Skrij zvočni posnetek
Meni z zvočnim posnetkom je skrit
diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
index 8405fa310..538c3525a 100644
--- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
+++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
@@ -328,6 +328,9 @@ Nëse një Doodle po shfaqet aktualisht në rajonin tuaj dhe kjo fshehje është
Fshih \'Si u krijua ky përmbajtje\'
Seksioni si u krijua kjo përmbajtje është i fshehur
Seksioni si u krijua kjo përmbajtje është i shfaqur
+ Fsheh pikët e Hype-it
+ Pikët e Hype-it janë të fshehura
+ Pikët e Hype-it janë të shfaqura
Fshih \'Eksploro podkastin\'
Seksioni eksploro podkastin është i fshehur
Seksioni eksploro podkastin është i shfaqur
@@ -771,15 +774,14 @@ Nëse ndryshimi i këtij konfigurimi nuk ka efekt, provoni të kaloni në modali
Fsheh \"Shpejtësia e riprodhimit\"
Menyja \"Shpejtësia e riprodhimit\" është e fshehur
Menyja \"Shpejtësia e riprodhimit\" është e dukshme
-
- Fsheh \"Më shumë info\"
- Menyja \"Më shumë info\" është e fshehur
- Menyja \"Më shumë info\" është e dukshme
Fsheh \"Ekrani i kyçjes\"
Menyja \"Ekrani i kyçjes\" është e fshehur
Menyja \"Ekrani i kyçjes\" është e dukshme
+
+ Fsheh Dëgjo me YouTube Music
+ Menyja Dëgjo me YouTube Music është fshehur
+ Menyja Dëgjo me YouTube Music është shfaqur
Fsheh \"Shina e audios\"
Menyja \"Shina e audios\" është e fshehur
diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
index 0e11eda6d..73b0f5db3 100644
--- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
@@ -328,6 +328,9 @@ Ako se Doodle trenutno prikazuje u vašem regionu i ova opcija skrivanja je uklj
Sakrij odeljak „Kako je napravljen ovaj sadržaj”
Odeljak „Kako je napravljen ovaj sadržaj” je skriven
Odeljak „Kako je napravljen ovaj sadržaj” je prikazan
+ Sakrij Hype poene
+ Hype poeni su skriveni
+ Hype poeni su prikazani
Sakrij odeljak „Istražite podkast”
Odeljak „Istražite podkast” je skriven
Odeljak „Istražite podkast” je prikazan
@@ -771,15 +774,14 @@ Ako se promena ove opcije ne primeni, pokušajte da pređete u režim bez arhivi
Sakrij meni „Brzina reprodukcije”
Meni „Brzina reprodukcije” je skriven
Meni „Brzina reprodukcije” je prikazan
-
- Sakrij dugme „Više informacija”
- Dugme „Više informacija” je skriveno
- Dugme „Više informacija” je prikazano
Sakrij dugme „Zaključaj ekran”
Dugme „Zaključaj ekran” je skriveno
Dugme „Zaključaj ekran” je prikazano
+
+ Sakrij Slušaj uz YouTube Music
+ Meni Slušaj uz YouTube Music je sakriven
+ Meni Slušaj uz YouTube Music je prikazan
Sakrij meni „Audio snimak”
Meni „Audio snimak” je skriven
diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
index 270ac39d4..93da9484c 100644
--- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
Сакриј одељак „Како је направљен овај садржај”
Одељак „Како је направљен овај садржај” је скривен
Одељак „Како је направљен овај садржај” је приказан
+ Сакриј Хајп поене
+ Хајп поени су скривени
+ Хајп поени су приказани
Сакриј одељак „Истражите подкаст”
Одељак „Истражите подкаст” је скривен
Одељак „Истражите подкаст” је приказан
@@ -771,15 +774,14 @@ Second \"item\" text"
Сакриј мени „Брзина репродукције”
Мени „Брзина репродукције” је скривен
Мени „Брзина репродукције” је приказан
-
- Сакриј дугме „Више информација”
- Дугме „Више информација” је скривено
- Дугме „Више информација” је приказано
Сакриј дугме „Закључај екран”
Дугме „Закључај екран” је скривено
Дугме „Закључај екран” је приказано
+
+ Сакриј „Слушај помоћу YouTube музике“
+ Мени „Слушај помоћу YouTube музике“ је скривен
+ Мени „Слушај помоћу YouTube музике“ је приказан
Сакриј мени „Аудио снимак”
Мени „Аудио снимак” је скривен
diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
index bfc9a6a73..ce7bdb4f4 100644
--- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
+++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
@@ -328,6 +328,9 @@ Om en doodle visas för närvarande i din region och den här döljningsinställ
Dölj Hur det här innehållet skapades
Avsnittet Hur det här innehållet skapades är dolt
Avsnittet Hur det här innehållet skapades visas
+ Dölj Hype-poäng
+ Hype-poäng är dolda
+ Hype-poäng visas
Dölj Utforska podden
Avsnittet Utforska podden är dolt
Avsnittet Utforska podden visas
@@ -771,15 +774,14 @@ Om du ändrar den här inställningen utan att det träder i kraft kan du testa
Dölj Uppspelningshastighet
Menyn Uppspelningshastighet är dold
Menyn Uppspelningshastighet visas
-
- Dölj Mer info
- Menyn Mer info är dold
- Menyn Mer info visas
Dölj Låsa skärmen
Menyn Låsa skärmen är dold
Menyn Låsa skärmen visas
+
+ Dölj Lyssna med YouTube Music
+ Lyssna med YouTube Music-menyn är dold
+ Lyssna med YouTube Music-menyn visas
Dölj Ljudspår
Menyn Ljudspår är dold
diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml
+++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
index ae5398aeb..5b8d68781 100644
--- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml
+++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
ซ่อน \'วิธีการสร้างเนื้อหานี้\'
ส่วนวิธีการสร้างเนื้อหานี้ถูกซ่อน
ส่วนวิธีการสร้างเนื้อหานี้แสดงอยู่
+ ซ่อนคะแนน Hype
+ คะแนน Hype ถูกซ่อน
+ คะแนน Hype แสดงอยู่
ซ่อน \'สำรวจพอดแคสต์\'
ส่วนสำรวจพอดแคสต์ถูกซ่อน
ส่วนสำรวจพอดแคสต์แสดงอยู่
@@ -769,15 +772,14 @@ Second \"item\" text"
ซ่อนความเร็วในการเล่น
เมนูความเร็วในการเล่นซ่อนอยู่
เมนูความเร็วในการเล่นแสดงอยู่
-
- ซ่อนข้อมูลเพิ่มเติม
- เมนูข้อมูลเพิ่มเติมซ่อนอยู่
- เมนูข้อมูลเพิ่มเติมแสดงอยู่
ซ่อนล็อกหน้าจอ
เมนูล็อกหน้าจอซ่อนอยู่
เมนูล็อกหน้าจอแสดงอยู่
+
+ ซ่อนฟังด้วย YouTube Music
+ เมนูฟังด้วย YouTube Music ถูกซ่อน
+ เมนูฟังด้วย YouTube Music แสดงอยู่
ซ่อนแทร็กเสียง
เมนูแทร็กเสียงซ่อนอยู่
diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
index c1f0959cf..645c704f9 100644
--- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
+++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
@@ -328,6 +328,9 @@ Bir Doodle şu anda bölgenizde gösteriliyorsa ve bu gizleme ayarı açıksa, a
\'Bu içerik nasıl yapıldı\'yı gizle
Bu içerik nasıl yapıldı kısmı gizli
Bu içerik nasıl yapıldı kısmı görünür
+ Hype puanlarını gizle
+ Hype puanları gizli
+ Hype puanları görünür
\"Podcast\'i keşfedin\"i gizle
Podcast\'i keşfedin kısmı gizli
Podcast\'i keşfedin kısmı görünür
@@ -771,15 +774,14 @@ Bu ayarı değiştirmek etkili olmazsa, Gizli moda geçmeyi deneyin."
Oynatma hızını gizle
Oynatma hızı menüsü gizli
Oynatma hızı menüsü görünür
-
- Daha fazla bilgiyi gizle
- Daha fazla bilgi menüsü gizli
- Daha fazla bilgi menüsü görünür
Ekranı kilitlemeyi gizle
Ekranı kilitle menüsü gizli
Ekranı kilitle menüsü görünür
+
+ YouTube Music ile dinle\'yi Gizle
+ YouTube Music ile dinle menüsü gizli
+ YouTube Music ile dinle menüsü gösteriliyor
Ses parçasını gizle
Ses parçası menüsü gizli
diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
index e6467b9dd..9bac81e3d 100644
--- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
+++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
Приховати секцію \"Як створювався цей контент\"
Секцію \"Як створювався цей контент\" приховано
Секція \"Як створювався цей контент\" показується
+ Приховати очки голосів
+ Очки голосів приховано
+ Очки голосів показуються
Приховати секцію \"Послухайте подкаст\"
Секцію \"Послухайте подкаст\" приховано
Секція \"Послухайте подкаст\" показується
@@ -663,9 +666,9 @@ Second \"item\" text"
Кнопка \"Завантажити\" показується
- Приховати \"Хайп\"
- Кнопку \"Хайп\" приховано
- Кнопка \"Хайп\" показується
+ Приховати \"Голосувати\"
+ Кнопку \"Голосувати\" приховано
+ Кнопка \"Голосувати\" показується
Приховати \"Рекламувати\"
Кнопку \"Рекламувати\" приховано
@@ -771,15 +774,14 @@ Second \"item\" text"
Приховати \"Швидкість відтворення\"
Пункт меню \"Швидкість відтворення\" приховано
Пункт меню \"Швидкість відтворення\" показується
-
- Приховати \"Додаткова інформація\"
- Пункт меню \"Додаткова інформація\" приховано
- Пункт меню \"Додаткова інформація\" показується
Приховати \"Заблокувати екран\"
Пункт меню \"Заблокувати екран\" приховано
Пункт меню \"Заблокувати екран\" приховано
+
+ Приховати \"Слухати в YouTube Music\"
+ Пункт меню \"Слухати в YouTube Music\" приховано
+ Пункт меню \"Слухати в YouTube Music\" показується
Приховати \"Звукова доріжка\"
Пункт меню \"Звукова доріжка\" приховано
diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
index 7664e581b..2548f15e5 100644
--- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
+++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
@@ -328,6 +328,9 @@ Nếu cài đặt này được bật và Doodle đang hiển thị tại khu v
Ẩn \'Cách nội dung này được tạo ra\'
Phần cách nội dung được tạo ra đã bị ẩn
Phần cách nội dung được tạo ra được hiển thị
+ Ẩn điểm Khuấy động
+ Điểm Khuấy động đã bị ẩn
+ Điểm Khuấy động được hiển thị
Ẩn \'Khám phá podcast\'
Phần Khám phá podcast đã bị ẩn
Phần Khám phá podcast được hiển thị
@@ -771,15 +774,14 @@ Nếu thay đổi cài đặt này không có hiệu lực, hãy thử chuyển
Ẩn Tốc độ phát
Trình đơn tốc độ phát đã bị ẩn
Trình đơn tốc độ phát được hiển thị
-
- Ẩn Thông tin thêm
- Trình đơn thông tin thêm đã bị ẩn
- Trình đơn thông tin thêm được hiển thị
Ẩn Khóa màn hình
Trình đơn khóa màn hình đã bị ẩn
Trình đơn khóa màn hình được hiển thị
+
+ Ẩn Nghe bằng YouTube Music
+ Menu Nghe bằng YouTube Music đã bị ẩn
+ Menu Nghe bằng YouTube Music đã hiển thị
Ẩn Bản âm thanh
Trình đơn bản âm thanh đã bị ẩn
diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
index a261aa031..c77849a74 100644
--- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
隐藏“内容制作说明”
内容制作说明部分已隐藏
「内容制作说明」部分已显示
+ 隐藏热度积分
+ 热度积分已隐藏
+ 热度积分已显示
隐藏“浏览播客”
“浏览播客”部分已隐藏
“浏览播客”部分已显示
@@ -771,15 +774,14 @@ Second \"item\" text"
隐藏「播放速度」选单
播放速度选单已隐藏
播放速度选单已显示
-
- 隐藏「更多信息」
- 更多信息菜单已隐藏
- 更多信息菜单已显示
隐藏「锁定屏幕」
锁定屏幕菜单已隐藏
锁定屏幕菜单已显示
+
+ 隐藏通过 YouTube Music 收听
+ 通过 YouTube Music 收听菜单已隐藏
+ 通过 YouTube Music 收听菜单已显示
隐藏「音轨」
音轨菜单已隐藏
diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
index 956129a17..b9f1fa0a5 100644
--- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
@@ -328,6 +328,9 @@ Second \"item\" text"
隱藏「這項內容的製作方式」
已隱藏這項內容的製作方式區塊
已顯示這項內容的製作方式區塊
+ 隱藏Hype點數
+ Hype點數已隱藏
+ Hype點數已顯示
隱藏「探索 Podcast」
已隱藏探索 Podcast 區塊
已顯示探索 Podcast 區塊
@@ -771,15 +774,14 @@ Second \"item\" text"
隱藏「播放速度」
已隱藏「播放速度」選單
已顯示「播放速度」選單
-
- 隱藏「更多資訊」
- 已隱藏「更多資訊」選單
- 已顯示「更多資訊」選單
隱藏「鎖定畫面」
已隱藏「鎖定畫面」選單
已顯示「鎖定畫面」選單
+
+ 隱藏「透過 YouTube Music 收聽」
+ 「透過 YouTube Music 收聽」選單已隱藏
+ 「使用 YouTube Music 聆聽」選單已顯示
隱藏「音軌」
已隱藏「音軌」選單
diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml
index 5ba0a5e1f..940171bf5 100644
--- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml
+++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml
@@ -134,9 +134,8 @@ Second \"item\" text"
-
+
From 76dcfaefd8679e45a70f265b0239436e60c055cf Mon Sep 17 00:00:00 2001
From: MarcaD <152095496+MarcaDian@users.noreply.github.com>
Date: Tue, 4 Nov 2025 14:59:43 +0200
Subject: [PATCH 05/35] fix(YouTube - Settings): Resolve settings search crash
when searching for specific words (#6231)
---
.../app/revanced/extension/shared/Utils.java | 62 ++++++++++++++++---
.../extension/shared/settings/Setting.java | 7 ++-
.../settings/search/BaseSearchResultItem.java | 15 +++--
.../search/BaseSearchViewController.java | 2 +-
.../patches/spoof/SpoofVideoStreamsPatch.java | 5 ++
5 files changed, 74 insertions(+), 17 deletions(-)
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java
index a9d7b6e9d..9ec217b64 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java
@@ -45,6 +45,8 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.text.Bidi;
+import java.text.Collator;
+import java.text.Normalizer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -79,6 +81,15 @@ public class Utils {
@Nullable
private static Boolean isDarkModeEnabled;
+ // Cached Collator instance with its locale.
+ @Nullable
+ private static Locale cachedCollatorLocale;
+ @Nullable
+ private static Collator cachedCollator;
+
+ private static final Pattern PUNCTUATION_PATTERN = Pattern.compile("\\p{P}+");
+ private static final Pattern DIACRITICS_PATTERN = Pattern.compile("\\p{M}");
+
private Utils() {
} // utility class
@@ -976,30 +987,60 @@ public class Utils {
}
}
- private static final Pattern punctuationPattern = Pattern.compile("\\p{P}+");
-
/**
- * Strips all punctuation and converts to lower case. A null parameter returns an empty string.
+ * Removes punctuation and converts text to lowercase. Returns an empty string if input is null.
*/
public static String removePunctuationToLowercase(@Nullable CharSequence original) {
if (original == null) return "";
- return punctuationPattern.matcher(original).replaceAll("")
+ return PUNCTUATION_PATTERN.matcher(original).replaceAll("")
.toLowerCase(BaseSettings.REVANCED_LANGUAGE.get().getLocale());
}
/**
- * Sort a PreferenceGroup and all it's sub groups by title or key.
+ * Normalizes text for search: applies NFD, removes diacritics, and lowercases (locale-neutral).
+ * Returns an empty string if input is null.
+ */
+ public static String normalizeTextToLowercase(@Nullable CharSequence original) {
+ if (original == null) return "";
+ return DIACRITICS_PATTERN.matcher(Normalizer.normalize(original, Normalizer.Form.NFD))
+ .replaceAll("").toLowerCase(Locale.ROOT);
+ }
+
+ /**
+ * Returns a cached Collator for the current locale, or creates a new one if locale changed.
+ */
+ private static Collator getCollator() {
+ Locale currentLocale = BaseSettings.REVANCED_LANGUAGE.get().getLocale();
+
+ if (cachedCollator == null || !currentLocale.equals(cachedCollatorLocale)) {
+ cachedCollatorLocale = currentLocale;
+ cachedCollator = Collator.getInstance(currentLocale);
+ cachedCollator.setStrength(Collator.SECONDARY); // Case-insensitive, diacritic-insensitive.
+ }
+
+ return cachedCollator;
+ }
+
+ /**
+ * Sorts a {@link PreferenceGroup} and all nested subgroups by title or key.
*
- * Sort order is determined by the preferences key {@link Sort} suffix.
+ * The sort order is controlled by the {@link Sort} suffix present in the preference key.
+ * Preferences without a key or without a {@link Sort} suffix remain in their original order.
*
- * If a preference has no key or no {@link Sort} suffix,
- * then the preferences are left unsorted.
+ * Sorting is performed using {@link Collator} with the current user locale,
+ * ensuring correct alphabetical ordering for all supported languages
+ * (e.g., Ukrainian "і", German "ß", French accented characters, etc.).
+ *
+ * @param group the {@link PreferenceGroup} to sort
*/
@SuppressWarnings("deprecation")
public static void sortPreferenceGroups(PreferenceGroup group) {
Sort groupSort = Sort.fromKey(group.getKey(), Sort.UNSORTED);
List> preferences = new ArrayList<>();
+ // Get cached Collator for locale-aware string comparison.
+ Collator collator = getCollator();
+
for (int i = 0, prefCount = group.getPreferenceCount(); i < prefCount; i++) {
Preference preference = group.getPreference(i);
@@ -1030,10 +1071,11 @@ public class Utils {
preferences.add(new Pair<>(sortValue, preference));
}
- //noinspection ComparatorCombinators
+ // Sort the list using locale-specific collation rules.
Collections.sort(preferences, (pair1, pair2)
- -> pair1.first.compareTo(pair2.first));
+ -> collator.compare(pair1.first, pair2.first));
+ // Reassign order values to reflect the new sorted sequence
int index = 0;
for (Pair pair : preferences) {
int order = index++;
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java
index 1f24a7489..38b2cee47 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java
@@ -392,10 +392,13 @@ public abstract class Setting {
/**
* Get the parent Settings that this setting depends on.
- * @return List of parent Settings (e.g., BooleanSetting or EnumSetting), or empty list if no dependencies exist.
+ * @return List of parent Settings, or empty list if no dependencies exist.
+ * Defensive: handles null availability or missing getParentSettings() override.
*/
public List> getParentSettings() {
- return availability == null ? Collections.emptyList() : availability.getParentSettings();
+ return availability == null
+ ? Collections.emptyList()
+ : Objects.requireNonNullElse(availability.getParentSettings(), Collections.emptyList());
}
/**
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchResultItem.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchResultItem.java
index 9b5c9464c..ab1e2ee6c 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchResultItem.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchResultItem.java
@@ -75,7 +75,7 @@ public abstract class BaseSearchResultItem {
// Shared method for highlighting text with search query.
protected static CharSequence highlightSearchQuery(CharSequence text, Pattern queryPattern) {
- if (TextUtils.isEmpty(text)) return text;
+ if (TextUtils.isEmpty(text) || queryPattern == null) return text;
final int adjustedColor = Utils.adjustColorBrightness(
Utils.getAppBackgroundColor(), 0.95f, 1.20f);
@@ -84,7 +84,10 @@ public abstract class BaseSearchResultItem {
Matcher matcher = queryPattern.matcher(text);
while (matcher.find()) {
- spannable.setSpan(highlightSpan, matcher.start(), matcher.end(),
+ int start = matcher.start();
+ int end = matcher.end();
+ if (start == end) continue; // Skip zero matches.
+ spannable.setSpan(highlightSpan, start, end,
SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
}
@@ -224,10 +227,14 @@ public abstract class BaseSearchResultItem {
return searchBuilder.toString();
}
+ /**
+ * Appends normalized searchable text to the builder.
+ * Uses full Unicode normalization for accurate search across all languages.
+ */
private void appendText(StringBuilder builder, CharSequence text) {
if (!TextUtils.isEmpty(text)) {
if (builder.length() > 0) builder.append(" ");
- builder.append(Utils.removePunctuationToLowercase(text));
+ builder.append(Utils.normalizeTextToLowercase(text));
}
}
@@ -272,7 +279,7 @@ public abstract class BaseSearchResultItem {
*/
@Override
boolean matchesQuery(String query) {
- return searchableText.contains(Utils.removePunctuationToLowercase(query));
+ return searchableText.contains(Utils.normalizeTextToLowercase(query));
}
/**
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchViewController.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchViewController.java
index 0a8df925b..efadb8599 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchViewController.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchViewController.java
@@ -450,7 +450,7 @@ public abstract class BaseSearchViewController {
filteredSearchItems.clear();
- String queryLower = Utils.removePunctuationToLowercase(query);
+ String queryLower = Utils.normalizeTextToLowercase(query);
Pattern queryPattern = Pattern.compile(Pattern.quote(queryLower), Pattern.CASE_INSENSITIVE);
// Clear highlighting only for items that were previously visible.
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java
index 75374c09e..2bf442a93 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java
@@ -22,6 +22,11 @@ public class SpoofVideoStreamsPatch {
return Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.isAvailable()
&& Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE.get() == ANDROID_VR_1_43_32;
}
+
+ @Override
+ public List> getParentSettings() {
+ return List.of(Settings.SPOOF_VIDEO_STREAMS_CLIENT_TYPE);
+ }
}
/**
From 6c4b931b8a138813e1f7789a9bcf4814346fe97c Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Tue, 4 Nov 2025 13:03:33 +0000
Subject: [PATCH 06/35] chore: Release v5.46.0-dev.2 [skip ci]
# [5.46.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.1...v5.46.0-dev.2) (2025-11-04)
### Bug Fixes
* **YouTube - Settings:** Resolve settings search crash when searching for specific words ([#6231](https://github.com/ReVanced/revanced-patches/issues/6231)) ([76dcfae](https://github.com/ReVanced/revanced-patches/commit/76dcfaefd8679e45a70f265b0239436e60c055cf))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bd0f54f9c..3bb939123 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [5.46.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.1...v5.46.0-dev.2) (2025-11-04)
+
+
+### Bug Fixes
+
+* **YouTube - Settings:** Resolve settings search crash when searching for specific words ([#6231](https://github.com/ReVanced/revanced-patches/issues/6231)) ([76dcfae](https://github.com/ReVanced/revanced-patches/commit/76dcfaefd8679e45a70f265b0239436e60c055cf))
+
# [5.46.0-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.45.0...v5.46.0-dev.1) (2025-11-04)
diff --git a/gradle.properties b/gradle.properties
index 585a262a6..c2a7c588c 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.46.0-dev.1
+version = 5.46.0-dev.2
From d80892cc0e47f4644c71717cd7ca4cdd8b926b70 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 6 Nov 2025 14:09:25 +0200
Subject: [PATCH 07/35] chore: Sync translations (#6248)
---
.../addresources/values-ar-rSA/strings.xml | 12 ++++++------
.../addresources/values-el-rGR/strings.xml | 12 ++++++------
.../addresources/values-ja-rJP/strings.xml | 16 ++++++++--------
.../addresources/values-sv-rSE/strings.xml | 11 ++++++-----
.../addresources/values-tr-rTR/strings.xml | 6 +++---
.../addresources/values-vi-rVN/strings.xml | 14 +++++++-------
6 files changed, 36 insertions(+), 35 deletions(-)
diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
index 03abd0d1f..1bf89b15d 100644
--- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
+++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
@@ -328,9 +328,9 @@ Second \"item\" text"
إخفاء \'كيف تم إنشاء هذا المحتوى\'
تم إخفاء قسم كيف تم إنشاء هذا المحتوى
يتم عرض قسم كيف تم إنشاء هذا المحتوى
- إخفاء نقاط الإثارة
- تم إخفاء نقاط الإثارة
- يتم عرض نقاط الإثارة
+ إخفاء نقاط التشجيع
+ تم إخفاء نقاط التشجيع
+ يتم عرض نقاط التشجيع
إخفاء \'استكشاف البودكاست\'
تم إخفاء قسم استكشاف البودكاست
يتم عرض قسم استكشاف البودكاست
@@ -779,9 +779,9 @@ Second \"item\" text"
تم إخفاء قائمة شاشة القفل
يتم عرض قائمة شاشة القفل
- إخفاء الاستماع باستخدام YouTube Music
- قائمة الاستماع باستخدام YouTube Music مخفية
- قائمة الاستماع باستخدام YouTube Music ظاهرة
+ إخفاء الاستماع مع YouTube Music
+ تم إخفاء قائمة الاستماع مع YouTube Music
+ يتم عرض قائمة الاستماع مع YouTube Music
إخفاء المقطع الصوتي
تم إخفاء قائمة المقطع الصوتي
diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
index 710890ccb..625606d68 100644
--- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml
+++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
@@ -330,9 +330,9 @@ Second \"item\" text"
Ενότητα «Πως δημιουργήθηκε αυτό το περιεχόμενο»
Κρυμμένη
Εμφανίζεται
- Απόκρυψη πόντων Hype
- Οι πόντοι Hype είναι κρυμμένοι
- Οι πόντοι Hype εμφανίζονται
+ Πόντοι Hype
+ Κρυμμένοι
+ Εμφανίζονται
Ενότητα «Εξερευνήστε το podcast»
Κρυμμένη
Εμφανίζεται
@@ -781,9 +781,9 @@ Second \"item\" text"
Κρυμμένο
Εμφανίζεται
- Απόκρυψη Ακρόασης με YouTube Music
- Το μενού Ακρόαση με YouTube Music είναι κρυμμένο
- Το μενού Ακρόαση με YouTube Music εμφανίζεται
+ Μενού «Ακρόαση με YouTube Music»
+ Κρυμμένο
+ Εμφανίζεται
Μενού «Κομμάτι ήχου»
Κρυμμένο
diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
index 27a71ca9b..2509568da 100644
--- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
+++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
@@ -324,7 +324,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
付随情報を非表示
注目の場所 / ゲーム / 音楽 / 人物セクションは表示されません
注目の場所 / ゲーム / 音楽 / 人物セクションは表示されます
- チャプター セクションを非表示
+ チャプターを非表示
チャプター セクションは表示されません
チャプター セクションは表示されます
「このコンテンツの作成手段」を非表示
@@ -336,13 +336,13 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
「ポッドキャストを検索」を非表示
「ポッドキャストを検索」セクションは表示されません
「ポッドキャストを検索」セクションは表示されます
- 情報カード セクションを非表示
+ 情報カードを非表示
情報カード セクションは表示されません
情報カード セクションは表示されます
「主な概念」を非表示
主な概念セクションは表示されません
主な概念セクションが表示されます
- 文字起こしセクションを非表示
+ 文字起こしを非表示
文字起こしセクションは表示されません
文字起こしセクションは表示されます
概要欄
@@ -781,9 +781,9 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
「画面のロック」は表示されません
「画面のロック」は表示されます
- 「YouTube Music で聴く」を非表示にする
- 「YouTube Music で聴く」メニューは非表示
- 「YouTube Music で聴く」メニューは表示
+ 「YouTube Music で聴く」を非表示
+ 「YouTube Music で聴く」は表示されません
+ 「YouTube Music で聴く」は表示されます
「音声トラック」を非表示
「音声トラック」は表示されません
@@ -1148,7 +1148,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
設定のインポートに成功しました
インポートに失敗しました: %s
エクスポートに失敗しました: %s
- "設定には、SponsorBlock の非公開ユーザー ID が含まれています。
+ "あなたの設定テキストには、SponsorBlock の非公開ユーザー ID が含まれています。
このユーザー ID は、パスワードのようなものであり、決して共有すべきではありません。"
今後表示しない
@@ -1158,7 +1158,7 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
無報酬の宣伝 / 自己宣伝
無報酬または自己宣伝である、という点以外は「スポンサー」と同様です。商品、寄付、コラボ相手に関する宣伝などを含みます
視聴者への催促 (登録)
- 動画内に挿入される視聴者への高評価、チャンネル登録、フォローなどの時間的に短い催促。時間的に長い場合またはイベントなどの個別具体的なものに関する催促である場合は、このカテゴリではなく「自己宣伝」に分類すべきです
+ 動画内に挿入される、高評価、チャンネル登録、フォローなどを視聴者にうながす短時間の催促。時間的に長い場合またはイベントなどの個別具体的なものに関する催促の場合は、このカテゴリではなく「自己宣伝」に分類すべきです
ハイライト
動画の中で最も重要な場面
幕間 / オープニング (OP)
diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
index ce7bdb4f4..099e4b390 100644
--- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
+++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
@@ -232,6 +232,7 @@ Men om du aktiverar detta kommer även vissa användardata, t.ex. din IP-adress,
Flytande mikrofonknapp i sökning visas
Dölj horisontella hyllor
"Horisontella hyllor är dolda, till exempel:
+
• Senaste nytt
• Fortsätt att titta
• Utforska fler kanaler
@@ -328,9 +329,9 @@ Om en doodle visas för närvarande i din region och den här döljningsinställ
Dölj Hur det här innehållet skapades
Avsnittet Hur det här innehållet skapades är dolt
Avsnittet Hur det här innehållet skapades visas
- Dölj Hype-poäng
- Hype-poäng är dolda
- Hype-poäng visas
+ Dölj hajppoäng
+ Hajppoäng är dolda
+ Hajppoäng visas
Dölj Utforska podden
Avsnittet Utforska podden är dolt
Avsnittet Utforska podden visas
@@ -780,8 +781,8 @@ Om du ändrar den här inställningen utan att det träder i kraft kan du testa
Menyn Låsa skärmen visas
Dölj Lyssna med YouTube Music
- Lyssna med YouTube Music-menyn är dold
- Lyssna med YouTube Music-menyn visas
+ Menyn Lyssna med YouTube Music är dold
+ Menyn Lyssna med YouTube Music visas
Dölj Ljudspår
Menyn Ljudspår är dold
diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
index 645c704f9..7ac5046b8 100644
--- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
+++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
@@ -779,9 +779,9 @@ Bu ayarı değiştirmek etkili olmazsa, Gizli moda geçmeyi deneyin."
Ekranı kilitle menüsü gizli
Ekranı kilitle menüsü görünür
- YouTube Music ile dinle\'yi Gizle
- YouTube Music ile dinle menüsü gizli
- YouTube Music ile dinle menüsü gösteriliyor
+ YouTube Müzik ile Dinle\'yi gizle
+ YouTube Müzik ile dinle menüsü gizli
+ YouTube Müzik ile dinle menüsü görünür
Ses parçasını gizle
Ses parçası menüsü gizli
diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
index 2548f15e5..a3217d36f 100644
--- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
+++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
@@ -63,7 +63,7 @@ Second \"item\" text"
Đặt lại cài đặt ReVanced về mặc định
Đã nhập cài đặt %d
Nhập thất bại: %s
- Tìm kiếm
+ Tìm kiếm cài đặt
Không tìm thấy kết quả nào cho \'%s\'
Thử từ khóa khác
Các tìm kiếm gần đây
@@ -328,9 +328,9 @@ Nếu cài đặt này được bật và Doodle đang hiển thị tại khu v
Ẩn \'Cách nội dung này được tạo ra\'
Phần cách nội dung được tạo ra đã bị ẩn
Phần cách nội dung được tạo ra được hiển thị
- Ẩn điểm Khuấy động
- Điểm Khuấy động đã bị ẩn
- Điểm Khuấy động được hiển thị
+ Ẩn Điểm khuấy động
+ Điểm khuấy động đã bị ẩn
+ Điểm khuấy động được hiển thị
Ẩn \'Khám phá podcast\'
Phần Khám phá podcast đã bị ẩn
Phần Khám phá podcast được hiển thị
@@ -779,9 +779,9 @@ Nếu thay đổi cài đặt này không có hiệu lực, hãy thử chuyển
Trình đơn khóa màn hình đã bị ẩn
Trình đơn khóa màn hình được hiển thị
- Ẩn Nghe bằng YouTube Music
- Menu Nghe bằng YouTube Music đã bị ẩn
- Menu Nghe bằng YouTube Music đã hiển thị
+ Ẩn Nghe nhạc trên YouTube Music
+ Trình đơn Nghe nhạc trên YouTube Music đã bị ẩn
+ Trình đơn Nghe nhạc trên YouTube Music được hiển thị
Ẩn Bản âm thanh
Trình đơn bản âm thanh đã bị ẩn
From 582144026d28e57bb7adcbba39244f3c7cdbc0f3 Mon Sep 17 00:00:00 2001
From: ILoveOpenSourceApplications
<117499019+ILoveOpenSourceApplications@users.noreply.github.com>
Date: Thu, 6 Nov 2025 17:39:43 +0530
Subject: [PATCH 08/35] fix(YouTube - Hide layout components): Fix "Hide Hype
points" (#6247)
---
.../patches/components/DescriptionComponentsFilter.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java
index 42831e519..3aa03ee5c 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java
@@ -17,6 +17,7 @@ final class DescriptionComponentsFilter extends Filter {
private final ByteArrayFilterGroup cellVideoAttribute;
private final StringFilterGroup aiGeneratedVideoSummarySection;
+ private final StringFilterGroup hypePoints;
public DescriptionComponentsFilter() {
exceptions.addPatterns(
@@ -63,7 +64,7 @@ final class DescriptionComponentsFilter extends Filter {
"how_this_was_made_section"
);
- final StringFilterGroup hypePoints = new StringFilterGroup(
+ hypePoints = new StringFilterGroup(
Settings.HIDE_HYPE_POINTS,
"hype_points_factoid"
);
@@ -112,7 +113,7 @@ final class DescriptionComponentsFilter extends Filter {
boolean isFiltered(String identifier, String path, byte[] buffer,
StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) {
- if (matchedGroup == aiGeneratedVideoSummarySection) {
+ if (matchedGroup == aiGeneratedVideoSummarySection || matchedGroup == hypePoints) {
// Only hide if player is open, in case this component is used somewhere else.
return PlayerType.getCurrent().isMaximizedOrFullscreen();
}
From 70f4955e89cf300d23f72adbb1291f8eb14e7b61 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Thu, 6 Nov 2025 12:12:38 +0000
Subject: [PATCH 09/35] chore: Release v5.46.0-dev.3 [skip ci]
# [5.46.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.2...v5.46.0-dev.3) (2025-11-06)
### Bug Fixes
* **YouTube - Hide layout components:** Fix "Hide Hype points" ([#6247](https://github.com/ReVanced/revanced-patches/issues/6247)) ([5821440](https://github.com/ReVanced/revanced-patches/commit/582144026d28e57bb7adcbba39244f3c7cdbc0f3))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3bb939123..e410c6c7a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [5.46.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.2...v5.46.0-dev.3) (2025-11-06)
+
+
+### Bug Fixes
+
+* **YouTube - Hide layout components:** Fix "Hide Hype points" ([#6247](https://github.com/ReVanced/revanced-patches/issues/6247)) ([5821440](https://github.com/ReVanced/revanced-patches/commit/582144026d28e57bb7adcbba39244f3c7cdbc0f3))
+
# [5.46.0-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.1...v5.46.0-dev.2) (2025-11-04)
diff --git a/gradle.properties b/gradle.properties
index c2a7c588c..04243b262 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.46.0-dev.2
+version = 5.46.0-dev.3
From 57263538c79f5a561c449229ac8e068c641285d3 Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Fri, 7 Nov 2025 09:14:21 +0200
Subject: [PATCH 10/35] fix(YouTube - Check watch history domain name
resolution): Fix false positive warning message if the internet connection
fails halfway into the DNS check
---
.../patches/CheckWatchHistoryDomainNameResolutionPatch.java | 6 +++++-
patches/src/main/resources/addresources/values/strings.xml | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CheckWatchHistoryDomainNameResolutionPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CheckWatchHistoryDomainNameResolutionPatch.java
index 23321c0e5..d12eabc0b 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CheckWatchHistoryDomainNameResolutionPatch.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CheckWatchHistoryDomainNameResolutionPatch.java
@@ -61,7 +61,11 @@ public class CheckWatchHistoryDomainNameResolutionPatch {
// Prevent this false positive by verify youtube.com resolves.
// If youtube.com does not resolve, then it's not a watch history domain resolving error
// because the entire app will not work since no domains are resolving.
- if (!domainResolvesToValidIP("youtube.com")
+ String domainYouTube = "youtube.com";
+ if (!domainResolvesToValidIP(domainYouTube)
+ || domainResolvesToValidIP(HISTORY_TRACKING_ENDPOINT)
+ // Check multiple times, so a false positive from a flaky connection is almost impossible.
+ || !domainResolvesToValidIP(domainYouTube)
|| domainResolvesToValidIP(HISTORY_TRACKING_ENDPOINT)) {
return;
}
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index 9e8937059..bf2a45a87 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -45,7 +45,7 @@ Second \"item\" text"
APK build date is corrupted
- Warning
+ ReVanced Notice
Your watch history is not being saved.<br><br>This most likely is caused by a DNS ad blocker or network proxy.<br><br>To fix this, whitelist <b>s.youtube.com</b> or turn off all DNS blockers and proxies.
Do not show again
From ce503d5b5856c8936212e4e850716dcbc75ab46c Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Fri, 7 Nov 2025 07:17:59 +0000
Subject: [PATCH 11/35] chore: Release v5.46.0-dev.4 [skip ci]
# [5.46.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.3...v5.46.0-dev.4) (2025-11-07)
### Bug Fixes
* **YouTube - Check watch history domain name resolution:** Fix false positive warning message if the internet connection fails halfway into the DNS check ([5726353](https://github.com/ReVanced/revanced-patches/commit/57263538c79f5a561c449229ac8e068c641285d3))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e410c6c7a..66bf2f1a2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [5.46.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.3...v5.46.0-dev.4) (2025-11-07)
+
+
+### Bug Fixes
+
+* **YouTube - Check watch history domain name resolution:** Fix false positive warning message if the internet connection fails halfway into the DNS check ([5726353](https://github.com/ReVanced/revanced-patches/commit/57263538c79f5a561c449229ac8e068c641285d3))
+
# [5.46.0-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.2...v5.46.0-dev.3) (2025-11-06)
diff --git a/gradle.properties b/gradle.properties
index 04243b262..44d6f421b 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.46.0-dev.3
+version = 5.46.0-dev.4
From 0cad5e73f05213b08a795a409083258fe93c62c0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 7 Nov 2025 09:33:05 +0200
Subject: [PATCH 12/35] chore(deps): Bump actions/setup-node from 5 to 6
(#6200)
---
.github/workflows/release.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 5a87fdd40..946dc9380 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -35,7 +35,7 @@ jobs:
run: ./gradlew :patches:buildAndroid clean
- name: Setup Node.js
- uses: actions/setup-node@v5
+ uses: actions/setup-node@v6
with:
node-version: 'lts/*'
cache: 'npm'
From 55e1a6784b1196d89575661f7b11ac5871f1e28d Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 7 Nov 2025 09:33:23 +0200
Subject: [PATCH 13/35] chore(deps-dev): Bump semantic-release from 24.2.9 to
25.0.1 (#6204)
---
package-lock.json | 3324 +++++++++++++++++++++++++++++++++++++++++++--
package.json | 2 +-
2 files changed, 3199 insertions(+), 127 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 537a7a4fb..9b8a8fe7f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,9 +9,48 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"gradle-semantic-release-plugin": "^1.10.1",
- "semantic-release": "^24.2.9"
+ "semantic-release": "^25.0.1"
}
},
+ "node_modules/@actions/core": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz",
+ "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@actions/exec": "^1.1.1",
+ "@actions/http-client": "^2.0.1"
+ }
+ },
+ "node_modules/@actions/exec": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
+ "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@actions/io": "^1.0.1"
+ }
+ },
+ "node_modules/@actions/http-client": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz",
+ "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tunnel": "^0.0.6",
+ "undici": "^5.25.4"
+ }
+ },
+ "node_modules/@actions/io": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
+ "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@babel/code-frame": {
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
@@ -131,6 +170,16 @@
"node": ">=0.1.90"
}
},
+ "node_modules/@fastify/busboy": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
+ "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -170,61 +219,112 @@
}
},
"node_modules/@octokit/auth-token": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz",
- "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz",
+ "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
}
},
"node_modules/@octokit/core": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz",
- "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz",
+ "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/auth-token": "^5.0.0",
- "@octokit/graphql": "^8.0.0",
- "@octokit/request": "^9.0.0",
- "@octokit/request-error": "^6.0.1",
- "@octokit/types": "^13.0.0",
- "before-after-hook": "^3.0.2",
+ "@octokit/auth-token": "^6.0.0",
+ "@octokit/graphql": "^9.0.3",
+ "@octokit/request": "^10.0.6",
+ "@octokit/request-error": "^7.0.2",
+ "@octokit/types": "^16.0.0",
+ "before-after-hook": "^4.0.0",
"universal-user-agent": "^7.0.0"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@octokit/core/node_modules/@octokit/openapi-types": {
+ "version": "27.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
+ "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/core/node_modules/@octokit/types": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
+ "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^27.0.0"
}
},
"node_modules/@octokit/endpoint": {
- "version": "10.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz",
- "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==",
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.2.tgz",
+ "integrity": "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^13.0.0",
+ "@octokit/types": "^16.0.0",
"universal-user-agent": "^7.0.2"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
}
},
- "node_modules/@octokit/graphql": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz",
- "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==",
+ "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": {
+ "version": "27.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
+ "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/endpoint/node_modules/@octokit/types": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
+ "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/request": "^9.0.0",
- "@octokit/types": "^13.0.0",
+ "@octokit/openapi-types": "^27.0.0"
+ }
+ },
+ "node_modules/@octokit/graphql": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz",
+ "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/request": "^10.0.6",
+ "@octokit/types": "^16.0.0",
"universal-user-agent": "^7.0.0"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": {
+ "version": "27.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
+ "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/graphql/node_modules/@octokit/types": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
+ "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^27.0.0"
}
},
"node_modules/@octokit/openapi-types": {
@@ -235,83 +335,169 @@
"license": "MIT"
},
"node_modules/@octokit/plugin-paginate-rest": {
- "version": "11.3.5",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.5.tgz",
- "integrity": "sha512-cgwIRtKrpwhLoBi0CUNuY83DPGRMaWVjqVI/bGKsLJ4PzyWZNaEmhHroI2xlrVXkk6nFv0IsZpOp+ZWSWUS2AQ==",
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz",
+ "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^13.6.0"
+ "@octokit/types": "^16.0.0"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
},
"peerDependencies": {
"@octokit/core": ">=6"
}
},
+ "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
+ "version": "27.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
+ "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
+ "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^27.0.0"
+ }
+ },
"node_modules/@octokit/plugin-retry": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz",
- "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==",
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.0.3.tgz",
+ "integrity": "sha512-vKGx1i3MC0za53IzYBSBXcrhmd+daQDzuZfYDd52X5S0M2otf3kVZTVP8bLA3EkU0lTvd1WEC2OlNNa4G+dohA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/request-error": "^6.0.0",
- "@octokit/types": "^13.0.0",
+ "@octokit/request-error": "^7.0.2",
+ "@octokit/types": "^16.0.0",
"bottleneck": "^2.15.3"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
},
"peerDependencies": {
- "@octokit/core": ">=6"
+ "@octokit/core": ">=7"
+ }
+ },
+ "node_modules/@octokit/plugin-retry/node_modules/@octokit/openapi-types": {
+ "version": "27.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
+ "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/plugin-retry/node_modules/@octokit/types": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
+ "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^27.0.0"
}
},
"node_modules/@octokit/plugin-throttling": {
- "version": "9.3.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.1.tgz",
- "integrity": "sha512-Qd91H4liUBhwLB2h6jZ99bsxoQdhgPk6TdwnClPyTBSDAdviGPceViEgUwj+pcQDmB/rfAXAXK7MTochpHM3yQ==",
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.3.tgz",
+ "integrity": "sha512-34eE0RkFCKycLl2D2kq7W+LovheM/ex3AwZCYN8udpi6bxsyjZidb2McXs69hZhLmJlDqTSP8cH+jSRpiaijBg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^13.0.0",
+ "@octokit/types": "^16.0.0",
"bottleneck": "^2.15.3"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
},
"peerDependencies": {
- "@octokit/core": "^6.0.0"
+ "@octokit/core": "^7.0.0"
+ }
+ },
+ "node_modules/@octokit/plugin-throttling/node_modules/@octokit/openapi-types": {
+ "version": "27.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
+ "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
+ "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^27.0.0"
}
},
"node_modules/@octokit/request": {
- "version": "9.1.3",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz",
- "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==",
+ "version": "10.0.6",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.6.tgz",
+ "integrity": "sha512-FO+UgZCUu+pPnZAR+iKdUt64kPE7QW7ciqpldaMXaNzixz5Jld8dJ31LAUewk0cfSRkNSRKyqG438ba9c/qDlQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/endpoint": "^10.0.0",
- "@octokit/request-error": "^6.0.1",
- "@octokit/types": "^13.1.0",
+ "@octokit/endpoint": "^11.0.2",
+ "@octokit/request-error": "^7.0.2",
+ "@octokit/types": "^16.0.0",
+ "fast-content-type-parse": "^3.0.0",
"universal-user-agent": "^7.0.2"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
}
},
"node_modules/@octokit/request-error": {
- "version": "6.1.5",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.5.tgz",
- "integrity": "sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.2.tgz",
+ "integrity": "sha512-U8piOROoQQUyExw5c6dTkU3GKxts5/ERRThIauNL7yaRoeXW0q/5bgHWT7JfWBw1UyrbK8ERId2wVkcB32n0uQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^13.0.0"
+ "@octokit/types": "^16.0.0"
},
"engines": {
- "node": ">= 18"
+ "node": ">= 20"
+ }
+ },
+ "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": {
+ "version": "27.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
+ "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/request-error/node_modules/@octokit/types": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
+ "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^27.0.0"
+ }
+ },
+ "node_modules/@octokit/request/node_modules/@octokit/openapi-types": {
+ "version": "27.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
+ "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@octokit/request/node_modules/@octokit/types": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
+ "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^27.0.0"
}
},
"node_modules/@octokit/types": {
@@ -1329,9 +1515,9 @@
}
},
"node_modules/@semantic-release/commit-analyzer": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz",
- "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==",
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.1.tgz",
+ "integrity": "sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1340,7 +1526,7 @@
"conventional-commits-filter": "^5.0.0",
"conventional-commits-parser": "^6.0.0",
"debug": "^4.0.0",
- "import-from-esm": "^1.0.3",
+ "import-from-esm": "^2.0.0",
"lodash-es": "^4.17.21",
"micromatch": "^4.0.2"
},
@@ -1351,6 +1537,20 @@
"semantic-release": ">=20.1.0"
}
},
+ "node_modules/@semantic-release/commit-analyzer/node_modules/import-from-esm": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz",
+ "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4",
+ "import-meta-resolve": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=18.20"
+ }
+ },
"node_modules/@semantic-release/error": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz",
@@ -1385,31 +1585,31 @@
}
},
"node_modules/@semantic-release/github": {
- "version": "11.0.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.0.tgz",
- "integrity": "sha512-Uon6G6gJD8U1JNvPm7X0j46yxNRJ8Ui6SgK4Zw5Ktu8RgjEft3BGn+l/RX1TTzhhO3/uUcKuqM+/9/ETFxWS/Q==",
+ "version": "12.0.1",
+ "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-12.0.1.tgz",
+ "integrity": "sha512-BSC7Ko6aRPnH8ttVBpd3gC98LTiyPdmrmX4qHilLw5EZqVrXrXwcKp/JKUC5hgm0XpJACR3nPjgbfOjTJ75PIA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/core": "^6.0.0",
- "@octokit/plugin-paginate-rest": "^11.0.0",
- "@octokit/plugin-retry": "^7.0.0",
- "@octokit/plugin-throttling": "^9.0.0",
+ "@octokit/core": "^7.0.0",
+ "@octokit/plugin-paginate-rest": "^14.0.0",
+ "@octokit/plugin-retry": "^8.0.0",
+ "@octokit/plugin-throttling": "^11.0.0",
"@semantic-release/error": "^4.0.0",
"aggregate-error": "^5.0.0",
"debug": "^4.3.4",
"dir-glob": "^3.0.1",
- "globby": "^14.0.0",
"http-proxy-agent": "^7.0.0",
"https-proxy-agent": "^7.0.0",
"issue-parser": "^7.0.0",
"lodash-es": "^4.17.21",
"mime": "^4.0.0",
"p-filter": "^4.0.0",
+ "tinyglobby": "^0.2.14",
"url-join": "^5.0.0"
},
"engines": {
- "node": ">=20.8.1"
+ "node": "^22.14.0 || >= 24.10.0"
},
"peerDependencies": {
"semantic-release": ">=24.1.0"
@@ -1443,9 +1643,9 @@
}
},
"node_modules/@semantic-release/github/node_modules/clean-stack": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
- "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz",
+ "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1485,19 +1685,22 @@
}
},
"node_modules/@semantic-release/npm": {
- "version": "12.0.2",
- "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz",
- "integrity": "sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==",
+ "version": "13.1.1",
+ "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-13.1.1.tgz",
+ "integrity": "sha512-c4tlp3STYaTYORmMcLjiTaI8SLoxJ0Uf7IXkem8EyihuOM624wnaGuH4OuY2HHcsHDerNAQNzZ8VO6d4PMHSzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
+ "@actions/core": "^1.11.1",
"@semantic-release/error": "^4.0.0",
"aggregate-error": "^5.0.0",
+ "env-ci": "^11.2.0",
"execa": "^9.0.0",
"fs-extra": "^11.0.0",
"lodash-es": "^4.17.21",
"nerf-dart": "^1.0.0",
"normalize-url": "^8.0.0",
- "npm": "^10.9.3",
+ "npm": "^11.6.2",
"rc": "^1.2.8",
"read-pkg": "^9.0.0",
"registry-auth-token": "^5.0.0",
@@ -1505,7 +1708,7 @@
"tempy": "^3.0.0"
},
"engines": {
- "node": ">=20.8.1"
+ "node": "^22.14.0 || >= 24.10.0"
},
"peerDependencies": {
"semantic-release": ">=20.1.0"
@@ -1516,6 +1719,7 @@
"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
"integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
}
@@ -1525,6 +1729,7 @@
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
"integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -1537,6 +1742,7 @@
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
"integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^5.2.0",
"indent-string": "^5.0.0"
@@ -1549,10 +1755,11 @@
}
},
"node_modules/@semantic-release/npm/node_modules/clean-stack": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
- "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz",
+ "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"escape-string-regexp": "5.0.0"
},
@@ -1568,6 +1775,7 @@
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -1580,6 +1788,7 @@
"resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz",
"integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sindresorhus/merge-streams": "^4.0.0",
"cross-spawn": "^7.0.6",
@@ -1606,6 +1815,7 @@
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz",
"integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@sec-ant/readable-stream": "^0.4.1",
"is-stream": "^4.0.1"
@@ -1622,6 +1832,7 @@
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz",
"integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=18.18.0"
}
@@ -1631,6 +1842,7 @@
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
"integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -1643,6 +1855,7 @@
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz",
"integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -1650,11 +1863,167 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@semantic-release/npm/node_modules/npm": {
+ "version": "11.6.2",
+ "resolved": "https://registry.npmjs.org/npm/-/npm-11.6.2.tgz",
+ "integrity": "sha512-7iKzNfy8lWYs3zq4oFPa8EXZz5xt9gQNKJZau3B1ErLBb6bF7sBJ00x09485DOvRT2l5Gerbl3VlZNT57MxJVA==",
+ "bundleDependencies": [
+ "@isaacs/string-locale-compare",
+ "@npmcli/arborist",
+ "@npmcli/config",
+ "@npmcli/fs",
+ "@npmcli/map-workspaces",
+ "@npmcli/package-json",
+ "@npmcli/promise-spawn",
+ "@npmcli/redact",
+ "@npmcli/run-script",
+ "@sigstore/tuf",
+ "abbrev",
+ "archy",
+ "cacache",
+ "chalk",
+ "ci-info",
+ "cli-columns",
+ "fastest-levenshtein",
+ "fs-minipass",
+ "glob",
+ "graceful-fs",
+ "hosted-git-info",
+ "ini",
+ "init-package-json",
+ "is-cidr",
+ "json-parse-even-better-errors",
+ "libnpmaccess",
+ "libnpmdiff",
+ "libnpmexec",
+ "libnpmfund",
+ "libnpmorg",
+ "libnpmpack",
+ "libnpmpublish",
+ "libnpmsearch",
+ "libnpmteam",
+ "libnpmversion",
+ "make-fetch-happen",
+ "minimatch",
+ "minipass",
+ "minipass-pipeline",
+ "ms",
+ "node-gyp",
+ "nopt",
+ "npm-audit-report",
+ "npm-install-checks",
+ "npm-package-arg",
+ "npm-pick-manifest",
+ "npm-profile",
+ "npm-registry-fetch",
+ "npm-user-validate",
+ "p-map",
+ "pacote",
+ "parse-conflict-json",
+ "proc-log",
+ "qrcode-terminal",
+ "read",
+ "semver",
+ "spdx-expression-parse",
+ "ssri",
+ "supports-color",
+ "tar",
+ "text-table",
+ "tiny-relative-date",
+ "treeverse",
+ "validate-npm-package-name",
+ "which"
+ ],
+ "dev": true,
+ "license": "Artistic-2.0",
+ "workspaces": [
+ "docs",
+ "smoke-tests",
+ "mock-globals",
+ "mock-registry",
+ "workspaces/*"
+ ],
+ "dependencies": {
+ "@isaacs/string-locale-compare": "^1.1.0",
+ "@npmcli/arborist": "^9.1.6",
+ "@npmcli/config": "^10.4.2",
+ "@npmcli/fs": "^4.0.0",
+ "@npmcli/map-workspaces": "^5.0.0",
+ "@npmcli/package-json": "^7.0.1",
+ "@npmcli/promise-spawn": "^8.0.3",
+ "@npmcli/redact": "^3.2.2",
+ "@npmcli/run-script": "^10.0.0",
+ "@sigstore/tuf": "^4.0.0",
+ "abbrev": "^3.0.1",
+ "archy": "~1.0.0",
+ "cacache": "^20.0.1",
+ "chalk": "^5.6.2",
+ "ci-info": "^4.3.1",
+ "cli-columns": "^4.0.0",
+ "fastest-levenshtein": "^1.0.16",
+ "fs-minipass": "^3.0.3",
+ "glob": "^11.0.3",
+ "graceful-fs": "^4.2.11",
+ "hosted-git-info": "^9.0.2",
+ "ini": "^5.0.0",
+ "init-package-json": "^8.2.2",
+ "is-cidr": "^6.0.1",
+ "json-parse-even-better-errors": "^4.0.0",
+ "libnpmaccess": "^10.0.3",
+ "libnpmdiff": "^8.0.9",
+ "libnpmexec": "^10.1.8",
+ "libnpmfund": "^7.0.9",
+ "libnpmorg": "^8.0.1",
+ "libnpmpack": "^9.0.9",
+ "libnpmpublish": "^11.1.2",
+ "libnpmsearch": "^9.0.1",
+ "libnpmteam": "^8.0.2",
+ "libnpmversion": "^8.0.2",
+ "make-fetch-happen": "^15.0.2",
+ "minimatch": "^10.0.3",
+ "minipass": "^7.1.1",
+ "minipass-pipeline": "^1.2.4",
+ "ms": "^2.1.2",
+ "node-gyp": "^11.4.2",
+ "nopt": "^8.1.0",
+ "npm-audit-report": "^6.0.0",
+ "npm-install-checks": "^7.1.2",
+ "npm-package-arg": "^13.0.1",
+ "npm-pick-manifest": "^11.0.1",
+ "npm-profile": "^12.0.0",
+ "npm-registry-fetch": "^19.0.0",
+ "npm-user-validate": "^3.0.0",
+ "p-map": "^7.0.3",
+ "pacote": "^21.0.3",
+ "parse-conflict-json": "^4.0.0",
+ "proc-log": "^5.0.0",
+ "qrcode-terminal": "^0.12.0",
+ "read": "^4.1.0",
+ "semver": "^7.7.3",
+ "spdx-expression-parse": "^4.0.0",
+ "ssri": "^12.0.0",
+ "supports-color": "^10.2.2",
+ "tar": "^7.5.1",
+ "text-table": "~0.2.0",
+ "tiny-relative-date": "^2.0.2",
+ "treeverse": "^3.0.0",
+ "validate-npm-package-name": "^6.0.2",
+ "which": "^5.0.0"
+ },
+ "bin": {
+ "npm": "bin/npm-cli.js",
+ "npx": "bin/npx-cli.js"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
"node_modules/@semantic-release/npm/node_modules/npm-run-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz",
"integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^4.0.0",
"unicorn-magic": "^0.3.0"
@@ -1666,11 +2035,2466 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/balanced-match": {
+ "version": "4.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/brace-expansion": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "@isaacs/balanced-match": "^4.0.1"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": {
+ "version": "5.1.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/fs-minipass": {
+ "version": "4.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.4"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/string-locale-compare": {
+ "version": "1.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/agent": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.1",
+ "lru-cache": "^11.2.1",
+ "socks-proxy-agent": "^8.0.3"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/arborist": {
+ "version": "9.1.6",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@isaacs/string-locale-compare": "^1.1.0",
+ "@npmcli/fs": "^4.0.0",
+ "@npmcli/installed-package-contents": "^3.0.0",
+ "@npmcli/map-workspaces": "^5.0.0",
+ "@npmcli/metavuln-calculator": "^9.0.2",
+ "@npmcli/name-from-folder": "^3.0.0",
+ "@npmcli/node-gyp": "^4.0.0",
+ "@npmcli/package-json": "^7.0.0",
+ "@npmcli/query": "^4.0.0",
+ "@npmcli/redact": "^3.0.0",
+ "@npmcli/run-script": "^10.0.0",
+ "bin-links": "^5.0.0",
+ "cacache": "^20.0.1",
+ "common-ancestor-path": "^1.0.1",
+ "hosted-git-info": "^9.0.0",
+ "json-stringify-nice": "^1.1.4",
+ "lru-cache": "^11.2.1",
+ "minimatch": "^10.0.3",
+ "nopt": "^8.0.0",
+ "npm-install-checks": "^7.1.0",
+ "npm-package-arg": "^13.0.0",
+ "npm-pick-manifest": "^11.0.1",
+ "npm-registry-fetch": "^19.0.0",
+ "pacote": "^21.0.2",
+ "parse-conflict-json": "^4.0.0",
+ "proc-log": "^5.0.0",
+ "proggy": "^3.0.0",
+ "promise-all-reject-late": "^1.0.0",
+ "promise-call-limit": "^3.0.1",
+ "semver": "^7.3.7",
+ "ssri": "^12.0.0",
+ "treeverse": "^3.0.0",
+ "walk-up-path": "^4.0.0"
+ },
+ "bin": {
+ "arborist": "bin/index.js"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/config": {
+ "version": "10.4.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/map-workspaces": "^5.0.0",
+ "@npmcli/package-json": "^7.0.0",
+ "ci-info": "^4.0.0",
+ "ini": "^5.0.0",
+ "nopt": "^8.1.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.5",
+ "walk-up-path": "^4.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/fs": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/git": {
+ "version": "7.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/promise-spawn": "^8.0.0",
+ "ini": "^5.0.0",
+ "lru-cache": "^11.2.1",
+ "npm-pick-manifest": "^11.0.1",
+ "proc-log": "^5.0.0",
+ "promise-retry": "^2.0.1",
+ "semver": "^7.3.5",
+ "which": "^5.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/installed-package-contents": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-bundled": "^4.0.0",
+ "npm-normalize-package-bin": "^4.0.0"
+ },
+ "bin": {
+ "installed-package-contents": "bin/index.js"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/map-workspaces": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/name-from-folder": "^3.0.0",
+ "@npmcli/package-json": "^7.0.0",
+ "glob": "^11.0.3",
+ "minimatch": "^10.0.3"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/metavuln-calculator": {
+ "version": "9.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "cacache": "^20.0.0",
+ "json-parse-even-better-errors": "^4.0.0",
+ "pacote": "^21.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/name-from-folder": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/node-gyp": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/package-json": {
+ "version": "7.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/git": "^7.0.0",
+ "glob": "^11.0.3",
+ "hosted-git-info": "^9.0.0",
+ "json-parse-even-better-errors": "^4.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.5.3",
+ "validate-npm-package-license": "^3.0.4"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/promise-spawn": {
+ "version": "8.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "which": "^5.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/query": {
+ "version": "4.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "postcss-selector-parser": "^7.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/redact": {
+ "version": "3.2.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/run-script": {
+ "version": "10.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/node-gyp": "^4.0.0",
+ "@npmcli/package-json": "^7.0.0",
+ "@npmcli/promise-spawn": "^8.0.0",
+ "node-gyp": "^11.0.0",
+ "proc-log": "^5.0.0",
+ "which": "^5.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/bundle": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/protobuf-specs": "^0.5.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/core": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/protobuf-specs": {
+ "version": "0.5.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/sign": {
+ "version": "4.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/bundle": "^4.0.0",
+ "@sigstore/core": "^3.0.0",
+ "@sigstore/protobuf-specs": "^0.5.0",
+ "make-fetch-happen": "^15.0.2",
+ "proc-log": "^5.0.0",
+ "promise-retry": "^2.0.1"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/tuf": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/protobuf-specs": "^0.5.0",
+ "tuf-js": "^4.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/verify": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/bundle": "^4.0.0",
+ "@sigstore/core": "^3.0.0",
+ "@sigstore/protobuf-specs": "^0.5.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@tufjs/canonical-json": {
+ "version": "2.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@tufjs/models": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tufjs/canonical-json": "2.0.0",
+ "minimatch": "^9.0.5"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@tufjs/models/node_modules/minimatch": {
+ "version": "9.0.5",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/abbrev": {
+ "version": "3.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/agent-base": {
+ "version": "7.1.4",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/aproba": {
+ "version": "2.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/archy": {
+ "version": "1.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/balanced-match": {
+ "version": "1.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/bin-links": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "cmd-shim": "^7.0.0",
+ "npm-normalize-package-bin": "^4.0.0",
+ "proc-log": "^5.0.0",
+ "read-cmd-shim": "^5.0.0",
+ "write-file-atomic": "^6.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/binary-extensions": {
+ "version": "3.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cacache": {
+ "version": "20.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/fs": "^4.0.0",
+ "fs-minipass": "^3.0.0",
+ "glob": "^11.0.3",
+ "lru-cache": "^11.1.0",
+ "minipass": "^7.0.3",
+ "minipass-collect": "^2.0.1",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "p-map": "^7.0.2",
+ "ssri": "^12.0.0",
+ "unique-filename": "^4.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/chalk": {
+ "version": "5.6.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/chownr": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ci-info": {
+ "version": "4.3.1",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cidr-regex": {
+ "version": "5.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "ip-regex": "5.0.0"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cli-columns": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cmd-shim": {
+ "version": "7.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/color-convert": {
+ "version": "2.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/color-name": {
+ "version": "1.1.4",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/common-ancestor-path": {
+ "version": "1.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cross-spawn/node_modules/isexe": {
+ "version": "2.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cross-spawn/node_modules/which": {
+ "version": "2.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cssesc": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/debug": {
+ "version": "4.4.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/diff": {
+ "version": "8.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/encoding": {
+ "version": "0.1.13",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/env-paths": {
+ "version": "2.2.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/err-code": {
+ "version": "2.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/exponential-backoff": {
+ "version": "3.1.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/fastest-levenshtein": {
+ "version": "1.0.16",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.9.1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/foreground-child": {
+ "version": "3.3.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.6",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/fs-minipass": {
+ "version": "3.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/glob": {
+ "version": "11.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.3.1",
+ "jackspeak": "^4.1.1",
+ "minimatch": "^10.0.3",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^2.0.0"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/hosted-git-info": {
+ "version": "9.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^11.1.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/http-cache-semantics": {
+ "version": "4.2.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/https-proxy-agent": {
+ "version": "7.0.6",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ignore-walk": {
+ "version": "8.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "minimatch": "^10.0.3"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ini": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/init-package-json": {
+ "version": "8.2.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/package-json": "^7.0.0",
+ "npm-package-arg": "^13.0.0",
+ "promzard": "^2.0.0",
+ "read": "^4.0.0",
+ "semver": "^7.7.2",
+ "validate-npm-package-license": "^3.0.4",
+ "validate-npm-package-name": "^6.0.2"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ip-address": {
+ "version": "10.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ip-regex": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/is-cidr": {
+ "version": "6.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "cidr-regex": "5.0.1"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/isexe": {
+ "version": "3.1.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/jackspeak": {
+ "version": "4.1.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/json-parse-even-better-errors": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/json-stringify-nice": {
+ "version": "1.1.4",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/jsonparse": {
+ "version": "1.3.1",
+ "dev": true,
+ "engines": [
+ "node >= 0.2.0"
+ ],
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/just-diff": {
+ "version": "6.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/just-diff-apply": {
+ "version": "5.5.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmaccess": {
+ "version": "10.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-package-arg": "^13.0.0",
+ "npm-registry-fetch": "^19.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmdiff": {
+ "version": "8.0.9",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/arborist": "^9.1.6",
+ "@npmcli/installed-package-contents": "^3.0.0",
+ "binary-extensions": "^3.0.0",
+ "diff": "^8.0.2",
+ "minimatch": "^10.0.3",
+ "npm-package-arg": "^13.0.0",
+ "pacote": "^21.0.2",
+ "tar": "^7.5.1"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmexec": {
+ "version": "10.1.8",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/arborist": "^9.1.6",
+ "@npmcli/package-json": "^7.0.0",
+ "@npmcli/run-script": "^10.0.0",
+ "ci-info": "^4.0.0",
+ "npm-package-arg": "^13.0.0",
+ "pacote": "^21.0.2",
+ "proc-log": "^5.0.0",
+ "promise-retry": "^2.0.1",
+ "read": "^4.0.0",
+ "semver": "^7.3.7",
+ "signal-exit": "^4.1.0",
+ "walk-up-path": "^4.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmfund": {
+ "version": "7.0.9",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/arborist": "^9.1.6"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmorg": {
+ "version": "8.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "aproba": "^2.0.0",
+ "npm-registry-fetch": "^19.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmpack": {
+ "version": "9.0.9",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/arborist": "^9.1.6",
+ "@npmcli/run-script": "^10.0.0",
+ "npm-package-arg": "^13.0.0",
+ "pacote": "^21.0.2"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmpublish": {
+ "version": "11.1.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/package-json": "^7.0.0",
+ "ci-info": "^4.0.0",
+ "npm-package-arg": "^13.0.0",
+ "npm-registry-fetch": "^19.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.7",
+ "sigstore": "^4.0.0",
+ "ssri": "^12.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmsearch": {
+ "version": "9.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-registry-fetch": "^19.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmteam": {
+ "version": "8.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "aproba": "^2.0.0",
+ "npm-registry-fetch": "^19.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmversion": {
+ "version": "8.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/git": "^7.0.0",
+ "@npmcli/run-script": "^10.0.0",
+ "json-parse-even-better-errors": "^4.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/lru-cache": {
+ "version": "11.2.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/make-fetch-happen": {
+ "version": "15.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/agent": "^4.0.0",
+ "cacache": "^20.0.1",
+ "http-cache-semantics": "^4.1.1",
+ "minipass": "^7.0.2",
+ "minipass-fetch": "^4.0.0",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^1.0.0",
+ "proc-log": "^5.0.0",
+ "promise-retry": "^2.0.1",
+ "ssri": "^12.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minimatch": {
+ "version": "10.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass": {
+ "version": "7.1.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-collect": {
+ "version": "2.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-fetch": {
+ "version": "4.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^7.0.3",
+ "minipass-sized": "^1.0.3",
+ "minizlib": "^3.0.1"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ },
+ "optionalDependencies": {
+ "encoding": "^0.1.13"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-flush": {
+ "version": "1.0.5",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-flush/node_modules/minipass": {
+ "version": "3.3.6",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-pipeline": {
+ "version": "1.2.4",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": {
+ "version": "3.3.6",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-sized": {
+ "version": "1.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-sized/node_modules/minipass": {
+ "version": "3.3.6",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minizlib": {
+ "version": "3.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ms": {
+ "version": "2.1.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/mute-stream": {
+ "version": "2.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/negotiator": {
+ "version": "1.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp": {
+ "version": "11.4.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "env-paths": "^2.2.0",
+ "exponential-backoff": "^3.1.1",
+ "graceful-fs": "^4.2.6",
+ "make-fetch-happen": "^14.0.3",
+ "nopt": "^8.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.5",
+ "tar": "^7.4.3",
+ "tinyglobby": "^0.2.12",
+ "which": "^5.0.0"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/agent": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.1",
+ "lru-cache": "^10.0.1",
+ "socks-proxy-agent": "^8.0.3"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/cacache": {
+ "version": "19.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/fs": "^4.0.0",
+ "fs-minipass": "^3.0.0",
+ "glob": "^10.2.2",
+ "lru-cache": "^10.0.1",
+ "minipass": "^7.0.3",
+ "minipass-collect": "^2.0.1",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "p-map": "^7.0.2",
+ "ssri": "^12.0.0",
+ "tar": "^7.4.3",
+ "unique-filename": "^4.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/glob": {
+ "version": "10.4.5",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/jackspeak": {
+ "version": "3.4.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": {
+ "version": "14.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/agent": "^3.0.0",
+ "cacache": "^19.0.1",
+ "http-cache-semantics": "^4.1.1",
+ "minipass": "^7.0.2",
+ "minipass-fetch": "^4.0.0",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "negotiator": "^1.0.0",
+ "proc-log": "^5.0.0",
+ "promise-retry": "^2.0.1",
+ "ssri": "^12.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/minimatch": {
+ "version": "9.0.5",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/path-scurry": {
+ "version": "1.11.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/nopt": {
+ "version": "8.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "abbrev": "^3.0.0"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-audit-report": {
+ "version": "6.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-bundled": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-normalize-package-bin": "^4.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-install-checks": {
+ "version": "7.1.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "semver": "^7.1.1"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-normalize-package-bin": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-package-arg": {
+ "version": "13.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "hosted-git-info": "^9.0.0",
+ "proc-log": "^5.0.0",
+ "semver": "^7.3.5",
+ "validate-npm-package-name": "^6.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-packlist": {
+ "version": "10.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "ignore-walk": "^8.0.0",
+ "proc-log": "^5.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-pick-manifest": {
+ "version": "11.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-install-checks": "^7.1.0",
+ "npm-normalize-package-bin": "^4.0.0",
+ "npm-package-arg": "^13.0.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-profile": {
+ "version": "12.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "npm-registry-fetch": "^19.0.0",
+ "proc-log": "^5.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-registry-fetch": {
+ "version": "19.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/redact": "^3.0.0",
+ "jsonparse": "^1.3.1",
+ "make-fetch-happen": "^15.0.0",
+ "minipass": "^7.0.2",
+ "minipass-fetch": "^4.0.0",
+ "minizlib": "^3.0.1",
+ "npm-package-arg": "^13.0.0",
+ "proc-log": "^5.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-user-validate": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/p-map": {
+ "version": "7.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/package-json-from-dist": {
+ "version": "1.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "BlueOak-1.0.0"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/pacote": {
+ "version": "21.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/git": "^7.0.0",
+ "@npmcli/installed-package-contents": "^3.0.0",
+ "@npmcli/package-json": "^7.0.0",
+ "@npmcli/promise-spawn": "^8.0.0",
+ "@npmcli/run-script": "^10.0.0",
+ "cacache": "^20.0.0",
+ "fs-minipass": "^3.0.0",
+ "minipass": "^7.0.2",
+ "npm-package-arg": "^13.0.0",
+ "npm-packlist": "^10.0.1",
+ "npm-pick-manifest": "^11.0.1",
+ "npm-registry-fetch": "^19.0.0",
+ "proc-log": "^5.0.0",
+ "promise-retry": "^2.0.1",
+ "sigstore": "^4.0.0",
+ "ssri": "^12.0.0",
+ "tar": "^7.4.3"
+ },
+ "bin": {
+ "pacote": "bin/index.js"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/parse-conflict-json": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "json-parse-even-better-errors": "^4.0.0",
+ "just-diff": "^6.0.0",
+ "just-diff-apply": "^5.2.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/path-key": {
+ "version": "3.1.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/path-scurry": {
+ "version": "2.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/postcss-selector-parser": {
+ "version": "7.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/proc-log": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/proggy": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promise-all-reject-late": {
+ "version": "1.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promise-call-limit": {
+ "version": "3.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promise-retry": {
+ "version": "2.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "err-code": "^2.0.2",
+ "retry": "^0.12.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promzard": {
+ "version": "2.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "read": "^4.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/qrcode-terminal": {
+ "version": "0.12.0",
+ "dev": true,
+ "inBundle": true,
+ "bin": {
+ "qrcode-terminal": "bin/qrcode-terminal.js"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/read": {
+ "version": "4.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "mute-stream": "^2.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/read-cmd-shim": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/retry": {
+ "version": "0.12.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/semver": {
+ "version": "7.7.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/shebang-command": {
+ "version": "2.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/sigstore": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@sigstore/bundle": "^4.0.0",
+ "@sigstore/core": "^3.0.0",
+ "@sigstore/protobuf-specs": "^0.5.0",
+ "@sigstore/sign": "^4.0.0",
+ "@sigstore/tuf": "^4.0.0",
+ "@sigstore/verify": "^3.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/socks": {
+ "version": "2.8.7",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "ip-address": "^10.0.1",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/socks-proxy-agent": {
+ "version": "8.0.5",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "^4.3.4",
+ "socks": "^2.8.3"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-correct": {
+ "version": "3.2.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-exceptions": {
+ "version": "2.5.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "CC-BY-3.0"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-expression-parse": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-license-ids": {
+ "version": "3.0.22",
+ "dev": true,
+ "inBundle": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ssri": {
+ "version": "12.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/string-width": {
+ "version": "4.2.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/supports-color": {
+ "version": "10.2.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar": {
+ "version": "7.5.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "@isaacs/fs-minipass": "^4.0.0",
+ "chownr": "^3.0.0",
+ "minipass": "^7.1.2",
+ "minizlib": "^3.1.0",
+ "yallist": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar/node_modules/yallist": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/text-table": {
+ "version": "0.2.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tiny-relative-date": {
+ "version": "2.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.5.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.3",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/treeverse": {
+ "version": "3.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tuf-js": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tufjs/models": "4.0.0",
+ "debug": "^4.4.1",
+ "make-fetch-happen": "^15.0.0"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/unique-filename": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "unique-slug": "^5.0.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/unique-slug": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "dev": true,
+ "inBundle": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/validate-npm-package-name": {
+ "version": "6.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/walk-up-path": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": "20 || >=22"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/which": {
+ "version": "5.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^3.1.1"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT"
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": {
+ "version": "5.1.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/write-file-atomic": {
+ "version": "6.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/@semantic-release/npm/node_modules/npm/node_modules/yallist": {
+ "version": "4.0.0",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC"
+ },
"node_modules/@semantic-release/npm/node_modules/path-key": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -1683,6 +4507,7 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -1695,6 +4520,7 @@
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz",
"integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -1707,6 +4533,7 @@
"resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
"integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -1715,9 +4542,9 @@
}
},
"node_modules/@semantic-release/release-notes-generator": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.1.tgz",
- "integrity": "sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==",
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.1.0.tgz",
+ "integrity": "sha512-CcyDRk7xq+ON/20YNR+1I/jP7BYKICr1uKd1HHpROSnnTdGqOTburi4jcRiTYz0cpfhxSloQO3cGhnoot7IEkA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1727,7 +4554,7 @@
"conventional-commits-parser": "^6.0.0",
"debug": "^4.0.0",
"get-stream": "^7.0.0",
- "import-from-esm": "^1.0.3",
+ "import-from-esm": "^2.0.0",
"into-stream": "^7.0.0",
"lodash-es": "^4.17.21",
"read-package-up": "^11.0.0"
@@ -1752,6 +4579,20 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@semantic-release/release-notes-generator/node_modules/import-from-esm": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz",
+ "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4",
+ "import-meta-resolve": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=18.20"
+ }
+ },
"node_modules/@sindresorhus/is": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
@@ -1785,13 +4626,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/semver": {
- "version": "7.5.8",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
- "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/agent-base": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
@@ -1897,9 +4731,9 @@
"license": "MIT"
},
"node_modules/before-after-hook": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz",
- "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz",
+ "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==",
"dev": true,
"license": "Apache-2.0"
},
@@ -2134,9 +4968,9 @@
}
},
"node_modules/conventional-changelog-angular": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz",
- "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.1.0.tgz",
+ "integrity": "sha512-GGf2Nipn1RUCAktxuVauVr1e3r8QrLP/B0lEUsFktmGqc3ddbQkhoJZHJctVU829U1c6mTSWftrVOCHaL85Q3w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -2147,13 +4981,12 @@
}
},
"node_modules/conventional-changelog-writer": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz",
- "integrity": "sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==",
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.2.0.tgz",
+ "integrity": "sha512-Y2aW4596l9AEvFJRwFGJGiQjt2sBYTjPD18DdvxX9Vpz0Z7HQ+g1Z+6iYDAm1vR3QOJrDBkRHixHK/+FhkR6Pw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/semver": "^7.5.5",
"conventional-commits-filter": "^5.0.0",
"handlebars": "^4.7.7",
"meow": "^13.0.0",
@@ -2177,9 +5010,9 @@
}
},
"node_modules/conventional-commits-parser": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz",
- "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.2.1.tgz",
+ "integrity": "sha512-20pyHgnO40rvfI0NGF/xiEoFMkXDtkF8FwHvk5BokoFoCuTQRI8vrNCNFWUOfuolKJMm1tPCHc8GgYEtr1XRNA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2368,9 +5201,9 @@
"license": "MIT"
},
"node_modules/env-ci": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.1.0.tgz",
- "integrity": "sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==",
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.2.0.tgz",
+ "integrity": "sha512-D5kWfzkmaOQDioPmiviWAVtKmpPT4/iJmMVQxWxMPJTFyTkdc5JQUfc5iXEeWxcOdsYTKSAiA/Age4NUOqKsRA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2616,6 +5449,23 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/fast-content-type-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz",
+ "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/fast-glob": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
@@ -2764,6 +5614,19 @@
"node": "6.* || 8.* || >= 10.*"
}
},
+ "node_modules/get-east-asian-width": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz",
+ "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/get-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
@@ -2935,16 +5798,26 @@
}
},
"node_modules/hosted-git-info": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.0.tgz",
- "integrity": "sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==",
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz",
+ "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==",
"dev": true,
"license": "ISC",
"dependencies": {
- "lru-cache": "^10.0.1"
+ "lru-cache": "^11.1.0"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/hosted-git-info/node_modules/lru-cache": {
+ "version": "11.2.2",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz",
+ "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "20 || >=22"
}
},
"node_modules/http-proxy-agent": {
@@ -6889,17 +9762,17 @@
"license": "MIT"
},
"node_modules/semantic-release": {
- "version": "24.2.9",
- "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.9.tgz",
- "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==",
+ "version": "25.0.1",
+ "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.1.tgz",
+ "integrity": "sha512-0OCYLm0AfVilNGukM+w0C4aptITfuW1Mhvmz8LQliLeYbPOTFRCIJzoltWWx/F5zVFe6np9eNatBUHdAvMFeZg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@semantic-release/commit-analyzer": "^13.0.0-beta.1",
+ "@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/error": "^4.0.0",
- "@semantic-release/github": "^11.0.0",
- "@semantic-release/npm": "^12.0.2",
- "@semantic-release/release-notes-generator": "^14.0.0-beta.1",
+ "@semantic-release/github": "^12.0.0",
+ "@semantic-release/npm": "^13.1.1",
+ "@semantic-release/release-notes-generator": "^14.1.0",
"aggregate-error": "^5.0.0",
"cosmiconfig": "^9.0.0",
"debug": "^4.0.0",
@@ -6910,7 +9783,7 @@
"get-stream": "^6.0.0",
"git-log-parser": "^1.2.0",
"hook-std": "^4.0.0",
- "hosted-git-info": "^8.0.0",
+ "hosted-git-info": "^9.0.0",
"import-from-esm": "^2.0.0",
"lodash-es": "^4.17.21",
"marked": "^15.0.0",
@@ -6923,13 +9796,13 @@
"semver": "^7.3.2",
"semver-diff": "^5.0.0",
"signale": "^1.2.1",
- "yargs": "^17.5.1"
+ "yargs": "^18.0.0"
},
"bin": {
"semantic-release": "bin/semantic-release.js"
},
"engines": {
- "node": ">=20.8.1"
+ "node": "^22.14.0 || >= 24.10.0"
}
},
"node_modules/semantic-release/node_modules/@semantic-release/error": {
@@ -6972,6 +9845,32 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/semantic-release/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/semantic-release/node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
"node_modules/semantic-release/node_modules/clean-stack": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
@@ -6988,6 +9887,28 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/semantic-release/node_modules/cliui": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
+ "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^7.2.0",
+ "strip-ansi": "^7.1.0",
+ "wrap-ansi": "^9.0.0"
+ },
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "node_modules/semantic-release/node_modules/emoji-regex": {
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
+ "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/semantic-release/node_modules/escape-string-regexp": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
@@ -7181,6 +10102,40 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/semantic-release/node_modules/string-width": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+ "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^10.3.0",
+ "get-east-asian-width": "^1.0.0",
+ "strip-ansi": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/semantic-release/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
"node_modules/semantic-release/node_modules/strip-final-newline": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz",
@@ -7207,6 +10162,52 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/semantic-release/node_modules/wrap-ansi": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
+ "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.2.1",
+ "string-width": "^7.0.0",
+ "strip-ansi": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/semantic-release/node_modules/yargs": {
+ "version": "18.0.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
+ "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^9.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "string-width": "^7.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^22.0.0"
+ },
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=23"
+ }
+ },
+ "node_modules/semantic-release/node_modules/yargs-parser": {
+ "version": "22.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
+ "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^20.19.0 || ^22.12.0 || >=23"
+ }
+ },
"node_modules/semver": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
@@ -7715,6 +10716,54 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -7741,6 +10790,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/tunnel": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
+ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
+ }
+ },
"node_modules/type-fest": {
"version": "4.26.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz",
@@ -7768,6 +10827,19 @@
"node": ">=0.8.0"
}
},
+ "node_modules/undici": {
+ "version": "5.29.0",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
+ "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@fastify/busboy": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.0"
+ }
+ },
"node_modules/unicode-emoji-modifier-base": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz",
@@ -7808,9 +10880,9 @@
}
},
"node_modules/universal-user-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
- "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz",
+ "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==",
"dev": true,
"license": "ISC"
},
diff --git a/package.json b/package.json
index b38c0f0b8..9fecf99f7 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,6 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"gradle-semantic-release-plugin": "^1.10.1",
- "semantic-release": "^24.2.9"
+ "semantic-release": "^25.0.1"
}
}
From 5029e979be437ecb355054c70febbe4edd8a7795 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 7 Nov 2025 09:34:24 +0200
Subject: [PATCH 14/35] chore(deps): Bump actions/upload-artifact from 4 to 5
(#6201)
---
.github/workflows/build_pull_request.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml
index 3e2f365f7..bb66d8526 100644
--- a/.github/workflows/build_pull_request.yml
+++ b/.github/workflows/build_pull_request.yml
@@ -29,7 +29,7 @@ jobs:
run: ./gradlew :patches:buildAndroid --no-daemon
- name: Upload artifacts
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v5
with:
name: revanced-patches
path: patches/build/libs
From e030e9c07a7748e117ac44f6776a9f6317b20623 Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Fri, 7 Nov 2025 13:25:24 +0200
Subject: [PATCH 15/35] fix(Instagram - Hide navigation buttons): Constrain
patch to last working app target
---
.../sharetargets/RemoveShareTargetsPatch.kt | 2 +-
.../hide/navigation/HideNavigationButtons.kt | 5 ++--
.../patches/shared/SharedPatchNames.kt | 2 ++
.../license/DisableLicenseCheckPatch.kt | 2 +-
.../misc/navbar/HideNavigationButtons.kt | 30 +++++++++----------
5 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/shortcut/sharetargets/RemoveShareTargetsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/shortcut/sharetargets/RemoveShareTargetsPatch.kt
index 4ec7651fe..817a29197 100644
--- a/patches/src/main/kotlin/app/revanced/patches/all/misc/shortcut/sharetargets/RemoveShareTargetsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/shortcut/sharetargets/RemoveShareTargetsPatch.kt
@@ -18,7 +18,7 @@ val removeShareTargetsPatch = resourcePatch(
document("res/xml/shortcuts.xml")
} catch (_: FileNotFoundException) {
return@execute Logger.getLogger(this::class.java.name).warning(
- "The app has no shortcuts. No changes applied.")
+ "The app has no shortcuts. No changes applied.")
}.use { document ->
val rootNode = document.getNode("shortcuts") as? Element ?: return@use
diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt
index 9add580bc..fca74bc18 100644
--- a/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/HideNavigationButtons.kt
@@ -4,6 +4,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.booleanOption
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.instagram.misc.extension.sharedExtensionPatch
+import app.revanced.patches.shared.PATCH_NAME_HIDE_NAVIGATION_BUTTONS
import app.revanced.util.addInstructionsAtControlFlowLabel
import app.revanced.util.findFreeRegister
import app.revanced.util.getReference
@@ -19,11 +20,11 @@ private const val EXTENSION_CLASS_DESCRIPTOR =
@Suppress("unused")
val hideNavigationButtonsPatch = bytecodePatch(
- name = "Hide navigation buttons",
+ name = PATCH_NAME_HIDE_NAVIGATION_BUTTONS,
description = "Hides navigation bar buttons, such as the Reels and Create button.",
use = false
) {
- compatibleWith("com.instagram.android")
+ compatibleWith("com.instagram.android"("401.0.0.48.79"))
dependsOn(sharedExtensionPatch)
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt
index 39e3e8cf5..44f6bbca7 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/SharedPatchNames.kt
@@ -12,3 +12,5 @@ internal const val PATCH_DESCRIPTION_SANITIZE_SHARING_LINKS = "Removes the track
internal const val PATCH_NAME_CHANGE_LINK_SHARING_DOMAIN = "Change link sharing domain"
internal const val PATCH_DESCRIPTION_CHANGE_LINK_SHARING_DOMAIN = "Replaces the domain name of shared links."
+
+internal const val PATCH_NAME_HIDE_NAVIGATION_BUTTONS = "Hide navigation buttons"
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/pairip/license/DisableLicenseCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/pairip/license/DisableLicenseCheckPatch.kt
index 36a99f728..6efbd8c1f 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/pairip/license/DisableLicenseCheckPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/pairip/license/DisableLicenseCheckPatch.kt
@@ -15,7 +15,7 @@ val disableLicenseCheckPatch = bytecodePatch(
execute {
if (processLicenseResponseFingerprint.methodOrNull == null || validateLicenseResponseFingerprint.methodOrNull == null) {
return@execute Logger.getLogger(this::class.java.name)
- .warning("Could not find Pairip licensing check. No changes applied.")
+ .warning("Could not find Pairip licensing check. No changes applied.")
}
// Set first parameter (responseCode) to 0 (success status).
diff --git a/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/HideNavigationButtons.kt b/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/HideNavigationButtons.kt
index a4aa3e4a0..2c07b2b10 100644
--- a/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/HideNavigationButtons.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/viber/misc/navbar/HideNavigationButtons.kt
@@ -3,23 +3,13 @@ package app.revanced.patches.viber.misc.navbar
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
import app.revanced.patcher.patch.booleanOption
import app.revanced.patcher.patch.bytecodePatch
+import app.revanced.patches.shared.PATCH_NAME_HIDE_NAVIGATION_BUTTONS
import java.util.logging.Logger
import kotlin.collections.joinToString
-
-private const val instructionsFooter = """
- # If we reach this, it means that this tab has been disabled by user
- const/4 v0, 0
- return v0 # return false as "This tab is not enabled"
-
- # Proceed with default execution
- :continue
- nop
-"""
-
@Suppress("unused")
val hideNavigationButtonsPatch = bytecodePatch(
- name = "Hide navigation buttons",
+ name = PATCH_NAME_HIDE_NAVIGATION_BUTTONS,
description = "Permanently hides navigation bar buttons, such as Explore and Marketplace.",
use = false
) {
@@ -40,13 +30,21 @@ val hideNavigationButtonsPatch = bytecodePatch(
if (allowedItems.size == AllowedNavigationItems.entries.size) {
return@execute Logger.getLogger(this::class.java.name).warning(
- "No hide navigation buttons options are enabled. No changes made."
+ "No hide navigation buttons options are enabled. No changes applied."
)
}
val injectionInstructions = allowedItems
.map { it.key.buildAllowInstruction() }
- .joinToString("\n") + instructionsFooter
+ .joinToString("\n") + """
+ # If we reach this, it means that this tab has been disabled by user
+ const/4 v0, 0
+ return v0 # return false as "This tab is not enabled"
+
+ # Proceed with default execution
+ :continue
+ nop
+ """
shouldShowTabIdMethodFingerprint
.method
@@ -78,8 +76,8 @@ private enum class AllowedNavigationItems(
fun buildAllowInstruction(): String =
ids.joinToString("\n") { id ->
"""
- const/4 v0, $id # If tabId == $id ($itemName), don't hide it
- if-eq p1, v0, :continue
+ const/4 v0, $id # If tabId == $id ($itemName), don't hide it
+ if-eq p1, v0, :continue
"""
}
}
From f238ae9895000f01d1dccb800cc8efde0d5362bd Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Fri, 7 Nov 2025 13:27:31 +0200
Subject: [PATCH 16/35] fix(Duolingo - Disable ads): Constrain patch to last
working app target
---
.../kotlin/app/revanced/patches/duolingo/ad/DisableAdsPatch.kt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/patches/src/main/kotlin/app/revanced/patches/duolingo/ad/DisableAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/duolingo/ad/DisableAdsPatch.kt
index af93ceb16..7f9863b74 100644
--- a/patches/src/main/kotlin/app/revanced/patches/duolingo/ad/DisableAdsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/duolingo/ad/DisableAdsPatch.kt
@@ -9,7 +9,8 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
val disableAdsPatch = bytecodePatch(
"Disable ads",
) {
- compatibleWith("com.duolingo")
+ // 6.55.3 and higher can show ads after each exercise.
+ compatibleWith("com.duolingo"("6.54.5"))
execute {
// Couple approaches to remove ads exist:
From 59d85b28a7fcb285ff5f2bb6ae654020d76b2019 Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Fri, 7 Nov 2025 13:29:34 +0200
Subject: [PATCH 17/35] fix(Spotify - Hide Create button): Remove obsolete
patch that is no longer needed (#6252)
---
.../layout/hide/createbutton/HideCreateButtonPatch.java | 1 +
.../patches/spotify/layout/hide/createbutton/Fingerprints.kt | 3 +++
.../spotify/layout/hide/createbutton/HideCreateButtonPatch.kt | 4 ++--
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/extensions/spotify/src/main/java/app/revanced/extension/spotify/layout/hide/createbutton/HideCreateButtonPatch.java b/extensions/spotify/src/main/java/app/revanced/extension/spotify/layout/hide/createbutton/HideCreateButtonPatch.java
index 1ed2e771f..47cfdf085 100644
--- a/extensions/spotify/src/main/java/app/revanced/extension/spotify/layout/hide/createbutton/HideCreateButtonPatch.java
+++ b/extensions/spotify/src/main/java/app/revanced/extension/spotify/layout/hide/createbutton/HideCreateButtonPatch.java
@@ -7,6 +7,7 @@ import app.revanced.extension.spotify.shared.ComponentFilters.StringComponentFil
import java.util.List;
+@Deprecated(forRemoval = true)
@SuppressWarnings("unused")
public final class HideCreateButtonPatch {
diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/Fingerprints.kt
index 5d555b187..d9235b8c8 100644
--- a/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/Fingerprints.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/Fingerprints.kt
@@ -7,10 +7,12 @@ import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
+@Deprecated("Obsolete")
internal val navigationBarItemSetClassFingerprint = fingerprint {
strings("NavigationBarItemSet(")
}
+@Deprecated("Obsolete")
internal val navigationBarItemSetConstructorFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
// Make sure the method checks whether navigation bar items are null before adding them.
@@ -23,6 +25,7 @@ internal val navigationBarItemSetConstructorFingerprint = fingerprint {
}
}
+@Deprecated("Obsolete")
internal val oldNavigationBarAddItemFingerprint = fingerprint {
strings("Bottom navigation tabs exceeds maximum of 5 tabs")
}
diff --git a/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt b/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt
index 4bb03fa06..465f18d69 100644
--- a/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/spotify/layout/hide/createbutton/HideCreateButtonPatch.kt
@@ -14,11 +14,11 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
private const val EXTENSION_CLASS_DESCRIPTOR =
"Lapp/revanced/extension/spotify/layout/hide/createbutton/HideCreateButtonPatch;"
+@Deprecated("Patch no longer works with the latest version of Spotify, " +
+ "and Spotify has added this functionality to the app")
@Suppress("unused")
val hideCreateButtonPatch = bytecodePatch(
- name = "Hide Create button",
description = "Hides the \"Create\" button in the navigation bar. The latest app targets do not need this patch.",
- use = false
) {
compatibleWith("com.spotify.music")
From f1bd6848c9c39cdea0e3c2bf19656d084be06054 Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Fri, 7 Nov 2025 13:35:28 +0200
Subject: [PATCH 18/35] chore(deps-dev): Revert bump semantic-release from
24.2.9 to 25.0.1 (#6204)
This reverts commit 55e1a6784b1196d89575661f7b11ac5871f1e28d.
---
package-lock.json | 3322 ++-------------------------------------------
package.json | 2 +-
2 files changed, 126 insertions(+), 3198 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 9b8a8fe7f..537a7a4fb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,48 +9,9 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"gradle-semantic-release-plugin": "^1.10.1",
- "semantic-release": "^25.0.1"
+ "semantic-release": "^24.2.9"
}
},
- "node_modules/@actions/core": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz",
- "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@actions/exec": "^1.1.1",
- "@actions/http-client": "^2.0.1"
- }
- },
- "node_modules/@actions/exec": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
- "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@actions/io": "^1.0.1"
- }
- },
- "node_modules/@actions/http-client": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz",
- "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tunnel": "^0.0.6",
- "undici": "^5.25.4"
- }
- },
- "node_modules/@actions/io": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
- "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@babel/code-frame": {
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
@@ -170,16 +131,6 @@
"node": ">=0.1.90"
}
},
- "node_modules/@fastify/busboy": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
- "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14"
- }
- },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -219,112 +170,61 @@
}
},
"node_modules/@octokit/auth-token": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz",
- "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz",
+ "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 20"
+ "node": ">= 18"
}
},
"node_modules/@octokit/core": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz",
- "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==",
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz",
+ "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/auth-token": "^6.0.0",
- "@octokit/graphql": "^9.0.3",
- "@octokit/request": "^10.0.6",
- "@octokit/request-error": "^7.0.2",
- "@octokit/types": "^16.0.0",
- "before-after-hook": "^4.0.0",
+ "@octokit/auth-token": "^5.0.0",
+ "@octokit/graphql": "^8.0.0",
+ "@octokit/request": "^9.0.0",
+ "@octokit/request-error": "^6.0.1",
+ "@octokit/types": "^13.0.0",
+ "before-after-hook": "^3.0.2",
"universal-user-agent": "^7.0.0"
},
"engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@octokit/core/node_modules/@octokit/openapi-types": {
- "version": "27.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
- "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@octokit/core/node_modules/@octokit/types": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
- "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^27.0.0"
+ "node": ">= 18"
}
},
"node_modules/@octokit/endpoint": {
- "version": "11.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.2.tgz",
- "integrity": "sha512-4zCpzP1fWc7QlqunZ5bSEjxc6yLAlRTnDwKtgXfcI/FxxGoqedDG8V2+xJ60bV2kODqcGB+nATdtap/XYq2NZQ==",
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz",
+ "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^16.0.0",
+ "@octokit/types": "^13.0.0",
"universal-user-agent": "^7.0.2"
},
"engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": {
- "version": "27.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
- "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@octokit/endpoint/node_modules/@octokit/types": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
- "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^27.0.0"
+ "node": ">= 18"
}
},
"node_modules/@octokit/graphql": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz",
- "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==",
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz",
+ "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/request": "^10.0.6",
- "@octokit/types": "^16.0.0",
+ "@octokit/request": "^9.0.0",
+ "@octokit/types": "^13.0.0",
"universal-user-agent": "^7.0.0"
},
"engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": {
- "version": "27.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
- "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@octokit/graphql/node_modules/@octokit/types": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
- "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^27.0.0"
+ "node": ">= 18"
}
},
"node_modules/@octokit/openapi-types": {
@@ -335,169 +235,83 @@
"license": "MIT"
},
"node_modules/@octokit/plugin-paginate-rest": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz",
- "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.5.tgz",
+ "integrity": "sha512-cgwIRtKrpwhLoBi0CUNuY83DPGRMaWVjqVI/bGKsLJ4PzyWZNaEmhHroI2xlrVXkk6nFv0IsZpOp+ZWSWUS2AQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^16.0.0"
+ "@octokit/types": "^13.6.0"
},
"engines": {
- "node": ">= 20"
+ "node": ">= 18"
},
"peerDependencies": {
"@octokit/core": ">=6"
}
},
- "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
- "version": "27.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
- "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
- "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^27.0.0"
- }
- },
"node_modules/@octokit/plugin-retry": {
- "version": "8.0.3",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.0.3.tgz",
- "integrity": "sha512-vKGx1i3MC0za53IzYBSBXcrhmd+daQDzuZfYDd52X5S0M2otf3kVZTVP8bLA3EkU0lTvd1WEC2OlNNa4G+dohA==",
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz",
+ "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/request-error": "^7.0.2",
- "@octokit/types": "^16.0.0",
+ "@octokit/request-error": "^6.0.0",
+ "@octokit/types": "^13.0.0",
"bottleneck": "^2.15.3"
},
"engines": {
- "node": ">= 20"
+ "node": ">= 18"
},
"peerDependencies": {
- "@octokit/core": ">=7"
- }
- },
- "node_modules/@octokit/plugin-retry/node_modules/@octokit/openapi-types": {
- "version": "27.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
- "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@octokit/plugin-retry/node_modules/@octokit/types": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
- "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^27.0.0"
+ "@octokit/core": ">=6"
}
},
"node_modules/@octokit/plugin-throttling": {
- "version": "11.0.3",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.3.tgz",
- "integrity": "sha512-34eE0RkFCKycLl2D2kq7W+LovheM/ex3AwZCYN8udpi6bxsyjZidb2McXs69hZhLmJlDqTSP8cH+jSRpiaijBg==",
+ "version": "9.3.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.1.tgz",
+ "integrity": "sha512-Qd91H4liUBhwLB2h6jZ99bsxoQdhgPk6TdwnClPyTBSDAdviGPceViEgUwj+pcQDmB/rfAXAXK7MTochpHM3yQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^16.0.0",
+ "@octokit/types": "^13.0.0",
"bottleneck": "^2.15.3"
},
"engines": {
- "node": ">= 20"
+ "node": ">= 18"
},
"peerDependencies": {
- "@octokit/core": "^7.0.0"
- }
- },
- "node_modules/@octokit/plugin-throttling/node_modules/@octokit/openapi-types": {
- "version": "27.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
- "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
- "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^27.0.0"
+ "@octokit/core": "^6.0.0"
}
},
"node_modules/@octokit/request": {
- "version": "10.0.6",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.6.tgz",
- "integrity": "sha512-FO+UgZCUu+pPnZAR+iKdUt64kPE7QW7ciqpldaMXaNzixz5Jld8dJ31LAUewk0cfSRkNSRKyqG438ba9c/qDlQ==",
+ "version": "9.1.3",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz",
+ "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/endpoint": "^11.0.2",
- "@octokit/request-error": "^7.0.2",
- "@octokit/types": "^16.0.0",
- "fast-content-type-parse": "^3.0.0",
+ "@octokit/endpoint": "^10.0.0",
+ "@octokit/request-error": "^6.0.1",
+ "@octokit/types": "^13.1.0",
"universal-user-agent": "^7.0.2"
},
"engines": {
- "node": ">= 20"
+ "node": ">= 18"
}
},
"node_modules/@octokit/request-error": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.2.tgz",
- "integrity": "sha512-U8piOROoQQUyExw5c6dTkU3GKxts5/ERRThIauNL7yaRoeXW0q/5bgHWT7JfWBw1UyrbK8ERId2wVkcB32n0uQ==",
+ "version": "6.1.5",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.5.tgz",
+ "integrity": "sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^16.0.0"
+ "@octokit/types": "^13.0.0"
},
"engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": {
- "version": "27.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
- "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@octokit/request-error/node_modules/@octokit/types": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
- "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^27.0.0"
- }
- },
- "node_modules/@octokit/request/node_modules/@octokit/openapi-types": {
- "version": "27.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz",
- "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@octokit/request/node_modules/@octokit/types": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz",
- "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^27.0.0"
+ "node": ">= 18"
}
},
"node_modules/@octokit/types": {
@@ -1515,9 +1329,9 @@
}
},
"node_modules/@semantic-release/commit-analyzer": {
- "version": "13.0.1",
- "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.1.tgz",
- "integrity": "sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==",
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz",
+ "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1526,7 +1340,7 @@
"conventional-commits-filter": "^5.0.0",
"conventional-commits-parser": "^6.0.0",
"debug": "^4.0.0",
- "import-from-esm": "^2.0.0",
+ "import-from-esm": "^1.0.3",
"lodash-es": "^4.17.21",
"micromatch": "^4.0.2"
},
@@ -1537,20 +1351,6 @@
"semantic-release": ">=20.1.0"
}
},
- "node_modules/@semantic-release/commit-analyzer/node_modules/import-from-esm": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz",
- "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.4",
- "import-meta-resolve": "^4.0.0"
- },
- "engines": {
- "node": ">=18.20"
- }
- },
"node_modules/@semantic-release/error": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz",
@@ -1585,31 +1385,31 @@
}
},
"node_modules/@semantic-release/github": {
- "version": "12.0.1",
- "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-12.0.1.tgz",
- "integrity": "sha512-BSC7Ko6aRPnH8ttVBpd3gC98LTiyPdmrmX4qHilLw5EZqVrXrXwcKp/JKUC5hgm0XpJACR3nPjgbfOjTJ75PIA==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.0.tgz",
+ "integrity": "sha512-Uon6G6gJD8U1JNvPm7X0j46yxNRJ8Ui6SgK4Zw5Ktu8RgjEft3BGn+l/RX1TTzhhO3/uUcKuqM+/9/ETFxWS/Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/core": "^7.0.0",
- "@octokit/plugin-paginate-rest": "^14.0.0",
- "@octokit/plugin-retry": "^8.0.0",
- "@octokit/plugin-throttling": "^11.0.0",
+ "@octokit/core": "^6.0.0",
+ "@octokit/plugin-paginate-rest": "^11.0.0",
+ "@octokit/plugin-retry": "^7.0.0",
+ "@octokit/plugin-throttling": "^9.0.0",
"@semantic-release/error": "^4.0.0",
"aggregate-error": "^5.0.0",
"debug": "^4.3.4",
"dir-glob": "^3.0.1",
+ "globby": "^14.0.0",
"http-proxy-agent": "^7.0.0",
"https-proxy-agent": "^7.0.0",
"issue-parser": "^7.0.0",
"lodash-es": "^4.17.21",
"mime": "^4.0.0",
"p-filter": "^4.0.0",
- "tinyglobby": "^0.2.14",
"url-join": "^5.0.0"
},
"engines": {
- "node": "^22.14.0 || >= 24.10.0"
+ "node": ">=20.8.1"
},
"peerDependencies": {
"semantic-release": ">=24.1.0"
@@ -1643,9 +1443,9 @@
}
},
"node_modules/@semantic-release/github/node_modules/clean-stack": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz",
- "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
+ "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1685,22 +1485,19 @@
}
},
"node_modules/@semantic-release/npm": {
- "version": "13.1.1",
- "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-13.1.1.tgz",
- "integrity": "sha512-c4tlp3STYaTYORmMcLjiTaI8SLoxJ0Uf7IXkem8EyihuOM624wnaGuH4OuY2HHcsHDerNAQNzZ8VO6d4PMHSzA==",
+ "version": "12.0.2",
+ "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz",
+ "integrity": "sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
- "@actions/core": "^1.11.1",
"@semantic-release/error": "^4.0.0",
"aggregate-error": "^5.0.0",
- "env-ci": "^11.2.0",
"execa": "^9.0.0",
"fs-extra": "^11.0.0",
"lodash-es": "^4.17.21",
"nerf-dart": "^1.0.0",
"normalize-url": "^8.0.0",
- "npm": "^11.6.2",
+ "npm": "^10.9.3",
"rc": "^1.2.8",
"read-pkg": "^9.0.0",
"registry-auth-token": "^5.0.0",
@@ -1708,7 +1505,7 @@
"tempy": "^3.0.0"
},
"engines": {
- "node": "^22.14.0 || >= 24.10.0"
+ "node": ">=20.8.1"
},
"peerDependencies": {
"semantic-release": ">=20.1.0"
@@ -1719,7 +1516,6 @@
"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
"integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=18"
}
@@ -1729,7 +1525,6 @@
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
"integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -1742,7 +1537,6 @@
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
"integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"clean-stack": "^5.2.0",
"indent-string": "^5.0.0"
@@ -1755,11 +1549,10 @@
}
},
"node_modules/@semantic-release/npm/node_modules/clean-stack": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz",
- "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
+ "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
"dev": true,
- "license": "MIT",
"dependencies": {
"escape-string-regexp": "5.0.0"
},
@@ -1775,7 +1568,6 @@
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -1788,7 +1580,6 @@
"resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz",
"integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@sindresorhus/merge-streams": "^4.0.0",
"cross-spawn": "^7.0.6",
@@ -1815,7 +1606,6 @@
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz",
"integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"@sec-ant/readable-stream": "^0.4.1",
"is-stream": "^4.0.1"
@@ -1832,7 +1622,6 @@
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz",
"integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==",
"dev": true,
- "license": "Apache-2.0",
"engines": {
"node": ">=18.18.0"
}
@@ -1842,7 +1631,6 @@
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
"integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -1855,7 +1643,6 @@
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz",
"integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -1863,167 +1650,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@semantic-release/npm/node_modules/npm": {
- "version": "11.6.2",
- "resolved": "https://registry.npmjs.org/npm/-/npm-11.6.2.tgz",
- "integrity": "sha512-7iKzNfy8lWYs3zq4oFPa8EXZz5xt9gQNKJZau3B1ErLBb6bF7sBJ00x09485DOvRT2l5Gerbl3VlZNT57MxJVA==",
- "bundleDependencies": [
- "@isaacs/string-locale-compare",
- "@npmcli/arborist",
- "@npmcli/config",
- "@npmcli/fs",
- "@npmcli/map-workspaces",
- "@npmcli/package-json",
- "@npmcli/promise-spawn",
- "@npmcli/redact",
- "@npmcli/run-script",
- "@sigstore/tuf",
- "abbrev",
- "archy",
- "cacache",
- "chalk",
- "ci-info",
- "cli-columns",
- "fastest-levenshtein",
- "fs-minipass",
- "glob",
- "graceful-fs",
- "hosted-git-info",
- "ini",
- "init-package-json",
- "is-cidr",
- "json-parse-even-better-errors",
- "libnpmaccess",
- "libnpmdiff",
- "libnpmexec",
- "libnpmfund",
- "libnpmorg",
- "libnpmpack",
- "libnpmpublish",
- "libnpmsearch",
- "libnpmteam",
- "libnpmversion",
- "make-fetch-happen",
- "minimatch",
- "minipass",
- "minipass-pipeline",
- "ms",
- "node-gyp",
- "nopt",
- "npm-audit-report",
- "npm-install-checks",
- "npm-package-arg",
- "npm-pick-manifest",
- "npm-profile",
- "npm-registry-fetch",
- "npm-user-validate",
- "p-map",
- "pacote",
- "parse-conflict-json",
- "proc-log",
- "qrcode-terminal",
- "read",
- "semver",
- "spdx-expression-parse",
- "ssri",
- "supports-color",
- "tar",
- "text-table",
- "tiny-relative-date",
- "treeverse",
- "validate-npm-package-name",
- "which"
- ],
- "dev": true,
- "license": "Artistic-2.0",
- "workspaces": [
- "docs",
- "smoke-tests",
- "mock-globals",
- "mock-registry",
- "workspaces/*"
- ],
- "dependencies": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/arborist": "^9.1.6",
- "@npmcli/config": "^10.4.2",
- "@npmcli/fs": "^4.0.0",
- "@npmcli/map-workspaces": "^5.0.0",
- "@npmcli/package-json": "^7.0.1",
- "@npmcli/promise-spawn": "^8.0.3",
- "@npmcli/redact": "^3.2.2",
- "@npmcli/run-script": "^10.0.0",
- "@sigstore/tuf": "^4.0.0",
- "abbrev": "^3.0.1",
- "archy": "~1.0.0",
- "cacache": "^20.0.1",
- "chalk": "^5.6.2",
- "ci-info": "^4.3.1",
- "cli-columns": "^4.0.0",
- "fastest-levenshtein": "^1.0.16",
- "fs-minipass": "^3.0.3",
- "glob": "^11.0.3",
- "graceful-fs": "^4.2.11",
- "hosted-git-info": "^9.0.2",
- "ini": "^5.0.0",
- "init-package-json": "^8.2.2",
- "is-cidr": "^6.0.1",
- "json-parse-even-better-errors": "^4.0.0",
- "libnpmaccess": "^10.0.3",
- "libnpmdiff": "^8.0.9",
- "libnpmexec": "^10.1.8",
- "libnpmfund": "^7.0.9",
- "libnpmorg": "^8.0.1",
- "libnpmpack": "^9.0.9",
- "libnpmpublish": "^11.1.2",
- "libnpmsearch": "^9.0.1",
- "libnpmteam": "^8.0.2",
- "libnpmversion": "^8.0.2",
- "make-fetch-happen": "^15.0.2",
- "minimatch": "^10.0.3",
- "minipass": "^7.1.1",
- "minipass-pipeline": "^1.2.4",
- "ms": "^2.1.2",
- "node-gyp": "^11.4.2",
- "nopt": "^8.1.0",
- "npm-audit-report": "^6.0.0",
- "npm-install-checks": "^7.1.2",
- "npm-package-arg": "^13.0.1",
- "npm-pick-manifest": "^11.0.1",
- "npm-profile": "^12.0.0",
- "npm-registry-fetch": "^19.0.0",
- "npm-user-validate": "^3.0.0",
- "p-map": "^7.0.3",
- "pacote": "^21.0.3",
- "parse-conflict-json": "^4.0.0",
- "proc-log": "^5.0.0",
- "qrcode-terminal": "^0.12.0",
- "read": "^4.1.0",
- "semver": "^7.7.3",
- "spdx-expression-parse": "^4.0.0",
- "ssri": "^12.0.0",
- "supports-color": "^10.2.2",
- "tar": "^7.5.1",
- "text-table": "~0.2.0",
- "tiny-relative-date": "^2.0.2",
- "treeverse": "^3.0.0",
- "validate-npm-package-name": "^6.0.2",
- "which": "^5.0.0"
- },
- "bin": {
- "npm": "bin/npm-cli.js",
- "npx": "bin/npx-cli.js"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
"node_modules/@semantic-release/npm/node_modules/npm-run-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz",
"integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==",
"dev": true,
- "license": "MIT",
"dependencies": {
"path-key": "^4.0.0",
"unicorn-magic": "^0.3.0"
@@ -2035,2466 +1666,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/balanced-match": {
- "version": "4.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/brace-expansion": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "@isaacs/balanced-match": "^4.0.1"
- },
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui": {
- "version": "8.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.2.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": {
- "version": "9.2.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": {
- "version": "5.1.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": {
- "version": "7.1.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/fs-minipass": {
- "version": "4.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.4"
- },
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@isaacs/string-locale-compare": {
- "version": "1.1.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/agent": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "agent-base": "^7.1.0",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.1",
- "lru-cache": "^11.2.1",
- "socks-proxy-agent": "^8.0.3"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/arborist": {
- "version": "9.1.6",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/fs": "^4.0.0",
- "@npmcli/installed-package-contents": "^3.0.0",
- "@npmcli/map-workspaces": "^5.0.0",
- "@npmcli/metavuln-calculator": "^9.0.2",
- "@npmcli/name-from-folder": "^3.0.0",
- "@npmcli/node-gyp": "^4.0.0",
- "@npmcli/package-json": "^7.0.0",
- "@npmcli/query": "^4.0.0",
- "@npmcli/redact": "^3.0.0",
- "@npmcli/run-script": "^10.0.0",
- "bin-links": "^5.0.0",
- "cacache": "^20.0.1",
- "common-ancestor-path": "^1.0.1",
- "hosted-git-info": "^9.0.0",
- "json-stringify-nice": "^1.1.4",
- "lru-cache": "^11.2.1",
- "minimatch": "^10.0.3",
- "nopt": "^8.0.0",
- "npm-install-checks": "^7.1.0",
- "npm-package-arg": "^13.0.0",
- "npm-pick-manifest": "^11.0.1",
- "npm-registry-fetch": "^19.0.0",
- "pacote": "^21.0.2",
- "parse-conflict-json": "^4.0.0",
- "proc-log": "^5.0.0",
- "proggy": "^3.0.0",
- "promise-all-reject-late": "^1.0.0",
- "promise-call-limit": "^3.0.1",
- "semver": "^7.3.7",
- "ssri": "^12.0.0",
- "treeverse": "^3.0.0",
- "walk-up-path": "^4.0.0"
- },
- "bin": {
- "arborist": "bin/index.js"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/config": {
- "version": "10.4.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/map-workspaces": "^5.0.0",
- "@npmcli/package-json": "^7.0.0",
- "ci-info": "^4.0.0",
- "ini": "^5.0.0",
- "nopt": "^8.1.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5",
- "walk-up-path": "^4.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/fs": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/git": {
- "version": "7.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/promise-spawn": "^8.0.0",
- "ini": "^5.0.0",
- "lru-cache": "^11.2.1",
- "npm-pick-manifest": "^11.0.1",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1",
- "semver": "^7.3.5",
- "which": "^5.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/installed-package-contents": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-bundled": "^4.0.0",
- "npm-normalize-package-bin": "^4.0.0"
- },
- "bin": {
- "installed-package-contents": "bin/index.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/map-workspaces": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/name-from-folder": "^3.0.0",
- "@npmcli/package-json": "^7.0.0",
- "glob": "^11.0.3",
- "minimatch": "^10.0.3"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/metavuln-calculator": {
- "version": "9.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "cacache": "^20.0.0",
- "json-parse-even-better-errors": "^4.0.0",
- "pacote": "^21.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/name-from-folder": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/node-gyp": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/package-json": {
- "version": "7.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/git": "^7.0.0",
- "glob": "^11.0.3",
- "hosted-git-info": "^9.0.0",
- "json-parse-even-better-errors": "^4.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.5.3",
- "validate-npm-package-license": "^3.0.4"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/promise-spawn": {
- "version": "8.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "which": "^5.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/query": {
- "version": "4.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "postcss-selector-parser": "^7.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/redact": {
- "version": "3.2.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@npmcli/run-script": {
- "version": "10.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/node-gyp": "^4.0.0",
- "@npmcli/package-json": "^7.0.0",
- "@npmcli/promise-spawn": "^8.0.0",
- "node-gyp": "^11.0.0",
- "proc-log": "^5.0.0",
- "which": "^5.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/bundle": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/protobuf-specs": "^0.5.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/core": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/protobuf-specs": {
- "version": "0.5.0",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/sign": {
- "version": "4.0.1",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/bundle": "^4.0.0",
- "@sigstore/core": "^3.0.0",
- "@sigstore/protobuf-specs": "^0.5.0",
- "make-fetch-happen": "^15.0.2",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/tuf": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/protobuf-specs": "^0.5.0",
- "tuf-js": "^4.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@sigstore/verify": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/bundle": "^4.0.0",
- "@sigstore/core": "^3.0.0",
- "@sigstore/protobuf-specs": "^0.5.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@tufjs/canonical-json": {
- "version": "2.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": "^16.14.0 || >=18.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@tufjs/models": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "@tufjs/canonical-json": "2.0.0",
- "minimatch": "^9.0.5"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/@tufjs/models/node_modules/minimatch": {
- "version": "9.0.5",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/abbrev": {
- "version": "3.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/agent-base": {
- "version": "7.1.4",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ansi-regex": {
- "version": "5.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ansi-styles": {
- "version": "6.2.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/aproba": {
- "version": "2.1.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/archy": {
- "version": "1.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/balanced-match": {
- "version": "1.0.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/bin-links": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "cmd-shim": "^7.0.0",
- "npm-normalize-package-bin": "^4.0.0",
- "proc-log": "^5.0.0",
- "read-cmd-shim": "^5.0.0",
- "write-file-atomic": "^6.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/binary-extensions": {
- "version": "3.1.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=18.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/brace-expansion": {
- "version": "2.0.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cacache": {
- "version": "20.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/fs": "^4.0.0",
- "fs-minipass": "^3.0.0",
- "glob": "^11.0.3",
- "lru-cache": "^11.1.0",
- "minipass": "^7.0.3",
- "minipass-collect": "^2.0.1",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "p-map": "^7.0.2",
- "ssri": "^12.0.0",
- "unique-filename": "^4.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/chalk": {
- "version": "5.6.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/chownr": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ci-info": {
- "version": "4.3.1",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/sibiraj-s"
- }
- ],
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cidr-regex": {
- "version": "5.0.1",
- "dev": true,
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "ip-regex": "5.0.0"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cli-columns": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cmd-shim": {
- "version": "7.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/color-convert": {
- "version": "2.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/color-name": {
- "version": "1.1.4",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/common-ancestor-path": {
- "version": "1.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cross-spawn": {
- "version": "7.0.6",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cross-spawn/node_modules/isexe": {
- "version": "2.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cross-spawn/node_modules/which": {
- "version": "2.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/cssesc": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/debug": {
- "version": "4.4.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/diff": {
- "version": "8.0.2",
- "dev": true,
- "inBundle": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.3.1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/eastasianwidth": {
- "version": "0.2.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/emoji-regex": {
- "version": "8.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/encoding": {
- "version": "0.1.13",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "iconv-lite": "^0.6.2"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/env-paths": {
- "version": "2.2.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/err-code": {
- "version": "2.0.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/exponential-backoff": {
- "version": "3.1.2",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/fastest-levenshtein": {
- "version": "1.0.16",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4.9.1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/foreground-child": {
- "version": "3.3.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "cross-spawn": "^7.0.6",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/fs-minipass": {
- "version": "3.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/glob": {
- "version": "11.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.3.1",
- "jackspeak": "^4.1.1",
- "minimatch": "^10.0.3",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^2.0.0"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/graceful-fs": {
- "version": "4.2.11",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/hosted-git-info": {
- "version": "9.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^11.1.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/http-cache-semantics": {
- "version": "4.2.0",
- "dev": true,
- "inBundle": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/http-proxy-agent": {
- "version": "7.0.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/https-proxy-agent": {
- "version": "7.0.6",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/iconv-lite": {
- "version": "0.6.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ignore-walk": {
- "version": "8.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minimatch": "^10.0.3"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/imurmurhash": {
- "version": "0.1.4",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ini": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/init-package-json": {
- "version": "8.2.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/package-json": "^7.0.0",
- "npm-package-arg": "^13.0.0",
- "promzard": "^2.0.0",
- "read": "^4.0.0",
- "semver": "^7.7.2",
- "validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^6.0.2"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ip-address": {
- "version": "10.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ip-regex": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/is-cidr": {
- "version": "6.0.1",
- "dev": true,
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "cidr-regex": "5.0.1"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/isexe": {
- "version": "3.1.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/jackspeak": {
- "version": "4.1.1",
- "dev": true,
- "inBundle": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/cliui": "^8.0.2"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/json-parse-even-better-errors": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/json-stringify-nice": {
- "version": "1.1.4",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/jsonparse": {
- "version": "1.3.1",
- "dev": true,
- "engines": [
- "node >= 0.2.0"
- ],
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/just-diff": {
- "version": "6.0.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/just-diff-apply": {
- "version": "5.5.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmaccess": {
- "version": "10.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-package-arg": "^13.0.0",
- "npm-registry-fetch": "^19.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmdiff": {
- "version": "8.0.9",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^9.1.6",
- "@npmcli/installed-package-contents": "^3.0.0",
- "binary-extensions": "^3.0.0",
- "diff": "^8.0.2",
- "minimatch": "^10.0.3",
- "npm-package-arg": "^13.0.0",
- "pacote": "^21.0.2",
- "tar": "^7.5.1"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmexec": {
- "version": "10.1.8",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^9.1.6",
- "@npmcli/package-json": "^7.0.0",
- "@npmcli/run-script": "^10.0.0",
- "ci-info": "^4.0.0",
- "npm-package-arg": "^13.0.0",
- "pacote": "^21.0.2",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1",
- "read": "^4.0.0",
- "semver": "^7.3.7",
- "signal-exit": "^4.1.0",
- "walk-up-path": "^4.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmfund": {
- "version": "7.0.9",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^9.1.6"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmorg": {
- "version": "8.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^19.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmpack": {
- "version": "9.0.9",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/arborist": "^9.1.6",
- "@npmcli/run-script": "^10.0.0",
- "npm-package-arg": "^13.0.0",
- "pacote": "^21.0.2"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmpublish": {
- "version": "11.1.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/package-json": "^7.0.0",
- "ci-info": "^4.0.0",
- "npm-package-arg": "^13.0.0",
- "npm-registry-fetch": "^19.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.7",
- "sigstore": "^4.0.0",
- "ssri": "^12.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmsearch": {
- "version": "9.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-registry-fetch": "^19.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmteam": {
- "version": "8.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^19.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/libnpmversion": {
- "version": "8.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/git": "^7.0.0",
- "@npmcli/run-script": "^10.0.0",
- "json-parse-even-better-errors": "^4.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.7"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/lru-cache": {
- "version": "11.2.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/make-fetch-happen": {
- "version": "15.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/agent": "^4.0.0",
- "cacache": "^20.0.1",
- "http-cache-semantics": "^4.1.1",
- "minipass": "^7.0.2",
- "minipass-fetch": "^4.0.0",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^1.0.0",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1",
- "ssri": "^12.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minimatch": {
- "version": "10.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@isaacs/brace-expansion": "^5.0.0"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass": {
- "version": "7.1.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-collect": {
- "version": "2.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-fetch": {
- "version": "4.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^7.0.3",
- "minipass-sized": "^1.0.3",
- "minizlib": "^3.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- },
- "optionalDependencies": {
- "encoding": "^0.1.13"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-flush": {
- "version": "1.0.5",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-flush/node_modules/minipass": {
- "version": "3.3.6",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-pipeline": {
- "version": "1.2.4",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": {
- "version": "3.3.6",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-sized": {
- "version": "1.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minipass-sized/node_modules/minipass": {
- "version": "3.3.6",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/minizlib": {
- "version": "3.1.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ms": {
- "version": "2.1.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/mute-stream": {
- "version": "2.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/negotiator": {
- "version": "1.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp": {
- "version": "11.4.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "env-paths": "^2.2.0",
- "exponential-backoff": "^3.1.1",
- "graceful-fs": "^4.2.6",
- "make-fetch-happen": "^14.0.3",
- "nopt": "^8.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5",
- "tar": "^7.4.3",
- "tinyglobby": "^0.2.12",
- "which": "^5.0.0"
- },
- "bin": {
- "node-gyp": "bin/node-gyp.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/agent": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "agent-base": "^7.1.0",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.1",
- "lru-cache": "^10.0.1",
- "socks-proxy-agent": "^8.0.3"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/cacache": {
- "version": "19.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/fs": "^4.0.0",
- "fs-minipass": "^3.0.0",
- "glob": "^10.2.2",
- "lru-cache": "^10.0.1",
- "minipass": "^7.0.3",
- "minipass-collect": "^2.0.1",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "p-map": "^7.0.2",
- "ssri": "^12.0.0",
- "tar": "^7.4.3",
- "unique-filename": "^4.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/glob": {
- "version": "10.4.5",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/jackspeak": {
- "version": "3.4.3",
- "dev": true,
- "inBundle": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/cliui": "^8.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- },
- "optionalDependencies": {
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/lru-cache": {
- "version": "10.4.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": {
- "version": "14.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/agent": "^3.0.0",
- "cacache": "^19.0.1",
- "http-cache-semantics": "^4.1.1",
- "minipass": "^7.0.2",
- "minipass-fetch": "^4.0.0",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^1.0.0",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1",
- "ssri": "^12.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/minimatch": {
- "version": "9.0.5",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/node-gyp/node_modules/path-scurry": {
- "version": "1.11.1",
- "dev": true,
- "inBundle": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^10.2.0",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
- },
- "engines": {
- "node": ">=16 || 14 >=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/nopt": {
- "version": "8.1.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "abbrev": "^3.0.0"
- },
- "bin": {
- "nopt": "bin/nopt.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-audit-report": {
- "version": "6.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-bundled": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-normalize-package-bin": "^4.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-install-checks": {
- "version": "7.1.2",
- "dev": true,
- "inBundle": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "semver": "^7.1.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-normalize-package-bin": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-package-arg": {
- "version": "13.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "hosted-git-info": "^9.0.0",
- "proc-log": "^5.0.0",
- "semver": "^7.3.5",
- "validate-npm-package-name": "^6.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-packlist": {
- "version": "10.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "ignore-walk": "^8.0.0",
- "proc-log": "^5.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-pick-manifest": {
- "version": "11.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-install-checks": "^7.1.0",
- "npm-normalize-package-bin": "^4.0.0",
- "npm-package-arg": "^13.0.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-profile": {
- "version": "12.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "npm-registry-fetch": "^19.0.0",
- "proc-log": "^5.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-registry-fetch": {
- "version": "19.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/redact": "^3.0.0",
- "jsonparse": "^1.3.1",
- "make-fetch-happen": "^15.0.0",
- "minipass": "^7.0.2",
- "minipass-fetch": "^4.0.0",
- "minizlib": "^3.0.1",
- "npm-package-arg": "^13.0.0",
- "proc-log": "^5.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/npm-user-validate": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/p-map": {
- "version": "7.0.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/package-json-from-dist": {
- "version": "1.0.1",
- "dev": true,
- "inBundle": true,
- "license": "BlueOak-1.0.0"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/pacote": {
- "version": "21.0.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/git": "^7.0.0",
- "@npmcli/installed-package-contents": "^3.0.0",
- "@npmcli/package-json": "^7.0.0",
- "@npmcli/promise-spawn": "^8.0.0",
- "@npmcli/run-script": "^10.0.0",
- "cacache": "^20.0.0",
- "fs-minipass": "^3.0.0",
- "minipass": "^7.0.2",
- "npm-package-arg": "^13.0.0",
- "npm-packlist": "^10.0.1",
- "npm-pick-manifest": "^11.0.1",
- "npm-registry-fetch": "^19.0.0",
- "proc-log": "^5.0.0",
- "promise-retry": "^2.0.1",
- "sigstore": "^4.0.0",
- "ssri": "^12.0.0",
- "tar": "^7.4.3"
- },
- "bin": {
- "pacote": "bin/index.js"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/parse-conflict-json": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "json-parse-even-better-errors": "^4.0.0",
- "just-diff": "^6.0.0",
- "just-diff-apply": "^5.2.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/path-key": {
- "version": "3.1.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/path-scurry": {
- "version": "2.0.0",
- "dev": true,
- "inBundle": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/postcss-selector-parser": {
- "version": "7.1.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/proc-log": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/proggy": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promise-all-reject-late": {
- "version": "1.0.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promise-call-limit": {
- "version": "3.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promise-retry": {
- "version": "2.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "err-code": "^2.0.2",
- "retry": "^0.12.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/promzard": {
- "version": "2.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "read": "^4.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/qrcode-terminal": {
- "version": "0.12.0",
- "dev": true,
- "inBundle": true,
- "bin": {
- "qrcode-terminal": "bin/qrcode-terminal.js"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/read": {
- "version": "4.1.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "mute-stream": "^2.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/read-cmd-shim": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/retry": {
- "version": "0.12.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/safer-buffer": {
- "version": "2.1.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/semver": {
- "version": "7.7.3",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/shebang-command": {
- "version": "2.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/shebang-regex": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/signal-exit": {
- "version": "4.1.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/sigstore": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@sigstore/bundle": "^4.0.0",
- "@sigstore/core": "^3.0.0",
- "@sigstore/protobuf-specs": "^0.5.0",
- "@sigstore/sign": "^4.0.0",
- "@sigstore/tuf": "^4.0.0",
- "@sigstore/verify": "^3.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/smart-buffer": {
- "version": "4.2.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">= 6.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/socks": {
- "version": "2.8.7",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ip-address": "^10.0.1",
- "smart-buffer": "^4.2.0"
- },
- "engines": {
- "node": ">= 10.0.0",
- "npm": ">= 3.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/socks-proxy-agent": {
- "version": "8.0.5",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "^4.3.4",
- "socks": "^2.8.3"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-correct": {
- "version": "3.2.0",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-exceptions": {
- "version": "2.5.0",
- "dev": true,
- "inBundle": true,
- "license": "CC-BY-3.0"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-expression-parse": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/spdx-license-ids": {
- "version": "3.0.22",
- "dev": true,
- "inBundle": true,
- "license": "CC0-1.0"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/ssri": {
- "version": "12.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/string-width": {
- "version": "4.2.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/string-width-cjs": {
- "name": "string-width",
- "version": "4.2.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/strip-ansi": {
- "version": "6.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/strip-ansi-cjs": {
- "name": "strip-ansi",
- "version": "6.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/supports-color": {
- "version": "10.2.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar": {
- "version": "7.5.1",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "@isaacs/fs-minipass": "^4.0.0",
- "chownr": "^3.0.0",
- "minipass": "^7.1.2",
- "minizlib": "^3.1.0",
- "yallist": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tar/node_modules/yallist": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/text-table": {
- "version": "0.2.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tiny-relative-date": {
- "version": "2.0.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tinyglobby": {
- "version": "0.2.15",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "fdir": "^6.5.0",
- "picomatch": "^4.0.3"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/SuperchupuDev"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tinyglobby/node_modules/fdir": {
- "version": "6.5.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.3",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/treeverse": {
- "version": "3.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/tuf-js": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "@tufjs/models": "4.0.0",
- "debug": "^4.4.1",
- "make-fetch-happen": "^15.0.0"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/unique-filename": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "unique-slug": "^5.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/unique-slug": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/util-deprecate": {
- "version": "1.0.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/validate-npm-package-license": {
- "version": "3.0.4",
- "dev": true,
- "inBundle": true,
- "license": "Apache-2.0",
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/validate-npm-package-name": {
- "version": "6.0.2",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/walk-up-path": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/which": {
- "version": "5.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi": {
- "version": "8.1.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi-cjs": {
- "name": "wrap-ansi",
- "version": "7.0.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
- "version": "4.3.0",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "6.2.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": {
- "version": "9.2.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT"
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": {
- "version": "5.1.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "7.1.2",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/write-file-atomic": {
- "version": "6.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC",
- "dependencies": {
- "imurmurhash": "^0.1.4",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@semantic-release/npm/node_modules/npm/node_modules/yallist": {
- "version": "4.0.0",
- "dev": true,
- "inBundle": true,
- "license": "ISC"
- },
"node_modules/@semantic-release/npm/node_modules/path-key": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -4507,7 +1683,6 @@
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
- "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -4520,7 +1695,6 @@
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz",
"integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -4533,7 +1707,6 @@
"resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
"integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"dev": true,
- "license": "MIT",
"engines": {
"node": ">=18"
},
@@ -4542,9 +1715,9 @@
}
},
"node_modules/@semantic-release/release-notes-generator": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.1.0.tgz",
- "integrity": "sha512-CcyDRk7xq+ON/20YNR+1I/jP7BYKICr1uKd1HHpROSnnTdGqOTburi4jcRiTYz0cpfhxSloQO3cGhnoot7IEkA==",
+ "version": "14.0.1",
+ "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.1.tgz",
+ "integrity": "sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4554,7 +1727,7 @@
"conventional-commits-parser": "^6.0.0",
"debug": "^4.0.0",
"get-stream": "^7.0.0",
- "import-from-esm": "^2.0.0",
+ "import-from-esm": "^1.0.3",
"into-stream": "^7.0.0",
"lodash-es": "^4.17.21",
"read-package-up": "^11.0.0"
@@ -4579,20 +1752,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@semantic-release/release-notes-generator/node_modules/import-from-esm": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz",
- "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.4",
- "import-meta-resolve": "^4.0.0"
- },
- "engines": {
- "node": ">=18.20"
- }
- },
"node_modules/@sindresorhus/is": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
@@ -4626,6 +1785,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/semver": {
+ "version": "7.5.8",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
+ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/agent-base": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
@@ -4731,9 +1897,9 @@
"license": "MIT"
},
"node_modules/before-after-hook": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz",
- "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz",
+ "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==",
"dev": true,
"license": "Apache-2.0"
},
@@ -4968,9 +2134,9 @@
}
},
"node_modules/conventional-changelog-angular": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.1.0.tgz",
- "integrity": "sha512-GGf2Nipn1RUCAktxuVauVr1e3r8QrLP/B0lEUsFktmGqc3ddbQkhoJZHJctVU829U1c6mTSWftrVOCHaL85Q3w==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz",
+ "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -4981,12 +2147,13 @@
}
},
"node_modules/conventional-changelog-writer": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.2.0.tgz",
- "integrity": "sha512-Y2aW4596l9AEvFJRwFGJGiQjt2sBYTjPD18DdvxX9Vpz0Z7HQ+g1Z+6iYDAm1vR3QOJrDBkRHixHK/+FhkR6Pw==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz",
+ "integrity": "sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==",
"dev": true,
"license": "MIT",
"dependencies": {
+ "@types/semver": "^7.5.5",
"conventional-commits-filter": "^5.0.0",
"handlebars": "^4.7.7",
"meow": "^13.0.0",
@@ -5010,9 +2177,9 @@
}
},
"node_modules/conventional-commits-parser": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.2.1.tgz",
- "integrity": "sha512-20pyHgnO40rvfI0NGF/xiEoFMkXDtkF8FwHvk5BokoFoCuTQRI8vrNCNFWUOfuolKJMm1tPCHc8GgYEtr1XRNA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz",
+ "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5201,9 +2368,9 @@
"license": "MIT"
},
"node_modules/env-ci": {
- "version": "11.2.0",
- "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.2.0.tgz",
- "integrity": "sha512-D5kWfzkmaOQDioPmiviWAVtKmpPT4/iJmMVQxWxMPJTFyTkdc5JQUfc5iXEeWxcOdsYTKSAiA/Age4NUOqKsRA==",
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.1.0.tgz",
+ "integrity": "sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5449,23 +2616,6 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/fast-content-type-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz",
- "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
- "license": "MIT"
- },
"node_modules/fast-glob": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
@@ -5614,19 +2764,6 @@
"node": "6.* || 8.* || >= 10.*"
}
},
- "node_modules/get-east-asian-width": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz",
- "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/get-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
@@ -5798,26 +2935,16 @@
}
},
"node_modules/hosted-git-info": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz",
- "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.0.tgz",
+ "integrity": "sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==",
"dev": true,
"license": "ISC",
"dependencies": {
- "lru-cache": "^11.1.0"
+ "lru-cache": "^10.0.1"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/hosted-git-info/node_modules/lru-cache": {
- "version": "11.2.2",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz",
- "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "20 || >=22"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/http-proxy-agent": {
@@ -9762,17 +6889,17 @@
"license": "MIT"
},
"node_modules/semantic-release": {
- "version": "25.0.1",
- "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.1.tgz",
- "integrity": "sha512-0OCYLm0AfVilNGukM+w0C4aptITfuW1Mhvmz8LQliLeYbPOTFRCIJzoltWWx/F5zVFe6np9eNatBUHdAvMFeZg==",
+ "version": "24.2.9",
+ "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.9.tgz",
+ "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@semantic-release/commit-analyzer": "^13.0.1",
+ "@semantic-release/commit-analyzer": "^13.0.0-beta.1",
"@semantic-release/error": "^4.0.0",
- "@semantic-release/github": "^12.0.0",
- "@semantic-release/npm": "^13.1.1",
- "@semantic-release/release-notes-generator": "^14.1.0",
+ "@semantic-release/github": "^11.0.0",
+ "@semantic-release/npm": "^12.0.2",
+ "@semantic-release/release-notes-generator": "^14.0.0-beta.1",
"aggregate-error": "^5.0.0",
"cosmiconfig": "^9.0.0",
"debug": "^4.0.0",
@@ -9783,7 +6910,7 @@
"get-stream": "^6.0.0",
"git-log-parser": "^1.2.0",
"hook-std": "^4.0.0",
- "hosted-git-info": "^9.0.0",
+ "hosted-git-info": "^8.0.0",
"import-from-esm": "^2.0.0",
"lodash-es": "^4.17.21",
"marked": "^15.0.0",
@@ -9796,13 +6923,13 @@
"semver": "^7.3.2",
"semver-diff": "^5.0.0",
"signale": "^1.2.1",
- "yargs": "^18.0.0"
+ "yargs": "^17.5.1"
},
"bin": {
"semantic-release": "bin/semantic-release.js"
},
"engines": {
- "node": "^22.14.0 || >= 24.10.0"
+ "node": ">=20.8.1"
}
},
"node_modules/semantic-release/node_modules/@semantic-release/error": {
@@ -9845,32 +6972,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/semantic-release/node_modules/ansi-regex": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/semantic-release/node_modules/ansi-styles": {
- "version": "6.2.3",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
- "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
"node_modules/semantic-release/node_modules/clean-stack": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
@@ -9887,28 +6988,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/semantic-release/node_modules/cliui": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
- "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^7.2.0",
- "strip-ansi": "^7.1.0",
- "wrap-ansi": "^9.0.0"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/semantic-release/node_modules/emoji-regex": {
- "version": "10.6.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
- "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/semantic-release/node_modules/escape-string-regexp": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
@@ -10102,40 +7181,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/semantic-release/node_modules/string-width": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
- "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^10.3.0",
- "get-east-asian-width": "^1.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/semantic-release/node_modules/strip-ansi": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
- "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
"node_modules/semantic-release/node_modules/strip-final-newline": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz",
@@ -10162,52 +7207,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/semantic-release/node_modules/wrap-ansi": {
- "version": "9.0.2",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
- "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.2.1",
- "string-width": "^7.0.0",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/semantic-release/node_modules/yargs": {
- "version": "18.0.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
- "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^9.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "string-width": "^7.2.0",
- "y18n": "^5.0.5",
- "yargs-parser": "^22.0.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=23"
- }
- },
- "node_modules/semantic-release/node_modules/yargs-parser": {
- "version": "22.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
- "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=23"
- }
- },
"node_modules/semver": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
@@ -10716,54 +7715,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/tinyglobby": {
- "version": "0.2.15",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
- "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fdir": "^6.5.0",
- "picomatch": "^4.0.3"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/SuperchupuDev"
- }
- },
- "node_modules/tinyglobby/node_modules/fdir": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
- "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
- }
- },
- "node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -10790,16 +7741,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/tunnel": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
- "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
- }
- },
"node_modules/type-fest": {
"version": "4.26.1",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz",
@@ -10827,19 +7768,6 @@
"node": ">=0.8.0"
}
},
- "node_modules/undici": {
- "version": "5.29.0",
- "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
- "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@fastify/busboy": "^2.0.0"
- },
- "engines": {
- "node": ">=14.0"
- }
- },
"node_modules/unicode-emoji-modifier-base": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz",
@@ -10880,9 +7808,9 @@
}
},
"node_modules/universal-user-agent": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz",
- "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
+ "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==",
"dev": true,
"license": "ISC"
},
diff --git a/package.json b/package.json
index 9fecf99f7..b38c0f0b8 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,6 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"gradle-semantic-release-plugin": "^1.10.1",
- "semantic-release": "^25.0.1"
+ "semantic-release": "^24.2.9"
}
}
From 81f83690d6f5faa9d7f81ebb099983ef8b6bec55 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Fri, 7 Nov 2025 11:39:00 +0000
Subject: [PATCH 19/35] chore: Release v5.46.0-dev.5 [skip ci]
# [5.46.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.4...v5.46.0-dev.5) (2025-11-07)
### Bug Fixes
* **Duolingo - Disable ads:** Constrain patch to last working app target ([f238ae9](https://github.com/ReVanced/revanced-patches/commit/f238ae9895000f01d1dccb800cc8efde0d5362bd))
* **Instagram - Hide navigation buttons:** Constrain patch to last working app target ([e030e9c](https://github.com/ReVanced/revanced-patches/commit/e030e9c07a7748e117ac44f6776a9f6317b20623))
* **Spotify - Hide Create button:** Remove obsolete patch that is no longer needed ([#6252](https://github.com/ReVanced/revanced-patches/issues/6252)) ([59d85b2](https://github.com/ReVanced/revanced-patches/commit/59d85b28a7fcb285ff5f2bb6ae654020d76b2019))
---
CHANGELOG.md | 9 +++++++++
gradle.properties | 2 +-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 66bf2f1a2..eb6d4d56d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,12 @@
+# [5.46.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.4...v5.46.0-dev.5) (2025-11-07)
+
+
+### Bug Fixes
+
+* **Duolingo - Disable ads:** Constrain patch to last working app target ([f238ae9](https://github.com/ReVanced/revanced-patches/commit/f238ae9895000f01d1dccb800cc8efde0d5362bd))
+* **Instagram - Hide navigation buttons:** Constrain patch to last working app target ([e030e9c](https://github.com/ReVanced/revanced-patches/commit/e030e9c07a7748e117ac44f6776a9f6317b20623))
+* **Spotify - Hide Create button:** Remove obsolete patch that is no longer needed ([#6252](https://github.com/ReVanced/revanced-patches/issues/6252)) ([59d85b2](https://github.com/ReVanced/revanced-patches/commit/59d85b28a7fcb285ff5f2bb6ae654020d76b2019))
+
# [5.46.0-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.3...v5.46.0-dev.4) (2025-11-07)
diff --git a/gradle.properties b/gradle.properties
index 44d6f421b..0b6cc5399 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.46.0-dev.4
+version = 5.46.0-dev.5
From 2e9d6959c94df7588b9e34b18770e9f437e91926 Mon Sep 17 00:00:00 2001
From: MarcaD <152095496+MarcaDian@users.noreply.github.com>
Date: Sat, 8 Nov 2025 10:01:46 +0200
Subject: [PATCH 20/35] feat(YouTube - Debugging): Add setting to block
experimental client flags (#6196)
---
.../videoplayer/PlaybackSpeedPatch.java | 10 +-
.../app/revanced/extension/shared/Utils.java | 58 +-
.../shared/patches/EnableDebuggingPatch.java | 58 +-
.../shared/settings/BaseActivityHook.java | 9 +-
.../shared/settings/BaseSettings.java | 2 +
.../preference/ColorPickerPreference.java | 9 +-
.../settings/preference/ColorPickerView.java | 20 +-
.../FeatureFlagsManagerPreference.java | 621 ++++++++++++++++++
.../preference/ImportExportPreference.java | 4 +-
.../preference/ReVancedAboutPreference.java | 7 +-
.../preference/ToolbarPreferenceFragment.java | 7 +-
.../search/BaseSearchResultsAdapter.java | 8 +-
.../search/BaseSearchViewController.java | 10 +-
.../extension/shared/ui/ColorDot.java | 5 +-
.../extension/shared/ui/CustomDialog.java | 45 +-
.../app/revanced/extension/shared/ui/Dim.java | 89 +++
.../shared/ui/SheetBottomDialog.java | 20 +-
.../youtube/patches/WideSearchbarPatch.java | 3 +-
.../announcements/AnnouncementsPatch.java | 4 +-
.../speed/CustomPlaybackSpeedPatch.java | 41 +-
.../ReturnYouTubeDislike.java | 9 +-
.../ExternalDownloaderPreference.java | 131 ++--
.../SegmentPlaybackController.java | 12 +-
.../objects/SegmentCategoryPreference.java | 4 +-
.../sponsorblock/ui/NewSegmentLayout.java | 5 +-
.../ui/SponsorBlockPreferenceGroup.java | 6 +-
.../videoplayer/VideoQualityDialogButton.java | 9 +-
.../misc/debugging/EnableDebuggingPatch.kt | 30 +-
.../resources/addresources/values/strings.xml | 9 +
.../revanced_settings_arrow_left_double.xml | 32 +
.../revanced_settings_arrow_left_one.xml | 31 +
.../revanced_settings_arrow_right_double.xml | 32 +
.../revanced_settings_arrow_right_one.xml | 31 +
.../drawable/revanced_settings_copy_all.xml | 28 +
.../revanced_settings_deselect_all.xml | 28 +
.../drawable/revanced_settings_select_all.xml | 28 +
36 files changed, 1174 insertions(+), 281 deletions(-)
create mode 100644 extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/FeatureFlagsManagerPreference.java
create mode 100644 extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/Dim.java
create mode 100644 patches/src/main/resources/settings/drawable/revanced_settings_arrow_left_double.xml
create mode 100644 patches/src/main/resources/settings/drawable/revanced_settings_arrow_left_one.xml
create mode 100644 patches/src/main/resources/settings/drawable/revanced_settings_arrow_right_double.xml
create mode 100644 patches/src/main/resources/settings/drawable/revanced_settings_arrow_right_one.xml
create mode 100644 patches/src/main/resources/settings/drawable/revanced_settings_copy_all.xml
create mode 100644 patches/src/main/resources/settings/drawable/revanced_settings_deselect_all.xml
create mode 100644 patches/src/main/resources/settings/drawable/revanced_settings_select_all.xml
diff --git a/extensions/primevideo/src/main/java/app/revanced/extension/primevideo/videoplayer/PlaybackSpeedPatch.java b/extensions/primevideo/src/main/java/app/revanced/extension/primevideo/videoplayer/PlaybackSpeedPatch.java
index ad7fd04c1..10cbda63a 100644
--- a/extensions/primevideo/src/main/java/app/revanced/extension/primevideo/videoplayer/PlaybackSpeedPatch.java
+++ b/extensions/primevideo/src/main/java/app/revanced/extension/primevideo/videoplayer/PlaybackSpeedPatch.java
@@ -16,6 +16,7 @@ import java.util.Arrays;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
+import app.revanced.extension.shared.ui.Dim;
import com.amazon.video.sdk.player.Player;
@@ -64,9 +65,8 @@ public class PlaybackSpeedPatch {
SpeedIconDrawable speedIcon = new SpeedIconDrawable();
speedButton.setImageDrawable(speedIcon);
- int buttonSize = Utils.dipToPixels(48);
- speedButton.setMinimumWidth(buttonSize);
- speedButton.setMinimumHeight(buttonSize);
+ speedButton.setMinimumWidth(Dim.dp48);
+ speedButton.setMinimumHeight(Dim.dp48);
return speedButton;
}
@@ -197,11 +197,11 @@ class SpeedIconDrawable extends Drawable {
@Override
public int getIntrinsicWidth() {
- return Utils.dipToPixels(32);
+ return Dim.dp32;
}
@Override
public int getIntrinsicHeight() {
- return Utils.dipToPixels(32);
+ return Dim.dp32;
}
}
\ No newline at end of file
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java
index 9ec217b64..551d89753 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java
@@ -23,9 +23,7 @@ import android.os.Looper;
import android.preference.Preference;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
-import android.util.DisplayMetrics;
import android.util.Pair;
-import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
@@ -63,6 +61,7 @@ import app.revanced.extension.shared.settings.AppLanguage;
import app.revanced.extension.shared.settings.BaseSettings;
import app.revanced.extension.shared.settings.BooleanSetting;
import app.revanced.extension.shared.settings.preference.ReVancedAboutPreference;
+import app.revanced.extension.shared.ui.Dim;
@SuppressWarnings("NewApi")
public class Utils {
@@ -801,13 +800,10 @@ public class Utils {
public static void setDialogWindowParameters(Window window, int gravity, int yOffsetDip, int widthPercentage, boolean dimAmount) {
WindowManager.LayoutParams params = window.getAttributes();
- DisplayMetrics displayMetrics = Resources.getSystem().getDisplayMetrics();
- int portraitWidth = Math.min(displayMetrics.widthPixels, displayMetrics.heightPixels);
-
- params.width = (int) (portraitWidth * (widthPercentage / 100.0f)); // Set width based on parameters.
+ params.width = Dim.pctPortraitWidth(widthPercentage);
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.gravity = gravity;
- params.y = yOffsetDip > 0 ? dipToPixels(yOffsetDip) : 0;
+ params.y = yOffsetDip > 0 ? Dim.dp(yOffsetDip) : 0;
if (dimAmount) {
params.dimAmount = 0f;
}
@@ -816,18 +812,6 @@ public class Utils {
window.setBackgroundDrawable(null); // Remove default dialog background
}
- /**
- * Creates an array of corner radii for a rounded rectangle shape.
- *
- * @param dp Radius in density-independent pixels (dip) to apply to all corners.
- * @return An array of eight float values representing the corner radii
- * (top-left, top-right, bottom-right, bottom-left).
- */
- public static float[] createCornerRadii(float dp) {
- final float radius = dipToPixels(dp);
- return new float[]{radius, radius, radius, radius, radius, radius, radius, radius};
- }
-
/**
* Sets the theme light color used by the app.
*/
@@ -1132,42 +1116,6 @@ public class Utils {
return getResourceColor(colorString);
}
- /**
- * Converts dip value to actual device pixels.
- *
- * @param dip The density-independent pixels value.
- * @return The device pixel value.
- */
- public static int dipToPixels(float dip) {
- return (int) TypedValue.applyDimension(
- TypedValue.COMPLEX_UNIT_DIP,
- dip,
- Resources.getSystem().getDisplayMetrics()
- );
- }
-
- /**
- * Converts a percentage of the screen height to actual device pixels.
- *
- * @param percentage The percentage of the screen height (e.g., 30 for 30%).
- * @return The device pixel value corresponding to the percentage of screen height.
- */
- public static int percentageHeightToPixels(int percentage) {
- DisplayMetrics metrics = context.getResources().getDisplayMetrics();
- return (int) (metrics.heightPixels * (percentage / 100.0f));
- }
-
- /**
- * Converts a percentage of the screen width to actual device pixels.
- *
- * @param percentage The percentage of the screen width (e.g., 30 for 30%).
- * @return The device pixel value corresponding to the percentage of screen width.
- */
- public static int percentageWidthToPixels(int percentage) {
- DisplayMetrics metrics = context.getResources().getDisplayMetrics();
- return (int) (metrics.widthPixels * (percentage / 100.0f));
- }
-
/**
* Uses {@link #adjustColorBrightness(int, float)} depending if light or dark mode is active.
*/
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/EnableDebuggingPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/EnableDebuggingPatch.java
index 424ba7b12..e0551ed04 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/EnableDebuggingPatch.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/EnableDebuggingPatch.java
@@ -1,5 +1,9 @@
package app.revanced.extension.shared.patches;
+import static java.lang.Boolean.TRUE;
+
+import java.util.HashSet;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
@@ -21,12 +25,28 @@ public final class EnableDebuggingPatch {
? new ConcurrentHashMap<>(800, 0.5f, 1)
: null;
+ private static final Set DISABLED_FEATURE_FLAGS = parseFlags(BaseSettings.DISABLED_FEATURE_FLAGS.get());
+
+ // Log all disabled flags on app startup.
+ static {
+ if (LOG_FEATURE_FLAGS && !DISABLED_FEATURE_FLAGS.isEmpty()) {
+ StringBuilder sb = new StringBuilder("Disabled feature flags:\n");
+ for (Long flag : DISABLED_FEATURE_FLAGS) {
+ sb.append(" ").append(flag).append('\n');
+ }
+ Logger.printDebug(sb::toString);
+ }
+ }
+
/**
* Injection point.
*/
public static boolean isBooleanFeatureFlagEnabled(boolean value, Long flag) {
if (LOG_FEATURE_FLAGS && value) {
- if (featureFlags.putIfAbsent(flag, true) == null) {
+ if (DISABLED_FEATURE_FLAGS.contains(flag)) {
+ return false;
+ }
+ if (featureFlags.putIfAbsent(flag, TRUE) == null) {
Logger.printDebug(() -> "boolean feature is enabled: " + flag);
}
}
@@ -70,10 +90,44 @@ public final class EnableDebuggingPatch {
if (LOG_FEATURE_FLAGS && !defaultValue.equals(value)) {
if (featureFlags.putIfAbsent(flag, true) == null) {
Logger.printDebug(() -> " string feature is enabled: " + flag
- + " value: " + value + (defaultValue.isEmpty() ? "" : " default: " + defaultValue));
+ + " value: " + value + (defaultValue.isEmpty() ? "" : " default: " + defaultValue));
}
}
return value;
}
+
+ /**
+ * Get all logged feature flags.
+ * @return Set of all known flags
+ */
+ public static Set getAllLoggedFlags() {
+ if (featureFlags != null) {
+ return new HashSet<>(featureFlags.keySet());
+ }
+
+ return new HashSet<>();
+ }
+
+ /**
+ * Public method for parsing flags.
+ * @param flags String containing newline-separated flag IDs
+ * @return Set of parsed flag IDs
+ */
+ public static Set parseFlags(String flags) {
+ Set parsedFlags = new HashSet<>();
+ if (!flags.isBlank()) {
+ for (String flag : flags.split("\n")) {
+ String trimmedFlag = flag.trim();
+ if (trimmedFlag.isEmpty()) continue; // Skip empty lines.
+ try {
+ parsedFlags.add(Long.parseLong(trimmedFlag));
+ } catch (NumberFormatException e) {
+ Logger.printException(() -> "Invalid flag ID: " + flag);
+ }
+ }
+ }
+
+ return parsedFlags;
+ }
}
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseActivityHook.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseActivityHook.java
index 062949db7..fb068d8ed 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseActivityHook.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseActivityHook.java
@@ -7,7 +7,6 @@ import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.preference.PreferenceFragment;
-import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
@@ -16,6 +15,7 @@ import android.widget.Toolbar;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.preference.ToolbarPreferenceFragment;
+import app.revanced.extension.shared.ui.Dim;
/**
* Base class for hooking activities to inject a custom PreferenceFragment with a toolbar.
@@ -109,13 +109,12 @@ public abstract class BaseActivityHook extends Activity {
toolbar.setNavigationOnClickListener(getNavigationClickListener(activity));
toolbar.setTitle(STRING_REVANCED_SETTINGS_TITLE);
- final int margin = Utils.dipToPixels(16);
- toolbar.setTitleMarginStart(margin);
- toolbar.setTitleMarginEnd(margin);
+ toolbar.setTitleMarginStart(Dim.dp16);
+ toolbar.setTitleMarginEnd(Dim.dp16);
TextView toolbarTextView = Utils.getChildView(toolbar, false, view -> view instanceof TextView);
if (toolbarTextView != null) {
toolbarTextView.setTextColor(Utils.getAppForegroundColor());
- toolbarTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
+ toolbarTextView.setTextSize(20);
}
setToolbarLayoutParams(toolbar);
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java
index c1bc849c1..e9dc280a8 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java
@@ -42,4 +42,6 @@ public class BaseSettings {
public static final EnumSetting CUSTOM_BRANDING_ICON = new EnumSetting<>("revanced_custom_branding_icon", BrandingTheme.ORIGINAL, true);
public static final IntegerSetting CUSTOM_BRANDING_NAME = new IntegerSetting("revanced_custom_branding_name", 1, true);
+
+ public static final StringSetting DISABLED_FEATURE_FLAGS = new StringSetting("revanced_disabled_feature_flags", "", true, parent(DEBUG));
}
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ColorPickerPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ColorPickerPreference.java
index 63cf5eb0f..e3d6abee2 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ColorPickerPreference.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ColorPickerPreference.java
@@ -1,7 +1,6 @@
package app.revanced.extension.shared.settings.preference;
import static app.revanced.extension.shared.StringRef.str;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import static app.revanced.extension.shared.Utils.getResourceIdentifierOrThrow;
import android.app.Dialog;
@@ -37,6 +36,7 @@ import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.settings.StringSetting;
import app.revanced.extension.shared.ui.ColorDot;
import app.revanced.extension.shared.ui.CustomDialog;
+import app.revanced.extension.shared.ui.Dim;
/**
* A custom preference for selecting a color via a hexadecimal code or a color picker dialog.
@@ -310,11 +310,8 @@ public class ColorPickerPreference extends EditTextPreference {
inputLayout.setGravity(Gravity.CENTER_VERTICAL);
dialogColorDot = new View(context);
- LinearLayout.LayoutParams previewParams = new LinearLayout.LayoutParams(
- dipToPixels(20),
- dipToPixels(20)
- );
- previewParams.setMargins(dipToPixels(16), 0, dipToPixels(10), 0);
+ LinearLayout.LayoutParams previewParams = new LinearLayout.LayoutParams(Dim.dp20,Dim.dp20);
+ previewParams.setMargins(Dim.dp16, 0, Dim.dp10, 0);
dialogColorDot.setLayoutParams(previewParams);
inputLayout.addView(dialogColorDot);
updateDialogColorDot();
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ColorPickerView.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ColorPickerView.java
index 810ddb3a6..b8c957711 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ColorPickerView.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ColorPickerView.java
@@ -1,6 +1,5 @@
package app.revanced.extension.shared.settings.preference;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import static app.revanced.extension.shared.settings.preference.ColorPickerPreference.getColorString;
import android.annotation.SuppressLint;
@@ -21,6 +20,7 @@ import androidx.annotation.ColorInt;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
+import app.revanced.extension.shared.ui.Dim;
/**
* A custom color picker view that allows the user to select a color using a hue slider, a saturation-value selector
@@ -54,28 +54,28 @@ public class ColorPickerView extends View {
}
/** Expanded touch area for the hue and opacity bars to increase the touch-sensitive area. */
- public static final float TOUCH_EXPANSION = dipToPixels(20f);
+ public static final float TOUCH_EXPANSION = Dim.dp20;
/** Margin between different areas of the view (saturation-value selector, hue bar, and opacity slider). */
- private static final float MARGIN_BETWEEN_AREAS = dipToPixels(24);
+ private static final float MARGIN_BETWEEN_AREAS = Dim.dp24;
/** Padding around the view. */
- private static final float VIEW_PADDING = dipToPixels(16);
+ private static final float VIEW_PADDING = Dim.dp16;
/** Height of the hue bar. */
- private static final float HUE_BAR_HEIGHT = dipToPixels(12);
+ private static final float HUE_BAR_HEIGHT = Dim.dp12;
/** Height of the opacity slider. */
- private static final float OPACITY_BAR_HEIGHT = dipToPixels(12);
+ private static final float OPACITY_BAR_HEIGHT = Dim.dp12;
/** Corner radius for the hue bar. */
- private static final float HUE_CORNER_RADIUS = dipToPixels(6);
+ private static final float HUE_CORNER_RADIUS = Dim.dp6;
/** Corner radius for the opacity slider. */
- private static final float OPACITY_CORNER_RADIUS = dipToPixels(6);
+ private static final float OPACITY_CORNER_RADIUS = Dim.dp6;
/** Radius of the selector handles. */
- private static final float SELECTOR_RADIUS = dipToPixels(12);
+ private static final float SELECTOR_RADIUS = Dim.dp12;
/** Stroke width for the selector handle outlines. */
private static final float SELECTOR_STROKE_WIDTH = 8;
@@ -202,7 +202,7 @@ public class ColorPickerView extends View {
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
final float DESIRED_ASPECT_RATIO = 0.8f; // height = width * 0.8
- final int minWidth = dipToPixels(250);
+ final int minWidth = Dim.dp(250);
final int minHeight = (int) (minWidth * DESIRED_ASPECT_RATIO) + (int) (HUE_BAR_HEIGHT + MARGIN_BETWEEN_AREAS)
+ (opacitySliderEnabled ? (int) (OPACITY_BAR_HEIGHT + MARGIN_BETWEEN_AREAS) : 0);
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/FeatureFlagsManagerPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/FeatureFlagsManagerPreference.java
new file mode 100644
index 000000000..2be74ee00
--- /dev/null
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/FeatureFlagsManagerPreference.java
@@ -0,0 +1,621 @@
+package app.revanced.extension.shared.settings.preference;
+
+import static app.revanced.extension.shared.StringRef.str;
+import static app.revanced.extension.shared.Utils.getResourceIdentifierOrThrow;
+
+import android.annotation.SuppressLint;
+import android.app.Dialog;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.ShapeDrawable;
+import android.graphics.drawable.shapes.RoundRectShape;
+import android.preference.Preference;
+import android.text.Editable;
+import android.text.InputType;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.util.AttributeSet;
+import android.util.Pair;
+import android.util.SparseBooleanArray;
+import android.view.Gravity;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.widget.ArrayAdapter;
+import android.widget.EditText;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.ListView;
+import android.widget.Space;
+import android.widget.TextView;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
+import app.revanced.extension.shared.Logger;
+import app.revanced.extension.shared.Utils;
+import app.revanced.extension.shared.patches.EnableDebuggingPatch;
+import app.revanced.extension.shared.settings.BaseSettings;
+import app.revanced.extension.shared.ui.CustomDialog;
+import app.revanced.extension.shared.ui.Dim;
+
+/**
+ * A custom preference that opens a dialog for managing feature flags.
+ * Allows moving boolean flags between active and blocked states with advanced selection.
+ */
+@SuppressWarnings({"deprecation", "unused"})
+public class FeatureFlagsManagerPreference extends Preference {
+
+ private static final int DRAWABLE_REVANCED_SETTINGS_SELECT_ALL =
+ getResourceIdentifierOrThrow("revanced_settings_select_all", "drawable");
+ private static final int DRAWABLE_REVANCED_SETTINGS_DESELECT_ALL =
+ getResourceIdentifierOrThrow("revanced_settings_deselect_all", "drawable");
+ private static final int DRAWABLE_REVANCED_SETTINGS_COPY_ALL =
+ getResourceIdentifierOrThrow("revanced_settings_copy_all", "drawable");
+ private static final int DRAWABLE_REVANCED_SETTINGS_ARROW_RIGHT_ONE =
+ getResourceIdentifierOrThrow("revanced_settings_arrow_right_one", "drawable");
+ private static final int DRAWABLE_REVANCED_SETTINGS_ARROW_RIGHT_DOUBLE =
+ getResourceIdentifierOrThrow("revanced_settings_arrow_right_double", "drawable");
+ private static final int DRAWABLE_REVANCED_SETTINGS_ARROW_LEFT_ONE =
+ getResourceIdentifierOrThrow("revanced_settings_arrow_left_one", "drawable");
+ private static final int DRAWABLE_REVANCED_SETTINGS_ARROW_LEFT_DOUBLE =
+ getResourceIdentifierOrThrow("revanced_settings_arrow_left_double", "drawable");
+
+ /**
+ * Flags to hide from the UI.
+ */
+ private static final Set FLAGS_TO_IGNORE = Set.of(
+ 45386834L // 'You' tab settings icon.
+ );
+
+ /**
+ * Tracks state for range selection in ListView.
+ */
+ private static class ListViewSelectionState {
+ int lastClickedPosition = -1; // Position of the last clicked item.
+ boolean isRangeSelecting = false; // True while a range is being selected.
+ }
+
+ /**
+ * Helper class to pass ListView and Adapter together.
+ */
+ private record ColumnViews(ListView listView, FlagAdapter adapter) {}
+
+ {
+ setOnPreferenceClickListener(pref -> {
+ showFlagsManagerDialog();
+ return true;
+ });
+ }
+
+ public FeatureFlagsManagerPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ }
+
+ public FeatureFlagsManagerPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ }
+
+ public FeatureFlagsManagerPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ public FeatureFlagsManagerPreference(Context context) {
+ super(context);
+ }
+
+ /**
+ * Shows the main dialog for managing feature flags.
+ */
+ private void showFlagsManagerDialog() {
+ if (!BaseSettings.DEBUG.get()) {
+ Utils.showToastShort(str("revanced_debug_logs_disabled"));
+ return;
+ }
+
+ Context context = getContext();
+
+ // Load all known and disabled flags.
+ TreeSet allKnownFlags = new TreeSet<>(EnableDebuggingPatch.getAllLoggedFlags());
+ allKnownFlags.removeAll(FLAGS_TO_IGNORE);
+
+ TreeSet disabledFlags = new TreeSet<>(EnableDebuggingPatch.parseFlags(
+ BaseSettings.DISABLED_FEATURE_FLAGS.get()));
+ disabledFlags.removeAll(FLAGS_TO_IGNORE);
+
+ if (allKnownFlags.isEmpty() && disabledFlags.isEmpty()) {
+ // String does not need to be localized because it's basically impossible
+ // to reach the settings menu without encountering at least 1 flag.
+ Utils.showToastShort("No feature flags logged yet");
+ return;
+ }
+
+ TreeSet availableFlags = new TreeSet<>(allKnownFlags);
+ availableFlags.removeAll(disabledFlags);
+ TreeSet blockedFlags = new TreeSet<>(disabledFlags);
+
+ Pair dialogPair = CustomDialog.create(
+ context,
+ getTitle() != null ? getTitle().toString() : "",
+ null,
+ null,
+ str("revanced_settings_save"),
+ () -> saveFlags(blockedFlags),
+ () -> {},
+ str("revanced_settings_reset"),
+ this::resetFlags,
+ true
+ );
+
+ LinearLayout mainLayout = dialogPair.second;
+ LinearLayout.LayoutParams contentParams = new LinearLayout.LayoutParams(
+ LinearLayout.LayoutParams.MATCH_PARENT, 0, 1.0f);
+
+ // Insert content before the dialog button row.
+ View contentView = createContentView(context, availableFlags, blockedFlags);
+ mainLayout.addView(contentView, mainLayout.getChildCount() - 1, contentParams);
+
+ Dialog dialog = dialogPair.first;
+ dialog.show();
+
+ Window window = dialog.getWindow();
+ if (window != null) {
+ Utils.setDialogWindowParameters(window, Gravity.CENTER, 0, 100, false);
+ }
+ }
+
+ /**
+ * Creates the main content view with two columns.
+ */
+ private View createContentView(Context context, TreeSet availableFlags, TreeSet blockedFlags) {
+ LinearLayout contentLayout = new LinearLayout(context);
+ contentLayout.setOrientation(LinearLayout.VERTICAL);
+
+ // Headers.
+ TextView availableHeader = createHeader(context, "revanced_debug_feature_flags_manager_active_header");
+ TextView blockedHeader = createHeader(context, "revanced_debug_feature_flags_manager_blocked_header");
+
+ LinearLayout headersLayout = new LinearLayout(context);
+ headersLayout.setOrientation(LinearLayout.HORIZONTAL);
+ headersLayout.addView(availableHeader, new LinearLayout.LayoutParams(
+ 0, ViewGroup.LayoutParams.WRAP_CONTENT, 1f));
+ headersLayout.addView(blockedHeader, new LinearLayout.LayoutParams(
+ 0, ViewGroup.LayoutParams.WRAP_CONTENT, 1f));
+
+ // Columns.
+ View leftColumn = createColumn(context, availableFlags, availableHeader);
+ View rightColumn = createColumn(context, blockedFlags, blockedHeader);
+
+ ColumnViews leftViews = (ColumnViews) leftColumn.getTag();
+ ColumnViews rightViews = (ColumnViews) rightColumn.getTag();
+
+ updateHeaderCount(availableHeader, leftViews.adapter);
+ updateHeaderCount(blockedHeader, rightViews.adapter);
+
+ // Main columns layout.
+ LinearLayout columnsLayout = new LinearLayout(context);
+ columnsLayout.setOrientation(LinearLayout.HORIZONTAL);
+ columnsLayout.setLayoutParams(new LinearLayout.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT, 0, 1f));
+ columnsLayout.addView(leftColumn, new LinearLayout.LayoutParams(
+ 0, ViewGroup.LayoutParams.MATCH_PARENT, 1f));
+
+ Space spaceBetweenColumns = new Space(context);
+ spaceBetweenColumns.setLayoutParams(new LinearLayout.LayoutParams(Dim.dp8, ViewGroup.LayoutParams.MATCH_PARENT));
+ columnsLayout.addView(spaceBetweenColumns);
+
+ columnsLayout.addView(rightColumn, new LinearLayout.LayoutParams(
+ 0, ViewGroup.LayoutParams.MATCH_PARENT, 1f));
+
+ // Move buttons below columns.
+ Pair moveButtons = createMoveButtons(context,
+ leftViews.listView, rightViews.listView,
+ availableFlags, blockedFlags, availableHeader, blockedHeader);
+
+ // Layout for buttons row.
+ LinearLayout buttonsRow = new LinearLayout(context);
+ buttonsRow.setOrientation(LinearLayout.HORIZONTAL);
+ buttonsRow.setLayoutParams(new LinearLayout.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
+
+ buttonsRow.addView(moveButtons.first, new LinearLayout.LayoutParams(
+ 0, ViewGroup.LayoutParams.WRAP_CONTENT, 1f));
+
+ Space spaceBetweenButtons = new Space(context);
+ spaceBetweenButtons.setLayoutParams(new LinearLayout.LayoutParams(Dim.dp8, ViewGroup.LayoutParams.WRAP_CONTENT));
+ buttonsRow.addView(spaceBetweenButtons);
+
+ buttonsRow.addView(moveButtons.second, new LinearLayout.LayoutParams(
+ 0, ViewGroup.LayoutParams.WRAP_CONTENT, 1f));
+
+ contentLayout.addView(headersLayout);
+ contentLayout.addView(columnsLayout);
+ contentLayout.addView(buttonsRow);
+
+ return contentLayout;
+ }
+
+ /**
+ * Creates a header TextView.
+ */
+ private TextView createHeader(Context context, String tag) {
+ TextView textview = new TextView(context);
+ textview.setTag(tag);
+ textview.setTextSize(16);
+ textview.setTextColor(Utils.getAppForegroundColor());
+ textview.setGravity(Gravity.CENTER);
+
+ return textview;
+ }
+
+ /**
+ * Creates a single column (search + buttons + list).
+ */
+ private View createColumn(Context context, TreeSet flags, TextView countText) {
+ LinearLayout wrapper = new LinearLayout(context);
+ wrapper.setOrientation(LinearLayout.VERTICAL);
+
+ Pair pair = createListView(context, flags, countText);
+ ListView listView = pair.first;
+ FlagAdapter adapter = pair.second;
+
+ EditText search = createSearchBox(context, adapter, listView, countText);
+ LinearLayout buttons = createActionButtons(context, listView, adapter);
+
+ listView.setLayoutParams(new LinearLayout.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT, 0, 1f));
+ ShapeDrawable background = new ShapeDrawable(new RoundRectShape(
+ Dim.roundedCorners(10), null, null));
+ background.getPaint().setColor(Utils.getEditTextBackground());
+ listView.setPadding(0, Dim.dp4, 0, Dim.dp4);
+ listView.setBackground(background);
+ listView.setOverScrollMode(View.OVER_SCROLL_NEVER);
+
+ wrapper.addView(search);
+ wrapper.addView(buttons);
+ wrapper.addView(listView);
+
+ // Save references for move buttons.
+ wrapper.setTag(new ColumnViews(listView, adapter));
+
+ return wrapper;
+ }
+
+ /**
+ * Updates the header text with the current count.
+ */
+ private void updateHeaderCount(TextView header, FlagAdapter adapter) {
+ header.setText(str((String) header.getTag(), adapter.getCount()));
+ }
+
+ /**
+ * Creates a search box that filters the list.
+ */
+ @SuppressLint("ClickableViewAccessibility")
+ private EditText createSearchBox(Context context, FlagAdapter adapter, ListView listView, TextView countText) {
+ EditText search = new EditText(context);
+ search.setInputType(InputType.TYPE_CLASS_NUMBER);
+ search.setTextSize(16);
+ search.setHint(str("revanced_debug_feature_flags_manager_search_hint"));
+ search.setHapticFeedbackEnabled(false);
+ search.setLayoutParams(new LinearLayout.LayoutParams(
+ LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
+
+ search.addTextChangedListener(new TextWatcher() {
+ @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
+ @Override public void onTextChanged(CharSequence s, int start, int before, int count) {
+ adapter.setSearchQuery(s.toString());
+ listView.clearChoices();
+ updateHeaderCount(countText, adapter);
+ Drawable clearIcon = context.getResources().getDrawable(android.R.drawable.ic_menu_close_clear_cancel);
+ clearIcon.setBounds(0, 0, Dim.dp20, Dim.dp20);
+ search.setCompoundDrawables(null, null, TextUtils.isEmpty(s) ? null : clearIcon, null);
+ }
+ @Override public void afterTextChanged(Editable s) {}
+ });
+
+ search.setOnTouchListener((v, event) -> {
+ if (event.getAction() == MotionEvent.ACTION_UP) {
+ Drawable[] compoundDrawables = search.getCompoundDrawables();
+ if (compoundDrawables[2] != null &&
+ event.getRawX() >= (search.getRight() - compoundDrawables[2].getBounds().width())) {
+ search.setText("");
+ return true;
+ }
+ }
+ return false;
+ });
+
+ return search;
+ }
+
+ /**
+ * Creates action buttons.
+ */
+ private LinearLayout createActionButtons(Context context, ListView listView, FlagAdapter adapter) {
+ LinearLayout row = new LinearLayout(context);
+ row.setOrientation(LinearLayout.HORIZONTAL);
+ row.setGravity(Gravity.CENTER);
+ row.setLayoutParams(new LinearLayout.LayoutParams(
+ LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
+
+ ImageButton selectAll = createButton(context, DRAWABLE_REVANCED_SETTINGS_SELECT_ALL,
+ () -> {
+ for (int i = 0, count = adapter.getCount(); i < count; i++) {
+ listView.setItemChecked(i, true);
+ }
+ });
+
+ ImageButton clearAll = createButton(context, DRAWABLE_REVANCED_SETTINGS_DESELECT_ALL,
+ () -> {
+ listView.clearChoices();
+ adapter.notifyDataSetChanged();
+ });
+
+ ImageButton copy = createButton(context, DRAWABLE_REVANCED_SETTINGS_COPY_ALL,
+ () -> {
+ List items = new ArrayList<>();
+ SparseBooleanArray checked = listView.getCheckedItemPositions();
+
+ if (checked.size() > 0) {
+ for (int i = 0, count = adapter.getCount(); i < count; i++) {
+ if (checked.get(i)) {
+ items.add(adapter.getItem(i));
+ }
+ }
+ } else {
+ for (Long flag : adapter.getFullFlags()) {
+ items.add(String.valueOf(flag));
+ }
+ }
+
+ Utils.setClipboard(TextUtils.join("\n", items));
+
+ Utils.showToastShort(str("revanced_debug_feature_flags_manager_toast_copied"));
+ });
+
+ row.addView(selectAll);
+ row.addView(clearAll);
+ row.addView(copy);
+
+ return row;
+ }
+
+ /**
+ * Creates the move buttons (left and right groups).
+ */
+ private Pair createMoveButtons(Context context,
+ ListView availableListView, ListView blockedListView,
+ TreeSet availableFlags, TreeSet blockedFlags,
+ TextView availableCountText, TextView blockedCountText) {
+ // Left group: >> >
+ LinearLayout leftButtons = new LinearLayout(context);
+ leftButtons.setOrientation(LinearLayout.HORIZONTAL);
+ leftButtons.setGravity(Gravity.CENTER);
+
+ ImageButton moveAllRight = createButton(context, DRAWABLE_REVANCED_SETTINGS_ARROW_RIGHT_DOUBLE,
+ () -> moveFlags(availableListView, blockedListView, availableFlags, blockedFlags,
+ availableCountText, blockedCountText, true));
+
+ ImageButton moveOneRight = createButton(context, DRAWABLE_REVANCED_SETTINGS_ARROW_RIGHT_ONE,
+ () -> moveFlags(availableListView, blockedListView, availableFlags, blockedFlags,
+ availableCountText, blockedCountText, false));
+
+ leftButtons.addView(moveAllRight);
+ leftButtons.addView(moveOneRight);
+
+ // Right group: < <<
+ LinearLayout rightButtons = new LinearLayout(context);
+ rightButtons.setOrientation(LinearLayout.HORIZONTAL);
+ rightButtons.setGravity(Gravity.CENTER);
+
+ ImageButton moveOneLeft = createButton(context, DRAWABLE_REVANCED_SETTINGS_ARROW_LEFT_ONE,
+ () -> moveFlags(blockedListView, availableListView, blockedFlags, availableFlags,
+ blockedCountText, availableCountText, false));
+
+ ImageButton moveAllLeft = createButton(context, DRAWABLE_REVANCED_SETTINGS_ARROW_LEFT_DOUBLE,
+ () -> moveFlags(blockedListView, availableListView, blockedFlags, availableFlags,
+ blockedCountText, availableCountText, true));
+
+ rightButtons.addView(moveOneLeft);
+ rightButtons.addView(moveAllLeft);
+
+ return new Pair<>(leftButtons, rightButtons);
+ }
+
+ /**
+ * Creates a styled ImageButton.
+ */
+ @SuppressLint("ResourceType")
+ private ImageButton createButton(Context context, int drawableResId, Runnable action) {
+ ImageButton button = new ImageButton(context);
+
+ button.setImageResource(drawableResId);
+ button.setScaleType(ImageView.ScaleType.CENTER);
+ int[] attrs = {android.R.attr.selectableItemBackgroundBorderless};
+ try (TypedArray ripple = context.obtainStyledAttributes(attrs)) {
+ button.setBackgroundDrawable(ripple.getDrawable(0));
+ }
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(Dim.dp32, Dim.dp32);
+ params.setMargins(Dim.dp8, Dim.dp8, Dim.dp8, Dim.dp8);
+ button.setLayoutParams(params);
+
+ button.setOnClickListener(v -> action.run());
+
+ return button;
+ }
+
+ /**
+ * Custom adapter with search filtering.
+ */
+ private static class FlagAdapter extends ArrayAdapter {
+ private final TreeSet fullFlags;
+ private String searchQuery = "";
+
+ public FlagAdapter(Context context, TreeSet fullFlags) {
+ super(context, android.R.layout.simple_list_item_multiple_choice, new ArrayList<>());
+ this.fullFlags = fullFlags;
+ updateFiltered();
+ }
+
+ public void setSearchQuery(String query) {
+ searchQuery = query == null ? "" : query.trim();
+ updateFiltered();
+ }
+
+ private void updateFiltered() {
+ clear();
+ for (Long flag : fullFlags) {
+ String flagString = String.valueOf(flag);
+ if (searchQuery.isEmpty() || flagString.contains(searchQuery)) {
+ add(flagString);
+ }
+ }
+ notifyDataSetChanged();
+ }
+
+ public void refresh() {
+ updateFiltered();
+ }
+
+ public List getFullFlags() {
+ return new ArrayList<>(fullFlags);
+ }
+ }
+
+ /**
+ * Creates a ListView with filtering, multi-select, and range selection.
+ */
+ @SuppressLint("ClickableViewAccessibility")
+ private Pair createListView(Context context,
+ TreeSet flags, TextView countText) {
+ ListView listView = new ListView(context);
+ listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
+ listView.setDividerHeight(0);
+
+ FlagAdapter adapter = new FlagAdapter(context, flags);
+ listView.setAdapter(adapter);
+
+ final ListViewSelectionState state = new ListViewSelectionState();
+
+ listView.setOnItemClickListener((parent, view, position, id) -> {
+ if (!state.isRangeSelecting) {
+ state.lastClickedPosition = position;
+ } else {
+ state.isRangeSelecting = false;
+ }
+ });
+
+ listView.setOnItemLongClickListener((parent, view, position, id) -> {
+ if (state.lastClickedPosition == -1) {
+ listView.setItemChecked(position, true);
+ state.lastClickedPosition = position;
+ } else {
+ int start = Math.min(state.lastClickedPosition, position);
+ int end = Math.max(state.lastClickedPosition, position);
+ for (int i = start; i <= end; i++) {
+ listView.setItemChecked(i, true);
+ }
+ state.isRangeSelecting = true;
+ }
+ return true;
+ });
+
+ listView.setOnTouchListener((view, event) -> {
+ if (event.getAction() == MotionEvent.ACTION_UP && state.isRangeSelecting) {
+ state.isRangeSelecting = false;
+ }
+ return false;
+ });
+
+ return new Pair<>(listView, adapter);
+ }
+
+ /**
+ * Moves selected or all flags from one list to another.
+ *
+ * @param fromListView Source ListView.
+ * @param toListView Destination ListView.
+ * @param fromFlags Source flag set.
+ * @param toFlags Destination flag set.
+ * @param fromCountText Header showing count of source items.
+ * @param toCountText Header showing count of destination items.
+ * @param moveAll If true, move all items; if false, move only selected.
+ */
+ private void moveFlags(ListView fromListView, ListView toListView,
+ TreeSet fromFlags, TreeSet toFlags,
+ TextView fromCountText, TextView toCountText,
+ boolean moveAll) {
+ if (fromListView == null || toListView == null) return;
+
+ List flagsToMove = new ArrayList<>();
+ FlagAdapter fromAdapter = (FlagAdapter) fromListView.getAdapter();
+
+ if (moveAll) {
+ flagsToMove.addAll(fromFlags);
+ } else {
+ SparseBooleanArray checked = fromListView.getCheckedItemPositions();
+ for (int i = 0, count = fromAdapter.getCount(); i < count; i++) {
+ if (checked.get(i)) {
+ String item = fromAdapter.getItem(i);
+ if (item != null) {
+ flagsToMove.add(Long.parseLong(item));
+ }
+ }
+ }
+ }
+
+ if (flagsToMove.isEmpty()) return;
+
+ for (Long flag : flagsToMove) {
+ fromFlags.remove(flag);
+ toFlags.add(flag);
+ }
+
+ // Clear selections before refreshing.
+ fromListView.clearChoices();
+ toListView.clearChoices();
+
+ // Refresh both adapters.
+ fromAdapter.refresh();
+ ((FlagAdapter) toListView.getAdapter()).refresh();
+
+ // Update headers.
+ updateHeaderCount(fromCountText, fromAdapter);
+ updateHeaderCount(toCountText, (FlagAdapter) toListView.getAdapter());
+ }
+
+ /**
+ * Saves blocked flags to settings.
+ */
+ private void saveFlags(TreeSet blockedFlags) {
+ StringBuilder flagsString = new StringBuilder();
+ for (Long flag : blockedFlags) {
+ if (flagsString.length() > 0) {
+ flagsString.append("\n");
+ }
+ flagsString.append(flag);
+ }
+
+ BaseSettings.DISABLED_FEATURE_FLAGS.save(flagsString.toString());
+ Utils.showToastShort(str("revanced_debug_feature_flags_manager_toast_saved"));
+ Logger.printDebug(() -> "Feature flags saved. Blocked: " + blockedFlags.size());
+
+ AbstractPreferenceFragment.showRestartDialog(getContext());
+ }
+
+ /**
+ * Resets all blocked flags.
+ */
+ private void resetFlags() {
+ BaseSettings.DISABLED_FEATURE_FLAGS.save("");
+ Utils.showToastShort(str("revanced_debug_feature_flags_manager_toast_reset"));
+
+ AbstractPreferenceFragment.showRestartDialog(getContext());
+ }
+}
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java
index 1c8580241..6ae43018e 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java
@@ -11,7 +11,6 @@ import android.preference.Preference;
import android.text.InputType;
import android.util.AttributeSet;
import android.util.Pair;
-import android.util.TypedValue;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.LinearLayout;
@@ -20,6 +19,7 @@ import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.ui.CustomDialog;
+import app.revanced.extension.shared.ui.Dim;
@SuppressWarnings({"unused", "deprecation"})
public class ImportExportPreference extends EditTextPreference implements Preference.OnPreferenceClickListener {
@@ -35,7 +35,7 @@ public class ImportExportPreference extends EditTextPreference implements Prefer
editText.setAutofillHints((String) null);
}
editText.setInputType(editText.getInputType() | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
- editText.setTextSize(TypedValue.COMPLEX_UNIT_PT, 7); // Use a smaller font to reduce text wrap.
+ editText.setTextSize(14);
setOnPreferenceClickListener(this);
}
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java
index 4f4d3ef92..0d4003b91 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java
@@ -1,7 +1,6 @@
package app.revanced.extension.shared.settings.preference;
import static app.revanced.extension.shared.StringRef.str;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import static app.revanced.extension.shared.requests.Route.Method.GET;
import android.annotation.SuppressLint;
@@ -41,6 +40,7 @@ import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.requests.Requester;
import app.revanced.extension.shared.requests.Route;
+import app.revanced.extension.shared.ui.Dim;
/**
* Opens a dialog showing official links.
@@ -222,11 +222,10 @@ class WebViewDialog extends Dialog {
LinearLayout mainLayout = new LinearLayout(getContext());
mainLayout.setOrientation(LinearLayout.VERTICAL);
- final int padding = dipToPixels(10);
- mainLayout.setPadding(padding, padding, padding, padding);
+ mainLayout.setPadding(Dim.dp10, Dim.dp10, Dim.dp10, Dim.dp10);
// Set rounded rectangle background.
ShapeDrawable mainBackground = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(28), null, null));
+ Dim.roundedCorners(28), null, null));
mainBackground.getPaint().setColor(Utils.getDialogBackgroundColor());
mainLayout.setBackground(mainBackground);
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ToolbarPreferenceFragment.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ToolbarPreferenceFragment.java
index e299613dc..5c595a97a 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ToolbarPreferenceFragment.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ToolbarPreferenceFragment.java
@@ -8,7 +8,6 @@ import android.os.Build;
import android.preference.Preference;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
-import android.util.TypedValue;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowInsets;
@@ -20,6 +19,7 @@ import androidx.annotation.Nullable;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.BaseActivityHook;
+import app.revanced.extension.shared.ui.Dim;
@SuppressWarnings({"deprecation", "NewApi"})
public class ToolbarPreferenceFragment extends AbstractPreferenceFragment {
@@ -88,14 +88,13 @@ public class ToolbarPreferenceFragment extends AbstractPreferenceFragment {
toolbar.setNavigationIcon(getBackButtonDrawable());
toolbar.setNavigationOnClickListener(view -> preferenceScreenDialog.dismiss());
- final int margin = Utils.dipToPixels(16);
- toolbar.setTitleMargin(margin, 0, margin, 0);
+ toolbar.setTitleMargin(Dim.dp16, 0, Dim.dp16, 0);
TextView toolbarTextView = Utils.getChildView(toolbar,
true, TextView.class::isInstance);
if (toolbarTextView != null) {
toolbarTextView.setTextColor(Utils.getAppForegroundColor());
- toolbarTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
+ toolbarTextView.setTextSize(20);
}
// Allow package-specific toolbar customization.
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchResultsAdapter.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchResultsAdapter.java
index f1893a232..cb5e792e8 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchResultsAdapter.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/search/BaseSearchResultsAdapter.java
@@ -484,7 +484,7 @@ public abstract class BaseSearchResultsAdapter extends ArrayAdapter= Build.VERSION_CODES.Q) {
@@ -149,7 +149,7 @@ public abstract class BaseSearchViewController {
// Create cursor drawable.
GradientDrawable cursorDrawable = new GradientDrawable();
cursorDrawable.setShape(GradientDrawable.RECTANGLE);
- cursorDrawable.setSize(Utils.dipToPixels(2), -1); // Width: 2dp, Height: match text height.
+ cursorDrawable.setSize(Dim.dp2, -1); // Width: 2dp, Height: match text height.
cursorDrawable.setColor(cursorColor);
// Set cursor drawable.
@@ -164,7 +164,7 @@ public abstract class BaseSearchViewController {
overlayContainer = new FrameLayout(activity);
overlayContainer.setVisibility(View.GONE);
overlayContainer.setBackgroundColor(Utils.getAppBackgroundColor());
- overlayContainer.setElevation(Utils.dipToPixels(8));
+ overlayContainer.setElevation(Dim.dp8);
// Container for search results.
FrameLayout searchResultsContainer = new FrameLayout(activity);
@@ -669,7 +669,7 @@ public abstract class BaseSearchViewController {
protected static GradientDrawable createBackgroundDrawable() {
GradientDrawable background = new GradientDrawable();
background.setShape(GradientDrawable.RECTANGLE);
- background.setCornerRadius(Utils.dipToPixels(28));
+ background.setCornerRadius(Dim.dp28);
background.setColor(getSearchViewBackground());
return background;
}
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/ColorDot.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/ColorDot.java
index f0eeef408..07e9b4113 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/ColorDot.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/ColorDot.java
@@ -1,7 +1,6 @@
package app.revanced.extension.shared.ui;
import static app.revanced.extension.shared.Utils.adjustColorBrightness;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import static app.revanced.extension.shared.Utils.getAppBackgroundColor;
import static app.revanced.extension.shared.Utils.isDarkModeEnabled;
import static app.revanced.extension.shared.settings.preference.ColorPickerPreference.DISABLED_ALPHA;
@@ -13,7 +12,7 @@ import android.view.View;
import androidx.annotation.ColorInt;
public class ColorDot {
- private static final int STROKE_WIDTH = dipToPixels(1.5f); // Stroke width in dp.
+ private static final int STROKE_WIDTH = Dim.dp(1.5f);
/**
* Creates a circular drawable with a main fill and a stroke.
@@ -55,7 +54,7 @@ public class ColorDot {
targetView.setAlpha(enabled ? 1.0f : DISABLED_ALPHA);
if (!isDarkModeEnabled()) {
targetView.setClipToOutline(true);
- targetView.setElevation(dipToPixels(2));
+ targetView.setElevation(Dim.dp2);
}
}
}
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/CustomDialog.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/CustomDialog.java
index 1b65bea32..15d80c916 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/CustomDialog.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/CustomDialog.java
@@ -1,7 +1,5 @@
package app.revanced.extension.shared.ui;
-import static app.revanced.extension.shared.Utils.dipToPixels;
-
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
@@ -37,7 +35,6 @@ public class CustomDialog {
private final Context context;
private final Dialog dialog;
private final LinearLayout mainLayout;
- private final int dip4, dip8, dip16, dip24, dip36;
/**
* Creates a custom dialog with a styled layout, including a title, message, buttons, and an optional EditText.
@@ -93,13 +90,6 @@ public class CustomDialog {
this.dialog = new Dialog(context);
this.dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); // Remove default title bar.
- // Preset size constants.
- dip4 = dipToPixels(4);
- dip8 = dipToPixels(8);
- dip16 = dipToPixels(16);
- dip24 = dipToPixels(24);
- dip36 = dipToPixels(36);
-
// Create main layout.
mainLayout = createMainLayout();
addTitle(title);
@@ -122,11 +112,11 @@ public class CustomDialog {
private LinearLayout createMainLayout() {
LinearLayout layout = new LinearLayout(context);
layout.setOrientation(LinearLayout.VERTICAL);
- layout.setPadding(dip24, dip16, dip24, dip24);
+ layout.setPadding(Dim.dp24, Dim.dp16, Dim.dp24, Dim.dp24);
// Set rounded rectangle background.
ShapeDrawable background = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(28), null, null));
+ Dim.roundedCorners(28), null, null));
// Dialog background.
background.getPaint().setColor(Utils.getDialogBackgroundColor());
layout.setBackground(background);
@@ -152,7 +142,7 @@ public class CustomDialog {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
- params.setMargins(0, 0, 0, dip16);
+ params.setMargins(0, 0, 0, Dim.dp16);
titleView.setLayoutParams(params);
mainLayout.addView(titleView);
@@ -180,9 +170,9 @@ public class CustomDialog {
// EditText (if provided).
if (editText != null) {
ShapeDrawable background = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(10), null, null));
+ Dim.roundedCorners(10), null, null));
background.getPaint().setColor(Utils.getEditTextBackground());
- scrollView.setPadding(dip8, dip8, dip8, dip8);
+ scrollView.setPadding(Dim.dp8, Dim.dp8, Dim.dp8, Dim.dp8);
scrollView.setBackground(background);
scrollView.setClipToOutline(true);
@@ -241,7 +231,7 @@ public class CustomDialog {
LinearLayout.LayoutParams buttonContainerParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
- buttonContainerParams.setMargins(0, dip16, 0, 0);
+ buttonContainerParams.setMargins(0, Dim.dp16, 0, 0);
buttonContainer.setLayoutParams(buttonContainerParams);
List buttons = new ArrayList<>();
@@ -289,12 +279,12 @@ public class CustomDialog {
button.setEllipsize(TextUtils.TruncateAt.END);
button.setGravity(Gravity.CENTER);
// Set internal padding.
- button.setPadding(dip16, 0, dip16, 0);
+ button.setPadding(Dim.dp16, 0, Dim.dp16, 0);
// Background color for OK button (inversion).
// Background color for Cancel or Neutral buttons.
ShapeDrawable background = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(20), null, null));
+ Dim.roundedCorners(20), null, null));
background.getPaint().setColor(isOkButton
? Utils.getOkButtonBackgroundColor()
: Utils.getCancelOrNeutralButtonBackgroundColor());
@@ -331,20 +321,19 @@ public class CustomDialog {
if (buttons.isEmpty()) return;
// Check if buttons fit in one row.
- int screenWidth = context.getResources().getDisplayMetrics().widthPixels;
int totalWidth = 0;
for (Integer width : buttonWidths) {
totalWidth += width;
}
if (buttonWidths.size() > 1) {
// Add margins for gaps.
- totalWidth += (buttonWidths.size() - 1) * dip8;
+ totalWidth += (buttonWidths.size() - 1) * Dim.dp8;
}
// Single button: stretch to full width.
if (buttons.size() == 1) {
layoutSingleButton(buttonContainer, buttons.get(0));
- } else if (totalWidth <= screenWidth * 0.8) {
+ } else if (totalWidth <= Dim.pctWidth(80)) {
// Single row: Neutral, Cancel, OK.
layoutButtonsInRow(buttonContainer, buttons, buttonWidths);
} else {
@@ -369,7 +358,7 @@ public class CustomDialog {
button.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
- dip36));
+ Dim.dp36));
singleContainer.addView(button);
buttonContainer.addView(singleContainer);
}
@@ -405,17 +394,17 @@ public class CustomDialog {
if (parent != null) parent.removeView(button);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
- 0, dip36, buttonWidths.get(i));
+ 0, Dim.dp36, buttonWidths.get(i));
// Set margins based on button type and combination.
if (buttons.size() == 2) {
// Neutral + OK or Cancel + OK.
- params.setMargins(i == 0 ? 0 : dip4, 0, i == 0 ? dip4 : 0, 0);
+ params.setMargins(i == 0 ? 0 : Dim.dp4, 0, i == 0 ? Dim.dp4 : 0, 0);
} else if (buttons.size() == 3) {
// Neutral.
// Cancel.
// OK.
- params.setMargins(i == 0 ? 0 : dip4, 0, i == 2 ? 0 : dip4, 0);
+ params.setMargins(i == 0 ? 0 : Dim.dp4, 0, i == 2 ? 0 : Dim.dp4, 0);
}
button.setLayoutParams(params);
@@ -447,14 +436,14 @@ public class CustomDialog {
singleContainer.setGravity(Gravity.CENTER);
singleContainer.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
- dip36));
+ Dim.dp36));
ViewGroup parent = (ViewGroup) button.getParent();
if (parent != null) parent.removeView(button);
button.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
- dip36));
+ Dim.dp36));
singleContainer.addView(button);
buttonContainer.addView(singleContainer);
@@ -463,7 +452,7 @@ public class CustomDialog {
View spacer = new View(context);
LinearLayout.LayoutParams spacerParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
- dip8);
+ Dim.dp8);
spacer.setLayoutParams(spacerParams);
buttonContainer.addView(spacer);
}
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/Dim.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/Dim.java
new file mode 100644
index 000000000..c483d3d2a
--- /dev/null
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/Dim.java
@@ -0,0 +1,89 @@
+package app.revanced.extension.shared.ui;
+
+import android.content.res.Resources;
+import android.util.DisplayMetrics;
+import android.util.TypedValue;
+
+/**
+ * Utility class for converting design units (dp) and screen percentages to pixels.
+ */
+public final class Dim {
+ private Dim() {} // Prevent instantiation.
+
+ private static final DisplayMetrics METRICS = Resources.getSystem().getDisplayMetrics();
+ public static final int SCREEN_WIDTH = METRICS.widthPixels;
+ public static final int SCREEN_HEIGHT = METRICS.heightPixels;
+
+ // DP constants (density-independent pixels).
+ public static final int dp1 = dp(1);
+ public static final int dp2 = dp(2);
+ public static final int dp4 = dp(4);
+ public static final int dp6 = dp(6);
+ public static final int dp7 = dp(7);
+ public static final int dp8 = dp(8);
+ public static final int dp10 = dp(10);
+ public static final int dp12 = dp(12);
+ public static final int dp16 = dp(16);
+ public static final int dp20 = dp(20);
+ public static final int dp24 = dp(24);
+ public static final int dp28 = dp(28);
+ public static final int dp32 = dp(32);
+ public static final int dp36 = dp(36);
+ public static final int dp40 = dp(40);
+ public static final int dp48 = dp(48);
+
+ /**
+ * Converts dp (density-independent pixels) to actual device pixels.
+ * Uses Android's official TypedValue.applyDimension() for accurate rounding.
+ *
+ * @param dp The dp value to convert (supports float, e.g. 1.2f).
+ * @return The equivalent pixel value as int.
+ */
+ public static int dp(float dp) {
+ return (int) TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_DIP, dp, METRICS);
+ }
+
+ /**
+ * Converts a percentage of the screen height to pixels.
+ *
+ * @param percent The percentage (0–100).
+ * @return The pixel value corresponding to the percentage of screen height.
+ */
+ public static int pctHeight(int percent) {
+ return (SCREEN_HEIGHT * percent) / 100;
+ }
+
+ /**
+ * Converts a percentage of the screen width to pixels.
+ *
+ * @param percent The percentage (0–100).
+ * @return The pixel value corresponding to the percentage of screen width.
+ */
+ public static int pctWidth(int percent) {
+ return (SCREEN_WIDTH * percent) / 100;
+ }
+
+ /**
+ * Converts a percentage of the screen's portrait width (min side) to pixels.
+ *
+ * @param percent The percentage (0–100).
+ * @return The pixel value.
+ */
+ public static int pctPortraitWidth(int percent) {
+ final int portraitWidth = Math.min(SCREEN_WIDTH, SCREEN_HEIGHT);
+ return (int) (portraitWidth * (percent / 100.0f));
+ }
+
+ /**
+ * Creates an array of corner radii for a rounded rectangle.
+ * All corners use the same radius.
+ *
+ * @param dp radius in density-independent pixels
+ * @return array of 8 floats: [top-left-x, top-left-y, top-right-x, top-right-y, ...]
+ */
+ public static float[] roundedCorners(float dp) {
+ final float r = dp(dp);
+ return new float[]{r, r, r, r, r, r, r, r};
+ }
+}
\ No newline at end of file
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/SheetBottomDialog.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/SheetBottomDialog.java
index 483d413b2..e55389412 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/SheetBottomDialog.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/ui/SheetBottomDialog.java
@@ -1,7 +1,5 @@
package app.revanced.extension.shared.ui;
-import static app.revanced.extension.shared.Utils.dipToPixels;
-
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
@@ -63,9 +61,8 @@ public class SheetBottomDialog {
// Add top spacer.
View spacer = new View(context);
- final int dip40 = dipToPixels(40);
LinearLayout.LayoutParams spacerParams = new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT, dip40);
+ LinearLayout.LayoutParams.MATCH_PARENT, Dim.dp40);
spacer.setLayoutParams(spacerParams);
spacer.setClickable(true);
dragContainer.addView(spacer);
@@ -105,20 +102,15 @@ public class SheetBottomDialog {
* @return A configured {@link DraggableLinearLayout} with a handle bar and styled background.
*/
public static DraggableLinearLayout createMainLayout(@NonNull Context context, @Nullable Integer backgroundColor) {
- // Preset size constants.
- final int dip4 = dipToPixels(4); // Handle bar height.
- final int dip8 = dipToPixels(8); // Dialog padding.
- final int dip40 = dipToPixels(40); // Handle bar width.
-
DraggableLinearLayout mainLayout = new DraggableLinearLayout(context);
mainLayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
- layoutParams.setMargins(dip8, 0, dip8, dip8);
+ layoutParams.setMargins(Dim.dp8, 0, Dim.dp8, Dim.dp8);
mainLayout.setLayoutParams(layoutParams);
ShapeDrawable background = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(12), null, null));
+ Dim.roundedCorners(12), null, null));
int color = (backgroundColor != null) ? backgroundColor : Utils.getDialogBackgroundColor();
background.getPaint().setColor(color);
mainLayout.setBackground(background);
@@ -127,14 +119,14 @@ public class SheetBottomDialog {
LinearLayout handleContainer = new LinearLayout(context);
LinearLayout.LayoutParams containerParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
- containerParams.setMargins(0, dip8, 0, 0);
+ containerParams.setMargins(0, Dim.dp8, 0, 0);
handleContainer.setLayoutParams(containerParams);
handleContainer.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM);
View handleBar = new View(context);
ShapeDrawable handleBackground = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(4), null, null));
+ Dim.roundedCorners(4), null, null));
handleBackground.getPaint().setColor(Utils.adjustColorBrightness(color, 0.9f, 1.25f));
- LinearLayout.LayoutParams handleParams = new LinearLayout.LayoutParams(dip40, dip4);
+ LinearLayout.LayoutParams handleParams = new LinearLayout.LayoutParams(Dim.dp40, Dim.dp4);
handleBar.setLayoutParams(handleParams);
handleBar.setBackground(handleBackground);
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java
index 2b07a2f73..094ce457e 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java
@@ -4,6 +4,7 @@ import android.view.View;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
+import app.revanced.extension.shared.ui.Dim;
import app.revanced.extension.youtube.settings.Settings;
@SuppressWarnings("unused")
@@ -31,7 +32,7 @@ public final class WideSearchbarPatch {
final int paddingRight = searchBarView.getPaddingRight();
final int paddingTop = searchBarView.getPaddingTop();
final int paddingBottom = searchBarView.getPaddingBottom();
- final int paddingStart = Utils.dipToPixels(8);
+ final int paddingStart = Dim.dp8;
if (Utils.isRightToLeftLocale()) {
searchBarView.setPadding(paddingLeft, paddingTop, paddingStart, paddingBottom);
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java
index 1cf7e4d16..b19aa7a90 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java
@@ -2,7 +2,6 @@ package app.revanced.extension.youtube.patches.announcements;
import static android.text.Html.FROM_HTML_MODE_COMPACT;
import static app.revanced.extension.shared.StringRef.str;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import static app.revanced.extension.youtube.patches.announcements.requests.AnnouncementsRoutes.GET_LATEST_ANNOUNCEMENTS;
import static app.revanced.extension.youtube.patches.announcements.requests.AnnouncementsRoutes.GET_LATEST_ANNOUNCEMENT_IDS;
@@ -24,6 +23,7 @@ import java.time.LocalDateTime;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.requests.Requester;
+import app.revanced.extension.shared.ui.Dim;
import app.revanced.extension.youtube.patches.announcements.requests.AnnouncementsRoutes;
import app.revanced.extension.youtube.settings.Settings;
@@ -148,7 +148,7 @@ public final class AnnouncementsPatch {
if (child instanceof TextView childTextView && finalTitle.equals(childTextView.getText().toString())) {
childTextView.setCompoundDrawablesWithIntrinsicBounds(
finalLevel.icon, 0, 0, 0);
- childTextView.setCompoundDrawablePadding(dipToPixels(8));
+ childTextView.setCompoundDrawablePadding(Dim.dp8);
}
}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java
index ba4aaa6e6..32c835464 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java
@@ -1,7 +1,6 @@
package app.revanced.extension.youtube.patches.playback.speed;
import static app.revanced.extension.shared.StringRef.str;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import static app.revanced.extension.youtube.videoplayer.PlayerControlButton.fadeInDuration;
import static app.revanced.extension.youtube.videoplayer.PlayerControlButton.getDialogBackgroundColor;
@@ -30,6 +29,7 @@ import java.util.function.Function;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
+import app.revanced.extension.shared.ui.Dim;
import app.revanced.extension.shared.ui.SheetBottomDialog;
import app.revanced.extension.youtube.patches.VideoInformation;
import app.revanced.extension.youtube.patches.components.PlaybackSpeedMenuFilter;
@@ -264,14 +264,6 @@ public class CustomPlaybackSpeedPatch {
SheetBottomDialog.DraggableLinearLayout mainLayout =
SheetBottomDialog.createMainLayout(context, getDialogBackgroundColor());
- // Preset size constants.
- final int dip4 = dipToPixels(4);
- final int dip8 = dipToPixels(8);
- final int dip12 = dipToPixels(12);
- final int dip20 = dipToPixels(20);
- final int dip32 = dipToPixels(32);
- final int dip60 = dipToPixels(60);
-
// Display current playback speed.
TextView currentSpeedText = new TextView(context);
float currentSpeed = VideoInformation.getPlaybackSpeed();
@@ -283,7 +275,7 @@ public class CustomPlaybackSpeedPatch {
currentSpeedText.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams textParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
- textParams.setMargins(0, dip20, 0, 0);
+ textParams.setMargins(0, Dim.dp20, 0, 0);
currentSpeedText.setLayoutParams(textParams);
// Add current speed text view to main layout.
mainLayout.addView(currentSpeedText);
@@ -294,8 +286,8 @@ public class CustomPlaybackSpeedPatch {
sliderLayout.setGravity(Gravity.CENTER_VERTICAL);
// Create +/- buttons.
- Button minusButton = createStyledButton(context, false, dip8, dip8);
- Button plusButton = createStyledButton(context, true, dip8, dip8);
+ Button minusButton = createStyledButton(context, false);
+ Button plusButton = createStyledButton(context, true);
// Create slider for speed adjustment.
SeekBar speedSlider = new SeekBar(context);
@@ -363,7 +355,7 @@ public class CustomPlaybackSpeedPatch {
gridLayout.setRowCount((int) Math.ceil(customPlaybackSpeeds.length / 5.0));
LinearLayout.LayoutParams gridParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
- gridParams.setMargins(dip4, dip12, dip4, dip12); // Speed buttons container.
+ gridParams.setMargins(Dim.dp4, Dim.dp12, Dim.dp4, Dim.dp12); // Speed buttons container.
gridLayout.setLayoutParams(gridParams);
// For button use 1 digit minimum.
@@ -378,8 +370,8 @@ public class CustomPlaybackSpeedPatch {
GridLayout.LayoutParams containerParams = new GridLayout.LayoutParams();
containerParams.width = 0; // Equal width for columns.
containerParams.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1, 1f);
- containerParams.setMargins(dip4, 0, dip4, 0); // Button margins.
- containerParams.height = dip60; // Fixed height for button and label.
+ containerParams.setMargins(Dim.dp4, 0, Dim.dp4, 0); // Button margins.
+ containerParams.height = Dim.dp(60); // Fixed height for button and label.
buttonContainer.setLayoutParams(containerParams);
// Create speed button.
@@ -391,14 +383,14 @@ public class CustomPlaybackSpeedPatch {
speedButton.setGravity(Gravity.CENTER);
ShapeDrawable buttonBackground = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(20), null, null));
+ Dim.roundedCorners(20), null, null));
buttonBackground.getPaint().setColor(getAdjustedBackgroundColor(false));
speedButton.setBackground(buttonBackground);
- speedButton.setPadding(dip4, dip4, dip4, dip4);
+ speedButton.setPadding(Dim.dp4, Dim.dp4, Dim.dp4, Dim.dp4);
// Center button vertically and stretch horizontally in container.
FrameLayout.LayoutParams buttonParams = new FrameLayout.LayoutParams(
- FrameLayout.LayoutParams.MATCH_PARENT, dip32, Gravity.CENTER);
+ FrameLayout.LayoutParams.MATCH_PARENT, Dim.dp32, Gravity.CENTER);
speedButton.setLayoutParams(buttonParams);
// Add speed buttons view to buttons container layout.
@@ -475,21 +467,18 @@ public class CustomPlaybackSpeedPatch {
*
* @param context The Android context used to create the button.
* @param isPlus True to display a plus symbol, false to display a minus symbol.
- * @param marginStart The start margin in pixels (left for LTR, right for RTL).
- * @param marginEnd The end margin in pixels (right for LTR, left for RTL).
* @return A configured {@link Button} with the specified styling and layout parameters.
*/
- private static Button createStyledButton(Context context, boolean isPlus, int marginStart, int marginEnd) {
+ private static Button createStyledButton(Context context, boolean isPlus) {
Button button = new Button(context, null, 0); // Disable default theme style.
button.setText(""); // No text on button.
ShapeDrawable background = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(20), null, null));
+ Dim.roundedCorners(20), null, null));
background.getPaint().setColor(getAdjustedBackgroundColor(false));
button.setBackground(background);
button.setForeground(new OutlineSymbolDrawable(isPlus)); // Plus or minus symbol.
- final int dip36 = dipToPixels(36);
- LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(dip36, dip36);
- params.setMargins(marginStart, 0, marginEnd, 0); // Set margins.
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(Dim.dp36, Dim.dp36);
+ params.setMargins(Dim.dp8, 0, Dim.dp8, 0); // Set margins.
button.setLayoutParams(params);
return button;
}
@@ -554,7 +543,7 @@ class OutlineSymbolDrawable extends Drawable {
paint = new Paint(Paint.ANTI_ALIAS_FLAG); // Enable anti-aliasing for smooth rendering.
paint.setColor(Utils.getAppForegroundColor());
paint.setStyle(Paint.Style.STROKE); // Use stroke style for outline.
- paint.setStrokeWidth(dipToPixels(1)); // 1dp stroke width.
+ paint.setStrokeWidth(Dim.dp1); // 1dp stroke width.
}
@Override
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java
index 355d2a7ee..0a031b281 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java
@@ -40,6 +40,7 @@ import java.util.concurrent.TimeoutException;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
+import app.revanced.extension.shared.ui.Dim;
import app.revanced.extension.youtube.returnyoutubedislike.requests.RYDVoteData;
import app.revanced.extension.youtube.returnyoutubedislike.requests.ReturnYouTubeDislikeApi;
import app.revanced.extension.youtube.settings.Settings;
@@ -124,12 +125,12 @@ public class ReturnYouTubeDislike {
static {
leftSeparatorBounds = new Rect(0, 0,
- Utils.dipToPixels(1.2f),
- Utils.dipToPixels(14f));
- final int middleSeparatorSize = Utils.dipToPixels(3.7f);
+ Dim.dp(1.2f),
+ Dim.dp(14f));
+ final int middleSeparatorSize = Dim.dp(3.7f);
middleSeparatorBounds = new Rect(0, 0, middleSeparatorSize, middleSeparatorSize);
- leftSeparatorShapePaddingPixels = Utils.dipToPixels(8.4f);
+ leftSeparatorShapePaddingPixels = Dim.dp(8.4f);
leftSeparatorShape = new ShapeDrawable(new RectShape());
leftSeparatorShape.setBounds(leftSeparatorBounds);
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ExternalDownloaderPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ExternalDownloaderPreference.java
index 4ed2198ee..cf55dcc5d 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ExternalDownloaderPreference.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ExternalDownloaderPreference.java
@@ -2,7 +2,6 @@ package app.revanced.extension.youtube.settings.preference;
import static app.revanced.extension.shared.StringRef.sf;
import static app.revanced.extension.shared.StringRef.str;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import android.app.Dialog;
import android.content.Context;
@@ -15,13 +14,9 @@ import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet;
-import android.util.DisplayMetrics;
import android.util.Pair;
-import android.util.TypedValue;
-import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
-import android.widget.ListAdapter;
import android.widget.ListView;
import androidx.annotation.Nullable;
@@ -37,6 +32,7 @@ import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.preference.CustomDialogListPreference;
import app.revanced.extension.shared.ui.CustomDialog;
+import app.revanced.extension.shared.ui.Dim;
import app.revanced.extension.youtube.settings.Settings;
/**
@@ -264,42 +260,12 @@ public class ExternalDownloaderPreference extends CustomDialogListPreference {
// Add ListView to content layout with initial height.
LinearLayout.LayoutParams listViewParams = new LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- 0 // Initial height, will be updated.
- );
- listViewParams.bottomMargin = dipToPixels(16);
+ LinearLayout.LayoutParams.MATCH_PARENT, 0, 1.0f);
+ listViewParams.bottomMargin = Dim.dp16;
contentLayout.addView(listView, listViewParams);
// Add EditText for custom package name.
- editText = new EditText(context);
- editText.setText(packageName);
- editText.setSelection(packageName.length());
- editText.setHint(str("revanced_external_downloader_other_item_hint"));
- editText.setSingleLine(true); // Restrict EditText to a single line.
- editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
- // Set initial EditText state based on selected downloader.
- editText.setEnabled(usingCustomDownloader);
- editText.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {}
-
- @Override
- public void afterTextChanged(Editable edit) {
- String updatedPackageName = edit.toString().trim();
- updateListViewSelection.apply(updatedPackageName);
- }
- });
-
- ShapeDrawable editTextBackground = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(10), null, null));
- editTextBackground.getPaint().setColor(Utils.getEditTextBackground());
- final int dip8 = dipToPixels(8);
- editText.setPadding(dip8, dip8, dip8, dip8);
- editText.setBackground(editTextBackground);
- editText.setClipToOutline(true);
+ editText = createEditText(context, packageName, usingCustomDownloader, updateListViewSelection);
contentLayout.addView(editText);
// Create the custom dialog.
@@ -350,50 +316,59 @@ public class ExternalDownloaderPreference extends CustomDialogListPreference {
);
// Add the content layout directly to the dialog's main layout.
- LinearLayout dialogMainLayout = dialogPair.second;
- dialogMainLayout.addView(contentLayout, dialogMainLayout.getChildCount() - 1);
+ LinearLayout mainLayout = dialogPair.second;
+ LinearLayout.LayoutParams contentParams = new LinearLayout.LayoutParams(
+ LinearLayout.LayoutParams.MATCH_PARENT, 0, 1.0f);
- // Update ListView height dynamically based on orientation.
- //noinspection ExtractMethodRecommender
- Runnable updateListViewHeight = () -> {
- int totalHeight = 0;
- ListAdapter listAdapter = listView.getAdapter();
- if (listAdapter != null) {
- DisplayMetrics metrics = context.getResources().getDisplayMetrics();
- final int listAdapterCount = listAdapter.getCount();
- for (int i = 0; i < listAdapterCount; i++) {
- View item = listAdapter.getView(i, null, listView);
- item.measure(
- View.MeasureSpec.makeMeasureSpec(metrics.widthPixels, View.MeasureSpec.AT_MOST),
- View.MeasureSpec.UNSPECIFIED
- );
- totalHeight += item.getMeasuredHeight();
- }
- totalHeight += listView.getDividerHeight() * (listAdapterCount - 1);
+ // Insert content before the dialog button row.
+ mainLayout.addView(contentLayout, mainLayout.getChildCount() - 1, contentParams);
+
+ Dialog dialog = dialogPair.first;
+ dialog.show();
+ }
+
+ /**
+ * Creates and configures the EditText for the custom package name.
+ *
+ * @param context Context for creating views.
+ * @param initialPackageName The package name to pre-fill.
+ * @param isCustom Whether the "Other" option is selected.
+ * @param textChangeCallback Callback to run when text changes.
+ * @return A configured EditText.
+ */
+ private EditText createEditText(Context context,
+ String initialPackageName, boolean isCustom,
+ Function textChangeCallback) {
+ EditText editText = new EditText(context);
+ editText.setText(initialPackageName);
+ editText.setSelection(initialPackageName.length());
+ editText.setHint(str("revanced_external_downloader_other_item_hint"));
+ editText.setSingleLine(true);
+ editText.setTextSize(16);
+ editText.setEnabled(isCustom);
+
+ editText.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {}
+
+ @Override
+ public void afterTextChanged(Editable edit) {
+ String updatedPackageName = edit.toString().trim();
+ textChangeCallback.apply(updatedPackageName);
}
+ });
- final int orientation = context.getResources().getConfiguration().orientation;
- if (orientation == android.content.res.Configuration.ORIENTATION_PORTRAIT) {
- // In portrait orientation, use WRAP_CONTENT for ListView height.
- listViewParams.height = LinearLayout.LayoutParams.WRAP_CONTENT;
- } else {
- // In landscape orientation, limit ListView height to 30% of screen height.
- final int maxHeight = Utils.percentageHeightToPixels(30);
- listViewParams.height = Math.min(totalHeight, maxHeight);
- }
- listView.setLayoutParams(listViewParams);
- };
+ ShapeDrawable editTextBackground = new ShapeDrawable(new RoundRectShape(
+ Dim.roundedCorners(10), null, null));
+ editTextBackground.getPaint().setColor(Utils.getEditTextBackground());
+ editText.setPadding(Dim.dp8, Dim.dp8, Dim.dp8, Dim.dp8);
+ editText.setBackground(editTextBackground);
+ editText.setClipToOutline(true);
- // Initial height calculation.
- updateListViewHeight.run();
-
- // Listen for configuration changes (e.g., orientation).
- View dialogView = dialogPair.second;
- // Recalculate height when layout changes (e.g., orientation change).
- dialogView.getViewTreeObserver().addOnGlobalLayoutListener(updateListViewHeight::run);
-
- // Show the dialog.
- dialogPair.first.show();
+ return editText;
}
/**
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java
index 1ca2fe09e..d903922a1 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java
@@ -1,7 +1,6 @@
package app.revanced.extension.youtube.sponsorblock;
import static app.revanced.extension.shared.StringRef.str;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import static app.revanced.extension.youtube.sponsorblock.objects.CategoryBehaviour.SKIP_AUTOMATICALLY;
import android.annotation.SuppressLint;
@@ -34,6 +33,7 @@ import java.util.Objects;
import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
+import app.revanced.extension.shared.ui.Dim;
import app.revanced.extension.youtube.patches.VideoInformation;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.shared.PlayerType;
@@ -82,7 +82,7 @@ public class SegmentPlaybackController {
* Highlight segments have zero length as they are a point in time.
* Draw them on screen using a fixed width bar.
*/
- private static final int HIGHLIGHT_SEGMENT_DRAW_BAR_WIDTH = dipToPixels(7);
+ private static final int HIGHLIGHT_SEGMENT_DRAW_BAR_WIDTH = Dim.dp7;
@Nullable
private static String currentVideoId;
@@ -808,14 +808,12 @@ public class SegmentPlaybackController {
LinearLayout mainLayout = new LinearLayout(currentContext);
mainLayout.setOrientation(LinearLayout.VERTICAL);
- final int dip8 = dipToPixels(8);
- final int dip16 = dipToPixels(16);
- mainLayout.setPadding(dip16, dip8, dip16, dip8);
+ mainLayout.setPadding(Dim.dp16, Dim.dp8, Dim.dp16, Dim.dp8);
mainLayout.setGravity(Gravity.CENTER);
- mainLayout.setMinimumHeight(dipToPixels(48));
+ mainLayout.setMinimumHeight(Dim.dp48);
ShapeDrawable background = new ShapeDrawable(new RoundRectShape(
- Utils.createCornerRadii(20), null, null));
+ Dim.roundedCorners(20), null, null));
background.getPaint().setColor(Utils.getDialogBackgroundColor());
mainLayout.setBackground(background);
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryPreference.java
index 55099d508..ad1abaf29 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryPreference.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryPreference.java
@@ -1,7 +1,6 @@
package app.revanced.extension.youtube.sponsorblock.objects;
import static app.revanced.extension.shared.StringRef.str;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import static app.revanced.extension.youtube.sponsorblock.SponsorBlockSettings.migrateOldColorString;
import android.content.Context;
@@ -17,6 +16,7 @@ import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.preference.ColorPickerPreference;
import app.revanced.extension.shared.ui.ColorDot;
+import app.revanced.extension.shared.ui.Dim;
@SuppressWarnings("deprecation")
public class SegmentCategoryPreference extends ColorPickerPreference {
@@ -110,7 +110,7 @@ public class SegmentCategoryPreference extends ColorPickerPreference {
}
radioGroup.setOnCheckedChangeListener((group, checkedId) -> selectedDialogEntryIndex = checkedId);
- radioGroup.setPadding(dipToPixels(10), 0, dipToPixels(10), dipToPixels(10));
+ radioGroup.setPadding(Dim.dp10, 0, Dim.dp10, Dim.dp10);
return radioGroup;
}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java
index 6a5f03231..f56281c22 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java
@@ -15,6 +15,7 @@ import android.widget.FrameLayout;
import android.widget.ImageButton;
import app.revanced.extension.shared.Logger;
+import app.revanced.extension.shared.ui.Dim;
import app.revanced.extension.youtube.patches.VideoInformation;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.sponsorblock.SponsorBlockUtils;
@@ -132,9 +133,7 @@ public final class NewSegmentLayout extends FrameLayout {
GradientDrawable backgroundDrawable = new GradientDrawable();
backgroundDrawable.setColor(getResourceColor("skip_ad_button_background_color"));
- final float cornerRadius = squareLayout
- ? 0
- : 16 * getResources().getDisplayMetrics().density;
+ final float cornerRadius = squareLayout ? 0f : Dim.dp16;
backgroundDrawable.setCornerRadius(cornerRadius);
setBackground(backgroundDrawable);
}
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockPreferenceGroup.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockPreferenceGroup.java
index 2d13bec8a..cb05661e7 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockPreferenceGroup.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockPreferenceGroup.java
@@ -18,7 +18,6 @@ import android.preference.SwitchPreference;
import android.text.InputType;
import android.util.AttributeSet;
import android.util.Pair;
-import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
@@ -34,6 +33,7 @@ import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.settings.preference.CustomDialogListPreference;
import app.revanced.extension.shared.settings.preference.ResettableEditTextPreference;
import app.revanced.extension.shared.ui.CustomDialog;
+import app.revanced.extension.shared.ui.Dim;
import app.revanced.extension.youtube.settings.Settings;
import app.revanced.extension.youtube.sponsorblock.SegmentPlaybackController;
import app.revanced.extension.youtube.sponsorblock.SponsorBlockSettings;
@@ -507,7 +507,7 @@ public class SponsorBlockPreferenceGroup extends PreferenceGroup {
EditText editText = getEditText();
editText.setInputType(editText.getInputType() | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
- editText.setTextSize(TypedValue.COMPLEX_UNIT_PT, 7); // Use a smaller font to reduce text wrap.
+ editText.setTextSize(14);
// Create a custom dialog.
Pair dialogPair = CustomDialog.create(
@@ -550,7 +550,7 @@ public class SponsorBlockPreferenceGroup extends PreferenceGroup {
| InputType.TYPE_TEXT_FLAG_MULTI_LINE
| InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
editText.setAutofillHints((String) null);
- editText.setTextSize(TypedValue.COMPLEX_UNIT_PT, 8);
+ editText.setTextSize(14);
// Set preference listeners.
importExport.setOnPreferenceClickListener(preference1 -> {
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java
index 56da6a5bc..e03fa9e53 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java
@@ -1,7 +1,6 @@
package app.revanced.extension.youtube.videoplayer;
import static app.revanced.extension.shared.StringRef.str;
-import static app.revanced.extension.shared.Utils.dipToPixels;
import static app.revanced.extension.shared.settings.preference.CustomDialogListPreference.*;
import static app.revanced.extension.youtube.patches.VideoInformation.AUTOMATIC_VIDEO_QUALITY_VALUE;
import static app.revanced.extension.youtube.patches.VideoInformation.VIDEO_QUALITY_PREMIUM_NAME;
@@ -21,6 +20,7 @@ import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import app.revanced.extension.shared.ui.Dim;
import app.revanced.extension.shared.ui.SheetBottomDialog;
import app.revanced.extension.youtube.shared.PlayerType;
import com.google.android.libraries.youtube.innertube.model.media.VideoQuality;
@@ -214,11 +214,6 @@ public class VideoQualityDialogButton {
}
}
- // Preset size constants.
- final int dip8 = dipToPixels(8);
- final int dip12 = dipToPixels(12);
- final int dip16 = dipToPixels(16);
-
// Create main layout.
SheetBottomDialog.DraggableLinearLayout mainLayout =
SheetBottomDialog.createMainLayout(context, getDialogBackgroundColor());
@@ -269,7 +264,7 @@ public class VideoQualityDialogButton {
LinearLayout.LayoutParams titleParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
- titleParams.setMargins(dip12, dip16, 0, dip16);
+ titleParams.setMargins(Dim.dp12, Dim.dp16, 0, Dim.dp16);
titleView.setLayoutParams(titleParams);
mainLayout.addView(titleView);
diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/EnableDebuggingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/EnableDebuggingPatch.kt
index 85cf53bd0..5680cd954 100644
--- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/EnableDebuggingPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/debugging/EnableDebuggingPatch.kt
@@ -5,6 +5,7 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.BytecodePatchBuilder
import app.revanced.patcher.patch.BytecodePatchContext
import app.revanced.patcher.patch.bytecodePatch
+import app.revanced.patcher.patch.resourcePatch
import app.revanced.patches.all.misc.resources.addResources
import app.revanced.patches.all.misc.resources.addResourcesPatch
import app.revanced.patches.shared.misc.settings.preference.BasePreference
@@ -13,6 +14,8 @@ import app.revanced.patches.shared.misc.settings.preference.NonInteractivePrefer
import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference
import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting
import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
+import app.revanced.util.ResourceGroup
+import app.revanced.util.copyResources
import app.revanced.util.findInstructionIndicesReversedOrThrow
import app.revanced.util.indexOfFirstInstructionOrThrow
import app.revanced.util.indexOfFirstInstructionReversedOrThrow
@@ -36,7 +39,27 @@ internal fun enableDebuggingPatch(
description = "Adds options for debugging and exporting ReVanced logs to the clipboard.",
) {
- dependsOn(addResourcesPatch)
+ dependsOn(
+ addResourcesPatch,
+ resourcePatch {
+ execute {
+ copyResources(
+ "settings",
+ ResourceGroup("drawable",
+ // Action buttons.
+ "revanced_settings_copy_all.xml",
+ "revanced_settings_deselect_all.xml",
+ "revanced_settings_select_all.xml",
+ // Move buttons.
+ "revanced_settings_arrow_left_double.xml",
+ "revanced_settings_arrow_left_one.xml",
+ "revanced_settings_arrow_right_double.xml",
+ "revanced_settings_arrow_right_one.xml"
+ )
+ )
+ }
+ }
+ )
block()
@@ -64,6 +87,11 @@ internal fun enableDebuggingPatch(
"revanced_debug_logs_clear_buffer",
tag = "app.revanced.extension.shared.settings.preference.ClearLogBufferPreference",
selectable = true
+ ),
+ NonInteractivePreference(
+ "revanced_debug_feature_flags_manager",
+ tag = "app.revanced.extension.shared.settings.preference.FeatureFlagsManagerPreference",
+ selectable = true
)
)
)
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index bf2a45a87..cf856b859 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -53,6 +53,7 @@ Second \"item\" text"
Settings
ReVanced
Are you sure you want to proceed?
+ Save
Reset
Reset color
Invalid color
@@ -221,6 +222,14 @@ You will not be notified of any unexpected events."
Clear debug logs
Clears all stored ReVanced debug logs
Logs cleared
+ Feature flags manager
+ Manage boolean feature flags
+ Active flags (%d)
+ Blocked flags (%d)
+ Search flags...
+ Flags saved
+ Flags reset
+ Flags copied to clipboard
Sanitize sharing links
diff --git a/patches/src/main/resources/settings/drawable/revanced_settings_arrow_left_double.xml b/patches/src/main/resources/settings/drawable/revanced_settings_arrow_left_double.xml
new file mode 100644
index 000000000..0efdb0424
--- /dev/null
+++ b/patches/src/main/resources/settings/drawable/revanced_settings_arrow_left_double.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
diff --git a/patches/src/main/resources/settings/drawable/revanced_settings_arrow_left_one.xml b/patches/src/main/resources/settings/drawable/revanced_settings_arrow_left_one.xml
new file mode 100644
index 000000000..169adf38d
--- /dev/null
+++ b/patches/src/main/resources/settings/drawable/revanced_settings_arrow_left_one.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
diff --git a/patches/src/main/resources/settings/drawable/revanced_settings_arrow_right_double.xml b/patches/src/main/resources/settings/drawable/revanced_settings_arrow_right_double.xml
new file mode 100644
index 000000000..de480439f
--- /dev/null
+++ b/patches/src/main/resources/settings/drawable/revanced_settings_arrow_right_double.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
diff --git a/patches/src/main/resources/settings/drawable/revanced_settings_arrow_right_one.xml b/patches/src/main/resources/settings/drawable/revanced_settings_arrow_right_one.xml
new file mode 100644
index 000000000..15cb85a91
--- /dev/null
+++ b/patches/src/main/resources/settings/drawable/revanced_settings_arrow_right_one.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
diff --git a/patches/src/main/resources/settings/drawable/revanced_settings_copy_all.xml b/patches/src/main/resources/settings/drawable/revanced_settings_copy_all.xml
new file mode 100644
index 000000000..84e4a2951
--- /dev/null
+++ b/patches/src/main/resources/settings/drawable/revanced_settings_copy_all.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
diff --git a/patches/src/main/resources/settings/drawable/revanced_settings_deselect_all.xml b/patches/src/main/resources/settings/drawable/revanced_settings_deselect_all.xml
new file mode 100644
index 000000000..8c2361b3f
--- /dev/null
+++ b/patches/src/main/resources/settings/drawable/revanced_settings_deselect_all.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
diff --git a/patches/src/main/resources/settings/drawable/revanced_settings_select_all.xml b/patches/src/main/resources/settings/drawable/revanced_settings_select_all.xml
new file mode 100644
index 000000000..6644b5e83
--- /dev/null
+++ b/patches/src/main/resources/settings/drawable/revanced_settings_select_all.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
From f177eae385711c85bf8caff91a3729a72f691f19 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Sat, 8 Nov 2025 08:07:41 +0000
Subject: [PATCH 21/35] chore: Release v5.46.0-dev.6 [skip ci]
# [5.46.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.5...v5.46.0-dev.6) (2025-11-08)
### Features
* **YouTube - Debugging:** Add setting to block experimental client flags ([#6196](https://github.com/ReVanced/revanced-patches/issues/6196)) ([2e9d695](https://github.com/ReVanced/revanced-patches/commit/2e9d6959c94df7588b9e34b18770e9f437e91926))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index eb6d4d56d..a41650434 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [5.46.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.5...v5.46.0-dev.6) (2025-11-08)
+
+
+### Features
+
+* **YouTube - Debugging:** Add setting to block experimental client flags ([#6196](https://github.com/ReVanced/revanced-patches/issues/6196)) ([2e9d695](https://github.com/ReVanced/revanced-patches/commit/2e9d6959c94df7588b9e34b18770e9f437e91926))
+
# [5.46.0-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.4...v5.46.0-dev.5) (2025-11-07)
diff --git a/gradle.properties b/gradle.properties
index 0b6cc5399..3ff864873 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.46.0-dev.5
+version = 5.46.0-dev.6
From c6364f5b4931695e49db8e5938bd09803baac1ac Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Sat, 8 Nov 2025 10:08:25 +0200
Subject: [PATCH 22/35] chore: Fix compilation warning
---
.../preference/FeatureFlagsManagerPreference.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/FeatureFlagsManagerPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/FeatureFlagsManagerPreference.java
index 2be74ee00..1ada6584a 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/FeatureFlagsManagerPreference.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/FeatureFlagsManagerPreference.java
@@ -438,9 +438,11 @@ public class FeatureFlagsManagerPreference extends Preference {
button.setImageResource(drawableResId);
button.setScaleType(ImageView.ScaleType.CENTER);
int[] attrs = {android.R.attr.selectableItemBackgroundBorderless};
- try (TypedArray ripple = context.obtainStyledAttributes(attrs)) {
- button.setBackgroundDrawable(ripple.getDrawable(0));
- }
+ //noinspection Recycle
+ TypedArray ripple = context.obtainStyledAttributes(attrs);
+ button.setBackgroundDrawable(ripple.getDrawable(0));
+ ripple.close();
+
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(Dim.dp32, Dim.dp32);
params.setMargins(Dim.dp8, Dim.dp8, Dim.dp8, Dim.dp8);
button.setLayoutParams(params);
From 4d1eaa6b1415cb2565b7060a8442098ff4507ac2 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Sat, 8 Nov 2025 14:26:20 +0200
Subject: [PATCH 23/35] chore: Sync translations (#6260)
---
.../addresources/values-ar-rSA/strings.xml | 11 +-
.../addresources/values-as-rIN/strings.xml | 1 -
.../addresources/values-az-rAZ/strings.xml | 17 ++-
.../addresources/values-be-rBY/strings.xml | 11 +-
.../addresources/values-bg-rBG/strings.xml | 11 +-
.../addresources/values-bn-rBD/strings.xml | 11 +-
.../addresources/values-cs-rCZ/strings.xml | 11 +-
.../addresources/values-da-rDK/strings.xml | 11 +-
.../addresources/values-de-rDE/strings.xml | 11 +-
.../addresources/values-el-rGR/strings.xml | 11 +-
.../addresources/values-es-rES/strings.xml | 11 +-
.../addresources/values-et-rEE/strings.xml | 11 +-
.../addresources/values-fi-rFI/strings.xml | 17 ++-
.../addresources/values-fil-rPH/strings.xml | 11 +-
.../addresources/values-fr-rFR/strings.xml | 11 +-
.../addresources/values-ga-rIE/strings.xml | 11 +-
.../addresources/values-hr-rHR/strings.xml | 1 +
.../addresources/values-hu-rHU/strings.xml | 11 +-
.../addresources/values-hy-rAM/strings.xml | 11 +-
.../addresources/values-in-rID/strings.xml | 13 ++-
.../addresources/values-it-rIT/strings.xml | 11 +-
.../addresources/values-iw-rIL/strings.xml | 11 +-
.../addresources/values-ja-rJP/strings.xml | 11 +-
.../addresources/values-ko-rKR/strings.xml | 107 ++++++++++--------
.../addresources/values-lt-rLT/strings.xml | 11 +-
.../addresources/values-lv-rLV/strings.xml | 11 +-
.../addresources/values-nl-rNL/strings.xml | 11 +-
.../addresources/values-pl-rPL/strings.xml | 11 +-
.../addresources/values-pt-rBR/strings.xml | 11 +-
.../addresources/values-pt-rPT/strings.xml | 11 +-
.../addresources/values-ro-rRO/strings.xml | 11 +-
.../addresources/values-ru-rRU/strings.xml | 11 +-
.../addresources/values-sk-rSK/strings.xml | 11 +-
.../addresources/values-sl-rSI/strings.xml | 11 +-
.../addresources/values-sq-rAL/strings.xml | 11 +-
.../addresources/values-sr-rCS/strings.xml | 23 ++--
.../addresources/values-sr-rSP/strings.xml | 19 +++-
.../addresources/values-sv-rSE/strings.xml | 13 ++-
.../addresources/values-th-rTH/strings.xml | 11 +-
.../addresources/values-tr-rTR/strings.xml | 11 +-
.../addresources/values-uk-rUA/strings.xml | 11 +-
.../addresources/values-vi-rVN/strings.xml | 11 +-
.../addresources/values-zh-rCN/strings.xml | 11 +-
.../addresources/values-zh-rTW/strings.xml | 11 +-
44 files changed, 487 insertions(+), 109 deletions(-)
diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
index 1bf89b15d..da0116ac3 100644
--- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
+++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
تاريخ بناء APK تالف
- تحذير
+ إشعار ReVanced
لم يتم حفظ سجل المشاهدة الخاص بك.<br><br>من المرجح أن يكون السبب في ذلك هو مانع إعلانات DNS أو وكيل الشبكة.<br><br>لإصلاح هذه المشكلة، قم بإضافة <b>s.youtube.com</b> إلى القائمة البيضاء أو قم بإيقاف تشغيل جميع أدوات حظر DNS ووكلاء البروكسي.
لا تعرض مرة أخرى
الإعدادات
هل أنت متأكد أنك تريد المتابعة؟
+ حفظ
إعادة التعيين
إعادة تعيين اللون
لون غير صالح
@@ -164,6 +165,14 @@ Second \"item\" text"
مسح سجلات تصحيح الأخطاء
يمسح جميع سجلات تصحيح أخطاء ReVanced المخزنة
تم مسح السجلات
+ مدير علامات الميزات
+ إدارة علامات الميزات المنطقية
+ علامات نشطة (%d)
+ علامات محظورة (%d)
+ البحث عن علامات...
+ تم حفظ العلامات
+ تم إعادة تعيين العلامات
+ تم نسخ العلامات إلى الحافظة
تطهير روابط المشاركة
diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml
index 49c5f8b87..90c51c480 100644
--- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml
@@ -29,7 +29,6 @@ Second \"item\" text"
- সকীয়নি
diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
index f3128f244..1c04dc592 100644
--- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK qurulma vaxtı pozulub
- Xәbәrdarlıq
+ ReVanced Bildiriş
Baxış tarixçəniz saxlanmır.<br><br>Bu çox güman ki, DNS reklam bloklayıcı və ya şəbəkə proksisinə görədir.<br><br>.Bunu düzəltmək üçün s.youtube.com-u</b> <b>ağ siyahıya salın və ya bütün DNS bloklayıcıları və proksiləri bağlayın.
Təkrar göstərmə
Tənzimləmələr
Davam etmək istədiyinizə əminsiniz?
+ Yadda saxla
Sıfırla
Rəngi sıfırla
Yanlış rəng
@@ -164,6 +165,14 @@ Gözlənilməz hallardan xəbərdar olmayacaqsınız."
Sazlama qeydlərini təmizlə
Saxlanılan bütün ReVanced sazlama qeydlərini təmizləyir
Qeydlər silindi
+ Xüsusiyyət bayraqları Manager
+ Bulun xüsusiyyət bayraqlarını idarə edin
+ Aktiv bayraqlar (%d)
+ Bloklanmış bayraqlar (%d)
+ Bayraqları axtarın...
+ Bayraqlar yadda saxlandı
+ Bayraqlar sıfırlandı
+ Bayraqlar panoya kopyalandı
Paylaşım linklərin təmizlə
@@ -328,9 +337,9 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum
\'Bu kontent necə hazırlanıb\'ı Gizlət
Bu məzmunun necə hazırlandığı bölməsi gizlidir
Bu məzmunun necə hazırlandığı bölməsi görünür
- Hype nöqtələrini gizlət
- Hype nöqtələri gizlədilib
- Hype nöqtələri göstərilir
+ Coşqu xalların gizlət
+ Coşqu xalları gizlədilib
+ Coşqu xalları göstərilir
\'Podkastı araşdırın\"-ı Gizlət
Podkast bölməsin araşdırın gizlidir
Podkast bölməsin araşdırın görünür
diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
index 7a61591a7..25043e074 100644
--- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml
+++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Дата стварэння APK пашкоджана
- Увага
+ Заўвага ReVanced
Ваша гісторыя прагляду не захоўваецца.<br><br>Гэта, хутчэй за ўсё, выклікана DNS-блакіроўшчыкам рэкламы або сеткавым праксі.<br><br>Каб выправіць гэта, дадайце <b>s.youtube.com</b> у белы спіс або адключыце ўсе DNS-блакіроўшчыкі і праксі.
Больш не паказваць
Налады
Вы ўпэўнены, што хочаце працягнуць?
+ Захаваць
Скінуць
Скінуць колер
Несапраўдны колер
@@ -164,6 +165,14 @@ Second \"item\" text"
Ачысціць адладачныя лагі
Ачышчае ўсе захаваныя адладачныя лагі ReVanced
Лагі ачышчаны
+ Менеджэр функцыйных сцягоў
+ Кіраванне лагічнымі функцыйнымі сцягамі
+ Актыўныя сцягі (%d)
+ Заблакаваныя сцягі (%d)
+ Пошук сцягоў...
+ Сцягі захаваны
+ Сцягі скінуты
+ Сцягі скапіяваны ў буфер абмену
Ачысціць спасылкі для абагульвання
diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
index c107758fe..3139a58ce 100644
--- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
+++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Датата на компилация на APK е повредена
- Предупреждение
+ Известие от ReVanced
Историята ви на гледане не се запазва.<br><br>Това най-вероятно е причинено от DNS блокиращ реклами или мрежов прокси.<br><br>За да коригирате това, поставете <b>s.youtube в белия списък.com</b> или изключете всички DNS блокери и проксита.
Не показвай отново
Настройки
Сигурни ли сте, че искате да продължите?
+ Запазване
Възстанови
Нулиране на цвета
Невалиден цвят
@@ -164,6 +165,14 @@ Second \"item\" text"
Изчистване на логовете за отстраняване на грешки
Изчиства всички съхранени логове за отстраняване на грешки на ReVanced
Логовете са изчистени
+ Мениджър на флагове за функции
+ Управление на булеви флагове за функции
+ Активни флагове (%d)
+ Блокирани флагове (%d)
+ Търсене на флагове...
+ Флаговете са запазени
+ Флаговете са нулирани
+ Флаговете са копирани в клипборда
Почистване на връзки за споделяне
diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
index 5bfabe0d0..c1a342937 100644
--- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
+++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK তৈরির তারিখ ত্রুটিপূর্ণ
- সতর্কীকরণ
+ ReVanced নোটিশ
আপনার দেখার ইতিহাস সংরক্ষিত হচ্ছে না।<br><br>এটি সম্ভবত DNS অ্যাড ব্লকার অথবা নেটওয়ার্ক প্রক্সির কারণে।<br><br>এটি ঠিক করার জন্য, <b>s.youtube.com</b> সাদা তালিকাভুক্ত করুন অথবা সকল DNS ব্লকার এবং প্রক্সি বন্ধ করুন।
আবার দেখাবেন না
সেটিংস
আপনি কি এগিয়ে যেতে চান?
+ সংরক্ষণ করুন
আবার সেট করুন
রঙ রিসেট করুন
অবৈধ রঙ
@@ -164,6 +165,14 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
ডিবাগ লগগুলি সাফ করুন
সমস্ত সঞ্চিত ReVanced ডিবাগ লগ সাফ করে
লগ সাফ করা হয়েছে
+ ফিচার ফ্ল্যাগ Manager
+ বুলিয়ান ফিচার ফ্ল্যাগ পরিচালনা করুন
+ সক্রিয় ফ্ল্যাগ (%d)
+ ব্লক করা ফ্ল্যাগ (%d)
+ ফ্ল্যাগ খুঁজুন...
+ ফ্ল্যাগ সংরক্ষণ করা হয়েছে
+ ফ্ল্যাগ রিসেট করা হয়েছে
+ ফ্ল্যাগ ক্লিপবোর্ডে কপি করা হয়েছে
শেয়ারিং লিঙ্ক স্যানিটাইজ করুন
diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
index 508ab7d40..bd75335fd 100644
--- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Datum sestavení souboru APK je poškozeno
- Varování
+ Upozornění ReVanced
Vaše historie sledování není ukládána.<br><br>Příčinou je s největší pravděpodobností DNS blokátor reklam nebo síťový proxy server.<br><br>Chcete-li to opravit, přidejte<b>s.youtube.com</b> na whitelist nebo vypněte všechny DNS blokátory a proxy servery.
Už nezobrazovat
Nastavení
Opravdu chcete pokračovat?
+ Uložit
Výchozí
Obnovit barvu
Neplatná barva
@@ -164,6 +165,14 @@ Nebudete informováni o žádné neočekávané události."
Vymazat ladicí protokoly
Vymaže všechny uložené ladicí protokoly ReVanced
Protokoly vymazány
+ Příznaky funkcí Manager
+ Spravovat boolean příznaky funkcí
+ Aktivní přepínače (%d)
+ Zablokované přepínače (%d)
+ Hledat přepínače...
+ Přepínače uloženy
+ Přepínače resetovány
+ Přepínače zkopírovány do schránky
Vyčistit sdílené odkazy
diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
index b2b0c23c9..6947d8316 100644
--- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml
+++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK byggedato er ødelagt
- Advarsel
+ ReVanced Meddelelse
Din urhistorik gemmes ikke.<br><br>Dette skyldes sandsynligvis en DNS-annonceblokker eller netværksproxy.<br><br>For at løse dette, whitelist <b>s.youtube.com</b> eller slå alle DNS-blokkere og fuldmagter fra.
Vis ikke igen
Indstillinger
Er du sikker på, at du vil fortsætte?
+ Gem
Nulstil
Nulstil farve
Ugyldig farve
@@ -164,6 +165,14 @@ Du modtager ikke notifikationer om uventede hændelser."
Ryd fejlsøgningslogfiler
Rydder alle gemte ReVanced-fejlsøgningslogfiler
Logfiler ryddet
+ Funktionsflag Manager
+ Administrer booleske funktionsflag
+ Aktive flag (%d)
+ Blokerede flag (%d)
+ Søg flag...
+ Flag gemt
+ Flag nulstillet
+ Flag kopieret til udklipsholder
Rens delingslinks
diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
index 8f0950c4a..1bee8e850 100644
--- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml
+++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK Erstellungsdatum ist beschädigt
- Warnung
+ ReVanced Hinweis
Ihr Verlauf wird nicht gespeichert.<br><br>Dies wird höchstwahrscheinlich durch einen DNS-Werbeblocker oder einen Netzwerkproxy verursacht.<br><br>Um dies zu beheben, setze <b>s.youtube.com</b> auf die Whitelist oder schalten Sie alle DNS-Blocker und Proxies aus.
Nicht wieder anzeigen
Einstellungen
Bist du sicher, dass du fortfahren möchtest?
+ Speichern
Zurücksetzen
Farbe zurücksetzen
Ungültige Farbe
@@ -164,6 +165,14 @@ Sie werden nicht über unerwartete Ereignisse informiert."
Debug-Protokolle löschen
Löscht alle gespeicherten ReVanced-Debug-Protokolle
Protokolle gelöscht
+ Feature-Flags Manager
+ Boolesche Feature-Flags verwalten
+ Aktive Flags (%d)
+ Blockierte Flags (%d)
+ Flags suchen...
+ Flags gespeichert
+ Flags zurückgesetzt
+ Flags in die Zwischenablage kopiert
Freigabelinks säubern
diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
index 625606d68..3667c8d7d 100644
--- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml
+++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Η ημερομηνία κατασκευής του APK είναι κατεστραμμένη
- Προειδοποίηση
+ Ειδοποίηση ReVanced
Το ιστορικό παρακολούθησης δεν αποθηκεύεται.<br><br>Πιθανό να συμβαίνει λόγω αποκλεισμού διαφημίσεων μέσω DNS ή μέσω διακομιστή μεσολάβησης δικτύου.<br><br>Μια λύση γι\'αυτό θα ήταν να προσθέσετε σε whitelist το <b>s.youtube.com</b> ή να απενεργοποιήστε τους DNS/proxy blockers.
Να μην εμφανιστεί ξανά
Ρυθμίσεις
Είστε βέβαιοι ότι θέλετε να συνεχίσετε;
+ Αποθήκευση
Επαναφορά
Επαναφορά χρώματος
Μη έγκυρο χρώμα
@@ -164,6 +165,14 @@ Second \"item\" text"
Εκκαθάριση αρχείων καταγραφής εντοπισμού σφαλμάτων
Εκκαθάριση όλων των αποθηκευμένων αρχειών καταγραφής εντοπισμού σφαλμάτων ReVanced
Τα αρχεία καταγραφής εκκαθαρίστηκαν
+ Διαχειριστής σημαιών λειτουργιών
+ Διαχείριση των boolean σημαιών λειτουργιών
+ Ενεργές σημαίες (%d)
+ Αποκλεισμένες σημαίες (%d)
+ Αναζήτηση σημαιών...
+ Οι σημαίες αποθηκεύτηκαν
+ Οι σημαίες επαναφέρθηκαν
+ Οι σημαίες αντιγράφηκαν στο πρόχειρο
Καθαρισμός συνδέσμων κοινοποίησης
diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml
index 0699fb3f9..db74be2ba 100644
--- a/patches/src/main/resources/addresources/values-es-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
La fecha de compilación del APK está corrupta
- Advertencia
+ Aviso de ReVanced
Tu historial no está siendo guardado.<br><br>Esto puede ser por un bloqueador de anuncios DNS o Proxy.<br><br>Para arreglarlo, permita el dominio <b>s.youtube.com</b> o desactive el bloqueador DNS o Proxy.
No mostrar de nuevo
Ajustes
¿Estás seguro de que quieres continuar?
+ Guardar
Restablecer
Restablecer color
Color no válido
@@ -164,6 +165,14 @@ No se le notificará de ningún evento inesperado."
Borrar registros de depuración
Borra todos los registros de depuración de ReVanced almacenados
Registros borrados
+ Manager de indicadores de funciones
+ Gestionar indicadores de funciones booleanos
+ Banderas activas (%d)
+ Banderas bloqueadas (%d)
+ Buscar banderas...
+ Banderas guardadas
+ Banderas restablecidas
+ Banderas copiadas al portapapeles
Sanear enlaces compartidos
diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
index c56e9e215..65499350c 100644
--- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml
+++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK ehituskuupäev on rikutud
- Hoiatus
+ ReVancedi Teade
Teie vaatamise ajalugu ei salvestata.<br><br>See on tõenäoliselt tingitud DNS-i reklaamiblokeerijast või võrguproksilt.<br><br>Selle parandamiseks lisage valgesse nimekirja <b>s.youtube.com</b> või lülitage kõik DNS-i reklaamiblokeerijad ja proksid välja.
Ära kuva uuesti
Seaded
Kas sa oled kindel, et soovid jätkata?
+ Salvesta
Lähtesta
Lähtesta värv
Vigane värv
@@ -164,6 +165,14 @@ Teid ei teavitata ühestki ootamatust sündmusest."
Puhasta silumislogid
Puhastab kõik salvestatud ReVanced silumislogid
Logid puhastatud
+ Funktsioonilipikute Manager
+ Halda booleani funktsioonilipikuid
+ Aktiivsed lipud (%d)
+ Blokeeritud lipud (%d)
+ Otsi lippe...
+ Lipud salvestatud
+ Lipud lähtestatud
+ Lipud kopeeritud lõikelauale
Puhasta jagamislingid
diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
index 0520602dc..b3cf841bd 100644
--- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
+++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK käännöspäivä on vioittunut
- Varoitus
+ ReVanced Ilmoitus
Kellon historiaa ei tallenneta.<br><br>Tämä todennäköisesti johtuu DNS mainosten estäjä tai verkkovälityspalvelin.<br><br>Korjataksesi tämän, valkoiselle listalle <b>s.youtube.com</b> tai poistaaksesi kaikki DNS-estäjät ja -profiilit.
Älä näytä uudelleen
Asetukset
Haluatko varmasti jatkaa?
+ Tallenna
Nollaa
Nollaa väri
Virheellinen väri
@@ -164,6 +165,14 @@ Et saa ilmoituksia odottamattomista tapahtumista."
Tyhjennä virheenkorjauslokit
Tyhjentää kaikki tallennetut ReVanced-virheenkorjauslokit
Lokit tyhjennetty
+ Ominaisuuslippujen Manager
+ Hallitse totuusarvo-ominaisuuslippuja
+ Aktiiviset liput (%d)
+ Estetyt liput (%d)
+ Hae lippuja...
+ Liput tallennettu
+ Liput nollattu
+ Liput kopioitu leikepöydälle
Puhdista jakamislinkit
@@ -779,9 +788,9 @@ Jos tämän asetuksen muuttaminen ei tule voimaan, kokeile vaihtaa Incognito-til
Näytön lukitus -valinta piilotetaan
Näytön lukitus -valinta näytetään
- Piilota Kuuntele YouTube Musicilla
- Kuuntele YouTube Musicilla -valikko on piilotettu
- Kuuntele YouTube Musicilla -valikko on näkyvissä
+ Piilota Kuuntele YouTube Musicissa
+ Kuuntele YouTube Musicissa -valinta piilotetaan
+ Kuuntele YouTube Musicissa -valinta näytetään
Piilota Ääniraita
Ääniraitavalikko piilotetaan
diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
index cdb1829a5..fc0c0df48 100644
--- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
+++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Ang petsa ng pagbuo ng APK ay sira
- Babala
+ Paunawa ng ReVanced
Hindi nai-save ang iyong kasaysayan ng panonood.<br><br>Karaniwang sanhi nito ay ang DNS ad blocker o network proxy.<br><br>Para maayos ito, i-whitelist ang <b>s.youtube.com</b> o i-off ang lahat ng DNS blocker at proxy.
Huwag ipakitang muli
Mga Setting
Sigurado ka bang gusto mong magpatuloy?
+ I-save
I-reset
I-reset ang kulay
Hindi wasto ang kulay
@@ -164,6 +165,14 @@ Hindi ka aabisuhan ng anumang hindi inaasahang mga kaganapan."
I-clear ang mga debug log
Iki-clear ang lahat ng nakaimbak na ReVanced debug log
Na-clear ang mga log
+ Manager ng Mga Flag ng Tampok
+ Pamahalaan ang mga boolean na flag ng tampok
+ Mga aktibong flag (%d)
+ Mga harang na flag (%d)
+ Maghanap ng mga flag...
+ Na-save ang mga flag
+ Na-reset ang mga flag
+ Nakopya ang mga flag sa clipboard
Linisin ang mga link sa pagbabahagi
diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
index 7d71ab443..1ed66e63b 100644
--- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
+++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
La date de construction de l\'APK est corrompue
- Avertissement
+ Avis ReVanced
Les vidéos que vous regardez ne sont pas enregistrées dans votre historique.<br><br>La cause la plus probable est l\'utilisation d\'un serveur DNS bloqueur de publicités ou d\'un proxy.<br><br>Pour résoudre ce problème, autorisez l\'accès à <b>s.youtube.com</b> ou désactivez tous vos bloqueurs DNS et proxys.
Ne plus afficher
Paramètres
Voulez-vous vraiment continuer ?
+ Enregistrer
Réinitialiser
Réinitialiser la couleur
Couleur invalide
@@ -164,6 +165,14 @@ Vous ne serez pas informé des événements inattendus."
Effacer les journaux de débogage
Efface tous les journaux de débogage ReVanced stockés
Journaux effacés
+ Gestionnaire des indicateurs de fonctionnalités
+ Gérer les indicateurs de fonctionnalités booléens
+ Drapeaux actifs (%d)
+ Drapeaux bloqués (%d)
+ Rechercher des drapeaux...
+ Drapeaux enregistrés
+ Drapeaux réinitialisés
+ Drapeaux copiés dans le presse-papiers
Nettoyer les liens de partage
diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
index f77199cf2..24a5e3d92 100644
--- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
+++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Tá dáta tógála APK truaillithe
- Rabhadh
+ Fógra ReVanced
Níl do stair faire á sábháil.<br><br>Is é is dóichí gur seachfhreastalaí fógraí DNS nó seachfhreastalaí líonra is cúis leis seo.<br><br> Chun é seo a réiteach, déan liosta bán <b>s.youtube.com</b> nó gach seachfhreastalaí DNS a mhúchadh.
Ná taispeáin arís
Socruithe
An bhfuil tú cinnte gur mhaith leat dul ar aghaidh?
+ Sábháil
Athshocrú
Dath a athshocrú
Dath neamhbhailí
@@ -164,6 +165,14 @@ Ní chuirfear ar an eolas thú faoi aon imeachtaí gan choinne."
Glan logaí dífhabhtaithe
Glanann sé gach loga dífhabhtaithe ReVanced stóráilte
Lógaí glanta
+ Bainisteoir bratacha gnéithe
+ Bainistigh bratacha gné booléacha
+ Bratacha gníomhacha (%d)
+ Bratacha blocáilte (%d)
+ Cuardaigh bratacha...
+ Bratacha sábháilte
+ Bratacha athshocraithe
+ Bratacha cóipeáilte chuig an ngearrthaisce
Glan na naisc roinnte
diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml
index 9bebfc982..7e969831a 100644
--- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml
+++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml
@@ -32,6 +32,7 @@ Second \"item\" text"
+ Sačuvaj
diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
index 4411354e0..fbd8baeb4 100644
--- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
+++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Az APK build dátuma sérült
- Figyelmeztetés
+ ReVanced Értesítés
A megtekintési előzmények mentése nem történik meg.<br><br>Ezt valószínűleg egy DNS-hirdetésblokkoló vagy hálózati proxy okozza.<br><br>A probléma megoldásához vegye fel az engedélyezőlistára az <b>s.youtube.com</b> domaint vagy kapcsolja ki az összes DNS-blokkolót és proxyt.
Ne jelenjen meg többet
Beállítások
Biztosan folytatni szeretné?
+ Mentés
Visszaállítás
Szín alaphelyzetbe állítása
Érvénytelen szín
@@ -164,6 +165,14 @@ Nem fog értesülni semmilyen váratlan eseményről."
Hibakeresési naplók törlése
Törli az összes tárolt ReVanced hibakeresési naplót
Naplók törölve
+ Funkciójelzők Manager
+ Logikai funkciójelzők kezelése
+ Aktív jelzők (%d)
+ Blokkolt jelzők (%d)
+ Jelzők keresése...
+ Jelzők mentve
+ Jelzők visszaállítva
+ Jelzők vágólapra másolva
Megosztási linkek tisztítása
diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
index 9cd1beadd..64eb593d4 100644
--- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
+++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK-ի կառուցման ամսաթիվը վնասված է
- Զգուշացում
+ ReVanced Ծանուցում
Ձեր դիտման պատմությունը չի պահպանվում.<br><br>Այս հավանական պատճառը DNS գովազդների բլոկավորիչ կամ ցանցային պրոքսի է.<br><br>Խնդրում ենք գործարկել <b>s.youtube.com</b> կամ անջատել DNS բլոկավորիչներ և պրոքսիներ:
Ավելի չցուցադրել
Կարգավորումներ
Վստա՞հ եք, որ ցանկանում եք շարունակել:
+ Պահպանել
Վերականգնել
Գույնը վերականգնել
Անվավեր գույն
@@ -164,6 +165,14 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
Մաքրել վրեժխնդրության մատյանները
Մաքրում է բոլոր պահված ReVanced կարգաբերման մատյանները
Մատյանները մաքրվել են
+ Գործառույթի դրոշակների Manager
+ Կառավարել բուլյան գործառույթի դրոշակները
+ Ակտիվ դրոշակներ (%d)
+ Արգելափակված դրոշակներ (%d)
+ Որոնել դրոշակներ...
+ Դրոշակները պահպանվեցին
+ Դրոշակները զրոյացվեցին
+ Դրոշակները պատճենվեցին սեղմատախտակին
Մաքրել համօգտագործման հղումները
diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml
index 458d18907..8a31bdad5 100644
--- a/patches/src/main/resources/addresources/values-in-rID/strings.xml
+++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Tanggal pembuatan APK rusak
- Peringatan
+ Pemberitahuan ReVanced
Riwayat tontonan Anda tidak sedang disimpan.<br><br>Hal ini kemungkinan besar disebabkan oleh pemblokir iklan DNS atau proksi jaringan.<br><br>Untuk memperbaikinya, masukkan daftar putih <b>s.youtube.com</b> atau matikan semua pemblokir DNS dan proksi.
Jangan tampilkan lagi
Pengaturan
Apakah Anda yakin ingin melanjutkan?
+ Simpan
Setel ulang
Setel ulang warna
Warna tidak sah
@@ -61,7 +62,7 @@ Second \"item\" text"
Impor
Salin
Pengaturan ReVanced diatur ke bawaan
- Setelan %d terimpor
+ %d Setelan terimpor
Impor gagal: %s
Pengaturan pencarian
Tidak ada hasil yang ditemukan untuk \'%s\'
@@ -164,6 +165,14 @@ Anda tidak akan diberi tahu tentang kejadian yang tidak terduga."
Bersihkan catatan debug
Menghapus semua catatan debug ReVanced yang tersimpan
Catatan dibersihkan
+ Fitur pengelolaan tanda
+ Kelola tanda fitur boolean
+ Tanda aktif (%d)
+ Tanda diblokir (%d)
+ Cari tanda...
+ Tanda disimpan
+ Tanda diatur ulang
+ Tanda disalin ke papan klip
Bersihkan tautan berbagi
diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
index 6c998e8ee..a3efab432 100644
--- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml
+++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
La data di compilazione dell\'APK è corrotta
- Attenzione
+ Avviso ReVanced
La tua cronologia di visualizzazione non sta venendo salvata.<br><br>Questo è molto probabilmente causato da un blocco annunci DNS o da un proxy di rete.<br><br>Per risolvere, inserisci nella whitelist <b>s.youtube.com</b> o disattiva tutti i blocchi DNS e proxy.
Non mostrare più
Impostazioni
Sei sicuro di voler procedere?
+ Salva
Reimposta
Reimposta colore
Colore non valido
@@ -164,6 +165,14 @@ Non sarai notificato di eventi imprevisti."
Cancella i log di debug
Cancella tutti i log di debug di ReVanced memorizzati
Log cancellati
+ Manager dei flag di funzionalità
+ Gestisci flag di funzionalità booleani
+ Flag attivi (%d)
+ Flag bloccati (%d)
+ Cerca flag...
+ Flag salvati
+ Flag ripristinati
+ Flag copiati negli appunti
Sanifica collegamenti di condivisione
diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
index 407bd1ce1..426236ee5 100644
--- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
+++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
תאריך בניית ה-APK פגום
- אזהרה
+ הודעת ReVanced
היסטוריית הצפייה שלך לא נשמרת.<br><br>סביר להניח שזה נגרם על ידי חוסם מודעות ברמת DNS או פרוקסי רשת.<br><br>כדי לתקן זאת, רשום את <b>s.youtube.com</b> ברשימת ההיתרים או כבה את כל חוסמי ה-DNS והפרוקסים.
אל תציג שוב
הגדרות
האם אתה בטוח שברצונך להמשיך?
+ שמור
איפוס
אפס צבע
צבע לא חוקי
@@ -164,6 +165,14 @@ Second \"item\" text"
נקה יומני איתור באגים
מנקה את כל היומנים לאיתור באגים של Revanced המאוחסנים
היומנים נוקו
+ Manager דגלי תכונות
+ נהל דגלי תכונות בוליאניים
+ דגלים פעילים (%d)
+ דגלים חסומים (%d)
+ חפש דגלים...
+ הדגלים נשמרו
+ הדגלים אופסו
+ הדגלים הועתקו ללוח
טיהור קישורי שיתוף
diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
index 2509568da..03a881ab9 100644
--- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
+++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK の作成日時データが破損している
- 警告
+ ReVanced からのお知らせ
再生履歴が保存されていません。<br><br>これはおそらく、DNS 広告ブロッカーまたはネットワーク プロキシが原因です。<br><br>この問題を解決するには、<b>s.youtube.com</b> をホワイトリストに追加するか、すべての DNS ブロッカーとプロキシをオフにしてください。
今後表示しない
設定
続行してもよろしいですか?
+ 保存
リセット
色をリセット
色の値が無効です
@@ -164,6 +165,14 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
デバッグログを消去
保存されている ReVanced のすべてのデバッグログを消去します
ログを消去しました
+ 機能フラグ Manager
+ ブール機能フラグを管理
+ 有効なフラグ (%d)
+ ブロックされたフラグ (%d)
+ フラグを検索...
+ フラグを保存しました
+ フラグをリセットしました
+ フラグをクリップボードにコピーしました
共有リンクを無害化
diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
index 44635ec97..a058bdf48 100644
--- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
+++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK 빌드 날짜가 손상되었습니다
- 경고
+ ReVanced 알림
시청 기록이 저장되지 않습니다.<br><br> DNS 광고 차단기 또는 네트워크 프록시로 인하여 발생한 문제일 가능성이 높습니다.<br><br> 이 문제를 해결하려면 <b>s.youtube.com</b>을 허용 목록에서 제외하거나 모든 DNS 차단기 및 프록시를 해제하세요.
다시 보지 않기
설정
계속하시겠습니까?
+ 저장
초기화
색상 초기화
잘못된 색상입니다
@@ -164,6 +165,14 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
디버그 로그 지우기
저장된 모든 ReVanced 디버그 로그를 지울 수 있습니다
디버그 로그가 지워졌습니다
+ 기능 플래그 관리자
+ 부울 기능 플래그를 관리할 수 있습니다
+ 허용된 플래그 (%d)
+ 차단된 플래그 (%d)
+ 플래그 검색 ...
+ 플래그를 저장하였습니다
+ 플래그를 초기화하였습니다
+ 플래그를 클립보드에 복사하였습니다
추적 쿼리를 제거한 링크 공유하기
@@ -316,34 +325,34 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
실시간 이모티콘 리액션 숨기기
실시간 이모티콘 리액션이 숨겨집니다
실시간 이모티콘 리액션이 표시됩니다
- AI 생성 동영상 요약 섹션 숨기기
+ AI 생성 동영상 요약 숨기기
AI 생성 동영상 요약 섹션이 숨겨집니다
AI 생성 동영상 요약 섹션이 표시됩니다
- \'질문하기\' 섹션 숨기기
+ \'질문하기\' 숨기기
\'질문하기\' 섹션이 숨겨집니다
\'질문하기\' 섹션이 표시됩니다
- 속성 섹션 숨기기
+ 속성 숨기기
게임, 음악, 동영상 속 장소 그리고 언급된 인물 섹션이 숨겨집니다
게임, 음악, 동영상 속 장소 그리고 언급된 인물 섹션이 표시됩니다
챕터 숨기기
챕터 섹션이 숨겨집니다
챕터 섹션이 표시됩니다
- 이 콘텐츠가 제작된 방식 섹션 숨기기
+ 이 콘텐츠가 제작된 방식 숨기기
이 콘텐츠가 제작된 방식 섹션이 숨겨집니다
이 콘텐츠가 제작된 방식 섹션이 표시됩니다
Hype 점수 숨기기
Hype 점수가 숨겨집니다
Hype 점수가 표시됩니다
- 팟캐스트 살펴보기 섹션 숨기기
+ \'팟캐스트 살펴보기\' 숨기기
팟캐스트 살펴보기 섹션이 숨겨집니다
팟캐스트 살펴보기 섹션이 표시됩니다
- 크리에이터 정보 카드 섹션 숨기기
+ 크리에이터 정보 카드 숨기기
크리에이터 정보 카드 섹션이 숨겨집니다
크리에이터 정보 카드 섹션이 표시됩니다
- 주요 개념 섹션 숨기기
+ 주요 개념 숨기기
주요 개념 섹션이 숨겨집니다
주요 개념 섹션이 표시됩니다
- 스크립트 섹션 숨기기
+ 스크립트 숨기기
스크립트 섹션이 숨겨집니다
스크립트 섹션이 표시됩니다
동영상 설명
@@ -631,65 +640,65 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
동작 버튼
플레이어 하단에서 동작 버튼을 숨기거나 표시할 수 있습니다
- 빛나는 \'좋아요\' / \'구독\' 버튼 비활성화하기
+ 빛나는 \'좋아요\' / \'구독\' 비활성화하기
동영상에서 \'Like (좋아요)\' 또는 \'Subscribe (구독)\' 버튼이 언급되었을 경우에 해당 버튼에 빛나는 애니메이션을 적용하지 않습니다
동영상에서 \'Like (좋아요)\' 또는 \'Subscribe (구독)\' 버튼이 언급되었을 경우에 해당 버튼에 빛나는 애니메이션을 적용합니다
- 좋아요 & 싫어요 버튼 숨기기
+ 좋아요 & 싫어요 숨기기
좋아요 & 싫어요 버튼이 숨겨집니다
좋아요 & 싫어요 버튼이 표시됩니다
- 공유 버튼 숨기기
+ 공유 숨기기
공유 버튼이 숨겨집니다
공유 버튼이 표시됩니다
- 광고 중지 버튼 숨기기
+ 광고 중지 숨기기
광고 중지 버튼이 숨겨집니다
광고 중지 버튼이 표시됩니다
- 댓글 버튼 숨기기
+ 댓글 숨기기
댓글 버튼이 숨겨집니다
댓글 버튼이 표시됩니다
- 신고 버튼 숨기기
+ 신고 숨기기
신고 버튼이 숨겨집니다
신고 버튼이 표시됩니다
- 리믹스 버튼 숨기기
+ 리믹스 숨기기
리믹스 버튼이 숨겨집니다
리믹스 버튼이 표시됩니다
- 오프라인 저장 버튼 숨기기
+ 오프라인 저장 숨기기
오프라인 저장 버튼이 숨겨집니다
오프라인 저장 버튼이 표시됩니다
- Hype 버튼 숨기기
+ Hype 숨기기
Hype 버튼이 숨겨집니다
Hype 버튼이 표시됩니다
- 프로모션 버튼 숨기기
+ 프로모션 숨기기
프로모션 버튼이 숨겨집니다
프로모션 버튼이 표시됩니다
- Thanks 버튼 숨기기
+ Thanks 숨기기
Thanks 버튼이 숨겨집니다
Thanks 버튼이 표시됩니다
- \'질문하기\' 버튼 숨기기
+ \'질문하기\' 숨기기
\'질문하기\' 버튼이 숨겨집니다
\'질문하기\' 버튼이 표시됩니다
- 클립 버튼 숨기기
+ 클립 숨기기
클립 버튼이 숨겨집니다
클립 버튼이 표시됩니다
- 쇼핑 버튼 숨기기
+ 쇼핑 숨기기
쇼핑 버튼이 숨겨집니다
쇼핑 버튼이 표시됩니다
- 저장 버튼 숨기기
+ 저장 숨기기
저장 버튼이 숨겨집니다
저장 버튼이 표시됩니다
@@ -697,26 +706,26 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
하단바 버튼
하단바에서 버튼을 숨기거나 변경할 수 있습니다
- 홈 버튼 숨기기
+ 홈 숨기기
홈 버튼이 숨겨집니다
홈 버튼이 표시됩니다
- Shorts 버튼 숨기기
+ Shorts 숨기기
Shorts 버튼이 숨겨집니다
Shorts 버튼이 표시됩니다
- 만들기 버튼 숨기기
+ 만들기 숨기기
만들기 버튼이 숨겨집니다
만들기 버튼이 표시됩니다
- 구독 버튼 숨기기
+ 구독 숨기기
구독 버튼이 숨겨집니다
구독 버튼이 표시됩니다
- 알림 버튼 숨기기
+ 알림 숨기기
알림 버튼이 숨겨집니다
알림 버튼이 표시됩니다
- 만들기 버튼과 알림 버튼 위치 교환하기
+ 만들기와 알림 위치 교환하기
"만들기 버튼과 알림 버튼의 위치를 교환합니다
알려진 문제점:
@@ -743,46 +752,46 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
메뉴 구성요소
플레이어에서 메뉴 구성요소를 숨기거나 표시할 수 있습니다
- 자막 메뉴 숨기기
+ 자막 숨기기
자막 메뉴가 숨겨집니다
자막 메뉴가 표시됩니다
- 추가 설정 메뉴 숨기기
+ 추가 설정 숨기기
추가 설정 메뉴가 숨겨집니다
추가 설정 메뉴가 표시됩니다
- 취침 타이머 메뉴 숨기기
+ 취침 타이머 숨기기
취침 타이머 메뉴가 숨겨집니다
취침 타이머 메뉴가 표시됩니다
- 동영상 연속 재생 메뉴 숨기기
+ 동영상 연속 재생 숨기기
동영상 연속 재생 메뉴가 숨겨집니다
동영상 연속 재생 메뉴가 표시됩니다
- 앰비언트 모드 메뉴 숨기기
+ 앰비언트 모드 숨기기
앰비언트 모드 메뉴가 숨겨집니다
앰비언트 모드 메뉴가 표시됩니다
- 안정적인 볼륨 메뉴 숨기기
+ 안정적인 볼륨 숨기기
안정적인 볼륨 메뉴가 표시됩니다
안정적인 볼륨 메뉴가 숨겨집니다
- 고객센터 메뉴 숨기기
+ 고객센터 숨기기
고객센터 메뉴가 숨겨집니다
고객센터 메뉴가 표시됩니다
- 재생 속도 메뉴 숨기기
+ 재생 속도 숨기기
재생 속도 메뉴가 숨겨집니다
재생 속도 메뉴가 표시됩니다
- 잠금 화면 메뉴 숨기기
+ 잠금 화면 숨기기
잠금 화면 메뉴가 숨겨집니다
잠금 화면 메뉴가 표시됩니다
- YouTube Music으로 음악 감상 메뉴 숨기기
+ YouTube Music으로 음악 감상 숨기기
YouTube Music으로 음악 감상 메뉴가 숨겨집니다
YouTube Music으로 음악 감상 메뉴가 표시됩니다
- 오디오 트랙 메뉴 숨기기
+ 오디오 트랙 숨기기
오디오 트랙 메뉴가 숨겨집니다
오디오 트랙 메뉴가 표시됩니다
@@ -790,13 +799,13 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
오디오 트랙 메뉴를 표시하려면, '동영상 스트림 변경하기'에서 기본 클라이언트를 iPadOS로 변경하세요"
- VR로 보기 메뉴 숨기기
+ VR로 보기 숨기기
VR로 보기 메뉴가 숨겨집니다
VR로 보기 메뉴가 표시됩니다
동영상 화질 메뉴 숨기기
동영상 화질 메뉴가 숨겨집니다
동영상 화질 메뉴가 표시됩니다
- 화질 설정 메뉴에서 하단 설명 숨기기
+ 동영상 화질 메뉴에서 하단 설명 숨기기
화질 설정 메뉴에서 하단 설명이 숨겨집니다
화질 설정 메뉴에서 하단 설명이 표시됩니다
@@ -851,14 +860,14 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
Shorts 플레이어
Shorts 플레이어에서 구성요소를 숨기거나 표시할 수 있습니다
- 홈 피드에서 Shorts 선반 숨기기
+ 홈 피드에서 Shorts 숨기기
홈 피드 및 관련 동영상에서 숨겨집니다
홈 피드 및 관련 동영상에서 표시됩니다
- 검색 결과에서 Shorts 선반 숨기기
+ 검색 결과에서 Shorts 숨기기
검색 결과에서 숨겨집니다
검색 결과에서 표시됩니다
- 구독 피드에서 Shorts 선반 숨기기
+ 구독 피드에서 Shorts 숨기기
구독 피드에서 숨겨집니다
구독 피드에서 표시됩니다
시청 기록에서 Shorts 숨기기
@@ -962,12 +971,12 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
하단바가 표시됩니다
- 최종 화면 다음 재생 추천 동영상 숨기기
- "자동재생이 꺼져 있을 경우에 최종 화면에서 다음 재생 추천 동영상이 숨겨집니다
+ 최종 화면 추천 동영상 숨기기
+ "자동재생이 꺼져 있을 경우에 최종 화면에서 추천 동영상이 숨겨집니다
자동재생은 YouTube 설정에서 변경할 수 있습니다:
설정 → 재생 → 다음 동영상 자동재생"
- 최종 화면에서 다음 재생 추천 동영상이 표시됩니다
+ 최종 화면에서 추천 동영상이 표시됩니다
관련 동영상 오버레이 숨기기
diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
index 4f14d370d..f20c66eed 100644
--- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
+++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK sukurties data yra sugadinta
- Įspėjimas
+ ReVanced pranešimas
Jūsų žiūrėjimo istorija nėra išsaugoma.<br><br>Tikėtina, kad tai sukelia DNS skelbimų blokatorius arba tinklo tarpinis serveris.<br><br>Norėdami išspręsti šią problemą, įtraukite į baltąjį sąrašą <b>s.youtube.com</b> arba išjunkite visus DNS blokatorius ir tarpinį serverį.
Nerodyti daugiau
Nustatymai
Ar tikrai norite tęsti?
+ Išsaugoti
Atstatyti
Atkurti spalvą
Neteisinga spalva
@@ -164,6 +165,14 @@ Apie netikėtus įvykius nebus pranešta."
Išvalyti derinimo žurnalus
Išvalo visus išsaugotus „ReVanced“ derinimo žurnalus
Žurnalai išvalyti
+ Funkcijų žymių Manager
+ Tvarkyti logines funkcijų žymes
+ Aktyviosios vėliavėlės (%d)
+ Užblokuotos vėliavėlės (%d)
+ Ieškoti vėliavėlių...
+ Vėliavėlės išsaugotos
+ Vėliavėlės nustatytos iš naujo
+ Vėliavėlės nukopijuotos į iškarpinę
Nuvalyti bendrinimo nuorodas
diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
index 8f5aa8676..5ee7a81af 100644
--- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
+++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK veidošanas datums ir bojāts
- Brīdinājums
+ ReVanced paziņojums
Jūsu skatīšanās vēsture netiek saglabāta.<br><br>Visticamāk, to izraisa DNS reklāmu bloķētājs vai tīkla starpniekserveris.<br><br>Lai to novērstu, pievienojiet baltajam sarakstam <b>s.youtube.com</b> vai izslēdziet visus DNS bloķētājus un starpniekservera serverus.
Nerādīt vēlreiz
Iestatījumi
Vai tiešām vēlaties turpināt?
+ Saglabāt
Atiestatīt
Atiestatīt krāsu
Nederīga krāsa
@@ -164,6 +165,14 @@ Jūs netiksit informēts par neparedzētiem notikumiem."
Notīrīt atkļūdošanas žurnālus
Notīra visus saglabātos ReVanced atkļūdošanas žurnālus
Žurnāli ir notīrīti
+ Funkciju karodziņu Manager
+ Pārvaldīt Būla funkciju karodziņus
+ Aktīvie karodziņi (%d)
+ Bloķētie karodziņi (%d)
+ Meklēt karodziņus...
+ Karodziņi saglabāti
+ Karodziņi atiestatīti
+ Karodziņi kopēti starpliktuvē
Tīrīt koplietošanas saites
diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
index bfd5a3029..9a979faed 100644
--- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
+++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK-bouwdatum is beschadigd
- Waarschuwing
+ ReVanced Melding
Uw kijkgeschiedenis wordt niet opgeslagen.<br><br>Dit wordt hoogstwaarschijnlijk veroorzaakt door een DNS-adblocker of netwerkproxy.<br><br>Om dit te verhelpen, voegt u <b>s.youtube.com</b> toe aan de witte lijst of schakelt u alle DNS-blokkers en proxies uit.
Niet meer weergeven
Instellingen
Weet je zeker dat je door wilt gaan?
+ Opslaan
Terugzetten
Kleur opnieuw instellen
Ongeldige kleur
@@ -164,6 +165,14 @@ U wordt niet op de hoogte gesteld van onverwachte gebeurtenissen."
Foutopsporingslogboeken wissen
Wist alle opgeslagen ReVanced-foutopsporingslogboeken
Logboeken gewist
+ Functievlaggen Manager
+ Beheer booleaanse functievlaggen
+ Actieve vlaggen (%d)
+ Geblokkeerde vlaggen (%d)
+ Vlaggen zoeken...
+ Vlaggen opgeslagen
+ Vlaggen gereset
+ Vlaggen gekopieerd naar klembord
Deelbare links opschonen
diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
index ff6fafaa1..9bc791172 100644
--- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
+++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Data kompilacji APK jest uszkodzona
- Ostrzeżenie
+ Powiadomienie ReVanced
Twoja historia oglądania nie jest zapisywana.<br><br>Najprawdopodobniej jest to spowodowane blokadą reklam DNS lub serwer proxy.<br><br>Aby to naprawić, dodaj do białej listy<b>s.youtube.com</b> lub wyłącz wszystkie blokady DNS i proxy.
Nie pokazuj ponownie
Ustawienia
Czy na pewno chcesz kontynuować?
+ Zapisz
Zresetuj
Zresetuj kolor
Nieprawidłowy kolor
@@ -164,6 +165,14 @@ Nie będziesz informowany o żadnych nieoczekiwanych zdarzeniach."
Wyczyść dzienniki debugowania
Czyści wszystkie zapisane dzienniki debugowania ReVanced
Dzienniki wyczyszczone
+ Manager flag funkcji
+ Zarządzaj flagami funkcji typu boolean
+ Aktywne flagi (%d)
+ Zablokowane flagi (%d)
+ Szukaj flag...
+ Flagi zapisane
+ Flagi zresetowane
+ Flagi skopiowane do schowka
Oczyść linki udostępniania
diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
index ab7d42f2b..7add11301 100644
--- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Data de compilação do APK está corrompida
- Atenção
+ Aviso do ReVanced
Seu histórico de exibição não está sendo salvo.<br><br>Na maioria dos casos isso é causado por um bloqueador de anúncios por DNS ou proxy de rede.<br><br>Para corrigir isso, permita <b>s.youtube.com</b> na sua lista ou desative todos os bloqueadores de DNS e proxies.
Não exibir novamente
Configurações
Tem certeza de que deseja continuar?
+ Salvar
Resetar
Redefinir cor
Cor inválida
@@ -164,6 +165,14 @@ Você não será notificado sobre nenhum evento inesperado."
Limpar registros de depuração
Limpa todos os registros de depuração do ReVanced armazenados
Registros limpos
+ Gerenciador de sinalizadores de recursos
+ Gerenciar sinalizadores de recursos booleanos
+ Flags ativas (%d)
+ Flags bloqueadas (%d)
+ Pesquisar flags...
+ Flags salvas
+ Flags redefinidas
+ Flags copiadas para a área de transferência
Higienizar links de compartilhamento
diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
index 11a21d40c..861c21e92 100644
--- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
A data da compilação da APK está corrompida
- Atenção
+ Aviso do ReVanced
O teu histórico de visualização não está a ser guardado.<br><br>Isto é mais provávelmente causado por um bloqueador de anúncios DNS ou proxy de rede.<br><br>Para reparar isto, adiciona às exceções <b>s.youtube.com</b> ou desativa todos os bloqueadores DNS e proxies.
Não mostrar novamente
Configurações
Tem certeza de que deseja prosseguir?
+ Salvar
Repor
Redefinir cor
Cor inválida
@@ -164,6 +165,14 @@ Não será notificado de quaisquer eventos inesperados."
Limpar registos de depuração
Limpa todos os registos de depuração do ReVanced armazenados
Registos limpos
+ Manager de sinalizadores de recurso
+ Gerenciar sinalizadores de recurso booleanos
+ Sinalizadores ativos (%d)
+ Sinalizadores bloqueados (%d)
+ Pesquisar sinalizadores...
+ Sinalizadores salvos
+ Sinalizadores redefinidos
+ Sinalizadores copiados para a área de transferência
Sanitizar links de partilha
diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
index d698c2d63..48b71d31d 100644
--- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
+++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Data construirii APK-ului este coruptă
- Atenție
+ Notificare ReVanced
Istoricul de vizionare nu este salvat.<br><br>Cel mai probabil este cauzată de un DNS de blocare a anunțurilor sau de un proxy de rețea.<br><br>Pentru a remedia acest lucru, lista albă <b>s.youtube.com</b> sau pentru a opri toate blocantele DNS și proxy-urile.
Nu mai afișa
Setări
Sigur doriți să continuați?
+ Salvați
Resetare
Resetează culoarea
Culoare nevalidă
@@ -164,6 +165,14 @@ Nu veți fi notificat de niciun eveniment neașteptat."
Șterge jurnalele de depanare
Șterge toate jurnalele de depanare ReVanced stocate
Jurnale șterse
+ Manager de funcții
+ Gestionați funcțiile booleene
+ Steaguri active (%d)
+ Steaguri blocate (%d)
+ Căutați steaguri...
+ Steaguri salvate
+ Steaguri resetate
+ Steaguri copiate în clipboard
Igienizează linkurile de partajare
diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
index abc168f8f..25cd108e0 100644
--- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
+++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Дата сборки APK повреждена
- Внимание
+ Уведомление ReVanced
Ваша история просмотра не сохраняется.<br><br>Вероятнее всего это вызвано DNS блокировщиком рекламы или сетевым прокси.<br><br>Чтобы это исправить, добавьте <b>s.youtube.com</b> в белый список блокировщика рекламы или отключите все блокировщики DNS и прокси.
Не показывать снова
Настройки
Вы уверены, что хотите продолжить?
+ Сохранить
Сбросить
Сбросить цвет
Неверный цвет
@@ -164,6 +165,14 @@ Second \"item\" text"
Очистить журналы отладки
Очищает все сохраненные журналы отладки ReVanced
Журналы очищены
+ Флаги функций Manager
+ Управление логическими флагами функций
+ Активные флаги (%d)
+ Заблокированные флаги (%d)
+ Поиск флагов...
+ Флаги сохранены
+ Флаги сброшены
+ Флаги скопированы в буфер обмена
Очищать ссылки для обмена
diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
index 951999abb..e6695d201 100644
--- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
+++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Dátum zostavenia APK je poškodený
- Upozornenie
+ Upozornenie ReVanced
Vaša história pozeraného sa neuchováva.<br><br>Toto je pravdepodobne spôsobené blokovaním reklám pomocou DNS alebo sieťového proxy.<br><br>Pre vyriešenie tohto problému povoľte <b>s.youtube.com</b> alebo vypnite všetky blokátory reklám pomocou DNS a proxy.
Neukazuj znovu
Nastavenia
Naozaj chcete pokračovať?
+ Uložiť
Resetovať
Obnovi farbu
Neplatn farba
@@ -162,6 +163,14 @@ Nebudete informovaní o žiadnych nepredvídaných udalostiach."
Vymazať protokoly ladenia
Vymaže všetky uložené protokoly ladenia ReVanced
Protokoly vymazané
+ Manager príznakov funkcií
+ Spravovať booleovské príznaky funkcií
+ Aktívne príznaky (%d)
+ Blokované príznaky (%d)
+ Hľadať príznaky...
+ Príznaky uložené
+ Príznaky resetované
+ Príznaky skopírované do schránky
Vyčistiť odkazy na zdieľanie
diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
index c6ed4ebd3..82c42f343 100644
--- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
+++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Datum izgradnje APK je poškodovan
- Opozorilo
+ Obvestilo ReVanced
Vaš zgodovine gledanja se ne shranjuje.<br><br>To najverjetneje povzroči DNS blokiralnik oglasov ali omrežni posrednik.<br><br>Za odpravo težave dodajte na beli seznam <b>s.youtube.com</b> ali izklopite vse blokiralnike oglasov DNS in posrednike.
Ne prikazuj več
Nastavitve
Ali ste prepričani, da želite nadaljevati?
+ Shrani
Ponastavi
Ponastavi barvo
Neveljavna barva
@@ -164,6 +165,14 @@ Ne boste obveščeni o nobenih nepričakovanih dogodkih."
Počisti dnevnike napak
Počisti vse shranjene dnevnike napak ReVanced
Dnevniki so bili izbrisani
+ Zastavice funkcij Manager
+ Upravljanje logičnih zastavic funkcij
+ Aktivne zastavice (%d)
+ Blokirane zastavice (%d)
+ Iskanje zastavic...
+ Zastavice shranjene
+ Zastavice ponastavljene
+ Zastavice kopirane v odložišče
Sanitiziraj povezave za deljenje
diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
index 538c3525a..35a2c7d67 100644
--- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
+++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Data e ndërtimit të APK është e korruptuar
- Kujdes
+ Njoftim ReVanced
Historia juaj e shikimit nuk po ruhet.<br><br>Kjo me shumë mundësi shkaktohet nga një bllokues DNS reklamash ose një prokuri rrjeti.<br><br>Për të zgjidhur këtë, shto në listën e bardhë <b>s.youtube.com</b> ose çaktivizo të gjithë bllokuesit DNS dhe prokuritë.
Mos shfaq përsëri
Cilësimet
A jeni i sigurt që dëshironi të vazhdoni?
+ Ruaj
Rivendos
Rikthe ngjyrën
Ngjyrë e pavlefshme
@@ -164,6 +165,14 @@ Ju nuk do të njoftoheni për ndonjë ngjarje të papritur."
Pastro regjistrat e korrigjimit
Pastro të gjithë regjistrat e ruajtur të korrigjimit të ReVanced
Regjistrat u pastruan
+ Manager i sinjaleve të veçorive
+ Menaxhoni sinjalet boolean të veçorive
+ Flamuj aktivë (%d)
+ Flamuj të bllokuar (%d)
+ Kërko flamuj...
+ Flamujt u ruajtën
+ Flamujt u rivendosën
+ Flamujt u kopjuan në kujtesën e punës
Pastro lidhjet e ndarjes
diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
index 73b0f5db3..ed8599d58 100644
--- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Datum izrade APK-a je oštećen
- Upozorenje
+ ReVanced obaveštenje
Vaša istorija gledanja se ne čuva.<br><br>Ovo je najverovatnije uzrokovano DNS blokatorom oglasa ili mrežnim proksijem.<br><br>Da biste ovo popravili, stavite na belu listu <b>s.youtube.com</b> ili isključite sve DNS blokatore i proksije.
Ne prikazuj ponovo
Podešavanja
Želite li zaista da nastavite?
+ Sačuvaj
Resetuj
Resetuj boju
Nevažeća boja
@@ -164,6 +165,14 @@ Nećete biti obavešteni ni o kakvim neočekivanim događajima."
Izbriši evidencije otklanjanja grešaka
Briše sve sačuvane evidencije otklanjanja grešaka ReVanceda
Evidencije su izbrisane
+ Feature flags Manager
+ Upravljajte bulovim zastavicama funkcija
+ Aktivne zastavice (%d)
+ Blokirane zastavice (%d)
+ Pretraži zastavice...
+ Zastavice sačuvane
+ Zastavice resetovane
+ Zastavice kopirane u međumemoriju
Očisti deljene linkove
@@ -328,9 +337,9 @@ Ako se Doodle trenutno prikazuje u vašem regionu i ova opcija skrivanja je uklj
Sakrij odeljak „Kako je napravljen ovaj sadržaj”
Odeljak „Kako je napravljen ovaj sadržaj” je skriven
Odeljak „Kako je napravljen ovaj sadržaj” je prikazan
- Sakrij Hype poene
- Hype poeni su skriveni
- Hype poeni su prikazani
+ Sakrij hajp poene
+ Hajp poeni su skriveni
+ Hajp poeni su prikazani
Sakrij odeljak „Istražite podkast”
Odeljak „Istražite podkast” je skriven
Odeljak „Istražite podkast” je prikazan
@@ -779,9 +788,9 @@ Ako se promena ove opcije ne primeni, pokušajte da pređete u režim bez arhivi
Dugme „Zaključaj ekran” je skriveno
Dugme „Zaključaj ekran” je prikazano
- Sakrij Slušaj uz YouTube Music
- Meni Slušaj uz YouTube Music je sakriven
- Meni Slušaj uz YouTube Music je prikazan
+ Sakrij meni „Slušajte na YouTube Musicu”
+ Meni „Slušajte na YouTube Musicu” je skriven
+ Meni „Slušajte na YouTube Musicu” je prikazan
Sakrij meni „Audio snimak”
Meni „Audio snimak” je skriven
diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
index 93da9484c..647d3a4c7 100644
--- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Датум израде APK-а је оштећен
- Упозорење
+ ReVanced обавештење
Ваша историја гледања се не чува.<br><br>Ово је највероватније узроковано DNS блокатором огласа или мрежним проксијем.<br><br>Да бисте ово поправили, ставите на белу листу <b>s.youtube.com</b> или искључите све DNS блокаторе и проксије.
Не приказуј поново
Подешавања
Желите ли заиста да наставите?
+ Сачувај
Ресетуј
Ресетуј боју
Неважећа боја
@@ -164,6 +165,14 @@ Second \"item\" text"
Избриши евиденције отклањања грешака
Брише све сачуване евиденције отклањања грешака ReVanced-а
Евиденције су избрисане
+ Manager ознака функција
+ Управљај буловским ознакама функција
+ Активне заставице (%d)
+ Блокиране заставице (%d)
+ Претражи заставице...
+ Заставице сачуване
+ Заставице ресетоване
+ Заставице копиране у оставу
Очисти дељене линкове
@@ -328,7 +337,7 @@ Second \"item\" text"
Сакриј одељак „Како је направљен овај садржај”
Одељак „Како је направљен овај садржај” је скривен
Одељак „Како је направљен овај садржај” је приказан
- Сакриј Хајп поене
+ Сакриј хајп поене
Хајп поени су скривени
Хајп поени су приказани
Сакриј одељак „Истражите подкаст”
@@ -779,9 +788,9 @@ Second \"item\" text"
Дугме „Закључај екран” је скривено
Дугме „Закључај екран” је приказано
- Сакриј „Слушај помоћу YouTube музике“
- Мени „Слушај помоћу YouTube музике“ је скривен
- Мени „Слушај помоћу YouTube музике“ је приказан
+ Сакриј мени „Слушајте на YouTube Music-у”
+ Мени „Слушајте на YouTube Music-у” је скривен
+ Мени „Слушајте на YouTube Music-у” је приказан
Сакриј мени „Аудио снимак”
Мени „Аудио снимак” је скривен
diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
index 099e4b390..26cdebfdd 100644
--- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
+++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
@@ -26,7 +26,7 @@ Second \"item\" text"
Anpassad
Appikon
- Original
+ Ursprunglig
ReVanced minimalistisk
ReVanced skalad
@@ -45,13 +45,14 @@ Second \"item\" text"
Byggdatum för APK är skadat
- Varning
+ ReVanced-meddelande
Din visningshistorik sparas inte.<br><br>Detta orsakas troligen av en DNS-annonsblockerare eller nätverksproxy.<br><br>För att åtgärda detta, vitlista <b>s.youtube.com</b> eller stäng av alla DNS-blockerare och proxyer.
Visa inte igen
Inställningar
Är du säker på att du vill fortsätta?
+ Spara
Återställ
Återställ färg
Ogiltig färg
@@ -164,6 +165,14 @@ Du kommer inte att bli meddelad om oväntade händelser."
Rensa felsökningsloggar
Rensar alla lagrade ReVanced-felsökningsloggar
Loggar rensade
+ Funktionsflaggor Manager
+ Hantera booleska funktionsflaggor
+ Aktiva flaggor (%d)
+ Blockerade flaggor (%d)
+ Sök efter flaggor...
+ Flaggor sparade
+ Flaggor återställda
+ Flaggor kopierade till urklipp
Rensa delningslänkar
diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
index 5b8d68781..390fd5bbe 100644
--- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml
+++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
วันที่สร้าง APK เสียหาย
- คำเตือน
+ ประกาศ ReVanced
ประวัติการรับชมของคุณไม่ได้ถูกบันทึก<br><br>สาเหตุที่เป็นไปได้มากที่สุดคือตัวบล็อกโฆษณา DNS หรือพร็อกซีเครือข่าย<br><br>เพื่อแก้ไขปัญหานี้ ให้เพิ่ม <b>s.youtube.com</b> ในรายการที่อนุญาต หรือปิดตัวบล็อกโฆษณา DNS และพร็อกซีทั้งหมด
อย่าแสดงอีก
การตั้งค่า
คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ
+ บันทึก
รีเซ็ต
รีเซ็ตสี
สีไม่ถูกต้อง
@@ -164,6 +165,14 @@ Second \"item\" text"
ล้างบันทึกการแก้ไขข้อบกพร่อง
ล้างบันทึกการแก้ไขข้อบกพร่องของ ReVanced ที่จัดเก็บไว้ทั้งหมด
ล้างบันทึกแล้ว
+ แฟล็กคุณสมบัติ Manager
+ จัดการแฟล็กคุณสมบัติบูลีน
+ แฟล็กที่ใช้งานอยู่ (%d)
+ แฟล็กที่ถูกบล็อก (%d)
+ ค้นหาแฟล็ก...
+ บันทึกแฟล็กแล้ว
+ รีเซ็ตแฟล็กแล้ว
+ คัดลอกแฟล็กไปยังคลิปบอร์ดแล้ว
ล้างข้อมูลลิงก์ที่แชร์
diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
index 7ac5046b8..3f9ad12ad 100644
--- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
+++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK derleme tarihi bozuk
- Uyarı
+ ReVanced Bildirimi
İzleme geçmişiniz kaydedilmiyor.<br><br>Bu büyük ihtimalle bir reklam engelleyici DNS\'den veya proxy\'den kaynaklanıyor.<br><br>Bunu düzeltmek için, <b>s.youtube.com</b> adresini beyaz listeye ekleyin veya bütün engelleyici DNSleri ve proxy\'leri kapatın.
Bir daha gösterme
Ayarlar
Devam etmek istediğinizden emin misiniz?
+ Kaydet
Sıfırla
Rengi sıfırla
Geçersiz renk
@@ -164,6 +165,14 @@ Beklenmedik olaylar hakkında bilgilendirilmeyeceksiniz."
Hata ayıklama kayıtlarını temizle
Kaydedilmiş tüm ReVanced hata ayıklama kayıtlarını temizler
Kayıtlar temizlendi
+ Özellik bayrakları Manager
+ Boole özellik bayraklarını yönet
+ Aktif bayraklar (%d)
+ Engellenen bayraklar (%d)
+ Bayrakları ara...
+ Bayraklar kaydedildi
+ Bayraklar sıfırlandı
+ Bayraklar panoya kopyalandı
Paylaşım bağlantılarını temizle
diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
index 9bac81e3d..e61db838f 100644
--- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
+++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Дата збірки APK пошкоджена
- Увага
+ Повідомлення ReVanced
Ваша історія переглядів не зберігається.<br><br>Швидше за все, це спричинено блокувальником реклами DNS або мережевим проксі.<br><br>Щоб це виправити, додайте <b>s.youtube.com</b> у білий список блокувальника або вимкніть усі DNS блокувальники та проксі.
Більше не показувати
Налаштування
Ви впевнені, що хочете продовжити?
+ Зберегти
Скинути
Скинути колір
Недійсний колір
@@ -164,6 +165,14 @@ Second \"item\" text"
Очистити журнали налагодження
Очищує всі збережені журнали налагодження ReVanced
Журнали очищено
+ Функціональні прапорці Manager
+ Керувати логічними функціональними прапорцями
+ Активні прапорці (%d)
+ Заблоковані прапорці (%d)
+ Пошук прапорців...
+ Прапорці збережено
+ Прапорці скинуто
+ Прапорці скопійовано до буфера обміну
Очищення посилань для поширення
diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
index a3217d36f..acc7ae566 100644
--- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
+++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
Ngày dựng APK bị hỏng
- Cảnh báo
+ Thông báo ReVanced
Nhật ký xem của bạn hiện không được lưu lại.<br><br>Nguyên nhân có thể là do trình chặn quảng cáo DNS hoặc proxy mạng.<br><br>Để khắc phục, hãy thêm <b>s.youtube.com</b> vào danh sách cho phép, hoặc tắt tất cả trình chặn DNS và proxy.
Không hiện lại
Thiết lập
Bạn có chắc chắn muốn tiếp tục không?
+ Lưu
Đặt lại
Đặt lại màu
Màu không hợp lệ
@@ -164,6 +165,14 @@ Bạn sẽ không được thông báo khi xẩy ra lỗi bất ngờ."
Xóa nhật ký gỡ lỗi
Xóa tất cả nhật ký gỡ lỗi ReVanced đã lưu trữ
Đã xóa nhật ký
+ Manager cờ tính năng
+ Quản lý các cờ tính năng boolean
+ Cờ đang hoạt động (%d)
+ Cờ bị chặn (%d)
+ Tìm kiếm cờ...
+ Đã lưu cờ
+ Đã đặt lại cờ
+ Đã sao chép cờ vào bảng nhớ tạm
Rút gọn liên kết chia sẻ
diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
index c77849a74..799e0d386 100644
--- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK 构建日期已损坏
- 警告
+ ReVanced 通知
您的观看历史记录未保存。<br><br>这很可能是由 DNS 广告拦截器或网络代理造成的。<br><br>要解决此问题,请将 <b>s.youtube.com</b> 添加到白名单或关闭所有 DNS 广告拦截器和代理。
不再显示
设置
确定要继续吗?
+ 保存
重置
重置颜色
无效的颜色
@@ -164,6 +165,14 @@ Second \"item\" text"
清除调试日志
清除所有存储的 ReVanced 调试日志
日志已清除
+ 功能标志 Manager
+ 管理布尔功能标志
+ 活动标志 (%d)
+ 已阻止标志 (%d)
+ 搜索标志...
+ 标志已保存
+ 标志已重置
+ 标志已复制到剪贴板
净化分享链接
diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
index b9f1fa0a5..e51c08b96 100644
--- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
@@ -45,13 +45,14 @@ Second \"item\" text"
APK 建構日期已損毀
- 警告
+ ReVanced 通知
你的觀看記錄未被儲存。<br><br>這很可能是由於 DNS 廣告封鎖器或網路代理所導致。<br><br>若要解決此問題,請將 <b>s.youtube.com</b> 加入白名單,或關閉所有 DNS 封鎖器和代理。
不再顯示
設定
你確定要繼續嗎?
+ 儲存
重設
重設顏色
無效的顏色
@@ -164,6 +165,14 @@ Second \"item\" text"
清除偵錯記錄
清除所有儲存的 ReVanced 偵錯記錄
記錄已清除
+ 功能旗標 Manager
+ 管理布林功能旗標
+ 啟用的旗標 (%d)
+ 已封鎖的旗標 (%d)
+ 搜尋旗標...
+ 旗標已儲存
+ 旗標已重設
+ 旗標已複製到剪貼簿
清理分享連結
From d390b54dab92d75b4e0d3e38344eae489dd69d98 Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Sat, 8 Nov 2025 14:28:52 +0200
Subject: [PATCH 24/35] fix(YouTube - Settings): Add additional languages to
ReVanced language preference
---
.../resources/addresources/values/arrays.xml | 153 +++++++++++-------
.../resources/addresources/values/strings.xml | 56 -------
2 files changed, 95 insertions(+), 114 deletions(-)
diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml
index 9b6ce74e7..5ff3d8693 100644
--- a/patches/src/main/resources/addresources/values/arrays.xml
+++ b/patches/src/main/resources/addresources/values/arrays.xml
@@ -31,72 +31,93 @@
- @string/revanced_language_DEFAULT
- - @string/revanced_language_AM
- - @string/revanced_language_AR
- - @string/revanced_language_AZ
- - @string/revanced_language_BE
- - @string/revanced_language_BG
- - @string/revanced_language_BN
- - @string/revanced_language_CA
- - @string/revanced_language_CS
- - @string/revanced_language_DA
- - @string/revanced_language_DE
- - @string/revanced_language_EL
- - @string/revanced_language_EN
- - @string/revanced_language_ES
- - @string/revanced_language_ET
- - @string/revanced_language_FA
- - @string/revanced_language_FI
- - @string/revanced_language_FR
- - @string/revanced_language_GA
- - @string/revanced_language_GU
- - @string/revanced_language_HE
- - @string/revanced_language_HI
- - @string/revanced_language_HR
- - @string/revanced_language_HU
- - @string/revanced_language_ID
- - @string/revanced_language_IT
- - @string/revanced_language_JA
- - @string/revanced_language_KK
- - @string/revanced_language_KO
- - @string/revanced_language_LT
- - @string/revanced_language_LV
- - @string/revanced_language_MK
- - @string/revanced_language_MN
- - @string/revanced_language_MR
- - @string/revanced_language_MS
- - @string/revanced_language_MY
- - @string/revanced_language_NL
- - @string/revanced_language_OR
- - @string/revanced_language_PA
- - @string/revanced_language_PL
- - @string/revanced_language_PT
- - @string/revanced_language_RO
- - @string/revanced_language_RU
- - @string/revanced_language_SK
- - @string/revanced_language_SQ
- - @string/revanced_language_SL
- - @string/revanced_language_SR
- - @string/revanced_language_SV
- - @string/revanced_language_SW
- - @string/revanced_language_TA
- - @string/revanced_language_TE
- - @string/revanced_language_TH
- - @string/revanced_language_TR
- - @string/revanced_language_UK
- - @string/revanced_language_UR
- - @string/revanced_language_VI
- - @string/revanced_language_ZH
+ - Afrikaans
+ - አማርኛ
+ - العربية
+ - অসমীয়া
+ - Azərbaycanca
+ - Беларуская
+ - Български
+ - বাংলা
+ - Bosanski
+ - Català
+ - Čeština
+ - Dansk
+ - Deutsch
+ - Ελληνικά
+ - English
+ - Español
+ - Eesti
+ - Euskara
+ - فارسی
+ - Suomi
+ - Français
+ - Gaeilge
+ - Galego
+ - ગુજરાતી
+ - עברית
+ - हिन्दी
+ - Hrvatski
+ - Magyar
+ - Հայերեն
+ - Bahasa Indonesia
+ - Íslenska
+ - Italiano
+ - 日本語
+ - ქართული
+ - Қазақ тілі
+ - ភាសាខ្មែរ
+ - ಕನ್ನಡ
+ - 한국어
+ - Кыргызча
+ - ລາວ
+ - Lietuvių
+ - Latviešu
+ - Македонски
+ - മലയാളം
+ - Монгол
+ - मराठी
+ - Bahasa Melayu
+ - မြန်မာစာ
+ - Norsk bokmål
+ - नेपाली
+ - Nederlands
+ - ଓଡ଼ିଆ
+ - ਪੰਜਾਬੀ
+ - Polski
+ - Português
+ - Română
+ - Русский
+ - සිංහල
+ - Slovenčina
+ - Slovenščina
+ - Shqip
+ - Српски
+ - Svenska
+ - Kiswahili
+ - தமிழ்
+ - తెలుగు
+ - ไทย
+ - Tagalog
+ - Türkçe
+ - Українська
+ - اردو
+ - Oʻzbekcha
+ - Tiếng Việt
+ - 中文
+ - isiZulu
-
- DEFAULT
+ - AF
- AM
- AR
+ - AS
- AZ
- BE
- BG
- BN
+ - BS
- CA
- CS
- DA
@@ -105,27 +126,39 @@
- EN
- ES
- ET
+ - EU
- FA
- FI
- FR
- GA
+ - GL
- GU
- HE
- HI
- HR
- HU
+ - HY
- ID
+ - IS
- IT
- JA
+ - KA
- KK
+ - KM
+ - KN
- KO
+ - KY
+ - LO
- LT
- LV
- MK
+ - ML
- MN
- MR
- MS
- MY
+ - NB
+ - NE
- NL
- OR
- PA
@@ -133,20 +166,24 @@
- PT
- RO
- RU
+ - SI
- SK
- - SQ
- SL
+ - SQ
- SR
- SV
- SW
- TA
- TE
- TH
+ - TL
- TR
- UK
- UR
+ - UZ
- VI
- ZH
+ - ZU
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index cf856b859..559367390 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -91,62 +91,6 @@ Second \"item\" text"
To translate new languages or improve the existing translations, visit translate.revanced.app"
App language
- አማርኛ
- العربية
- Azərbaycan
- беларуская
- Български
- বাংলা
- Català
- Čeština
- Dansk
- Deutsch
- Ελληνικά s
- English
- Español
- Eesti
- فارسی
- Suomi
- Français
- Gaeilge
- ગુજરાતી
- עברי
- हिन्दी
- Hrvatski
- Magyar
- Indonesia
- Italiano
- 日本語
- Қазақ тілі
- 한국어
- Lietuvių
- Latviešu
- Македонски
- Монгол
- मराठी
- Melayu
- ဗမာ
- Nederlands
- ଓଡ଼ିଆ
- ਪੰਜਾਬੀ
- Polski
- Português
- Română
- Русский
- Slovenčina
- Shqip
- Slovenščina
- Српски
- Svenska
- Kiswahili
- தமிழ்
- తెలుగు
- ไทย
- Türkçe
- Українська
- اردو
- Tiếng Việt
- 中文
Import / Export
Import / Export ReVanced settings
From 475197af45dc45b73ccd284b1b0e187a0773fa95 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Sat, 8 Nov 2025 12:32:08 +0000
Subject: [PATCH 25/35] chore: Release v5.46.0-dev.7 [skip ci]
# [5.46.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.6...v5.46.0-dev.7) (2025-11-08)
### Bug Fixes
* **YouTube - Settings:** Add additional languages to ReVanced language preference ([d390b54](https://github.com/ReVanced/revanced-patches/commit/d390b54dab92d75b4e0d3e38344eae489dd69d98))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a41650434..64b8abf31 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [5.46.0-dev.7](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.6...v5.46.0-dev.7) (2025-11-08)
+
+
+### Bug Fixes
+
+* **YouTube - Settings:** Add additional languages to ReVanced language preference ([d390b54](https://github.com/ReVanced/revanced-patches/commit/d390b54dab92d75b4e0d3e38344eae489dd69d98))
+
# [5.46.0-dev.6](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.5...v5.46.0-dev.6) (2025-11-08)
diff --git a/gradle.properties b/gradle.properties
index 3ff864873..539c4f679 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.46.0-dev.6
+version = 5.46.0-dev.7
From 7a18ebc7ab74ba30c5d5284a4856c55cdfc31097 Mon Sep 17 00:00:00 2001
From: MarcaD <152095496+MarcaDian@users.noreply.github.com>
Date: Sun, 9 Nov 2025 09:05:31 +0200
Subject: [PATCH 26/35] feat(YouTube Music): Add `Hide buttons` patch (#6255)
---
.../music/patches/HideButtonsPatch.java | 49 +++++++
.../music/patches/HideCastButtonPatch.java | 24 ----
.../music/patches/HideCategoryBarPatch.java | 1 +
.../extension/music/settings/Settings.java | 5 +-
.../videoplayer/PlaybackSpeedPatch.java | 2 +-
.../app/revanced/extension/shared/Utils.java | 38 ++----
.../preference/ImportExportPreference.java | 1 -
patches/api/patches.api | 4 +
.../music/layout/buttons/Fingerprints.kt | 64 +++++++++
.../music/layout/buttons/HideButtons.kt | 121 ++++++++++++++++++
.../music/layout/castbutton/Fingerprints.kt | 17 ---
.../music/layout/castbutton/HideCastButton.kt | 75 +----------
.../resources/addresources/values/strings.xml | 12 +-
13 files changed, 272 insertions(+), 141 deletions(-)
create mode 100644 extensions/music/src/main/java/app/revanced/extension/music/patches/HideButtonsPatch.java
delete mode 100644 extensions/music/src/main/java/app/revanced/extension/music/patches/HideCastButtonPatch.java
create mode 100644 patches/src/main/kotlin/app/revanced/patches/music/layout/buttons/Fingerprints.kt
create mode 100644 patches/src/main/kotlin/app/revanced/patches/music/layout/buttons/HideButtons.kt
delete mode 100644 patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/Fingerprints.kt
diff --git a/extensions/music/src/main/java/app/revanced/extension/music/patches/HideButtonsPatch.java b/extensions/music/src/main/java/app/revanced/extension/music/patches/HideButtonsPatch.java
new file mode 100644
index 000000000..5794baa9b
--- /dev/null
+++ b/extensions/music/src/main/java/app/revanced/extension/music/patches/HideButtonsPatch.java
@@ -0,0 +1,49 @@
+package app.revanced.extension.music.patches;
+
+import static app.revanced.extension.shared.Utils.hideViewBy0dpUnderCondition;
+
+import android.view.View;
+import android.view.ViewGroup;
+
+import app.revanced.extension.music.settings.Settings;
+
+@SuppressWarnings("unused")
+public class HideButtonsPatch {
+
+ /**
+ * Injection point
+ */
+ public static int hideCastButton(int original) {
+ return Settings.HIDE_CAST_BUTTON.get() ? View.GONE : original;
+ }
+
+ /**
+ * Injection point
+ */
+ public static void hideCastButton(View view) {
+ hideViewBy0dpUnderCondition(Settings.HIDE_CAST_BUTTON, view);
+ }
+
+ /**
+ * Injection point
+ */
+ public static boolean hideHistoryButton(boolean original) {
+ return original && !Settings.HIDE_HISTORY_BUTTON.get();
+ }
+
+ /**
+ * Injection point
+ */
+ public static void hideNotificationButton(View view) {
+ if (view.getParent() instanceof ViewGroup viewGroup) {
+ hideViewBy0dpUnderCondition(Settings.HIDE_NOTIFICATION_BUTTON, viewGroup);
+ }
+ }
+
+ /**
+ * Injection point
+ */
+ public static void hideSearchButton(View view) {
+ hideViewBy0dpUnderCondition(Settings.HIDE_SEARCH_BUTTON, view);
+ }
+}
diff --git a/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCastButtonPatch.java b/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCastButtonPatch.java
deleted file mode 100644
index ab03ba8e4..000000000
--- a/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCastButtonPatch.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package app.revanced.extension.music.patches;
-
-import static app.revanced.extension.shared.Utils.hideViewBy0dpUnderCondition;
-
-import android.view.View;
-import app.revanced.extension.music.settings.Settings;
-
-@SuppressWarnings("unused")
-public class HideCastButtonPatch {
-
- /**
- * Injection point
- */
- public static int hideCastButton(int original) {
- return Settings.HIDE_CAST_BUTTON.get() ? View.GONE : original;
- }
-
- /**
- * Injection point
- */
- public static void hideCastButton(View view) {
- hideViewBy0dpUnderCondition(Settings.HIDE_CAST_BUTTON, view);
- }
-}
diff --git a/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCategoryBarPatch.java b/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCategoryBarPatch.java
index 79d772096..f0b090155 100644
--- a/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCategoryBarPatch.java
+++ b/extensions/music/src/main/java/app/revanced/extension/music/patches/HideCategoryBarPatch.java
@@ -3,6 +3,7 @@ package app.revanced.extension.music.patches;
import static app.revanced.extension.shared.Utils.hideViewBy0dpUnderCondition;
import android.view.View;
+
import app.revanced.extension.music.settings.Settings;
@SuppressWarnings("unused")
diff --git a/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java b/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java
index a56fb04b9..bebb3f86c 100644
--- a/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java
+++ b/extensions/music/src/main/java/app/revanced/extension/music/settings/Settings.java
@@ -16,8 +16,11 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_GET_PREMIUM_LABEL = new BooleanSetting("revanced_music_hide_get_premium_label", TRUE, true);
// General
- public static final BooleanSetting HIDE_CAST_BUTTON = new BooleanSetting("revanced_music_hide_cast_button", TRUE, false);
+ public static final BooleanSetting HIDE_CAST_BUTTON = new BooleanSetting("revanced_music_hide_cast_button", TRUE, true);
public static final BooleanSetting HIDE_CATEGORY_BAR = new BooleanSetting("revanced_music_hide_category_bar", FALSE, true);
+ public static final BooleanSetting HIDE_HISTORY_BUTTON = new BooleanSetting("revanced_music_hide_history_button", FALSE, true);
+ public static final BooleanSetting HIDE_SEARCH_BUTTON = new BooleanSetting("revanced_music_hide_search_button", FALSE, true);
+ public static final BooleanSetting HIDE_NOTIFICATION_BUTTON = new BooleanSetting("revanced_music_hide_notification_button", FALSE, true);
public static final BooleanSetting HIDE_NAVIGATION_BAR_HOME_BUTTON = new BooleanSetting("revanced_music_hide_navigation_bar_home_button", FALSE, true);
public static final BooleanSetting HIDE_NAVIGATION_BAR_SAMPLES_BUTTON = new BooleanSetting("revanced_music_hide_navigation_bar_samples_button", FALSE, true);
public static final BooleanSetting HIDE_NAVIGATION_BAR_EXPLORE_BUTTON = new BooleanSetting("revanced_music_hide_navigation_bar_explore_button", FALSE, true);
diff --git a/extensions/primevideo/src/main/java/app/revanced/extension/primevideo/videoplayer/PlaybackSpeedPatch.java b/extensions/primevideo/src/main/java/app/revanced/extension/primevideo/videoplayer/PlaybackSpeedPatch.java
index 10cbda63a..b11ec0875 100644
--- a/extensions/primevideo/src/main/java/app/revanced/extension/primevideo/videoplayer/PlaybackSpeedPatch.java
+++ b/extensions/primevideo/src/main/java/app/revanced/extension/primevideo/videoplayer/PlaybackSpeedPatch.java
@@ -204,4 +204,4 @@ class SpeedIconDrawable extends Drawable {
public int getIntrinsicHeight() {
return Dim.dp32;
}
-}
\ No newline at end of file
+}
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java
index 551d89753..5d6bb492d 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java
@@ -32,11 +32,7 @@ import android.view.Window;
import android.view.WindowManager;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
-import android.widget.FrameLayout;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
import android.widget.Toast;
-import android.widget.Toolbar;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
@@ -759,31 +755,25 @@ public class Utils {
}
/**
- * Hide a view by setting its layout params to 0x0
- * @param view The view to hide.
+ * Hides a view by setting its layout width and height to 0dp.
+ * Handles null layout params safely.
+ *
+ * @param view The view to hide. If null, does nothing.
*/
- public static void hideViewByLayoutParams(View view) {
- if (view instanceof LinearLayout) {
- LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(0, 0);
- view.setLayoutParams(layoutParams);
- } else if (view instanceof FrameLayout) {
- FrameLayout.LayoutParams layoutParams2 = new FrameLayout.LayoutParams(0, 0);
- view.setLayoutParams(layoutParams2);
- } else if (view instanceof RelativeLayout) {
- RelativeLayout.LayoutParams layoutParams3 = new RelativeLayout.LayoutParams(0, 0);
- view.setLayoutParams(layoutParams3);
- } else if (view instanceof Toolbar) {
- Toolbar.LayoutParams layoutParams4 = new Toolbar.LayoutParams(0, 0);
- view.setLayoutParams(layoutParams4);
- } else if (view instanceof ViewGroup) {
- ViewGroup.LayoutParams layoutParams5 = new ViewGroup.LayoutParams(0, 0);
- view.setLayoutParams(layoutParams5);
+ public static void hideViewByLayoutParams(@Nullable View view) {
+ if (view == null) return;
+
+ ViewGroup.LayoutParams params = view.getLayoutParams();
+
+ if (params == null) {
+ // Create generic 0x0 layout params accepted by all ViewGroups.
+ params = new ViewGroup.LayoutParams(0, 0);
} else {
- ViewGroup.LayoutParams params = view.getLayoutParams();
params.width = 0;
params.height = 0;
- view.setLayoutParams(params);
}
+
+ view.setLayoutParams(params);
}
/**
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java
index 6ae43018e..1044ba424 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java
@@ -19,7 +19,6 @@ import app.revanced.extension.shared.Logger;
import app.revanced.extension.shared.Utils;
import app.revanced.extension.shared.settings.Setting;
import app.revanced.extension.shared.ui.CustomDialog;
-import app.revanced.extension.shared.ui.Dim;
@SuppressWarnings({"unused", "deprecation"})
public class ImportExportPreference extends EditTextPreference implements Preference.OnPreferenceClickListener {
diff --git a/patches/api/patches.api b/patches/api/patches.api
index 9c3b806d3..92a94463e 100644
--- a/patches/api/patches.api
+++ b/patches/api/patches.api
@@ -404,6 +404,10 @@ public final class app/revanced/patches/music/layout/branding/CustomBrandingPatc
public static final fun getCustomBrandingPatch ()Lapp/revanced/patcher/patch/ResourcePatch;
}
+public final class app/revanced/patches/music/layout/buttons/HideButtonsKt {
+ public static final fun getHideButtons ()Lapp/revanced/patcher/patch/BytecodePatch;
+}
+
public final class app/revanced/patches/music/layout/castbutton/HideCastButtonKt {
public static final fun getHideCastButton ()Lapp/revanced/patcher/patch/BytecodePatch;
}
diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/buttons/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/buttons/Fingerprints.kt
new file mode 100644
index 000000000..31c844aea
--- /dev/null
+++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/buttons/Fingerprints.kt
@@ -0,0 +1,64 @@
+package app.revanced.patches.music.layout.buttons
+
+import app.revanced.patcher.fingerprint
+import app.revanced.util.containsLiteralInstruction
+import app.revanced.util.literal
+import com.android.tools.smali.dexlib2.AccessFlags
+import com.android.tools.smali.dexlib2.Opcode
+
+internal val mediaRouteButtonFingerprint = fingerprint {
+ accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
+ returns("Z")
+ strings("MediaRouteButton")
+}
+
+internal val playerOverlayChipFingerprint = fingerprint {
+ accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
+ returns("L")
+ literal { playerOverlayChip }
+}
+
+internal val historyMenuItemFingerprint = fingerprint {
+ accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
+ returns("V")
+ parameters("Landroid/view/Menu;")
+ opcodes(
+ Opcode.INVOKE_INTERFACE,
+ Opcode.RETURN_VOID
+ )
+ literal { historyMenuItem }
+ custom { _, classDef ->
+ classDef.methods.count() == 5
+ }
+}
+
+internal val historyMenuItemOfflineTabFingerprint = fingerprint {
+ accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
+ returns("V")
+ parameters("Landroid/view/Menu;")
+ opcodes(
+ Opcode.INVOKE_INTERFACE,
+ Opcode.RETURN_VOID
+ )
+ custom { method, _ ->
+ method.containsLiteralInstruction(historyMenuItem) &&
+ method.containsLiteralInstruction(offlineSettingsMenuItem)
+ }
+}
+
+internal val searchActionViewFingerprint = fingerprint {
+ accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
+ returns("Landroid/view/View;")
+ parameters()
+ literal { searchButton }
+ custom { _, classDef ->
+ classDef.type.endsWith("/SearchActionProvider;")
+ }
+}
+
+internal val topBarMenuItemImageViewFingerprint = fingerprint {
+ accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
+ returns("Landroid/view/View;")
+ parameters()
+ literal { topBarMenuItemImageView }
+}
diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/buttons/HideButtons.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/buttons/HideButtons.kt
new file mode 100644
index 000000000..578eaebe2
--- /dev/null
+++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/buttons/HideButtons.kt
@@ -0,0 +1,121 @@
+package app.revanced.patches.music.layout.buttons
+
+import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
+import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
+import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
+import app.revanced.patcher.patch.bytecodePatch
+import app.revanced.patches.all.misc.resources.addResources
+import app.revanced.patches.all.misc.resources.addResourcesPatch
+import app.revanced.patches.music.misc.extension.sharedExtensionPatch
+import app.revanced.patches.music.misc.settings.PreferenceScreen
+import app.revanced.patches.music.misc.settings.settingsPatch
+import app.revanced.patches.shared.misc.mapping.get
+import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
+import app.revanced.patches.shared.misc.mapping.resourceMappings
+import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
+import app.revanced.util.indexOfFirstInstructionOrThrow
+import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
+import com.android.tools.smali.dexlib2.Opcode
+import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
+import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
+
+internal var playerOverlayChip = -1L
+ private set
+internal var historyMenuItem = -1L
+ private set
+internal var offlineSettingsMenuItem = -1L
+ private set
+internal var searchButton = -1L
+ private set
+internal var topBarMenuItemImageView = -1L
+ private set
+
+private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/music/patches/HideButtonsPatch;"
+
+@Suppress("unused")
+val hideButtons = bytecodePatch(
+ name = "Hide buttons",
+ description = "Adds options to hide the cast, history, notification, and search buttons."
+) {
+ dependsOn(
+ sharedExtensionPatch,
+ settingsPatch,
+ addResourcesPatch,
+ resourceMappingPatch
+ )
+
+ compatibleWith(
+ "com.google.android.apps.youtube.music"(
+ "7.29.52",
+ "8.10.52"
+ )
+ )
+
+ execute {
+ playerOverlayChip = resourceMappings["id", "player_overlay_chip"]
+ historyMenuItem = resourceMappings["id", "history_menu_item"]
+ offlineSettingsMenuItem = resourceMappings["id", "offline_settings_menu_item"]
+ searchButton = resourceMappings["layout", "search_button"]
+ topBarMenuItemImageView = resourceMappings["id", "top_bar_menu_item_image_view"]
+
+ addResources("music", "layout.buttons.hideButtons")
+
+ PreferenceScreen.GENERAL.addPreferences(
+ SwitchPreference("revanced_music_hide_cast_button"),
+ SwitchPreference("revanced_music_hide_history_button"),
+ SwitchPreference("revanced_music_hide_notification_button"),
+ SwitchPreference("revanced_music_hide_search_button")
+ )
+
+ // Region for hide history button in the top bar.
+ arrayOf(
+ historyMenuItemFingerprint,
+ historyMenuItemOfflineTabFingerprint
+ ).forEach { fingerprint ->
+ fingerprint.method.apply {
+ val targetIndex = fingerprint.patternMatch!!.startIndex
+ val targetRegister = getInstruction(targetIndex).registerD
+
+ addInstructions(
+ targetIndex,
+ """
+ invoke-static { v$targetRegister }, $EXTENSION_CLASS_DESCRIPTOR->hideHistoryButton(Z)Z
+ move-result v$targetRegister
+ """
+ )
+ }
+ }
+
+ // Region for hide cast, search and notification buttons in the top bar.
+ arrayOf(
+ Triple(playerOverlayChipFingerprint, playerOverlayChip, "hideCastButton"),
+ Triple(searchActionViewFingerprint, searchButton, "hideSearchButton"),
+ Triple(topBarMenuItemImageViewFingerprint, topBarMenuItemImageView, "hideNotificationButton")
+ ).forEach { (fingerprint, resourceIdLiteral, methodName) ->
+ fingerprint.method.apply {
+ val resourceIndex = indexOfFirstLiteralInstructionOrThrow(resourceIdLiteral)
+ val targetIndex = indexOfFirstInstructionOrThrow(
+ resourceIndex, Opcode.MOVE_RESULT_OBJECT
+ )
+ val targetRegister = getInstruction(targetIndex).registerA
+
+ addInstruction(
+ targetIndex + 1,
+ "invoke-static { v$targetRegister }, " +
+ "$EXTENSION_CLASS_DESCRIPTOR->$methodName(Landroid/view/View;)V"
+ )
+ }
+ }
+
+ // Region for hide cast button in the player.
+ mediaRouteButtonFingerprint.classDef.methods.single { method ->
+ method.name == "setVisibility"
+ }.addInstructions(
+ 0,
+ """
+ invoke-static { p1 }, $EXTENSION_CLASS_DESCRIPTOR->hideCastButton(I)I
+ move-result p1
+ """
+ )
+ }
+}
diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/Fingerprints.kt
deleted file mode 100644
index 718d49479..000000000
--- a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/Fingerprints.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package app.revanced.patches.music.layout.castbutton
-
-import com.android.tools.smali.dexlib2.AccessFlags
-import app.revanced.patcher.fingerprint
-import app.revanced.util.literal
-
-internal val mediaRouteButtonFingerprint = fingerprint {
- accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
- returns("Z")
- strings("MediaRouteButton")
-}
-
-internal val playerOverlayChipFingerprint = fingerprint {
- accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
- returns("L")
- literal { playerOverlayChip }
-}
diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt
index fba3653ce..bb6053f8a 100644
--- a/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/castbutton/HideCastButton.kt
@@ -1,77 +1,10 @@
package app.revanced.patches.music.layout.castbutton
-import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
-import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
-import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.bytecodePatch
-import app.revanced.patches.all.misc.resources.addResources
-import app.revanced.patches.all.misc.resources.addResourcesPatch
-import app.revanced.patches.music.misc.extension.sharedExtensionPatch
-import app.revanced.patches.music.misc.settings.PreferenceScreen
-import app.revanced.patches.music.misc.settings.settingsPatch
-import app.revanced.patches.shared.misc.mapping.get
-import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
-import app.revanced.patches.shared.misc.mapping.resourceMappings
-import app.revanced.patches.shared.misc.settings.preference.SwitchPreference
-import app.revanced.util.indexOfFirstInstructionOrThrow
-import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
-import com.android.tools.smali.dexlib2.Opcode
-import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
-
-internal var playerOverlayChip = -1L
- private set
-
-private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/music/patches/HideCastButtonPatch;"
+import app.revanced.patches.music.layout.buttons.hideButtons
+@Deprecated("Patch was moved", ReplaceWith("hideButtons"))
@Suppress("unused")
-val hideCastButton = bytecodePatch(
- name = "Hide cast button",
- description = "Adds an option to hide the cast button."
-) {
- dependsOn(
- sharedExtensionPatch,
- settingsPatch,
- addResourcesPatch,
- resourceMappingPatch
- )
-
- compatibleWith(
- "com.google.android.apps.youtube.music"(
- "7.29.52",
- "8.10.52"
- )
- )
-
- execute {
- playerOverlayChip = resourceMappings["id", "player_overlay_chip"]
-
- addResources("music", "layout.castbutton.hideCastButton")
-
- PreferenceScreen.GENERAL.addPreferences(
- SwitchPreference("revanced_music_hide_cast_button"),
- )
-
- mediaRouteButtonFingerprint.classDef.apply {
- val setVisibilityMethod = methods.first { method -> method.name == "setVisibility" }
-
- setVisibilityMethod.addInstructions(
- 0,
- """
- invoke-static { p1 }, $EXTENSION_CLASS_DESCRIPTOR->hideCastButton(I)I
- move-result p1
- """
- )
- }
-
- playerOverlayChipFingerprint.method.apply {
- val resourceIndex = indexOfFirstLiteralInstructionOrThrow(playerOverlayChip)
- val targetIndex = indexOfFirstInstructionOrThrow(resourceIndex, Opcode.MOVE_RESULT_OBJECT)
- val targetRegister = getInstruction(targetIndex).registerA
-
- addInstruction(
- targetIndex + 1,
- "invoke-static { v$targetRegister }, $EXTENSION_CLASS_DESCRIPTOR->hideCastButton(Landroid/view/View;)V"
- )
- }
- }
+val hideCastButton = bytecodePatch{
+ dependsOn(hideButtons)
}
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index 559367390..eb97fb7d4 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -1,4 +1,3 @@
-
diff --git a/patches/src/main/resources/addresources/values-am-rET/strings.xml b/patches/src/main/resources/addresources/values-am-rET/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-am-rET/strings.xml
+++ b/patches/src/main/resources/addresources/values-am-rET/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
index b921dec6b..72fa56e67 100644
--- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
+++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
@@ -1690,6 +1690,11 @@ Second \"item\" text"
تم إخفاء شريط الفئات
يتم عرض شريط الفئات
+
+ تغيير لون المشغل المصغر
+ يتطابق لون المشغل المصغر مع المشغل بملء الشاشة
+ يستخدم المشغل المصغر اللون الافتراضي
+
شريط التنقل
إخفاء أزرار شريط التنقل أو تغييرها
diff --git a/patches/src/main/resources/addresources/values-as-rIN/strings.xml b/patches/src/main/resources/addresources/values-as-rIN/strings.xml
index a2c544d20..90eefa238 100644
--- a/patches/src/main/resources/addresources/values-as-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-as-rIN/strings.xml
@@ -271,6 +271,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
index 79e762071..112af4413 100644
--- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
@@ -1689,6 +1689,11 @@ Video oynatma AV1 ilə ilişə bilər və ya kadrlar buraxıla bilər."
Kateqoriya cizgisi gizlidir
Kateqoriya cizgisi görünür
+
+ Miniplayer rəngini dəyişdirin
+ Miniplayer rəngi tam ekran pleyeri ilə eynidir
+ Miniplayer defolt rəngdən istifadə edir
+
Fəaliyyət cizgisi
Fəaliyyət cizgisi düymələrini gizlət və ya dəyiş
diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
index 5f165aa88..9823d3918 100644
--- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml
+++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
@@ -1691,6 +1691,11 @@ Second \"item\" text"
Панэль катэгорый схаваная
Панэль катэгорый паказаная
+
+ Змяніць колер міні-плэера
+ Колер міні-плэера супадае з поўнаэкранным плэерам
+ Міні-плэер выкарыстоўвае колер па змаўчанні
+
Панэль навігацыі
Схаваць або змяніць кнопкі панэлі навігацыі
diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
index ea553833e..371b0ee84 100644
--- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
+++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
@@ -1690,6 +1690,11 @@ Second \"item\" text"
Лентата с категории е скрита
Лентата с категории е показана
+
+ Промяна на цвета на миниплейъра
+ Цветът на миниплейъра съвпада с този на плейъра на цял екран
+ Миниплейърът използва цвят по подразбиране
+
Навигационна лента
Скриване или промяна на бутоните на навигационната лента
diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
index ad25644ae..4cee41316 100644
--- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
+++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
@@ -1686,6 +1686,11 @@ AV1 সহ ভিডিও প্লেব্যাক আটকে যেতে
ক্যাটাগরি বার লুকানো আছে
ক্যাটাগরি বার দেখানো আছে
+
+ মিনিপ্লেয়ারের রঙ পরিবর্তন করুন
+ মিনিপ্লেয়ারের রঙ ফুলস্ক্রিন প্লেয়ারের সাথে মেলে
+ মিনিপ্লেয়ার ডিফল্ট রঙ ব্যবহার করে
+
নেভিগেশন বার
নেভিগেশন বারের বোতামগুলি লুকান বা পরিবর্তন করুন
diff --git a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-bs-rBA/strings.xml
+++ b/patches/src/main/resources/addresources/values-bs-rBA/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
index 73379ada3..18bc3f7b0 100644
--- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
@@ -1690,6 +1690,11 @@ Přehrávání videa s AV1 se může sekat nebo vypadávat snímky."
Panel kategorií je skryt
Panel kategorií je zobrazen
+
+ Změnit barvu minipřehrávače
+ Barva minipřehrávače odpovídá přehrávači na celou obrazovku
+ Minipřehrávač používá výchozí barvu
+
Navigační panel
Skrýt nebo změnit tlačítka navigačního panelu
diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
index c921a52d3..d9f0632f3 100644
--- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml
+++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
@@ -1692,6 +1692,11 @@ Videoafspilning med AV1 kan hakke eller tabe billeder."
Kategorilinjen er skjult
Kategorilinjen vises
+
+ Skift miniafspillerfarve
+ Miniafspillerfarven matcher fuldskærmsafspilleren
+ Miniafspilleren bruger standardfarven
+
Navigationslinje
Skjul eller skift navigationslinjeknapper
diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
index f11c7882f..d37887082 100644
--- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml
+++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
@@ -1687,6 +1687,11 @@ Die Videowiedergabe mit AV1 kann stottern oder Bilder überspringen."
Kategorieleiste ist ausgeblendet
Kategorieleiste wird angezeigt
+
+ Miniplayer-Farbe ändern
+ Miniplayer-Farbe entspricht dem Vollbild-Player
+ Miniplayer verwendet Standardfarbe
+
Navigationsleiste
Navigationsleisten-Schaltflächen ausblenden oder ändern
diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
index ec1809714..7943d53ff 100644
--- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml
+++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
@@ -1689,6 +1689,11 @@ Second \"item\" text"
Κρυμμένη
Εμφανίζεται
+
+ Αλλαγή χρώματος ελαχιστοποιημένης οθόνης αναπαραγωγής
+ Το χρώμα της ελαχιστοποιημένης οθόνης αναπαραγωγής ταιριάζει με αυτό της οθόνης αναπαραγωγής πλήρους οθόνης
+ Η ελαχιστοποιημένη οθόνη αναπαραγωγής χρησιμοποιεί το προεπιλεγμένο χρώμα
+
Γραμμή πλοήγησης
Απόκρυψη ή αλλαγή κουμπιών της γραμμής πλοήγησης
diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml
index f64414db6..7a953fbd2 100644
--- a/patches/src/main/resources/addresources/values-es-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml
@@ -1679,6 +1679,11 @@ La reproducción puede tartamudear o perder fotogramas"
La barra de categorías está oculta
La barra de categorías es visible
+
+ Cambiar color del minirreproductor
+ El color del minirreproductor coincide con el del reproductor de pantalla completa
+ El minirreproductor utiliza el color predeterminado
+
Barra de navegación
Ocultar o cambiar los botones de la barra de navegación
diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
index fb688fe05..7e2c3d7ce 100644
--- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml
+++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
@@ -1690,6 +1690,11 @@ AV1-ga videotaasesitus võib hakitud olla või kaadreid vahele jätta."
Kategooriariba on peidetud
Kategooriariba on nähtaval
+
+ Muuda minipleieri värvi
+ Minipleieri värv ühtib täisekraanipleieri omaga
+ Minipleier kasutab vaikevärvi
+
Navigeerimisriba
Peida või muuda navigeerimisriba nuppe
diff --git a/patches/src/main/resources/addresources/values-eu-rES/strings.xml b/patches/src/main/resources/addresources/values-eu-rES/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-eu-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-eu-rES/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml
index 372bc2ce6..dee6a6880 100644
--- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml
+++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml
@@ -320,6 +320,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
index 93c4f708b..3d7581d47 100644
--- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
+++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
@@ -1690,6 +1690,11 @@ AV1-videon toisto saattaa pätkiä."
Kategoriapalkki piilotetaan
Kategoriapalkki näytetään
+
+ Vaihda minisoittimen väri
+ Minisoittimen väri vastaa kokoruudun soitinta
+ Minisoitin käyttää oletusväriä
+
Navigointipalkki
Piilota tai muuta navigointipalkin painikkeita
diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
index 0bdab1b3d..d31dd4a10 100644
--- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
+++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
@@ -1688,6 +1688,11 @@ Maaaring mag-stutter o mag-drop ng frames ang pag-playback ng video na may AV1."
Nakatago ang category bar
Ipinapakita ang category bar
+
+ Palitan ang kulay ng miniplayer
+ Ang kulay ng miniplayer ay tumutugma sa fullscreen player
+ Gumagamit ang miniplayer ng default na kulay
+
Navigation bar
Itago o baguhin ang mga pindutan ng navigation bar
diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
index cf570ffcf..8ed81e75a 100644
--- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
+++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
@@ -1691,6 +1691,11 @@ La lecture vidéo avec AV1 peut être saccadée et des images peuvent être perd
La barre des catégories est masquée
La barre des catégories est affichée
+
+ Changer la couleur du mini-lecteur
+ La couleur du mini-lecteur correspond à celle du lecteur plein écran
+ Le mini-lecteur utilise la couleur par défaut
+
Barre de navigation
Masquez ou modifiez les boutons de la barre de navigation
diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
index 409c519f3..92af96c0a 100644
--- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
+++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
@@ -1688,6 +1688,11 @@ D’fhéadfadh sé go mbeadh stad nó go gcaillfí frámaí ag athsheinm físe l
Tá an barra catagóirí i bhfolach
Taispeántar an barra catagóirí
+
+ Athraigh dath an mini-imreora
+ Meaitseálann dath an mini-imreora leis an imreoir lánscáileáin
+ Úsáideann an mini-imreoir an dath réamhshocraithe
+
Barra nascleanúna
Folaigh nó athraigh cnaipí an bharra nascleanúna
diff --git a/patches/src/main/resources/addresources/values-gl-rES/strings.xml b/patches/src/main/resources/addresources/values-gl-rES/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-gl-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-gl-rES/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-gu-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-gu-rIN/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml
index cb49b2824..7823f29c5 100644
--- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml
@@ -272,6 +272,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml
index c109d4edd..e7e0118df 100644
--- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml
+++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml
@@ -272,6 +272,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
index 793f0a96c..e1b0fbf6d 100644
--- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
+++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
@@ -1687,6 +1687,11 @@ Az AV1-es videólejátszás akadozhat vagy képkockákat ejthet."
A kategóriasáv rejtve van
A kategóriasáv látható
+
+ Mini lejátszó színének módosítása
+ A mini lejátszó színe megegyezik a teljes képernyős lejátszóéval
+ A mini lejátszó alapértelmezett színt használ
+
Navigációs sáv
Navigációs sáv gombjainak elrejtése vagy módosítása
diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
index 8af18a1d2..33b9b5530 100644
--- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
+++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
@@ -1691,6 +1691,11 @@ AV1-ով տեսանյութի նվագարկումը կարող է ընդհատ
Կատեգորիաների վահանակը թաքցված է
Կատեգորիաների վահանակը ցուցադրվում է
+
+ Փոխել մինի նվագարկչի գույնը
+ Մինի նվագարկչի գույնը համապատասխանում է լիաէկրան նվագարկչին
+ Մինի նվագարկիչը օգտագործում է լռելյայն գույնը
+
Նավիգացիոն գիծ
Թաքցնել կամ փոխել նավիգացիոն գծի կոճակները
diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml
index 4c520becc..ee639759b 100644
--- a/patches/src/main/resources/addresources/values-in-rID/strings.xml
+++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml
@@ -1689,6 +1689,11 @@ Pemutaran video dengan AV1 mungkin tersendat atau kehilangan bingkai."
Bilah kategori disembunyikan
Bilah kategori ditampilkan
+
+ Ubah warna pemutar mini
+ Warna pemutar mini sesuai dengan pemutar layar penuh
+ Pemutar mini menggunakan warna standar
+
Bilah navigasi
Sembunyikan atau ubah tombol bilah navigasi
diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml
+++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
index 689e7e33a..b96febc14 100644
--- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml
+++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
@@ -1689,6 +1689,11 @@ La riproduzione video con AV1 potrebbe rallentare o perdere fotogrammi."La barra delle categorie è nascosta
La barra delle categorie è mostrata
+
+ Modifica colore miniplayer
+ Il colore del miniplayer corrisponde a quello del lettore a schermo intero
+ Il miniplayer usa il colore predefinito
+
Barra di navigazione
Nascondi o modifica i pulsanti della barra di navigazione
diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
index 762dd6241..434ba422d 100644
--- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
+++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
@@ -1692,6 +1692,11 @@ Second \"item\" text"
סרגל הקטגוריות מוסתר
סרגל הקטגוריות מוצג
+
+ שנה צבע מיני-נגן
+ צבע המיני-נגן תואם לנגן במסך מלא
+ מיני-נגן משתמש בצבע ברירת המחדל
+
סרגל ניווט
הסתר או שנה לחצני סרגל ניווט
diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
index 10c578f27..4b3c292a2 100644
--- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
+++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
@@ -1692,6 +1692,11 @@ AV1 での動画再生は、カクつくまたはコマ落ちが発生する場
カテゴリバーは表示されません
カテゴリバーは表示されます
+
+ ミニプレーヤーの色を変更
+ ミニプレーヤーの色はフルスクリーンプレーヤーと一致
+ ミニプレーヤーはデフォルトの色を使用
+
ナビゲーション バー
ナビゲーション バーのボタンを変更または非表示にします
diff --git a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-ka-rGE/strings.xml
+++ b/patches/src/main/resources/addresources/values-ka-rGE/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-kk-rKZ/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-km-rKH/strings.xml b/patches/src/main/resources/addresources/values-km-rKH/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-km-rKH/strings.xml
+++ b/patches/src/main/resources/addresources/values-km-rKH/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml
index 1c130c8c7..ce75d1194 100644
--- a/patches/src/main/resources/addresources/values-kn-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-kn-rIN/strings.xml
@@ -285,6 +285,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
index 3c32137cf..7c7dd0f9b 100644
--- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
+++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
@@ -1697,6 +1697,11 @@ AV1이 사용된 동영상 재생이 끊기거나 프레임이 손실될 수 있
카테고리 바가 숨겨집니다
카테고리 바가 표시됩니다
+
+ 미니 플레이어 색상 변경하기
+ 미니 플레이어 색상이 전체 화면 플레이어와 일치합니다
+ 미니 플레이어 색상이 기본 색상입니다
+
하단바
하단바에서 버튼을 숨기거나 변경할 수 있습니다
diff --git a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-ky-rKG/strings.xml
+++ b/patches/src/main/resources/addresources/values-ky-rKG/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-lo-rLA/strings.xml
+++ b/patches/src/main/resources/addresources/values-lo-rLA/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
index 6dddd2a9a..5860da05f 100644
--- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
+++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
@@ -1691,6 +1691,11 @@ Vaizdo įrašo atkūrimas su AV1 gali strigti arba praleisti kadrus."
Kategorijų juosta paslėpta
Kategorijų juosta rodoma
+
+ Pakeisti mini grotuvo spalvą
+ Mini grotuvo spalva atitinka viso ekrano grotuvo spalvą
+ Mini grotuvas naudoja numatytąją spalvą
+
Naršymo juosta
Slėpti arba keisti naršymo juostos mygtukus
diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
index 6d793a4e5..1017bba37 100644
--- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
+++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
@@ -1691,6 +1691,11 @@ AV1 video atskaņošana var raustīties vai izlaist kadrus."
Kategoriju josla ir paslēpta
Kategoriju josla ir redzama
+
+ Mainīt mini atskaņotāja krāsu
+ Mini atskaņotāja krāsa atbilst pilnekrāna atskaņotāja krāsai
+ Mini atskaņotājs izmanto noklusējuma krāsu
+
Navigācijas josla
Slēpt vai mainīt navigācijas joslas pogas
diff --git a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-mk-rMK/strings.xml
+++ b/patches/src/main/resources/addresources/values-mk-rMK/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-ml-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-ml-rIN/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-mn-rMN/strings.xml
+++ b/patches/src/main/resources/addresources/values-mn-rMN/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-mr-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-mr-rIN/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml
index a6c1b11e8..5e082cb78 100644
--- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml
+++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml
@@ -271,6 +271,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-my-rMM/strings.xml b/patches/src/main/resources/addresources/values-my-rMM/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-my-rMM/strings.xml
+++ b/patches/src/main/resources/addresources/values-my-rMM/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml
+++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml
index 4306fd2e1..96f5b7678 100644
--- a/patches/src/main/resources/addresources/values-ne-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-ne-rIN/strings.xml
@@ -272,6 +272,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
index 832b17a43..392be6680 100644
--- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
+++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
@@ -1688,6 +1688,11 @@ Het afspelen van video met AV1 kan haperen of frames overslaan."
Categoriebalk is verborgen
Categoriebalk wordt weergegeven
+
+ Wijzig miniplayerkleur
+ Miniplayerkleur komt overeen met de volledigschermspeler
+ Miniplayer gebruikt standaardkleur
+
Navigatiebalk
Navigatiebalkknoppen verbergen of wijzigen
diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-pa-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-pa-rIN/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
index 9894a1275..95a287f8d 100644
--- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
+++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
@@ -1686,6 +1686,11 @@ Odtwarzanie wideo z AV1 może powodować zacinanie się lub gubienie klatek."Pasek kategorii jest ukryty
Pasek kategorii jest widoczny
+
+ Zmień kolor miniplayera
+ Kolor miniplayera dopasowany do odtwarzacza pełnoekranowego
+ Miniplayer używa domyślnego koloru
+
Pasek nawigacji
Ukryj lub zmień przyciski paska nawigacji
diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
index 0febc4ff3..4258a9cf4 100644
--- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
@@ -1687,6 +1687,11 @@ A reprodução de vídeo com AV1 pode gaguejar ou perder quadros."
Barra de categoria está oculta
Barra de categoria é exibida
+
+ Alterar cor do minirreprodutor
+ A cor do minirreprodutor corresponde à do reprodutor em tela cheia
+ O minirreprodutor usa a cor padrão
+
Barra de navegação
Ocultar ou alterar botões da barra de navegação
diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
index 22b3526fe..9bf738018 100644
--- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
@@ -1690,6 +1690,11 @@ A reprodução de vídeo com AV1 pode apresentar soluços ou perder quadros."Barra de categorias está oculta
Barra de categorias está exibida
+
+ Alterar a cor do minitocador
+ A cor do minitocador corresponde à do reprodutor em tela cheia
+ O minitocador usa a cor padrão
+
Barra de navegação
Ocultar ou alterar botões da barra de navegação
diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
index 3a43c7b43..cec8a2e5e 100644
--- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
+++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
@@ -1687,6 +1687,11 @@ Redarea video cu AV1 poate sacada sau pierde cadre."
Bara de categorii este ascunsă
Bara de categorii este afișată
+
+ Schimbă culoarea miniplayer-ului
+ Culoarea miniplayer-ului se potrivește cu player-ul pe ecran complet
+ Miniplayer-ul folosește culoarea implicită
+
Bară de navigare
Ascundeți sau modificați butoanele barei de navigare
diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
index 288da16de..f81fc72ac 100644
--- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
+++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
@@ -1697,6 +1697,11 @@ Second \"item\" text"
Панель категорий скрыта
Панель категорий показана
+
+ Изменить цвет мини-плеера
+ Цвет мини-плеера соответствует полноэкранному проигрывателю
+ Мини-плеер использует цвет по умолчанию
+
Панель навигации
Скрыть или изменить кнопки панели навигации
diff --git a/patches/src/main/resources/addresources/values-si-rLK/strings.xml b/patches/src/main/resources/addresources/values-si-rLK/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-si-rLK/strings.xml
+++ b/patches/src/main/resources/addresources/values-si-rLK/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
index b656e1726..e252d060a 100644
--- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
+++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
@@ -1683,6 +1683,11 @@ Prehrávanie videa s AV1 môže sekať alebo vynechávať snímky."
Lišta kategórií je skrytá
Lišta kategórií je zobrazená
+
+ Zmeniť farbu miniprehrávača
+ Farba miniprehrávača zodpovedá celoobrazovkovému prehrávaču
+ Miniprehrávač používa predvolenú farbu
+
Navigačný panel
Skryť alebo zmeniť tlačidlá navigačného panela
diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
index 2139a967a..a73d5f8f1 100644
--- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
+++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
@@ -1690,6 +1690,11 @@ Predvajanje videa z AV1 se lahko zatika ali izpušča sličice."
Vrstica kategorij je skrita
Vrstica kategorij je prikazana
+
+ Spremeni barvo mini predvajalnika
+ Barva mini predvajalnika se ujema z barvo celozaslonskega predvajalnika
+ Mini predvajalnik uporablja privzeto barvo
+
Navigacijska vrstica
Skrij ali spremeni gumbe navigacijske vrstice
diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
index eaddf8cda..53bbc6e9e 100644
--- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
+++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
@@ -1688,6 +1688,11 @@ Luajtja e videos me AV1 mund të ngecë ose të humbasë korniza."
Shiriti i kategorive është i fshehur
Shiriti i kategorive është i shfaqur
+
+ Ndrysho ngjyrën e mini-lojtarit
+ Ngjyra e mini-lojtarit përputhet me lojtarin në ekran të plotë
+ Mini-lojtari përdor ngjyrën e paracaktuar
+
Shiriti i navigimit
Fshih ose ndrysho butonat e shiritit të navigimit
diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
index 3a81f437d..251869b77 100644
--- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
@@ -1689,6 +1689,11 @@ Reprodukcija videa s AV1 može zastajkivati ili preskakati kadrove."
Traka kategorija je skrivena
Traka kategorija je prikazana
+
+ Promeni boju mini-plejera
+ Boja mini-plejera odgovara plejeru preko celog ekrana
+ Mini-plejer koristi podrazumevanu boju
+
Traka za navigaciju
Sakrijte ili promenite dugmad trake za navigaciju
diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
index 08731d963..494092e6d 100644
--- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
@@ -1692,6 +1692,11 @@ Second \"item\" text"
Трака категорија је скривена
Трака категорија је приказана
+
+ Промени боју мини плејера
+ Боја мини плејера одговара плејеру преко целог екрана
+ Мини плејер користи подразумевану боју
+
Трака за навигацију
Сакријте или промените дугмад траке за навигацију
diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
index af9a1ef43..3ac5e0eb5 100644
--- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
+++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
@@ -1690,6 +1690,11 @@ Videouppspelning med AV1 kan hacka eller tappa bildrutor."
Kategorifältet är dolt
Kategorifältet visas
+
+ Ändra minispelarens färg
+ Minispelarens färg matchar helskärmsspelaren
+ Minispelaren använder standardfärg
+
Navigeringsfält
Dölj eller ändra knappar i navigeringsfältet
diff --git a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-sw-rKE/strings.xml
+++ b/patches/src/main/resources/addresources/values-sw-rKE/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
index 0c89afd84..acdb0d0b3 100644
--- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml
+++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml
@@ -1692,6 +1692,11 @@ User id ของคุณเหมือนกับรหัสผ่าน
ซ่อนแถบหมวดหมู่แล้ว
แสดงแถบหมวดหมู่แล้ว
+
+ เปลี่ยนสีมินิเพลเยอร์
+ สีมินิเพลเยอร์ตรงกับเครื่องเล่นแบบเต็มหน้าจอ
+ มินิเพลเยอร์ใช้สีเริ่มต้น
+
แถบนำทาง
ซ่อนหรือเปลี่ยนปุ่มแถบนำทาง
diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
index 1ba59b550..af3b427a5 100644
--- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
+++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml
@@ -1697,6 +1697,11 @@ AV1 ile video oynatma takılabilir veya kare atlayabilir."
Kategori çubuğu gizli
Kategori çubuğu görünür
+
+ Mini oynatıcı rengini değiştir
+ Mini oynatıcı rengi tam ekran oynatıcıyla eşleşir
+ Mini oynatıcı varsayılan rengi kullanır
+
Gezinme çubuğu
Gezinme çubuğundaki düğmeleri gizle veya değiştir
diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
index 5537dab59..d39a3b20a 100644
--- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
+++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml
@@ -1689,6 +1689,11 @@ Second \"item\" text"
Панель категорій приховано
Панель категорій показується
+
+ Змінити колір мініплеєра
+ Колір мініплеєра відповідає кольору повноекранного плеєра
+ Мініплеєр використовує колір за замовчуванням
+
Панель навігації
Приховати або змінити кнопки панелі навігації
diff --git a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-ur-rIN/strings.xml
+++ b/patches/src/main/resources/addresources/values-ur-rIN/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
index 8e2177c94..5b16deb31 100644
--- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
+++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml
@@ -1682,7 +1682,7 @@ Phát video bằng AV1 có thể bị giật hoặc tụt khung hình."
Nút truyền đã bị ẩn
Nút truyền được hiển thị
Ẩn nút lịch sử
- Nút lịch sử bị ẩn
+ Nút lịch sử đã bị ẩn
Nút lịch sử được hiển thị
Ẩn nút thông báo
Nút thông báo đã bị ẩn
@@ -1696,6 +1696,11 @@ Phát video bằng AV1 có thể bị giật hoặc tụt khung hình."
Thanh danh mục đã bị ẩn
Thanh danh mục được hiển thị
+
+ Thay đổi màu của Miniplayer
+ Màu Miniplayer khớp với trình phát toàn màn hình
+ Miniplayer sử dụng màu mặc định
+
Thanh điều hướng
Ẩn hoặc thay đổi các nút trên thanh điều hướng
diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
index af3e424fb..96030aff4 100644
--- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml
@@ -1695,6 +1695,11 @@ Second \"item\" text"
类别栏已隐藏
类别栏已显示
+
+ 更改迷你播放器颜色
+ 迷你播放器颜色与全屏播放器一致
+ 迷你播放器使用默认颜色
+
导航栏
隐藏或更改导航栏按钮
diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
index a437bb089..821c6c39a 100644
--- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
+++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml
@@ -1700,6 +1700,11 @@ AV1 視訊播放可能會卡頓或掉幀。"
類別列已隱藏
類別列已顯示
+
+ 變更迷你播放器顏色
+ 迷你播放器顏色符合全螢幕播放器
+ 迷你播放器使用預設顏色
+
導覽列
隱藏或變更導覽列按鈕
diff --git a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml
index 10b1bd7a2..4051e8740 100644
--- a/patches/src/main/resources/addresources/values-zu-rZA/strings.xml
+++ b/patches/src/main/resources/addresources/values-zu-rZA/strings.xml
@@ -270,6 +270,8 @@ Second \"item\" text"
+
+
From da4cf940911a4406e2c9dd558b60305385a80c61 Mon Sep 17 00:00:00 2001
From: ILoveOpenSourceApplications
<117499019+ILoveOpenSourceApplications@users.noreply.github.com>
Date: Sun, 9 Nov 2025 21:00:07 +0530
Subject: [PATCH 32/35] feat(YouTube - Hide layout components): Add video
description "Hide Featured content" and "Hide Subscribe button" (#6253)
---
.../DescriptionComponentsFilter.java | 35 ++++++++++++++-----
.../extension/youtube/settings/Settings.java | 2 ++
.../hide/general/HideLayoutComponentsPatch.kt | 2 ++
.../resources/addresources/values/strings.xml | 6 ++++
4 files changed, 36 insertions(+), 9 deletions(-)
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java
index 3aa03ee5c..314b79841 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java
@@ -7,15 +7,15 @@ import app.revanced.extension.youtube.shared.PlayerType;
@SuppressWarnings("unused")
final class DescriptionComponentsFilter extends Filter {
+ private static final String INFOCARDS_SECTION_PATH = "infocards_section.e";
+
private final StringTrieSearch exceptions = new StringTrieSearch();
-
- private final ByteArrayFilterGroupList macroMarkersCarouselGroupList = new ByteArrayFilterGroupList();
-
private final StringFilterGroup macroMarkersCarousel;
-
+ private final ByteArrayFilterGroupList macroMarkersCarouselGroupList = new ByteArrayFilterGroupList();
private final StringFilterGroup horizontalShelf;
private final ByteArrayFilterGroup cellVideoAttribute;
-
+ private final StringFilterGroup infoCardsSection;
+ private final StringFilterGroup subscribeButton;
private final StringFilterGroup aiGeneratedVideoSummarySection;
private final StringFilterGroup hypePoints;
@@ -44,9 +44,10 @@ final class DescriptionComponentsFilter extends Filter {
"video_attributes_section"
);
- final StringFilterGroup infoCardsSection = new StringFilterGroup(
- Settings.HIDE_INFO_CARDS_SECTION,
- "infocards_section"
+ final StringFilterGroup featuredSection = new StringFilterGroup(
+ Settings.HIDE_FEATURED_SECTION,
+ // "media_lockup", "structured_description_video_lockup"
+ "compact_infocard"
);
final StringFilterGroup podcastSection = new StringFilterGroup(
@@ -69,6 +70,16 @@ final class DescriptionComponentsFilter extends Filter {
"hype_points_factoid"
);
+ infoCardsSection = new StringFilterGroup(
+ Settings.HIDE_INFO_CARDS_SECTION,
+ INFOCARDS_SECTION_PATH
+ );
+
+ subscribeButton = new StringFilterGroup(
+ Settings.HIDE_DESCRIPTION_SUBSCRIBE_BUTTON,
+ "subscribe_button"
+ );
+
macroMarkersCarousel = new StringFilterGroup(
null,
"macro_markers_carousel.e"
@@ -99,12 +110,14 @@ final class DescriptionComponentsFilter extends Filter {
aiGeneratedVideoSummarySection,
askSection,
attributesSection,
- infoCardsSection,
+ featuredSection,
horizontalShelf,
howThisWasMadeSection,
hypePoints,
+ infoCardsSection,
macroMarkersCarousel,
podcastSection,
+ subscribeButton,
transcriptSection
);
}
@@ -118,6 +131,10 @@ final class DescriptionComponentsFilter extends Filter {
return PlayerType.getCurrent().isMaximizedOrFullscreen();
}
+ if (matchedGroup == subscribeButton) {
+ return path.startsWith(INFOCARDS_SECTION_PATH);
+ }
+
if (exceptions.matches(path)) return false;
if (matchedGroup == macroMarkersCarousel) {
diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
index 48b1a6948..301b40c7a 100644
--- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
+++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
@@ -210,11 +210,13 @@ public class Settings extends BaseSettings {
public static final BooleanSetting HIDE_ASK_SECTION = new BooleanSetting("revanced_hide_ask_section", FALSE);
public static final BooleanSetting HIDE_ATTRIBUTES_SECTION = new BooleanSetting("revanced_hide_attributes_section", FALSE);
public static final BooleanSetting HIDE_CHAPTERS_SECTION = new BooleanSetting("revanced_hide_chapters_section", TRUE);
+ public static final BooleanSetting HIDE_FEATURED_SECTION = new BooleanSetting("revanced_hide_featured_section", TRUE);
public static final BooleanSetting HIDE_HOW_THIS_WAS_MADE_SECTION = new BooleanSetting("revanced_hide_how_this_was_made_section", FALSE);
public static final BooleanSetting HIDE_HYPE_POINTS = new BooleanSetting("revanced_hide_hype_points", FALSE);
public static final BooleanSetting HIDE_INFO_CARDS_SECTION = new BooleanSetting("revanced_hide_info_cards_section", TRUE);
public static final BooleanSetting HIDE_KEY_CONCEPTS_SECTION = new BooleanSetting("revanced_hide_key_concepts_section", FALSE);
public static final BooleanSetting HIDE_PODCAST_SECTION = new BooleanSetting("revanced_hide_podcast_section", TRUE);
+ public static final BooleanSetting HIDE_DESCRIPTION_SUBSCRIBE_BUTTON = new BooleanSetting("revanced_hide_description_subscribe_button", TRUE);
public static final BooleanSetting HIDE_TRANSCRIPT_SECTION = new BooleanSetting("revanced_hide_transcript_section", TRUE);
// Action buttons
diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt
index e54b7f1ee..36959f229 100644
--- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt
@@ -145,11 +145,13 @@ val hideLayoutComponentsPatch = bytecodePatch(
SwitchPreference("revanced_hide_ask_section"),
SwitchPreference("revanced_hide_attributes_section"),
SwitchPreference("revanced_hide_chapters_section"),
+ SwitchPreference("revanced_hide_featured_section"),
SwitchPreference("revanced_hide_info_cards_section"),
SwitchPreference("revanced_hide_how_this_was_made_section"),
SwitchPreference("revanced_hide_hype_points"),
SwitchPreference("revanced_hide_key_concepts_section"),
SwitchPreference("revanced_hide_podcast_section"),
+ SwitchPreference("revanced_hide_description_subscribe_button"),
SwitchPreference("revanced_hide_transcript_section"),
),
),
diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml
index b231f87b3..3a5c69201 100644
--- a/patches/src/main/resources/addresources/values/strings.xml
+++ b/patches/src/main/resources/addresources/values/strings.xml
@@ -346,12 +346,18 @@ If a Doodle is currently showing in your region and this hide setting is on, the
Hide \'Explore the podcast\'
Explore the podcast section is hidden
Explore the podcast section is shown
+ Hide Featured content
+ Featured content section is hidden
+ Featured content section is shown
Hide Info cards
Info cards section is hidden
Info cards section is shown
Hide \'Key concepts\'
Key concepts section is hidden
Key concepts section is shown
+ Hide Subscribe button
+ Subscribe button is hidden
+ Subscribe button is shown
Hide Transcript
Transcript section is hidden
Transcript section is shown
From 1d8e977a43b0a546ca00de2c823fed8da41523d0 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Sun, 9 Nov 2025 15:35:27 +0000
Subject: [PATCH 33/35] chore: Release v5.46.0-dev.10 [skip ci]
# [5.46.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.9...v5.46.0-dev.10) (2025-11-09)
### Features
* **YouTube - Hide layout components:** Add video description "Hide Featured content" and "Hide Subscribe button" ([#6253](https://github.com/ReVanced/revanced-patches/issues/6253)) ([da4cf94](https://github.com/ReVanced/revanced-patches/commit/da4cf940911a4406e2c9dd558b60305385a80c61))
---
CHANGELOG.md | 7 +++++++
gradle.properties | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 04eb14ff7..ecc27ca64 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [5.46.0-dev.10](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.9...v5.46.0-dev.10) (2025-11-09)
+
+
+### Features
+
+* **YouTube - Hide layout components:** Add video description "Hide Featured content" and "Hide Subscribe button" ([#6253](https://github.com/ReVanced/revanced-patches/issues/6253)) ([da4cf94](https://github.com/ReVanced/revanced-patches/commit/da4cf940911a4406e2c9dd558b60305385a80c61))
+
# [5.46.0-dev.9](https://github.com/ReVanced/revanced-patches/compare/v5.46.0-dev.8...v5.46.0-dev.9) (2025-11-09)
diff --git a/gradle.properties b/gradle.properties
index 081ae8c1e..7552b137d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M
org.gradle.parallel = true
android.useAndroidX = true
kotlin.code.style = official
-version = 5.46.0-dev.9
+version = 5.46.0-dev.10
From a39ef1e0a40ff2689b21a447dc351ada0b67913b Mon Sep 17 00:00:00 2001
From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com>
Date: Mon, 10 Nov 2025 11:22:00 +0200
Subject: [PATCH 34/35] refactor(YouTube Music - Custom branding): Resolve
startup app crash when patching unsupported newer app versions
---
.../shared/patches/CustomBrandingPatch.java | 12 +++++++
.../layout/branding/CustomBrandingPatch.kt | 35 +++++++++----------
2 files changed, 29 insertions(+), 18 deletions(-)
diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java
index ca4a8ff61..9908c0be7 100644
--- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java
+++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java
@@ -5,6 +5,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
import android.graphics.Color;
+import android.view.View;
import java.util.ArrayList;
import java.util.List;
@@ -71,6 +72,17 @@ public class CustomBrandingPatch {
}
}
+ /**
+ * Injection point.
+ */
+ public static View getLottieViewOrNull(View lottieStartupView) {
+ if (BaseSettings.CUSTOM_BRANDING_ICON.get() == BrandingTheme.ORIGINAL) {
+ return lottieStartupView;
+ }
+
+ return null;
+ }
+
/**
* Injection point.
*/
diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt
index 7f7b49ca9..a537078e8 100644
--- a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt
+++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt
@@ -1,24 +1,24 @@
package app.revanced.patches.music.layout.branding
-import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
+import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
import app.revanced.patcher.patch.bytecodePatch
-import app.revanced.patcher.util.smali.ExternalLabel
import app.revanced.patches.music.misc.extension.sharedExtensionPatch
import app.revanced.patches.music.misc.gms.Constants.MUSIC_MAIN_ACTIVITY_NAME
import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME
import app.revanced.patches.music.misc.gms.musicActivityOnCreateFingerprint
import app.revanced.patches.music.misc.settings.PreferenceScreen
+import app.revanced.patches.shared.layout.branding.EXTENSION_CLASS_DESCRIPTOR
import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch
import app.revanced.patches.shared.misc.mapping.get
import app.revanced.patches.shared.misc.mapping.resourceMappingPatch
import app.revanced.patches.shared.misc.mapping.resourceMappings
import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstructionOrThrow
-import app.revanced.util.indexOfFirstInstructionReversed
import app.revanced.util.indexOfFirstLiteralInstructionOrThrow
import com.android.tools.smali.dexlib2.Opcode
-import com.android.tools.smali.dexlib2.iface.reference.MethodReference
+import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
+import com.android.tools.smali.dexlib2.iface.reference.TypeReference
private val disableSplashAnimationPatch = bytecodePatch {
@@ -33,23 +33,22 @@ private val disableSplashAnimationPatch = bytecodePatch {
// but the animation is not always the same size as the launch screen and it's still
// barely shown. Instead turn off the animation entirely (app will also launch a little faster).
cairoSplashAnimationConfigFingerprint.method.apply {
- val mainActivityLaunchAnimation = resourceMappings["layout", "main_activity_launch_animation"]
val literalIndex = indexOfFirstLiteralInstructionOrThrow(
- mainActivityLaunchAnimation
+ resourceMappings["layout", "main_activity_launch_animation"]
)
- val insertIndex = indexOfFirstInstructionReversed(literalIndex) {
- this.opcode == Opcode.INVOKE_VIRTUAL &&
- getReference()?.name == "setContentView"
- } + 1
- val jumpIndex = indexOfFirstInstructionOrThrow(insertIndex) {
- opcode == Opcode.INVOKE_VIRTUAL &&
- getReference()?.parameterTypes?.firstOrNull() == "Ljava/lang/Runnable;"
- } + 1
+ val checkCastIndex = indexOfFirstInstructionOrThrow(literalIndex) {
+ opcode == Opcode.CHECK_CAST &&
+ getReference()?.type == "Lcom/airbnb/lottie/LottieAnimationView;"
+ }
+ val register = getInstruction(checkCastIndex).registerA
- addInstructionsWithLabels(
- insertIndex,
- "goto :skip_animation",
- ExternalLabel("skip_animation", getInstruction(jumpIndex))
+ // If using a custom icon then set the lottie animation view to null to bypasses the startup animation.
+ addInstructions(
+ checkCastIndex,
+ """
+ invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getLottieViewOrNull(Landroid/view/View;)Landroid/view/View;
+ move-result-object v$register
+ """
)
}
}
From d64dfc2884d48dfd387e80c1e5112626cad160e3 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 10 Nov 2025 12:00:41 +0200
Subject: [PATCH 35/35] chore: Sync translations (#6276)
---
.../addresources/values-ar-rSA/strings.xml | 6 ++
.../addresources/values-az-rAZ/strings.xml | 6 ++
.../addresources/values-be-rBY/strings.xml | 6 ++
.../addresources/values-bg-rBG/strings.xml | 6 ++
.../addresources/values-bn-rBD/strings.xml | 6 ++
.../addresources/values-cs-rCZ/strings.xml | 6 ++
.../addresources/values-da-rDK/strings.xml | 6 ++
.../addresources/values-de-rDE/strings.xml | 6 ++
.../addresources/values-el-rGR/strings.xml | 6 ++
.../addresources/values-es-rES/strings.xml | 6 ++
.../addresources/values-et-rEE/strings.xml | 6 ++
.../addresources/values-fa-rIR/strings.xml | 4 +
.../addresources/values-fi-rFI/strings.xml | 6 ++
.../addresources/values-fil-rPH/strings.xml | 6 ++
.../addresources/values-fr-rFR/strings.xml | 6 ++
.../addresources/values-ga-rIE/strings.xml | 6 ++
.../addresources/values-hu-rHU/strings.xml | 6 ++
.../addresources/values-hy-rAM/strings.xml | 6 ++
.../addresources/values-in-rID/strings.xml | 6 ++
.../addresources/values-it-rIT/strings.xml | 6 ++
.../addresources/values-iw-rIL/strings.xml | 6 ++
.../addresources/values-ja-rJP/strings.xml | 26 ++++---
.../addresources/values-ko-rKR/strings.xml | 8 +-
.../addresources/values-lt-rLT/strings.xml | 6 ++
.../addresources/values-lv-rLV/strings.xml | 6 ++
.../addresources/values-nl-rNL/strings.xml | 6 ++
.../addresources/values-pl-rPL/strings.xml | 6 ++
.../addresources/values-pt-rBR/strings.xml | 6 ++
.../addresources/values-pt-rPT/strings.xml | 6 ++
.../addresources/values-ro-rRO/strings.xml | 6 ++
.../addresources/values-ru-rRU/strings.xml | 6 ++
.../addresources/values-sk-rSK/strings.xml | 6 ++
.../addresources/values-sl-rSI/strings.xml | 6 ++
.../addresources/values-sq-rAL/strings.xml | 6 ++
.../addresources/values-sr-rCS/strings.xml | 6 ++
.../addresources/values-sr-rSP/strings.xml | 6 ++
.../addresources/values-sv-rSE/strings.xml | 76 ++++++++++---------
.../addresources/values-th-rTH/strings.xml | 6 ++
.../addresources/values-tr-rTR/strings.xml | 6 ++
.../addresources/values-uk-rUA/strings.xml | 6 ++
.../addresources/values-vi-rVN/strings.xml | 6 ++
.../addresources/values-zh-rCN/strings.xml | 6 ++
.../addresources/values-zh-rTW/strings.xml | 6 ++
43 files changed, 302 insertions(+), 46 deletions(-)
diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
index 72fa56e67..2817eb5c2 100644
--- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
+++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml
@@ -342,12 +342,18 @@ Second \"item\" text"
إخفاء \'استكشاف البودكاست\'
تم إخفاء قسم استكشاف البودكاست
يتم عرض قسم استكشاف البودكاست
+ إخفاء المحتوى المميز
+ تم إخفاء قسم المحتوى المميز
+ يتم عرض قسم المحتوى المميز
إخفاء بطاقات المعلومات
تم إخفاء قسم بطاقات المعلومات
يتم عرض قسم بطاقات المعلومات
إخفاء \'المفاهيم الأساسية\'
تم إخفاء قسم المفاهيم الأساسية
يتم عرض قسم المفاهيم الأساسية
+ إخفاء زر الاشتراك
+ تم إخفاء زر الاشتراك
+ يتم عرض زر الاشتراك
إخفاء النص
تم إخفاء قسم النص
يتم عرض قسم النص
diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
index 112af4413..0d514edb5 100644
--- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml
@@ -342,12 +342,18 @@ Hər halda, bunu aktivləşdirmə IP ünvanınız kimi bəzi istifadəçi məlum
\'Podkastı araşdırın\"-ı Gizlət
Podkast bölməsin araşdırın gizlidir
Podkast bölməsin araşdırın görünür
+ Önə çıxan məzmunu gizlət
+ Önə çıxan məzmun bölməsi gizlənib
+ Önə çıxan məzmun bölməsi göstərilir
Məlumat Kartlarını Gizlət
Məlumat kartları bölməsi gizlədilir
Məlumat kartları bölməsi göstərilir
\"Əsas konseptlər-i\" gizlət
Əsas konseptlər bölməsi gizlidir
Əsas konseptlər bölməsi görünür
+ Abunə ol düyməsini gizlət
+ Abunə düyməsi gizlidir
+ Abunə düyməsi görünür
Transkript-i Gizlət
Transkripsiya bölməsi gizlidir
Transkripsiya bölməsi göstərilir
diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
index 9823d3918..78f4d88da 100644
--- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml
+++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml
@@ -342,12 +342,18 @@ Second \"item\" text"
Схаваць «Пазнаёмцеся з падкастам»
Раздзел «Пазнаёмцеся з падкастам» схаваны
Раздзел «Пазнаёмцеся з падкастам» паказаны
+ Схаваць рэкамендаваны кантэнт
+ Раздзел рэкамендаванага кантэнту схаваны
+ Раздзел рэкамендаванага кантэнту паказаны
Схаваць інфармацыйныя карткі
Раздзел інфармацыйных картак схаваны
Паказваецца раздзел інфармацыйных карт
Схаваць «Ключавыя канцэпцыі»
Раздзел «Ключавыя канцэпцыі» схаваны
Раздзел «Ключавыя канцэпцыі» паказаны
+ Схаваць кнопку «Падпісацца»
+ Кнопка падпіскі схавана
+ Кнопка падпіскі паказана
Схаваць стэнаграму
Раздзел стэнаграмы схаваны
Паказваецца раздзел стэнаграмы
diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
index 371b0ee84..ad03b02af 100644
--- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
+++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml
@@ -342,12 +342,18 @@ Second \"item\" text"
Скриване на \"Разгледайте подкаста\"
Секцията \"Разгледайте подкаста\" е скрита
Секцията \"Разгледайте подкаста\" е показана
+ Скриване на избрано съдържание
+ Секцията с избрано съдържание е скрита
+ Секцията с избрано съдържание е показана
Скриване на инфо. карти
Разделът за информационни карти е скрит
Разделът за информационни карти е показан
Скриване на \"Основни концепции\"
Секцията \"Основни концепции\" е скрита
Секцията \"Основни концепции\" е показана
+ Скриване на бутона за абониране
+ Бутонът за абониране е скрит
+ Бутонът за абониране е показан
Скриване на транскрипт
Разделът за транскрипция е скрит
Разделът за транскрипция е показан
diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
index 4cee41316..b1ed8f396 100644
--- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
+++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml
@@ -338,12 +338,18 @@ MicroG-এর জন্য ব্যাটারি অপ্টিমাইজ
\'Explore the podcast\' লুকান
Explore the podcast বিভাগটি লুকানো আছে
Explore the podcast বিভাগটি দেখানো হয়েছে
+ বিশেষ বিষয়বস্তু লুকান
+ বিশেষ বিষয়বস্তু বিভাগ লুকানো আছে
+ বিশেষ বিষয়বস্তু বিভাগ দেখানো হচ্ছে
তথ্য কার্ড লুকান
তথ্য কার্ড সেকশন লুকিয়ে রয়েছে
তথ্য কার্ড সেকশন প্রদর্শিত হয়েছে
\'Key concepts\' লুকান
Key concepts বিভাগটি লুকানো আছে
Key concepts বিভাগটি দেখানো হয়েছে
+ সদস্যতা বোতাম লুকান
+ সাবস্ক্রাইব বাটন লুকানো আছে
+ সাবস্ক্রাইব বাটন দেখানো আছে
নথি লুকান
ট্রান্সস্ক্রিপ্ট বিভাগ লুকিয়ে রয়েছে
ট্রান্সস্ক্রিপ্ট বিভাগ প্রদর্শিত হয়েছে
diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
index 18bc3f7b0..146501b4e 100644
--- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
+++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml
@@ -342,12 +342,18 @@ Pokud se Doodle v současné době zobrazuje ve vaší oblasti a toto nastavení
Skrýt „Prozkoumat podcast“
Sekce Prozkoumat podcast je skrytá
Sekce Prozkoumat podcast je zobrazena
+ Skrýt doporučený obsah
+ Sekce doporučeného obsahu je skrytá
+ Sekce doporučeného obsahu je zobrazena
Skrýt informační karty
Sekce informačních karet je skrytá
Sekce informačních karet je zobrazena
Skrýt „Klíčové koncepty“
Sekce Klíčové koncepty je skrytá
Sekce Klíčové koncepty je zobrazena
+ Skrýt tlačítko Odebírat
+ Tlačítko Odebírat je skryto
+ Tlačítko Odebírat je zobrazeno
Skrýt přepis
Sekce přepisu je skrytá
Sekce přepisu je zobrazena
diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
index d9f0632f3..4efb227de 100644
--- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml
+++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml
@@ -342,12 +342,18 @@ Hvis et Doodle vises i øjeblikket i din region, og denne skjuleindstilling er a
Skjul \"Udforsk podcasten\"
Sektionen Udforsk podcasten er skjult
Sektionen Udforsk podcasten vises
+ Skjul fremhævet indhold
+ Sektionen for fremhævet indhold er skjult
+ Sektionen for fremhævet indhold er vist
Skjul infokort
Info-kort sektion er skjult
Info-kort sektion er vist
Skjul \"Nøglebegreber\"
Nøglebegrebssektionen er skjult
Nøglebegrebssektionen vises
+ Skjul abonnér-knap
+ Abonnér-knappen er skjult
+ Abonnér-knappen vises
Skjul udskrift
Afsnittet er skjult
Afsnittet er vist
diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
index d37887082..d8f7cc302 100644
--- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml
+++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml
@@ -341,12 +341,18 @@ Wenn ein Doodle zurzeit in Ihrer Region angezeigt wird und diese Einstellung zum
\'Podcast entdecken\' ausblenden
Der Abschnitt \"Podcast entdecken\" ist ausgeblendet
Der Abschnitt \"Podcast entdecken\" wird angezeigt
+ Vorgestellte Inhalte ausblenden
+ Bereich für vorgestellte Inhalte ist ausgeblendet
+ Bereich für vorgestellte Inhalte ist sichtbar
Infokarten ausblenden
Info-Kartenbereich ist ausgeblendet
Info-Kartenbereich wird angezeigt
\'Schlüsselkonzepte\' ausblenden
Abschnitt \"Schlüsselkonzepte\" ist ausgeblendet
Abschnitt \"Schlüsselkonzepte\" wird angezeigt
+ Schaltfläche „Abonnieren“ ausblenden
+ Abo-Schaltfläche ist ausgeblendet
+ Abo-Schaltfläche wird angezeigt
Transkript ausblenden
Transkript-Abschnitt ist ausgeblendet
Sektion Transkripte wird angezeigt
diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
index 7943d53ff..31bbf363a 100644
--- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml
+++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml
@@ -344,12 +344,18 @@ Second \"item\" text"
Ενότητα «Εξερευνήστε το podcast»
Κρυμμένη
Εμφανίζεται
+ Απόκρυψη Προβεβλημένου περιεχομένου
+ Η ενότητα Προβεβλημένου περιεχομένου είναι κρυμμένη
+ Η ενότητα Προβεβλημένου περιεχομένου εμφανίζεται
Κάρτες πληροφοριών
Κρυμμένη
Εμφανίζεται
Ενότητα «Βασικές έννοιες»
Κρυμμένη
Εμφανίζεται
+ Κουμπί «Εγγραφή»
+ Κρυμμένο
+ Εμφανίζεται
Ενότητα «Μεταγραφή»
Κρυμμένη
Εμφανίζεται
diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml
index 7a953fbd2..81d7429d1 100644
--- a/patches/src/main/resources/addresources/values-es-rES/strings.xml
+++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml
@@ -342,12 +342,18 @@ Si un doodle se está mostrando actualmente en tu región y este ajuste de ocult
Ocultar \"Explora el pódcast\"
La sección Explora el pódcast está oculta
Se muestra la sección Explora el pódcast
+ Ocultar contenido destacado
+ La sección de contenido destacado está oculta
+ La sección de contenido destacado se muestra
Ocultar tarjetas de información
La sección de tarjetas de información está oculta
Se muestra la sección de tarjetas de información
Ocultar \"Conceptos clave\"
La sección Conceptos clave está oculta
Se muestra la sección Conceptos clave
+ Ocultar botón de Suscribirse
+ El botón de Suscribirse está oculto
+ El botón de Suscribirse es visible
Ocultar transcripción
La sección transcripción está oculta
Se muestra la sección transcripción
diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
index 7e2c3d7ce..b0795a446 100644
--- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml
+++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml
@@ -342,12 +342,18 @@ Kui Doodle on teie piirkonnas praegu nähtav ja see peitmise seade on sisse lül
Peida \"Avasta taskuhäälingut\"
Avasta taskuhäälingut jaotis on peidetud
Avasta taskuhäälingut jaotis on kuvatud
+ Peida esiletõstetud sisu
+ Esiletõstetud sisu jaotis on peidetud
+ Esiletõstetud sisu jaotis on nähtav
Peida infokaardid
Teabekaartide jaotis on peidetud
Kuvatakse teabekaartide jaotis
Peida \"Põhimõisted\"
Põhimõisted jaotis on peidetud
Põhimõisted jaotis on kuvatud
+ Peida tellimisnupp
+ Tellimisnupp on peidetud
+ Tellimisnupp on nähtav
Peida transkriptsioon
Skriptiosa on peidetud
Skriptiosa on näidatud
diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml
index dee6a6880..cc445abb5 100644
--- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml
+++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml
@@ -21,7 +21,9 @@ Second \"item\" text"
+ نام برنامه
+ آیکون برنامه
@@ -51,6 +53,8 @@ Second \"item\" text"
نتایجی برای %s یافت نشد
کلیدواژه دیگری را امتحان کنید
حذف از تاریخچه جستجو؟
+ تاریخچه جستجو خالی است
+ نمایش تاریخچه جستجوی تنظیمات
نمایش آیکون تنظیمات ReVanced
نمادهای تنظیمات نشان داده میشوند
نمادهای تنظیمات نمایش داده نمی شوند
diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
index 3d7581d47..3ca8c86ce 100644
--- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
+++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml
@@ -342,12 +342,18 @@ Jos Doodle näkyy tällä hetkellä alueellasi ja tämä piilotusasetus on käyt
Piilota \"Tutustu podcastiin\"
Tutustu podcastiin -osio piilotetaan
Tutustu podcastiin -osio näytetään
+ Piilota esitelty sisältö
+ Esitelty sisältö -osio on piilotettu
+ Esitelty sisältö -osio näytetään
Piilota tietokortit
Infokortit-osio piilotetaan
Infokortit-osio näytetään
Piilota \"Keskeiset käsitteet\"
Keskeiset käsitteet -osio piilotetaan
Keskeiset käsitteet -osio näytetään
+ Piilota Tilaa-painike
+ Tilaa-painike piilotetaan
+ Tilaa-painike näytetään
Piilota transkriptio
Transkriptio-osio piilotetaan
Transkriptio-osio näytetään
diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
index d31dd4a10..0c11cc318 100644
--- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
+++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml
@@ -342,12 +342,18 @@ Kung ang isang Doodle ay kasalukuyang ipinapakita sa iyong rehiyon at ang settin
Itago ang \'I-explore ang podcast\'
Nakatago ang seksyon ng I-explore ang podcast
Ipinapakita ang seksyon ng I-explore ang podcast
+ Itago ang Itinatampok na Nilalaman
+ Nakatago ang seksyon ng Itinatampok na Nilalaman
+ Ipinapakita ang seksyon ng Itinatampok na Nilalaman
Itago ang Mga card ng impormasyon
Nakatago ang seksyon ng mga card ng impormasyon
Ang seksyon ng mga card ng impormasyon ay ipinapakita
Itago ang \'Mga pangunahing konsepto\'
Nakatago ang seksyon ng Mga pangunahing konsepto
Ipinapakita ang seksyon ng Mga pangunahing konsepto
+ Itago ang pindutan ng Mag-subscribe
+ Nakatago ang pindutan ng Subscribe
+ Ipinapakita ang pindutan ng Subscribe
Itago ang Transcript
Nakatago ang seksyon ng transcript
Ipinapakita ang seksyon ng transcript
diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
index 8ed81e75a..77ed2fc43 100644
--- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
+++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml
@@ -342,12 +342,18 @@ Si un Doodle est actuellement affiché dans votre région et que cette option de
Masquer \"Découvrir le podcast\"
La section \"Découvrir le podcast\" est masquée
La section \"Découvrir le podcast\" est affichée
+ Masquer le contenu mis en avant
+ La section du contenu mis en avant est masquée
+ La section du contenu mis en avant est affichée
Masquer \"Fiches info\"
La section \"Fiches info\" est masquée
La section \"Fiches info\" est affichée
Masquer \"Concepts clés\"
La section \"Concepts clés\" est masquée
La section \"Concepts clés\" est affichée
+ Masquer le bouton S\'abonner
+ Le bouton S\'abonner est masqué
+ Le bouton S\'abonner est affiché
Masquer \"Transcription\"
La section Transcription est masquée
La section Transcription est affichée
diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
index 92af96c0a..a2c74ff63 100644
--- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
+++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml
@@ -342,12 +342,18 @@ Má tá Doodle á thaispeáint faoi láthair i do réigiún agus má tá an tsu
Folaigh \'Déan iniúchadh ar an bpodchraoladh\'
Tá an chuid Déan iniúchadh ar an bpodchraoladh i bhfolach
Taispeántar an chuid Déan iniúchadh ar an bpodchraoladh
+ Folaigh ábhar roghnaithe
+ Tá an chuid ábhair roghnaithe i bhfolach
+ Taispeántar an chuid ábhair roghnaithe
Folaigh cártaí eolais
Tá an chuid cártaí faisnéise i bhfolach
Taispeántar rannán cártaí faisnéise
Folaigh \'Príomhchoincheapa\'
Tá an chuid Príomhchoincheapa i bhfolach
Taispeántar an chuid coincheapa lárnacha
+ Folaigh cnaipe Liostáil
+ Tá an cnaipe Liostáil i bhfolach
+ Taispeántar cnaipe Liostáil
Folaigh Tras-scríbhinn
Tá alt an tras-scríbhinn i bhfolach
Taispeántar alt an tras-scríbhinn
diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
index e1b0fbf6d..721d3ac49 100644
--- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
+++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml
@@ -342,12 +342,18 @@ Ha a Doodle jelenleg a régiódában látható, és ez a rejtés beállítás be
A „Podcast felfedezése” elrejtése
A Podcast felfedezése szakasz rejtett
A Podcast felfedezése szakasz látható
+ Kiemelt tartalom elrejtése
+ A kiemelt tartalmak szekció elrejtve
+ A kiemelt tartalmak szekció látható
Infó kártyák elrejtése
Az infó kártyák rész el van rejtve
Az infó kártyák rész látható
A „Főbb fogalmak” elrejtése
A Főbb fogalmak szakasz rejtett
A Főbb fogalmak szakasz látható
+ Feliratkozás gomb elrejtése
+ Az előfizetés gomb rejtett
+ Az előfizetés gomb látható
Átirat elrejtése
Az átirat rész el van rejtve
Az átirat rész megjelenik
diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
index 33b9b5530..23c584362 100644
--- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
+++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml
@@ -342,12 +342,18 @@ MicroG-ի համար մարտկոցի օպտիմալացումը անջատել
Թաքցնել \"Բացահայտեք փոդքասթը\"
Բացահայտեք փոդքասթը բաժինը թաքցված է
Բացահայտեք փոդքասթը բաժինը ցուցադրվում է
+ Թաքցնել ընտրված բովանդակությունը
+ Ընտրված բովանդակության բաժինը թաքցված է
+ Ընտրված բովանդակության բաժինը ցուցադրված է
Թաքցնել Տեղեկատվական քարտերը
Տեղեկատվական քարտերի բաժինը թաքցված է
Տեղեկատվական քարտերի բաժինը երևում է
Թաքցնել \"Հիմնական հասկացությունները\"
Հիմնական հասկացությունների բաժինը թաքցված է
Հիմնական հասկացությունների բաժինը ցուցադրվում է
+ Թաքցնել Բաժանորդագրվել կոճակը
+ Բաժանորդագրվել կոճակը թաքնված է
+ Բաժանորդագրվել կոճակը ցուցադրված է
Թաքցնել վերծանումը
Տեքստի բաժինը թաքցված է
Տեքստի բաժինը երևում է
diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml
index ee639759b..19e751d0e 100644
--- a/patches/src/main/resources/addresources/values-in-rID/strings.xml
+++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml
@@ -342,12 +342,18 @@ Jika Doodle saat ini ditampilkan di wilayah Anda dan pengaturan penyembunyi ini
Sembunyikan \'Jelajahi podcast\'
Bagian Jelajahi podcast disembunyikan
Bagian Jelajahi podcast ditampilkan
+ Sembunyikan Konten Unggulan
+ Bagian konten unggulan disembunyikan
+ Bagian konten unggulan ditampilkan
Sembunyikan kartu Info
Bagian kartu info disembunyikan
Bagian kartu info ditampilkan
Sembunyikan \'Konsep utama\'
Bagian Konsep utama disembunyikan
Bagian Konsep utama ditampilkan
+ Sembunyikan tombol Langganan
+ Tombol Berlangganan disembunyikan
+ Tombol Berlangganan ditampilkan
Sembunyikan Transkrip
Bagian transkrip disembunyikan
Bagian transkrip ditampilkan
diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
index b96febc14..e677eb60b 100644
--- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml
+++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml
@@ -342,12 +342,18 @@ Se al momento un Doodle è visibile nella tua regione e questa impostazione nasc
Nascondi \"Esplora il podcast\"
La sezione Esplora il podcast è nascosta
La sezione Esplora il podcast è visibile
+ Nascondi contenuti in primo piano
+ La sezione dei contenuti in primo piano è nascosta
+ La sezione dei contenuti in primo piano è mostrata
Nascondi le schede informative
La sezione Schede Informative è nascosta
La sezione Schede Informative è visibile
Nascondi \"Concetti chiave\"
La sezione Concetti chiave è nascosta
La sezione Concetti chiave è visibile
+ Nascondi il pulsante Iscriviti
+ Il pulsante Iscriviti è nascosto
+ Il pulsante Iscriviti è mostrato
Nascondi Trascrizione
La sezione Trascrizione è nascosta
La sezione Trascrizione è visibile
diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
index 434ba422d..eb3148229 100644
--- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
+++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml
@@ -342,12 +342,18 @@ Second \"item\" text"
הסתר את \'גלה את הפודקאסט\'
מדור \'גלה את הפודקאסט\' מוסתר
מדור \'גלה את הפודקאסט\' מוצג
+ הסתר תוכן מומלץ
+ מקטע תוכן מומלץ מוסתר
+ מקטע תוכן מומלץ מוצג
הסתר כרטיסי מידע
מדור כרטיסי המידע מוסתר
מדור כרטיסי המידע מוצג
הסתר \'מושגי מפתח\'
מדור מושגי מפתח מוסתר
מדור מושגי מפתח מוצג
+ הסתר לחצן \'הירשם\'
+ הלחצן \'הרשמה\' מוסתר
+ הלחצן \'הרשמה\' מוצג
הסתר תמליל
מדור התמליל מוסתר
מדור התמליל מוצג
diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
index 4b3c292a2..f7b58522e 100644
--- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
+++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml
@@ -164,14 +164,14 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
デバッグログを消去
保存されている ReVanced のすべてのデバッグログを消去します
ログを消去しました
- 機能フラグ管理ツール
- ブール値 (オン / オフ) の feature flags を管理します
- Active flags (%d)
- Blocked flags (%d)
- Search flags...
- flags を保存しました
- flags をリセットしました
- flags をクリップボードにコピーしました
+ feature flag マネージャー
+ 各機能のオン / オフを制御する feature flag を管理します
+ 有効な flag (%d)
+ 無効な flag (%d)
+ flag を検索
+ flag を保存しました
+ flag をリセットしました
+ flag をクリップボードにコピーしました
共有リンクを無害化
@@ -344,12 +344,18 @@ YouTube Premium ユーザーの場合、この設定は必要ない可能性が
「ポッドキャストを検索」を非表示
「ポッドキャストを検索」セクションは表示されません
「ポッドキャストを検索」セクションは表示されます
+ おすすめコンテンツを非表示
+ 情報カード内のおすすめコンテンツ セクションは表示されません
+ 情報カード内のおすすめコンテンツ セクションは表示されます
情報カードを非表示
情報カード セクションは表示されません
情報カード セクションは表示されます
「主な概念」を非表示
主な概念セクションは表示されません
主な概念セクションが表示されます
+ チャンネル登録ボタンを非表示
+ 情報カード内のチャンネル登録ボタンは表示されません
+ 情報カード内のチャンネル登録ボタンは表示されます
文字起こしを非表示
文字起こしセクションは表示されません
文字起こしセクションは表示されます
@@ -1694,8 +1700,8 @@ AV1 での動画再生は、カクつくまたはコマ落ちが発生する場
ミニプレーヤーの色を変更
- ミニプレーヤーの色はフルスクリーンプレーヤーと一致
- ミニプレーヤーはデフォルトの色を使用
+ ミニプレーヤーはフルスクリーン プレーヤーと同じ色を使用します
+ ミニプレーヤーはデフォルトの色を使用します
ナビゲーション バー
diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
index 7c7dd0f9b..58cb54ca6 100644
--- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
+++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml
@@ -61,7 +61,7 @@ Second \"item\" text"
가져오기
복사하기
ReVanced 설정을 기본값으로 초기화합니다
- %d 설정을 가져왔습니다
+ %d 개의 설정을 가져왔습니다
설정을 가져올 수 없습니다: %s
설정 검색
\'%s\'에 대한 검색 결과가 없습니다
@@ -345,12 +345,18 @@ YouTube Premium 사용자라면 이 설정은 필요하지 않을 수 있습니
\'팟캐스트 살펴보기\' 숨기기
팟캐스트 살펴보기 섹션이 숨겨집니다
팟캐스트 살펴보기 섹션이 표시됩니다
+ 추천 콘텐츠 숨기기
+ 추천 콘텐츠 섹션이 숨겨집니다
+ 추천 콘텐츠 섹션이 표시됩니다
크리에이터 정보 카드 숨기기
크리에이터 정보 카드 섹션이 숨겨집니다
크리에이터 정보 카드 섹션이 표시됩니다
주요 개념 숨기기
주요 개념 섹션이 숨겨집니다
주요 개념 섹션이 표시됩니다
+ 구독 버튼 숨기기
+ 구독 버튼이 숨겨집니다
+ 구독 버튼이 표시됩니다
스크립트 숨기기
스크립트 섹션이 숨겨집니다
스크립트 섹션이 표시됩니다
diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
index 5860da05f..eb73b15df 100644
--- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
+++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml
@@ -342,12 +342,18 @@ Jei „Doodle“ šiuo metu rodomas jūsu regione ir šis paslėpimo nustatymas
Slėpti „Naršyti podcast\'ą“
Skyrius „Naršyti podcast\'ą“ yra paslėptas
Skyrius „Naršyti podcast\'ą“ yra rodomas
+ Slėpti rekomenduojamą turinį
+ Rekomenduojamo turinio sekcija paslėpta
+ Rekomenduojamo turinio sekcija rodoma
Slėpti informacines korteles
Informacijos kortelių skyrius yra paslėptas
Informacijos kortelių skyrius yra rodomas
Slėpti „Pagrindines sąvokas“
Skyrius „Pagrindinės sąvokos“ yra paslėptas
Skyrius „Pagrindinės sąvokos“ yra rodomas
+ Slėpti prenumeratos mygtuką
+ Prenumeratos mygtukas paslėptas
+ Prenumeratos mygtukas rodomas
Slėpti transkripciją
Transkripcijos skyrius yra paslėptas
Transkripcijos skyrius yra rodomas
diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
index 1017bba37..5c0fd331e 100644
--- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
+++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml
@@ -342,12 +342,18 @@ Ja Doodle pašlaik tiek rādīts jūsu reģionā un šis slēpšanas iestatījum
Paslēpt sadaļu \"Izpētiet podkāstu\"
Sadaļa \"Izpētiet podkāstu\" ir paslēpta
Sadaļa \"Izpētiet podkāstu\" ir redzama
+ Slēpt izceltu saturu
+ Izceltā satura sadaļa ir paslēpta
+ Izceltā satura sadaļa ir redzama
Paslēpt informācijas kartītes
Informācijas karšu sadaļa ir paslēpta
Informācijas karšu sadaļa ir redzama
Paslēpt \"Galvenos jēdzienus\"
Sadaļa \"Galvenie jēdzieni\" ir paslēpta
Sadaļa \"Galvenie jēdzieni\" ir redzama
+ Slēpt pogu Abonēt
+ Abonēšanas poga ir paslēpta
+ Abonēšanas poga ir redzama
Paslēpt transkriptu
Transkripcijas sadaļa ir paslēpta
Transkripcijas sadaļa ir redzama
diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
index 392be6680..d3cb86178 100644
--- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
+++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml
@@ -342,12 +342,18 @@ Als er momenteel een Doodle wordt getoond in je regio en deze instelling voor ve
\'Ontdek de podcast\' verbergen
Het gedeelte \'Ontdek de podcast\' is verborgen
Het gedeelte \'Ontdek de podcast\' wordt weergegeven
+ Uitgelichte inhoud verbergen
+ Sectie uitgelichte inhoud is verborgen
+ Sectie uitgelichte inhoud is zichtbaar
Infokaarten verbergen
Sectie info-kaarten is verborgen
Sectie info-kaarten is zichtbaar
\'Belangrijkste begrippen\' verbergen
Het gedeelte \'Belangrijkste begrippen\' is verborgen
Het gedeelte \'Belangrijkste begrippen\' is zichtbaar
+ Abonneerknop verbergen
+ Abonneerknop is verborgen
+ Abonneerknop is weergegeven
Transcript verbergen
Transcriptgedeelte is verborgen
Transcriptgedeelte is zichtbaar
diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
index 95a287f8d..f31b2f091 100644
--- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
+++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml
@@ -338,12 +338,18 @@ Jeśli Doodle jest obecnie wyświetlany w Twoim regionie, a to ustawienie ukryci
Ukryj „Odkryj podcast”
Sekcja „Odkryj podcast” jest ukryta
Sekcja „Odkryj podcast” jest widoczna
+ Ukryj Polecane treści
+ Sekcja z polecanymi treściami jest ukryta
+ Sekcja z polecanymi treściami jest pokazana
Ukryj karty informacyjne
Sekcja kart informacyjnych jest ukryta
Sekcja kart informacyjnych jest widoczna
Ukryj „Kluczowe koncepcje”
Sekcja „Kluczowe koncepcje” jest ukryta
Sekcja „Kluczowe koncepcje” jest widoczna
+ Ukryj przycisk Subskrybuj
+ Przycisk subskrypcji jest ukryty
+ Przycisk subskrypcji jest widoczny
Ukryj transkrypcję
Sekcja transkrypcji jest ukryta
Sekcja transkrypcji jest widoczna
diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
index 4258a9cf4..1a91cac19 100644
--- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml
@@ -342,12 +342,18 @@ Se um Doodle estiver sendo exibido atualmente em sua região e esta configuraç
Ocultar \"Explore o podcast\"
A seção Explore o podcast está oculta
A seção Explore o podcast é mostrada
+ Ocultar conteúdo em destaque
+ A seção de conteúdo em destaque está oculta
+ A seção de conteúdo em destaque está visível
Ocultar cartões de informações
Seção de cartões de informações está oculto
A seção de cartões de informações é mostrada
Ocultar \"Conceitos-chave\"
A seção Conceitos-chave está oculta
A seção Conceitos-chave é mostrada
+ Ocultar botão de Inscrição
+ O botão de inscrição está oculto
+ O botão de inscrição está visível
Ocultar transcrição
Seção de transcrição está oculta
A seção de transcrição é mostrada
diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
index 9bf738018..c8a419699 100644
--- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
+++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml
@@ -342,12 +342,18 @@ Se um Doodle estiver a ser exibido na sua região e esta definição de ocultaç
Ocultar \"Explore o podcast\"
A seção Explore o podcast está oculta
A seção Explore o podcast é mostrada
+ Ocultar conteúdo em destaque
+ A seção de conteúdo em destaque está oculta
+ A seção de conteúdo em destaque é exibida
Ocultar cartões de informação
Secção de cartões de informações está escondida
Mostrar a secção de cartões de informações
Ocultar \'Conceitos-chave\'
A seção Conceitos-chave está oculta
A seção Conceitos-chave é mostrada
+ Ocultar botão de inscrição
+ O botão Inscrever-se está oculto
+ O botão Inscrever-se está exibido
Ocultar transcrição
Secção de transcrição escondida
Secção de transcrição exibida
diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
index cec8a2e5e..047e1d03a 100644
--- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
+++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml
@@ -342,12 +342,18 @@ Dacă un Doodle este afișat în prezent în regiunea dvs. și această setare d
Ascunde „Explorează podcastul”
Secțiunea Explorează podcastul este ascunsă
Secțiunea Explorează podcastul este afișată
+ Ascunde conținutul recomandat
+ Secțiunea de conținut recomandat este ascunsă
+ Secțiunea de conținut recomandat este afișată
Ascunde cardurile Info
Secţiunea carduri de informaţii este ascunsă
Secțiunea cartonașelor de informații este afișată
Ascunde „Concepte cheie”
Secțiunea Concepte cheie este ascunsă
Secțiunea Concepte cheie este afișată
+ Ascunde butonul de abonare
+ Butonul de abonare este ascuns
+ Butonul de abonare este afișat
Ascunde Transcriere
Secțiunea de transcriere este ascunsă
Secțiunea de Transcriere este afișată
diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
index f81fc72ac..55bc65aff 100644
--- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
+++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml
@@ -342,12 +342,18 @@ Second \"item\" text"
Скрыть раздел \"Другие выпуски подкаста\"
Раздел \"Другие выпуски подкаста\" в описании видео скрыт
Раздел \"Другие выпуски подкаста\" в описании видео показан
+ Скрыть рекомендуемый контент
+ Раздел рекомендуемого контента скрыт
+ Раздел рекомендуемого контента показан
Скрыть раздел информационных карточек
Раздел информационных карточек в описании видео скрыт
Раздел информационных карточек в описании видео показан
Скрыть раздел \"Ключевые понятия\"
Раздел \"Ключевые понятия\" в описании видео скрыт
Раздел \"Ключевые понятия\" в описании видео показан
+ Скрыть кнопку \"Подписаться\"
+ Кнопка \"Подписаться\" в Shorts скрыта
+ Кнопка \"Подписаться\" в Shorts показана
Скрыть раздел расшифровки
Раздел расшифровки в описании видео скрыт
Раздел расшифровки в описании видео показан
diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
index e252d060a..9e4d9fe3f 100644
--- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
+++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml
@@ -340,12 +340,18 @@ Ak sa Doodle v súčasnosti zobrazuje vo vašom regióne a toto nastavenie skryt
Skryť „Preskúmať podcast“
Sekcia Preskúmať podcast je skrytá
Sekcia Preskúmať podcast je zobrazená
+ Skryť odporúčaný obsah
+ Sekcia odporúčaného obsahu je skrytá
+ Sekcia odporúčaného obsahu je zobrazená
Skryť informačné karty
Sekcia informačných kariet je skrytá
Zobrazí sa sekcia informačných kariet
Skryť „Kľúčové koncepty“
Sekcia Kľúčové koncepty je skrytá
Sekcia Kľúčové koncepty je zobrazená
+ Skryť tlačidlo Odber
+ Tlačidlo Odber je skryté
+ Tlačidlo Odber je zobrazené
Skryť prepis
Časť prepisu je skrytá
Zobrazí sa sekcia prepisu
diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
index a73d5f8f1..bff58654b 100644
--- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
+++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml
@@ -342,12 +342,18 @@ Vendar pa bo omogočitev tega beležila tudi nekatere uporabniške podatke, kot
Skrij »Raziščite podcast«
Razdelek »Raziščite podcast« je skrit
Razdelek »Raziščite podcast« je prikazan
+ Skrij predstavljeno vsebino
+ Oddelek predstavljene vsebine je skrit
+ Oddelek predstavljene vsebine je prikazan
Skrij kartice z informacijami
Oddelek s karticami z informacijami je skrit
Oddelek s karticami z informacijami je prikazan
Skrij »Ključni koncepti«
Razdelek »Ključni koncepti« je skrit
Razdelek »Ključni koncepti« je prikazan
+ Skrij gumb za naročanje
+ Gumb Naroči je skrit
+ Gumb Naroči je prikazan
Skrij prepis
Oddelek s prepisom je skrit
Oddelek s prepisom je prikazan
diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
index 53bbc6e9e..4288040e1 100644
--- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
+++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml
@@ -342,12 +342,18 @@ Nëse një Doodle po shfaqet aktualisht në rajonin tuaj dhe kjo fshehje është
Fshih \'Eksploro podkastin\'
Seksioni eksploro podkastin është i fshehur
Seksioni eksploro podkastin është i shfaqur
+ Fshi përmbajtjen e veçuar
+ Seksioni i përmbajtjes së veçuar është fshehur
+ Seksioni i përmbajtjes së veçuar është shfaqur
Fshih kartat e informacionit
Seksioni i kartave informative është i fshehur
Seksioni i kartave informative është i dukshme
Fshih \'Konceptet kryesore\'
Seksioni i koncepteve kryesore është i fshehur
Seksioni i koncepteve kryesore është i shfaqur
+ Fshi butonin Abonohu
+ Butoni i abonimit është i fshehur
+ Butoni i abonimit është i shfaqur
Fshih Transkriptin
Seksioni i Shkrimit është i fshehur
Seksioni i Shkrimit është i dukshme
diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
index 251869b77..189f35067 100644
--- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml
@@ -342,12 +342,18 @@ Ako se Doodle trenutno prikazuje u vašem regionu i ova opcija skrivanja je uklj
Sakrij odeljak „Istražite podkast”
Odeljak „Istražite podkast” je skriven
Odeljak „Istražite podkast” je prikazan
+ Sakrij istaknuti sadržaj
+ Odeljak sa istaknutim sadržajem je skriven
+ Odeljak sa istaknutim sadržajem je prikazan
Sakrij kartice sa informacijama
Odeljak za kartice sa informacijama je skriven
Odeljak za kartice sa informacijama je prikazan
Sakrij odeljak „Ključni koncepti”
Odeljak „Ključni koncepti” je skriven
Odeljak „Ključni koncepti” je prikazan
+ Sakrij dugme „Pretplati se”
+ Dugme „Pretplati se“ je skriveno
+ Dugme „Pretplati se“ je prikazano
Sakrij transkript
Odeljak za transkripciju je skriven
Odeljak za transkripciju je prikazan
diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
index 494092e6d..90dcd7895 100644
--- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
+++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml
@@ -342,12 +342,18 @@ Second \"item\" text"
Сакриј одељак „Истражите подкаст”
Одељак „Истражите подкаст” је скривен
Одељак „Истражите подкаст” је приказан
+ Сакриј истакнути садржај
+ Одељак истакнутог садржаја је скривен
+ Одељак истакнутог садржаја је приказан
Сакриј картице са информацијама
Одељак за картице са информацијама је скривен
Одељак за картице са информацијама је приказан
Сакриј одељак „Кључни концепти”
Одељак „Кључни концепти” је скривен
Одељак „Кључни концепти” је приказан
+ Сакриј дугме „Претплати се”
+ Дугме „Претплати се” је скривено
+ Дугме „Претплати се” је приказано
Сакриј транскрипт
Одељак за транскрипцију је скривен
Одељак за транскрипцију је приказан
diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
index 3ac5e0eb5..59211947d 100644
--- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
+++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml
@@ -77,7 +77,7 @@ Second \"item\" text"
• Sökningen ignorerar skiftläge och skiljetecken
• Överordnade inställningar visas ovanför inaktiverade underordnade inställningar"
Sökhistoriken är tom
- För att spara sökhistorik, skriv en sökfråga och tryck på Enter
+ Om du vill spara sökhistorik, skriv en sökfråga och tryck på Retur
Visa sökhistorik för inställningar
Sökhistorik för inställningar visas
Sökhistorik för inställningar visas inte
@@ -164,11 +164,11 @@ Du kommer inte att bli meddelad om oväntade händelser."
Rensa felsökningsloggar
Rensar alla lagrade ReVanced-felsökningsloggar
Loggar rensade
- Funktionsflaggor Manager
+ Funktionsflagghanterare
Hantera booleska funktionsflaggor
Aktiva flaggor (%d)
Blockerade flaggor (%d)
- Sök efter flaggor...
+ Sök efter flaggor ...
Flaggor sparade
Flaggor återställda
Flaggor kopierade till urklipp
@@ -343,12 +343,18 @@ Om en doodle visas för närvarande i din region och den här döljningsinställ
Dölj Utforska podden
Avsnittet Utforska podden är dolt
Avsnittet Utforska podden visas
+ Dölj utvalt innehåll
+ Avsnittet med utvalt innehåll är dolt
+ Avsnittet med utvalt innehåll visas
Dölj infokort
Avsnittet för infokort är dolt
Avsnittet för infokort visas
Dölj \"Huvudkoncept\"
Avsnittet Huvudkoncept är dolt
Avsnittet Huvudkoncept visas
+ Dölj knappen Prenumerera
+ Knappen Prenumerera är dold
+ Knappen Prenumerera visas
Dölj Manuskript
Avsnittet Manuskript är dolt
Avsnittet Manuskript visas
@@ -443,41 +449,41 @@ Om en doodle visas för närvarande i din region och den här döljningsinställ
"Begränsningar:
• Shorts-hyllor, kanalsidor och sökresultat kan fortfarande visa uppladdningstider
• Denna funktion fungerar inte med bilformfaktor"
- Dölj innehåll med sökord
- Dölj videor i flöden och i sökning med hjälp av sökordsfilter
- Dölj videor i Hem med sökord
- Videor i fliken Hem filtreras efter sökord
- Videor i fliken Hem filtreras inte efter sökord
- Dölj sökresultat med sökord
- Sökresultat filtreras efter sökord
- Sökresultat filtreras inte efter sökord
- Dölj videor i Prenumerationer med sökord
- Videor i fliken Prenumerationer filtreras efter sökord
- Videor i fliken Prenumerationer filtreras inte efter sökord
- Sökord som ska döljas
+ Dölj innehåll med nyckelord
+ Dölj videor i flöden och i sökning med hjälp av nyckelordsfilter
+ Dölj videor i Hem med nyckelord
+ Videor i fliken Hem filtreras efter nyckelord
+ Videor i fliken Hem filtreras inte efter nyckelord
+ Dölj sökresultat med nyckelord
+ Sökresultat filtreras efter nyckelord
+ Sökresultat filtreras inte efter nyckelord
+ Dölj videor i Prenumerationer med nyckelord
+ Videor i fliken Prenumerationer filtreras efter nyckelord
+ Videor i fliken Prenumerationer filtreras inte efter nyckelord
+ Nyckelord som ska döljas
- "Sökord och fraser som ska döljas, åtskilda av nya rader
+ "Nyckelord och fraser som ska döljas, åtskilda av nya rader
-Sökord kan vara kanalnamn eller vilken text som helst som visas i videotitlar
+Nyckelord kan vara kanalnamn eller vilken text som helst som visas i videotitlar
Ord med versaler i mitten måste anges med korrekt skiftläge (t.ex. iPhone, TikTok, LeBlanc)"
- Om sökordsfiltrering
- "Hem/Prenumerationer/sökresultat filtreras för att dölja innehåll som matchar sökordsfraser
+ Om nyckelordsfiltrering
+ "Hem/Prenumerationer/sökresultat filtreras för att dölja innehåll som matchar nyckelordsfraser
Begränsningar
• Shorts-videor kan inte döljas baserat på kanalnamn
• Vissa komponenter i användargränssnittet kanske inte döljs
-• Om du söker på ett sökord kan det hända att inga resultat visas"
+• Om du söker på ett nyckelord kan det hända att inga resultat visas"
Matcha hela ord
- Om du omger ett sökord/en fras med dubbla citattecken förhindrar du partiella matchningar av videotitlar och kanalnamn<br><br>Till exempel,<br><b>\"ai\"</b> kommer att dölja videon: <b>How does AI work?</b><br>men kommer inte att dölja: <b>What does fair use mean?</b>
+ Om du omger ett nyckelord/en fras med dubbla citattecken förhindrar du partiella matchningar av videotitlar och kanalnamn<br><br>Till exempel,<br><b>\"ai\"</b> kommer att dölja videon: <b>How does AI work?</b><br>men kommer inte att dölja: <b>What does fair use mean?</b>
- Kan inte använda sökord: %s
- Lägg till citattecken för att använda sökord: %s
- Sökordet har motstridiga deklarationer: %s
- Sökordet är för kort och kräver citattecken: %s
- Sökordet döljer alla videor: %s
+ Kan inte använda nyckelord: %s
+ Lägg till citattecken för att använda nyckelord: %s
+ Nyckelordet har motstridiga deklarationer: %s
+ Nyckelordet är för kort och kräver citattecken: %s
+ Nyckelordet döljer alla videor: %s
Dölj butikshylla för kreatörer
@@ -1139,7 +1145,7 @@ Den här funktionen fungerar bäst med en videokvalitet på 720p eller lägre oc
Segment som är kortare än detta värde (i sekunder) kommer inte att visas eller hoppas över
Ogiltig tidslängd
Ditt privata användar-id
- Detta bör hållas privat. Det fungerar som ett lösenord och ska inte delas med någon. Om någon får tag på det kan de låtsas vara du
+ Detta bör hållas privat. Det fungerar som ett lösenord och ska inte delas med någon. Om någon får tag på det kan de utge sig för att vara du
Privat användar-id måste vara minst 30 tecken långt
Ändra API-webbadress
Adressen SponsorBlock använder för att göra anrop till servern
@@ -1277,7 +1283,7 @@ Redo att skicka in?"
SponsorBlock-topplistan
Du har räddat personer från <b>%s</b> segment
Tryck här för att se den globala statistiken och de främsta bidragande användarna
- Det är <b>%s</b> av deras liv.<br>Tryck här för att se leaderboarden
+ Det är <b>%s</b> av deras liv.<br>Tryck här för att se topplistan
Du har hoppat över <b>%s</b> segment
Det är <b>%s</b>
Återställ räknaren för överhoppade segment?
@@ -1315,7 +1321,7 @@ Detta kommer att ändra utseendet och funktionerna i appen, men okända bieffekt
Om du senare inaktiverar det rekommenderar vi att rensa appens data för att förhindra fel i användargränssnittet."
Mål för Förfalska appversionen
20.13.41 – Återställ icke-komprimerat åtgärdsfält för video
- 20.05.46 – Återställ transkriptionsfunktion
+ 20.05.46 – Återställ funktionalitet för transkription
19.35.36 – Återställ gamla ikoner i Shorts-spelaren
19.01.34 – Återställ gamla navigeringsikoner
@@ -1678,12 +1684,12 @@ Videouppspelning med AV1 kan hacka eller tappa bildrutor."
Dölj historikknappen
Historikknappen är dold
Historikknappen visas
- Dölj knappen Avisering
- Knappen Aviseringar är dold
- Knappen Aviseringar visas
- Dölj knappen Sök
- Knappen Sök är dold
- Knappen Sök visas
+ Dölj aviseringsknappen
+ Aviseringsknappen är dold
+ Aviseringsknappen visas
+ Dölj sökknappen
+ Sökknappen är dold
+ Sökknappen visas