Compare commits

..

1 Commits

Author SHA1 Message Date
Brian López Medina
3f3a113310
Merge 9785c93b6a into 8d4ea82a7e 2026-10-29 04:00:18 -06:00
26 changed files with 42 additions and 127 deletions

View File

@ -61,75 +61,9 @@ jobs:
echo "::error::Building a single platform is only supported for nightly releases"
exit 1
# ComposeNativeWebview's JNI backends are gitignored and only built for the host OS, so a
# publish from macOS alone ships a jar without the Linux / Windows WebView libraries (the
# WebView then renders nothing). Build them on their own OS and hand them to prepare-deps.
build-webview-natives:
name: WebView Natives (${{ matrix.name }})
needs: validate-inputs
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
include:
- name: linux-x64
os: ubuntu-latest
- name: linux-aarch64
os: ubuntu-24.04-arm
- name: windows-x64
os: windows-latest
steps:
- name: Checkout ComposeNativeWebview
uses: actions/checkout@v7
with:
repository: ${{ env.COMPOSE_WEBVIEW_REPO }}
ref: ${{ env.COMPOSE_WEBVIEW_COMMIT }}
token: ${{ secrets.GITHUB_TOKEN }}
path: compose-webview
- name: Set up JDK 21
uses: actions/setup-java@v6
with:
distribution: temurin
java-version: 21
- name: Build Linux WebView native library
if: runner.os == 'Linux'
working-directory: compose-webview
run: |
sudo apt-get update
sudo apt-get install -y build-essential pkg-config libgtk-3-dev libcairo2-dev \
libsoup-3.0-dev libwebkit2gtk-4.1-dev
bash webview-compose/src/jvmMain/native/linux/build.sh
- name: Build Windows WebView native library
if: runner.os == 'Windows'
working-directory: compose-webview
shell: cmd
run: webview-compose\src\jvmMain\native\windows\build.bat
- name: Verify WebView native library
working-directory: compose-webview
shell: bash
run: |
case "${{ matrix.name }}" in
linux-*) files="${{ matrix.name }}/libcompose_webview_linux.so" ;;
windows-x64) files="win32-x64/compose_webview_windows.dll win32-x64/WebView2Loader.dll" ;;
esac
for f in $files; do
test -f "webview-compose/src/jvmMain/resources/nucleus/native/$f" || { echo "::error::Missing $f"; exit 1; }
done
- name: Upload WebView native library
uses: actions/upload-artifact@v7
with:
name: webview-natives-${{ matrix.name }}
path: compose-webview/webview-compose/src/jvmMain/resources/nucleus/native/
retention-days: 1
prepare-deps:
name: Prepare Dependencies
needs: [validate-inputs, build-webview-natives]
needs: validate-inputs
runs-on: macos-latest
steps:
- name: Checkout ComposeNativeWebview
@ -140,15 +74,6 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
path: compose-webview
# Downloaded after checkout, so they are newer than the native sources and
# the build keeps them instead of trying to rebuild on the wrong OS.
- name: Download WebView native libraries
uses: actions/download-artifact@v8
with:
pattern: webview-natives-*
merge-multiple: true
path: compose-webview/webview-compose/src/jvmMain/resources/nucleus/native
- name: Set up JDK 21
uses: actions/setup-java@v6
with:
@ -170,16 +95,6 @@ jobs:
chmod +x gradlew
./gradlew publishToMavenLocal
- name: Verify published JVM jar carries every WebView backend
run: |
jar=$(ls ~/.m2/repository/dev/nucleusframework/composewebview-jvm/*/composewebview-jvm-*.jar | grep -v -e sources -e javadoc | head -1)
contents=$(unzip -l "$jar")
for f in linux-x64/libcompose_webview_linux.so linux-aarch64/libcompose_webview_linux.so \
win32-x64/compose_webview_windows.dll win32-x64/WebView2Loader.dll \
darwin-aarch64/libcompose_webview_macos.dylib darwin-x64/libcompose_webview_macos.dylib; do
grep -q "nucleus/native/$f" <<< "$contents" || { echo "::error::$jar is missing $f"; exit 1; }
done
- name: Upload maven local
uses: actions/upload-artifact@v7
with:

View File

@ -290,8 +290,8 @@
- **desktop**: double titlebar in local library folders and massive space in
overlay player
- lastfm form broken in other locales #2447
- Greedy Green Corp login broken due to new totp requirement #2494
- Greedy Green Corp authentication 429 errors
- spotify login broken due to new totp requirement #2494
- spotify authentication 429 errors
### Features
@ -326,7 +326,7 @@
- **android**: home widget support (#2148)
- rewrite entire app in shadcn-ui replacing material eww
- grid/list customizable playbutton view
- flag to hide Greedy Green Corp generated images with patterns
- flag to hide spotify generated images with patterns
- show placeholder images where there is no item or on empty page
- pause playback when no internet connection
- implement yt-dlp for desktop and NewPipeExtractor for Android (#2316)
@ -552,7 +552,7 @@
[#1463](https://github.com/team-spotube/spotube/issues/1463)
[#1505](https://github.com/team-spotube/spotube/issues/1505)
([d2683c5](https://github.com/team-spotube/spotube/commit/d2683c52d81d807be6ff72f15b8e9eb18181e211))
- Greedy Green Corp friends and user profile icon (mobile) showing when not authenticated
- spotify friends and user profile icon (mobile) showing when not authenticated
[#1410](https://github.com/team-spotube/spotube/issues/1410)
([9bccbc9](https://github.com/team-spotube/spotube/commit/9bccbc93c63dd34f6e15ff68c276976ecd1d9a33))
- **updater:** dead link
@ -576,7 +576,7 @@
### Features
- add Greedy Green Corp homepage personalized recommendations
- add Spotify homepage personalized recommendations
([#1402](https://github.com/team-spotube/spotube/issues/1402))
([9e25c74](https://github.com/team-spotube/spotube/commit/9e25c742d4e43e4e10d2b48afb8e6d90288ffa11))
- add user profile page
@ -684,7 +684,7 @@
- add create playlist button in add playlist dialog
([2168a64](https://personal.github.com/team-spotube/spotube/commit/2168a640af3104a43139c303d78e2c2326a1bda7))
- add Greedy Green Corp friends activity
- add spotify friends activity
([#1130](https://personal.github.com/team-spotube/spotube/issues/1130))
([7983932](https://personal.github.com/team-spotube/spotube/commit/79839329b0970acccb0c566a31eee508adbc8557))
- **deep-link:** add track opening page
@ -1436,7 +1436,7 @@
([448c9b3](https://github.com/team-spotube/spotube/commit/448c9b39f407668ad92a695afe3c9741baeca20d))
- **macos:** crashing on startup
([c46b428](https://github.com/team-spotube/spotube/commit/c46b4284b1d46a614cbcebc8c2f2e52714921b9b))
- Greedy Green Corp query hooks overriding default query params
- spotify query hooks overriding default query params
([ec9a02e](https://github.com/team-spotube/spotube/commit/ec9a02e8b8d988e15ed58027054d2a9090d98873))
## [2.7.0](https://github.com/team-spotube/spotube/compare/v2.6.0...v2.7.0) (2023-03-07)
@ -1469,7 +1469,7 @@
([9080441](https://github.com/team-spotube/spotube/commit/9080441b875ceb91260bbad79291365a98d5be95))
- individual shuffle and repeat/loop button of player
([f79223c](https://github.com/team-spotube/spotube/commit/f79223cd41c61d9836d25e7bc2811c6515ba00c8))
- **lyrics:** use official Greedy Green Corp API for fetching lyrics and add zoom controls
- **lyrics:** use official spotify API for fetching lyrics and add zoom controls
([10d0660](https://github.com/team-spotube/spotube/commit/10d0660972f008df0d11c280b681ce3b78f05d0b))
- **mobile:** pull to refresh support in all refreshable list views
([9f959ce](https://github.com/team-spotube/spotube/commit/9f959ce77cd95cfc34d01af1f5cf53dd4206b6a6))
@ -1921,7 +1921,7 @@
- private playlists of current user aren't shown fix
(https://github.com/team-spotube/spotube/issues/92)
- refresh token error causing re-login (culprit: internal lib Greedy Green Corp-dart)
- refresh token error causing re-login (culprit: internal lib spotify-dart)
- Typo in Login instructions URL
# v2.1.0
@ -1937,7 +1937,7 @@
### Improved
- Greedy Green Corp track to youtube track algorithm
- Spotify track to youtube track algorithm
- Genius lyrics matching algorithm
- Download track. Checks if already exists & replaces on user command
- Wide screen responsiveness & adaptation
@ -1950,7 +1950,7 @@
(https://github.com/team-spotube/spotube/issues/46)
- Theme modification state doesn't persist
(https://github.com/team-spotube/spotube/issues/54)
- Wrong URI path for "Login with Greedy Green Corp" tutorial
- Wrong URI path for "Login with Spotify" tutorial
(https://github.com/team-spotube/spotube/issues/69)
- Card shadow showing in the background of TitleBar & Searchbar
@ -2124,17 +2124,17 @@
### Bug Fixes
- `access_token not found` Error after OAuth Login with Greedy Green Corp credentials
- `access_token not found` Error after OAuth Login with Spotify credentials
(used to need a restart of the app to load the access_token)
- `access_token not found` Error after OAuth Login with Greedy Green Corp credentials
- `access_token not found` Error after OAuth Login with Spotify credentials
(used to need a restart of the app to load the access_token)
- Volume level wasn't cached even after changing volume
# v0.0.1
Spotube v0.0.1 - initial release of the open source software for playing Greedy Green Corp
Spotube v0.0.1 - initial release of the open source software for playing Spotify
music using Youtube public API
Spotube v0.0.1 - initial release of the open source software for playing Greedy Green Corp
Spotube v0.0.1 - initial release of the open source software for playing Spotify
music using Youtube public API
### New
@ -2143,7 +2143,7 @@ music using Youtube public API
- Playback Queue
- Save to Liked Tracks/Playlists
- Bypass API rate limitation on basic usage using personal developer Apps for
Greedy Green Corp API
spotify API
- Bypass API rate limitation on basic usage using personal developer Apps for
Greedy Green Corp API
spotify API
- Youtube search & get handled using scrape-yt

View File

@ -402,7 +402,7 @@
<string name="welcome_guide_title">كيفية استخدام Spotube</string>
<string name="welcome_guide_subtitle">أربع خطوات سريعة وتبدأ الاستماع.</string>
<string name="welcome_guide_signin_title">تسجيل الدخول</string>
<string name="welcome_guide_signin_desc">اربط حسابك، أو اختر إضافة الكتالوج الخاصة بك.</string>
<string name="welcome_guide_signin_desc">اربط حسابك على Spotify، أو اختر إضافة الكتالوج الخاصة بك.</string>
<string name="welcome_guide_search_title">ابحث وشغّل</string>
<string name="welcome_guide_search_desc">اعثر على أي أغنية أو ألبوم أو فنان، ثم اضغط تشغيل.</string>
<string name="welcome_guide_offline_title">استمع بلا إنترنت</string>

View File

@ -386,7 +386,7 @@
<string name="welcome_guide_title">Spotube যেভাবে ব্যবহার করবেন</string>
<string name="welcome_guide_subtitle">চারটি সহজ ধাপ, তারপরই গান শুনুন।</string>
<string name="welcome_guide_signin_title">সাইন ইন</string>
<string name="welcome_guide_signin_desc">আপনার অ্যাকাউন্ট কানেক্ট করুন, অথবা নিজের পছন্দের ক্যাটালগ প্লাগইন বেছে নিন।</string>
<string name="welcome_guide_signin_desc">আপনার Spotify অ্যাকাউন্ট কানেক্ট করুন, অথবা নিজের পছন্দের ক্যাটালগ প্লাগইন বেছে নিন।</string>
<string name="welcome_guide_search_title">খুঁজুন ও প্লে করুন</string>
<string name="welcome_guide_search_desc">যেকোনো গান, অ্যালবাম বা শিল্পী খুঁজুন, তারপর প্লে চাপুন।</string>
<string name="welcome_guide_offline_title">অফলাইনে শুনুন</string>

View File

@ -386,7 +386,7 @@
<string name="welcome_guide_title">So nutzt du Spotube</string>
<string name="welcome_guide_subtitle">Vier schnelle Schritte und du hörst Musik.</string>
<string name="welcome_guide_signin_title">Anmelden</string>
<string name="welcome_guide_signin_desc">Verbinde dein Konto oder wähle ein eigenes Katalog-Plugin.</string>
<string name="welcome_guide_signin_desc">Verbinde dein Spotify-Konto oder wähle ein eigenes Katalog-Plugin.</string>
<string name="welcome_guide_search_title">Suchen und abspielen</string>
<string name="welcome_guide_search_desc">Finde einen Song, ein Album oder einen Künstler und tippe auf Abspielen.</string>
<string name="welcome_guide_offline_title">Offline hören</string>

View File

@ -390,7 +390,7 @@
<string name="welcome_guide_title">Cómo usar Spotube</string>
<string name="welcome_guide_subtitle">Cuatro pasos rápidos y a escuchar.</string>
<string name="welcome_guide_signin_title">Inicia sesión</string>
<string name="welcome_guide_signin_desc">Conecta tu cuenta o elige tu propio plugin de catálogo.</string>
<string name="welcome_guide_signin_desc">Conecta tu cuenta de Spotify o elige tu propio plugin de catálogo.</string>
<string name="welcome_guide_search_title">Busca y reproduce</string>
<string name="welcome_guide_search_desc">Encuentra cualquier canción, álbum o artista y dale al play.</string>
<string name="welcome_guide_offline_title">Escucha sin conexión</string>

View File

@ -386,7 +386,7 @@
<string name="welcome_guide_title">نحوهٔ استفاده از Spotube</string>
<string name="welcome_guide_subtitle">چهار گام سریع و مشغول شنیدن هستید.</string>
<string name="welcome_guide_signin_title">ورود</string>
<string name="welcome_guide_signin_desc">حساب خود را متصل کنید یا افزونهٔ کاتالوگ دلخواهتان را انتخاب کنید.</string>
<string name="welcome_guide_signin_desc">حساب Spotify خود را متصل کنید یا افزونهٔ کاتالوگ دلخواهتان را انتخاب کنید.</string>
<string name="welcome_guide_search_title">جستجو و پخش</string>
<string name="welcome_guide_search_desc">هر آهنگ، آلبوم یا هنرمندی را پیدا کنید و پخش را بزنید.</string>
<string name="welcome_guide_offline_title">گوش دادن آفلاین</string>

View File

@ -390,7 +390,7 @@
<string name="welcome_guide_title">Comment utiliser Spotube</string>
<string name="welcome_guide_subtitle">Quatre étapes rapides et c\'est parti.</string>
<string name="welcome_guide_signin_title">Se connecter</string>
<string name="welcome_guide_signin_desc">Connectez votre compte ou choisissez votre propre plugin de catalogue.</string>
<string name="welcome_guide_signin_desc">Connectez votre compte Spotify ou choisissez votre propre plugin de catalogue.</string>
<string name="welcome_guide_search_title">Rechercher et écouter</string>
<string name="welcome_guide_search_desc">Trouvez n\'importe quel titre, album ou artiste, puis lancez la lecture.</string>
<string name="welcome_guide_offline_title">Écouter hors connexion</string>

View File

@ -385,7 +385,7 @@
<string name="welcome_guide_title">Spotube कैसे इस्तेमाल करें</string>
<string name="welcome_guide_subtitle">चार आसान स्टेप और आप सुनना शुरू कर सकते हैं।</string>
<string name="welcome_guide_signin_title">साइन इन करें</string>
<string name="welcome_guide_signin_desc">अपना अकाउंट कनेक्ट करें, या अपना कैटलॉग प्लगइन चुनें।</string>
<string name="welcome_guide_signin_desc">अपना Spotify अकाउंट कनेक्ट करें, या अपना कैटलॉग प्लगइन चुनें।</string>
<string name="welcome_guide_search_title">खोजें और चलाएं</string>
<string name="welcome_guide_search_desc">कोई भी गाना, एल्बम या कलाकार खोजें, फिर प्ले दबाएं।</string>
<string name="welcome_guide_offline_title">ऑफ़लाइन सुनें</string>

View File

@ -382,7 +382,7 @@
<string name="welcome_guide_title">Cara menggunakan Spotube</string>
<string name="welcome_guide_subtitle">Empat langkah singkat dan kamu siap mendengarkan.</string>
<string name="welcome_guide_signin_title">Masuk</string>
<string name="welcome_guide_signin_desc">Hubungkan akunmu, atau pilih plugin katalogmu sendiri.</string>
<string name="welcome_guide_signin_desc">Hubungkan akun Spotify-mu, atau pilih plugin katalogmu sendiri.</string>
<string name="welcome_guide_search_title">Cari dan putar</string>
<string name="welcome_guide_search_desc">Temukan lagu, album, atau artis apa pun, lalu tekan putar.</string>
<string name="welcome_guide_offline_title">Dengarkan offline</string>

View File

@ -390,7 +390,7 @@
<string name="welcome_guide_title">Come usare Spotube</string>
<string name="welcome_guide_subtitle">Quattro rapidi passaggi e sei pronto ad ascoltare.</string>
<string name="welcome_guide_signin_title">Accedi</string>
<string name="welcome_guide_signin_desc">Collega il tuo account o scegli il tuo plugin di catalogo.</string>
<string name="welcome_guide_signin_desc">Collega il tuo account Spotify o scegli il tuo plugin di catalogo.</string>
<string name="welcome_guide_search_title">Cerca e riproduci</string>
<string name="welcome_guide_search_desc">Trova qualsiasi brano, album o artista, poi premi play.</string>
<string name="welcome_guide_offline_title">Ascolta offline</string>

View File

@ -382,7 +382,7 @@
<string name="welcome_guide_title">Spotubeの使い方</string>
<string name="welcome_guide_subtitle">簡単な4ステップで、すぐに聴けます。</string>
<string name="welcome_guide_signin_title">サインイン</string>
<string name="welcome_guide_signin_desc">アカウントを連携するか、お好みのカタログプラグインを選んでください。</string>
<string name="welcome_guide_signin_desc">Spotifyアカウントを連携するか、お好みのカタログプラグインを選んでください。</string>
<string name="welcome_guide_search_title">検索して再生</string>
<string name="welcome_guide_search_desc">曲、アルバム、アーティストを探して再生しましょう。</string>
<string name="welcome_guide_offline_title">オフラインで聴く</string>

View File

@ -382,7 +382,7 @@
<string name="welcome_guide_title">Spotube 사용 방법</string>
<string name="welcome_guide_subtitle">간단한 네 단계면 바로 감상할 수 있어요.</string>
<string name="welcome_guide_signin_title">로그인</string>
<string name="welcome_guide_signin_desc">계정을 연결하거나 원하는 카탈로그 플러그인을 선택하세요.</string>
<string name="welcome_guide_signin_desc">Spotify 계정을 연결하거나 원하는 카탈로그 플러그인을 선택하세요.</string>
<string name="welcome_guide_search_title">검색하고 재생하기</string>
<string name="welcome_guide_search_desc">노래, 앨범, 아티스트를 찾은 다음 재생을 누르세요.</string>
<string name="welcome_guide_offline_title">오프라인으로 감상하기</string>

View File

@ -386,7 +386,7 @@
<string name="welcome_guide_title">Zo gebruik je Spotube</string>
<string name="welcome_guide_subtitle">Vier snelle stappen en je luistert al.</string>
<string name="welcome_guide_signin_title">Inloggen</string>
<string name="welcome_guide_signin_desc">Koppel je account of kies je eigen catalogusplug-in.</string>
<string name="welcome_guide_signin_desc">Koppel je Spotify-account of kies je eigen catalogusplug-in.</string>
<string name="welcome_guide_search_title">Zoeken en afspelen</string>
<string name="welcome_guide_search_desc">Vind elk nummer, album of elke artiest en druk op afspelen.</string>
<string name="welcome_guide_offline_title">Offline luisteren</string>

View File

@ -394,7 +394,7 @@
<string name="welcome_guide_title">Jak korzystać ze Spotube</string>
<string name="welcome_guide_subtitle">Cztery szybkie kroki i już słuchasz.</string>
<string name="welcome_guide_signin_title">Zaloguj się</string>
<string name="welcome_guide_signin_desc">Połącz konto lub wybierz własną wtyczkę katalogu.</string>
<string name="welcome_guide_signin_desc">Połącz konto Spotify lub wybierz własną wtyczkę katalogu.</string>
<string name="welcome_guide_search_title">Szukaj i odtwarzaj</string>
<string name="welcome_guide_search_desc">Znajdź dowolny utwór, album lub wykonawcę i naciśnij Odtwórz.</string>
<string name="welcome_guide_offline_title">Słuchaj offline</string>

View File

@ -390,7 +390,7 @@
<string name="welcome_guide_title">Como usar o Spotube</string>
<string name="welcome_guide_subtitle">Quatro passos rápidos e você já está ouvindo.</string>
<string name="welcome_guide_signin_title">Entrar</string>
<string name="welcome_guide_signin_desc">Conecte sua conta ou escolha seu próprio plugin de catálogo.</string>
<string name="welcome_guide_signin_desc">Conecte sua conta do Spotify ou escolha seu próprio plugin de catálogo.</string>
<string name="welcome_guide_search_title">Busque e toque</string>
<string name="welcome_guide_search_desc">Encontre qualquer música, álbum ou artista e aperte o play.</string>
<string name="welcome_guide_offline_title">Ouça offline</string>

View File

@ -394,7 +394,7 @@
<string name="welcome_guide_title">Как пользоваться Spotube</string>
<string name="welcome_guide_subtitle">Четыре простых шага — и музыка уже играет.</string>
<string name="welcome_guide_signin_title">Вход</string>
<string name="welcome_guide_signin_desc">Подключите аккаунт или выберите свой плагин каталога.</string>
<string name="welcome_guide_signin_desc">Подключите аккаунт Spotify или выберите свой плагин каталога.</string>
<string name="welcome_guide_search_title">Ищите и слушайте</string>
<string name="welcome_guide_search_desc">Найдите любой трек, альбом или исполнителя и нажмите «Воспроизвести».</string>
<string name="welcome_guide_offline_title">Слушайте офлайн</string>

View File

@ -382,7 +382,7 @@
<string name="welcome_guide_title">วิธีใช้ Spotube</string>
<string name="welcome_guide_subtitle">แค่ 4 ขั้นตอนง่าย ๆ ก็เริ่มฟังได้เลย</string>
<string name="welcome_guide_signin_title">เข้าสู่ระบบ</string>
<string name="welcome_guide_signin_desc">เชื่อมต่อบัญชีของคุณ หรือเลือกปลั๊กอินแคตตาล็อกของคุณเอง</string>
<string name="welcome_guide_signin_desc">เชื่อมต่อบัญชี Spotify ของคุณ หรือเลือกปลั๊กอินแคตตาล็อกของคุณเอง</string>
<string name="welcome_guide_search_title">ค้นหาและเล่น</string>
<string name="welcome_guide_search_desc">ค้นหาเพลง อัลบั้ม หรือศิลปิน แล้วกดเล่น</string>
<string name="welcome_guide_offline_title">ฟังแบบออฟไลน์</string>

View File

@ -386,7 +386,7 @@
<string name="welcome_guide_title">Spotube nasıl kullanılır</string>
<string name="welcome_guide_subtitle">Dört hızlı adım ve dinlemeye başlıyorsun.</string>
<string name="welcome_guide_signin_title">Giriş yap</string>
<string name="welcome_guide_signin_desc">hesabını bağla veya kendi katalog eklentini seç.</string>
<string name="welcome_guide_signin_desc">Spotify hesabını bağla veya kendi katalog eklentini seç.</string>
<string name="welcome_guide_search_title">Ara ve çal</string>
<string name="welcome_guide_search_desc">Herhangi bir şarkıyı, albümü veya sanatçıyı bul, sonra çal\'a bas.</string>
<string name="welcome_guide_offline_title">Çevrimdışı dinle</string>

View File

@ -394,7 +394,7 @@
<string name="welcome_guide_title">Як користуватися Spotube</string>
<string name="welcome_guide_subtitle">Чотири прості кроки — і музика вже грає.</string>
<string name="welcome_guide_signin_title">Вхід</string>
<string name="welcome_guide_signin_desc">Підключіть акаунт або виберіть власний плагін каталогу.</string>
<string name="welcome_guide_signin_desc">Підключіть акаунт Spotify або виберіть власний плагін каталогу.</string>
<string name="welcome_guide_search_title">Шукайте й слухайте</string>
<string name="welcome_guide_search_desc">Знайдіть будь-який трек, альбом чи виконавця й натисніть «Відтворити».</string>
<string name="welcome_guide_offline_title">Слухайте офлайн</string>

View File

@ -382,7 +382,7 @@
<string name="welcome_guide_title">Cách dùng Spotube</string>
<string name="welcome_guide_subtitle">Bốn bước nhanh là bạn đã có thể nghe nhạc.</string>
<string name="welcome_guide_signin_title">Đăng nhập</string>
<string name="welcome_guide_signin_desc">Kết nối tài khoản hoặc chọn plugin danh mục của riêng bạn.</string>
<string name="welcome_guide_signin_desc">Kết nối tài khoản Spotify hoặc chọn plugin danh mục của riêng bạn.</string>
<string name="welcome_guide_search_title">Tìm kiếm và phát</string>
<string name="welcome_guide_search_desc">Tìm bất kỳ bài hát, album hay nghệ sĩ nào rồi nhấn phát.</string>
<string name="welcome_guide_offline_title">Nghe ngoại tuyến</string>

View File

@ -382,7 +382,7 @@
<string name="welcome_guide_title">如何使用 Spotube</string>
<string name="welcome_guide_subtitle">只要四個簡單步驟,就能開始聆聽。</string>
<string name="welcome_guide_signin_title">登入</string>
<string name="welcome_guide_signin_desc">連結你的帳戶,或選擇你自己的目錄外掛程式。</string>
<string name="welcome_guide_signin_desc">連結你的 Spotify 帳戶,或選擇你自己的目錄外掛程式。</string>
<string name="welcome_guide_search_title">搜尋並播放</string>
<string name="welcome_guide_search_desc">找到任何歌曲、專輯或藝人,然後按下播放。</string>
<string name="welcome_guide_offline_title">離線聆聽</string>

View File

@ -382,7 +382,7 @@
<string name="welcome_guide_title">如何使用 Spotube</string>
<string name="welcome_guide_subtitle">只需四个简单步骤,即可开始聆听。</string>
<string name="welcome_guide_signin_title">登录</string>
<string name="welcome_guide_signin_desc">连接你的帐号,或选择你自己的曲库插件。</string>
<string name="welcome_guide_signin_desc">连接你的 Spotify 帐号,或选择你自己的曲库插件。</string>
<string name="welcome_guide_search_title">搜索并播放</string>
<string name="welcome_guide_search_desc">查找任意歌曲、专辑或艺人,然后点击播放。</string>
<string name="welcome_guide_offline_title">离线收听</string>

View File

@ -404,7 +404,7 @@
<string name="welcome_guide_title">How to use Spotube</string>
<string name="welcome_guide_subtitle">Four quick steps and you’re listening.</string>
<string name="welcome_guide_signin_title">Sign in</string>
<string name="welcome_guide_signin_desc">Connect your account, or pick your own catalog plugin.</string>
<string name="welcome_guide_signin_desc">Connect your Spotify account, or pick your own catalog plugin.</string>
<string name="welcome_guide_search_title">Search and play</string>
<string name="welcome_guide_search_desc">Find any song, album, or artist, then press play.</string>
<string name="welcome_guide_offline_title">Listen offline</string>

View File

@ -30,7 +30,7 @@ import platform.WebKit.WKWebViewConfiguration
* Mobile Safari's exact User-Agent on this device.
*
* WKWebView's default UA ends in `Mobile/15E148` without Safari's `Version/x … Safari/604.1`,
* which sites like accounts.greedygreencorp.com treat as an embedded browser ("Oops, something went
* which sites like accounts.spotify.com treat as an embedded browser ("Oops, something went
* wrong"). Hand-building the string isn't safe either: Safari freezes the OS part (iOS 26
* reports `iPhone OS 18_7`). So WebKit builds it: a probe WKWebView gets Safari's application
* name and reports `navigator.userAgent`, which is cached for every web view.

View File

@ -28,6 +28,6 @@ data class ScrobbleTrack(
val trackName: String,
val artistName: String,
val albumName: String?,
val streamingProvider: String, // e.g. "greedy_green_corp", "apple_music" etc
val streamingProvider: String, // e.g. "spotify", "apple_music" etc
val durationMs: Long? = null,
)