zarzet
5fdf1df5df
feat: cross-script transliteration matching for Tidal/Qobuz and skip-downloaded option for CSV import
2026-02-09 10:57:52 +07:00
Zarz Eleutherius
65b521ff8b
New translations app_en.arb (Turkish)
2026-02-08 19:17:59 +07:00
Zarz Eleutherius
6d578694e2
New translations app_en.arb (Hindi)
2026-02-08 19:17:58 +07:00
Zarz Eleutherius
f7ec649b24
New translations app_en.arb (Indonesian)
2026-02-08 19:17:57 +07:00
Zarz Eleutherius
71a9e1baef
New translations app_en.arb (Chinese Traditional)
2026-02-08 19:17:56 +07:00
Zarz Eleutherius
4a4adcb72e
New translations app_en.arb (Chinese Simplified)
2026-02-08 19:17:55 +07:00
Zarz Eleutherius
3458f03158
New translations app_en.arb (Russian)
2026-02-08 19:17:54 +07:00
Zarz Eleutherius
4fe4a01840
New translations app_en.arb (Portuguese)
2026-02-08 19:17:53 +07:00
Zarz Eleutherius
e5d6fddeda
New translations app_en.arb (Dutch)
2026-02-08 19:17:52 +07:00
Zarz Eleutherius
370f5e3b8b
New translations app_en.arb (Korean)
2026-02-08 19:17:51 +07:00
Zarz Eleutherius
f5bb0820d5
New translations app_en.arb (Japanese)
2026-02-08 19:17:50 +07:00
Zarz Eleutherius
feb6da3ecb
New translations app_en.arb (German)
2026-02-08 19:17:48 +07:00
Zarz Eleutherius
39f28a12aa
New translations app_en.arb (Spanish)
2026-02-08 19:17:47 +07:00
Zarz Eleutherius
416fc79637
New translations app_en.arb (French)
2026-02-08 19:17:46 +07:00
Zarz Eleutherius
1f43780bec
Update source file app_en.arb
2026-02-08 19:17:44 +07:00
zarzet
f9dd82010f
fix: skip M4A conversion for existing files and prevent empty SAF folders on duplicates
2026-02-08 15:44:05 +07:00
zarzet
f0790b627d
perf: optimize album, artist, and playlist screens
...
- Scope settingsProvider watches with select() for localLibrary flags
- Wrap popular track items in Consumer for scoped provider watches
- Apply dart format reformatting
2026-02-08 15:00:57 +07:00
zarzet
55350fffa0
perf: optimize home tab and queue tab widget rebuilds
...
- Use ValueNotifier+ValueListenableBuilder for file existence checks instead of setState
- Scope Riverpod watches with field-level select() to reduce unnecessary rebuilds
- Pass precomputed params to _TrackItemWithStatus to avoid per-item provider watches
- Memoize filter/sort computations per build pass
- Isolate queue header/list into dedicated Consumer slivers
- Fix Positioned/ValueListenableBuilder nesting order in grid view
2026-02-08 14:20:18 +07:00
zarzet
7229602343
feat: replace date filter with sorting (latest/oldest/A-Z/Z-A)
...
- Remove broken date range filter (today/week/month/year)
- Add sort options: Latest, Oldest, A-Z, Z-A
- Sorting applies to tracks (all/singles tabs) and albums tab
- Add l10n keys for sort labels
2026-02-08 13:44:02 +07:00
zarzet
1c81c53699
fix: library filters now apply to date/albums and update tab counts
...
- Remove redundant manual export button from queue header
- Add date range filtering support for local library items
- Apply advanced filters (date, quality, format, source) to album tab
- Tab chip counts (All/Albums/Singles) now reflect filtered results
- Extract reusable filter helpers: _passesDateFilter, _passesQualityFilter, _passesFormatFilter
- Add _filterGroupedAlbums and _filterGroupedLocalAlbums methods
2026-02-08 13:09:19 +07:00
zarzet
5256d6197b
fix: metadata enrichment bug and upgrade go-flac to v2
...
- Fix metadata enrichment bug where failed downloads poison connection pool
- Create separate metadataTransport for Deezer API calls
- Add immediate connection cleanup after download failures
- Fix Samsung One UI local library scan with MediaStore fallback
- Fix 'In Library' tracks still showing as downloadable
- Upgrade go-flac packages to v2 (flacpicture v2.0.2, flacvorbis v2.0.2, go-flac v2.0.4)
- Update CHANGELOG.md v3.5.2
2026-02-08 12:01:08 +07:00
zarzet
e0acda14e4
docs: add API credits to README and SpotiSaver to about page
2026-02-08 02:33:56 +07:00
zarzet
cec5e49659
fix(deps): migrate flutter_local_notifications to v20 named params, update changelog with all dependency changes since 3.5.0
2026-02-07 20:02:11 +07:00
zarzet
086511d3e9
perf: unified parallel scheduler, dynamic concurrency 1-5, log truncation + FFmpeg command redaction
2026-02-07 19:57:44 +07:00
zarzet
3d366d21b7
perf: optimize providers, throttle polling, queued settings save, remove dead screens
2026-02-07 19:57:44 +07:00
zarzet
35f412dbd2
perf: replace PaletteService with blurred cover background, bump v3.5.1
2026-02-07 19:57:44 +07:00
Zarz Eleutherius
481b4b03dc
New translations app_en.arb (Turkish)
2026-02-07 19:20:11 +07:00
Zarz Eleutherius
b7fd2f7902
New translations app_en.arb (Hindi)
2026-02-07 19:20:10 +07:00
Zarz Eleutherius
f2e1e59d6a
New translations app_en.arb (Indonesian)
2026-02-07 19:20:09 +07:00
Zarz Eleutherius
3af2ecf1f4
New translations app_en.arb (Chinese Traditional)
2026-02-07 19:20:08 +07:00
Zarz Eleutherius
1b2f2c891c
New translations app_en.arb (Chinese Simplified)
2026-02-07 19:20:07 +07:00
Zarz Eleutherius
155f3259f2
New translations app_en.arb (Russian)
2026-02-07 19:20:06 +07:00
Zarz Eleutherius
f52d8d68b8
New translations app_en.arb (Portuguese)
2026-02-07 19:20:05 +07:00
Zarz Eleutherius
216d6e152c
New translations app_en.arb (Dutch)
2026-02-07 19:20:04 +07:00
Zarz Eleutherius
b6f90e727c
New translations app_en.arb (Korean)
2026-02-07 19:20:03 +07:00
Zarz Eleutherius
790bbc544f
New translations app_en.arb (Japanese)
2026-02-07 19:20:02 +07:00
Zarz Eleutherius
bd511f7dc6
New translations app_en.arb (German)
2026-02-07 19:20:01 +07:00
Zarz Eleutherius
e91c8c28a8
New translations app_en.arb (Spanish)
2026-02-07 19:20:00 +07:00
Zarz Eleutherius
3c6d1afa97
New translations app_en.arb (French)
2026-02-07 19:19:59 +07:00
Zarz Eleutherius
3947e109b4
Update source file app_en.arb
2026-02-07 19:19:57 +07:00
zarzet
8b18bef5ab
feat: add history message to donate notice card, fix l10n_id formatting
2026-02-07 13:53:13 +07:00
zarzet
219ea593dd
chore: add l10n strings for incremental scan and orphan cleanup
2026-02-07 13:20:15 +07:00
zarzet
5c54e04b69
feat: cleanup orphaned downloads from history
2026-02-07 13:20:00 +07:00
zarzet
bef07b1583
feat: incremental library scan support and force full scan button
2026-02-07 13:19:46 +07:00
zarzet
859762e35c
fix(l10n): improve Indonesian wording for orphaned download cleanup
2026-02-07 13:14:13 +07:00
zarzet
ca136b8e17
fix: stabilize incremental library scan and fold 3.5.1 into 3.5.0
2026-02-07 13:11:23 +07:00
zarzet
03d29a73f7
feat: donate page - add GitHub Sponsors, custom icons, improved notice card
2026-02-07 12:40:46 +07:00
zarzet
ad3fefac0b
fix: skip tutorial for existing users upgrading to 3.5.0
...
Migration v2: auto-set hasCompletedTutorial=true when isFirstLaunch
is already false (existing users who completed setup before tutorial
feature was added)
2026-02-07 11:55:43 +07:00
zarzet
ad606cca53
feat: v3.5.0 - SAF storage, onboarding redesign, library scan fixes
...
- SAF Storage Access Framework for Android 10+ downloads
- Redesigned Setup/Tutorial screens with Material 3 Expressive
- Library scan hero card now shows real-time scanned count
- Library folder picker uses SAF (no MANAGE_EXTERNAL_STORAGE needed)
- SAF migration prompt for users updating from pre-SAF versions
- Home feed caching, donate page, per-app language support
- Merged 3.6.0-beta.1 changelog entries into 3.5.0
2026-02-07 11:48:37 +07:00
zarzet
c0a9cb756f
chore: bump version to 3.5.0-beta.1
2026-02-07 08:13:23 +07:00