zarzet
813ed79073
refactor: conditionally show lyrics settings only when embed lyrics is enabled
v3.6.9
2026-02-17 20:57:50 +07:00
Zarz Eleutherius
537bab69ab
Merge pull request #151 from zarzet/renovate/go-dependencies
...
fix(deps): update go dependencies
2026-02-17 18:28:44 +07:00
Zarz Eleutherius
b0871ad94b
Merge pull request #158 from zarzet/renovate/actions-checkout-6.x
...
chore(deps): update actions/checkout action to v6
2026-02-17 18:28:31 +07:00
Zarz Eleutherius
0bd7574ab2
Merge pull request #159 from zarzet/renovate/actions-upload-pages-artifact-4.x
...
chore(deps): update actions/upload-pages-artifact action to v4
2026-02-17 18:28:16 +07:00
renovate[bot]
c3f8b48bf7
fix(deps): update go dependencies
2026-02-17 11:28:10 +00:00
zarzet
90f731ac1e
fix: refine launcher icons and settings page presentation
...
Polish generated app icon handling and improve the settings page supporter section layout for better scalability and readability.
2026-02-17 18:26:20 +07:00
Zarz Eleutherius
e83fd66023
New translations app_en.arb (Russian)
2026-02-17 17:43:02 +07:00
Zarz Eleutherius
d49bab403d
New translations app_en.arb (German)
2026-02-17 17:43:01 +07:00
zarzet
8e6cbcbc2a
feat: YouTube customizable bitrate, improved title matching, SpotubeDL engine fallback
...
- Add configurable YouTube Opus (96-256kbps) and MP3 (96-320kbps) bitrates
- Improve title matching with loose normalization for symbol-heavy tracks
- Add SpotubeDL engine v2 fallback for MP3 requests
- Improve filename sanitization in track metadata screen
- Bump version to 3.6.9+82
2026-02-17 17:22:24 +07:00
Zarz Eleutherius
a6bef63aa7
New translations app_en.arb (Indonesian)
2026-02-16 17:38:32 +07:00
Zarz Eleutherius
898e28c40c
New translations app_en.arb (German)
2026-02-15 17:40:51 +07:00
zarzet
9fda7ef596
Merge branch 'dev'
2026-02-14 17:56:33 +07:00
Zarz Eleutherius
17ba1713ad
New translations app_en.arb (Turkish)
2026-02-14 17:37:29 +07:00
Zarz Eleutherius
f4110204b1
New translations app_en.arb (Hindi)
2026-02-14 17:37:28 +07:00
Zarz Eleutherius
d2a183b52d
New translations app_en.arb (Indonesian)
2026-02-14 17:37:27 +07:00
Zarz Eleutherius
a8dcf3113c
New translations app_en.arb (Chinese Traditional)
2026-02-14 17:37:26 +07:00
Zarz Eleutherius
1f52a6c9e0
New translations app_en.arb (Chinese Simplified)
2026-02-14 17:37:25 +07:00
Zarz Eleutherius
adbed63196
New translations app_en.arb (Russian)
2026-02-14 17:37:24 +07:00
Zarz Eleutherius
33e20845f1
New translations app_en.arb (Portuguese)
2026-02-14 17:37:22 +07:00
Zarz Eleutherius
9a7096c301
New translations app_en.arb (Dutch)
2026-02-14 17:37:21 +07:00
Zarz Eleutherius
4c365032ff
New translations app_en.arb (Korean)
2026-02-14 17:37:20 +07:00
Zarz Eleutherius
bbd32d40a6
New translations app_en.arb (Japanese)
2026-02-14 17:37:19 +07:00
Zarz Eleutherius
73f4a91fa1
New translations app_en.arb (German)
2026-02-14 17:37:18 +07:00
Zarz Eleutherius
1e2e383794
New translations app_en.arb (Spanish)
2026-02-14 17:37:17 +07:00
Zarz Eleutherius
3b70b071e3
New translations app_en.arb (French)
2026-02-14 17:37:16 +07:00
Zarz Eleutherius
838c0ea421
Update source file app_en.arb
2026-02-14 17:37:13 +07:00
zarzet
3ac9ff1dd7
docs: update Paxsenix integration to include all supported providers
v3.6.8
2026-02-14 17:26:53 +07:00
zarzet
3e90b29d2b
fix: improve lyrics error detection and add new donor
...
- Detect error JSON payloads from Apple Music and QQMusic proxies
- Add lyricsHasUsableText validation for usable lyrics content
- Skip empty word lines in synced lyrics parsing
- Add ClearAll method to lyrics cache
- Handle TimeoutException properly in track metadata screen
- Add laflame to recent donors list
2026-02-14 17:25:17 +07:00
zarzet
b74186464b
chore: update CHANGELOG for v3.6.8
2026-02-14 02:18:43 +07:00
zarzet
f4934dcb28
feat: add lyrics source tracking, Paxsenix partner, and dedicated lyrics provider settings page
...
- Add getLyricsLRCWithSource to return lyrics with source metadata
- Display lyrics source in track metadata screen
- Improve LRC parsing to preserve background vocal tags
- Add dedicated LyricsProviderPriorityPage for provider configuration
- Add Paxsenix as lyrics proxy partner for Apple Music/QQ Music
- Handle inline timestamps and speaker prefixes in LRC display
2026-02-14 02:15:36 +07:00
zarzet
30973a8e78
feat: lyrics provider extensions, configurable lyrics cascade, and iOS method channel parity
...
Add lyrics_provider as a new extension type alongside metadata_provider and
download_provider. Extensions implementing fetchLyrics() are called before
built-in providers, giving user-installed extensions highest priority.
Built-in lyrics cascade is now configurable from Download Settings:
- Reorderable provider list (LRCLIB, Musixmatch, Netease, Apple Music, QQ Music)
- Per-provider options: Netease translation/romanization, Apple/QQ multi-person
word-by-word speaker tags, Musixmatch language code
- Provider order and options synced to Go backend on app start and on change
Go backend changes:
- New lyrics_provider manifest type with validation (extension_manifest.go)
- ExtensionProviderWrapper.FetchLyrics() with Goja JS bridge (extension_providers.go)
- Configurable SetLyricsProviderOrder/GetLyricsProviderOrder cascade (lyrics.go)
- LyricsFetchOptions struct for per-provider settings (lyrics.go)
- Extracted tryLRCLIB() helper, randomized LRCLIB User-Agent (lyrics.go)
- Refactored msToLRCTimestamp to separate msToLRCTimestampInline (lyrics.go)
- New provider source files: lyrics_apple.go, lyrics_musixmatch.go,
lyrics_netease.go, lyrics_qqmusic.go
- JSON export functions for lyrics settings (exports.go)
- hasLyricsProvider field in extension manager JSON output
Platform channels:
- Android (MainActivity.kt): setLyricsProviders, getLyricsProviders,
getAvailableLyricsProviders, setLyricsFetchOptions, getLyricsFetchOptions
- iOS (AppDelegate.swift): same 5 method channel handlers for iOS parity
Flutter side:
- Extension model: hasLyricsProvider field + Lyrics Provider capability badge
- Settings model: lyricsProviders, lyricsIncludeTranslationNetease,
lyricsIncludeRomanizationNetease, lyricsMultiPersonWordByWord,
musixmatchLanguage fields with generated serialization
- Settings provider: setters + _syncLyricsSettingsToBackend()
- Download settings UI: provider picker, toggle switches, language picker
- Platform bridge: lyrics provider/options methods
Docs: lyrics provider extension documentation in site/docs.html
CHANGELOG: updated with lyrics provider and search feature entries
2026-02-14 01:42:18 +07:00
zarzet
9b89625660
feat(site): add global search modal, search trigger styling, and remove emoji from docs
...
- Add search modal with full keyboard navigation (Ctrl+K, arrows, Enter, Esc) to all pages
- Search opens in-page on every page with static docs index; results navigate to docs#section
- Search trigger in desktop nav styled as bordered pill chip with hover states
- Add Search Docs link in mobile hamburger menus
- Fix nav-links vertical alignment with align-items: center
- Remove all colored emoji from docs.html (checkmarks, crosses, music note)
2026-02-14 00:54:46 +07:00
zarzet
c70ba5962e
feat(site): add copyright and MIT license to all page footers
2026-02-13 22:47:50 +07:00
renovate[bot]
8c722b0a18
chore(deps): update actions/upload-pages-artifact action to v4
2026-02-13 14:42:53 +00:00
renovate[bot]
3ece6770e1
chore(deps): update actions/checkout action to v6
2026-02-13 14:42:49 +00:00
zarzet
b39ec41255
Merge dev into main: v3.6.7 release
v3.6.7
2026-02-13 21:42:02 +07:00
zarzet
1407018d98
feat: advanced filename templates, low-RAM device profiling, responsive artist UI, and project site
...
- Add advanced filename template placeholders: {track_raw}, {disc_raw}, {date},
formatted numbers {track:N}/{disc:N}, and date formatting {date:%Y-%m-%d}
with strftime-to-Go layout conversion and robust date parser
- Pass date/release_date metadata to filename builder in all providers
(Amazon, Qobuz, Tidal, YouTube, extensions) and Flutter download queue
- Detect ARM32-only / low-RAM Android devices at startup and reduce image
cache size and disable overscroll effects for smoother experience
- Make artist screen selection bar responsive: compact stacked layout on
narrow screens or large text scale; add quality picker before track download
- Add advanced tags toggle in download settings filename format editor
- Fix ICU plural syntax in DE/ES/PT/RU translations (one {}=1{...} -> one {...})
- Add filenameShowAdvancedTags l10n strings (EN, ID) and regenerate dart files
- Fix featured-artist regex: remove '&' from split separators
- Add Go filename template tests (filename_test.go)
- Add GitHub Pages workflow and static project site
2026-02-13 21:39:08 +07:00
Zarz Eleutherius
d4d661d6d4
New translations app_en.arb (German)
2026-02-13 17:08:10 +07:00
Zarz Eleutherius
2092f078ec
Update badge URL
2026-02-13 04:06:33 +07:00
Zarz Eleutherius
924569aefb
New translations app_en.arb (Russian)
2026-02-12 16:53:01 +07:00
Zarz Eleutherius
a5864e15f8
New translations app_en.arb (German)
2026-02-12 16:53:00 +07:00
zarzet
0dc89cf569
fix(deps): allow material_color_utilities sdk-pinned range
v3.6.6
2026-02-12 02:33:54 +07:00
zarzet
3c1e9d03a0
fix(ios): recover notification permission and path handling
2026-02-12 02:23:54 +07:00
zarzet
28a082f47a
fix(l10n): fix arb locale mismatch - rename es-ES/pt-PT to underscore format
2026-02-12 01:28:56 +07:00
zarzet
38994d5900
chore: bump pubspec.yaml version to 3.6.6+80
2026-02-12 01:16:49 +07:00
zarzet
472896328a
Merge remote-tracking branch 'origin/dev' into dev
2026-02-12 01:15:50 +07:00
zarzet
92f408035a
feat: enable library scan notifications on iOS (remove Android-only guard)
2026-02-12 01:14:10 +07:00
zarzet
979186243c
docs: update changelog v3.6.6 with new features and translation update
2026-02-12 01:11:12 +07:00
zarzet
ee66247bea
Merge remote-tracking branch 'origin/l10n_dev' into dev
...
# Conflicts:
# lib/l10n/arb/app_es-ES.arb
# lib/l10n/arb/app_id.arb
# lib/l10n/arb/app_pt-PT.arb
2026-02-12 01:10:04 +07:00
zarzet
66a9daf733
chore: minor formatting and whitespace cleanup
2026-02-12 01:06:27 +07:00