Zarz Eleutherius
499457f66a
New translations app_en.arb (French)
...
[ci skip]
2026-05-26 23:49:07 +07:00
Zarz Eleutherius
6d15050009
New translations app_en.arb (French)
...
[ci skip]
2026-05-26 22:09:18 +07:00
Zarz Eleutherius
5ba30031c3
New translations app_en.arb (French)
...
[ci skip]
2026-05-26 05:23:50 +07:00
Zarz Eleutherius
82c0eef504
New translations app_en.arb (French)
...
[ci skip]
2026-05-26 04:27:43 +07:00
Zarz Eleutherius
616267e997
New translations app_en.arb (Arabic)
...
[ci skip]
2026-05-24 15:17:12 +07:00
Zarz Eleutherius
161b0c8c21
New translations app_en.arb (Arabic)
...
[ci skip]
2026-05-23 16:58:47 +07:00
Zarz Eleutherius
facd185d6c
New translations app_en.arb (Chinese Simplified)
...
[ci skip]
2026-05-23 00:53:46 +07:00
Zarz Eleutherius
42858bf336
New translations app_en.arb (Chinese Simplified)
...
[ci skip]
2026-05-22 23:40:00 +07:00
Zarz Eleutherius
716be88caf
New translations app_en.arb (Arabic)
...
[ci skip]
2026-05-22 16:14:08 +07:00
Zarz Eleutherius
b296726a9d
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-21 04:09:42 +07:00
Zarz Eleutherius
092f18d7a5
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-21 02:23:55 +07:00
Zarz Eleutherius
f1ef33e319
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-21 01:12:56 +07:00
Zarz Eleutherius
fc9bc95418
New translations app_en.arb (Indonesian)
...
[ci skip]
2026-05-19 01:44:44 +07:00
Zarz Eleutherius
c61e64f332
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-18 00:54:25 +07:00
Zarz Eleutherius
70ebb8ef1a
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-17 23:29:19 +07:00
Zarz Eleutherius
a4c6a92478
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-17 22:18:42 +07:00
Zarz Eleutherius
76b453e535
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-17 20:59:16 +07:00
Zarz Eleutherius
19acdd87f5
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-17 19:59:25 +07:00
Zarz Eleutherius
492e1335ef
New translations app_en.arb (German)
...
[ci skip]
2026-05-16 20:27:00 +07:00
Zarz Eleutherius
23cde7add3
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-16 20:26:59 +07:00
Zarz Eleutherius
a20c28db25
New translations app_en.arb (German)
...
[ci skip]
2026-05-16 19:31:57 +07:00
Zarz Eleutherius
f07d46c49e
New translations app_en.arb (German)
...
[ci skip]
2026-05-16 18:21:28 +07:00
Zarz Eleutherius
e9781a24a6
New translations app_en.arb (Turkish)
...
[ci skip]
2026-05-15 20:32:29 +07:00
Zarz Eleutherius
15be15ba58
New translations app_en.arb (Turkish)
...
[ci skip]
2026-05-15 18:57:35 +07:00
github-actions[bot]
0952b76e11
chore: update AltStore source to v4.5.5
2026-05-14 23:25:38 +00:00
Zarz Eleutherius
8011d41e53
New translations app_en.arb (Arabic)
...
[ci skip]
2026-05-15 06:18:25 +07:00
Zarz Eleutherius
5412f23d26
New translations app_en.arb (Hindi)
...
[ci skip]
2026-05-15 06:18:23 +07:00
Zarz Eleutherius
0c39ff47f2
New translations app_en.arb (Indonesian)
...
[ci skip]
2026-05-15 06:18:21 +07:00
Zarz Eleutherius
537af905f6
New translations app_en.arb (Chinese Traditional)
...
[ci skip]
2026-05-15 06:18:20 +07:00
Zarz Eleutherius
6b4f70bde3
New translations app_en.arb (Chinese Simplified)
...
[ci skip]
2026-05-15 06:18:18 +07:00
Zarz Eleutherius
be2b6d2c1f
New translations app_en.arb (Ukrainian)
...
[ci skip]
2026-05-15 06:18:17 +07:00
Zarz Eleutherius
0c1a6d8f19
New translations app_en.arb (Turkish)
...
[ci skip]
2026-05-15 06:18:15 +07:00
Zarz Eleutherius
2821997260
New translations app_en.arb (Russian)
...
[ci skip]
2026-05-15 06:18:13 +07:00
Zarz Eleutherius
0546a33b10
New translations app_en.arb (Portuguese)
...
[ci skip]
2026-05-15 06:18:11 +07:00
Zarz Eleutherius
deb98d8dfb
New translations app_en.arb (Dutch)
...
[ci skip]
2026-05-15 06:18:09 +07:00
Zarz Eleutherius
72c658eda7
New translations app_en.arb (Korean)
...
[ci skip]
2026-05-15 06:18:07 +07:00
Zarz Eleutherius
df17f10c8a
New translations app_en.arb (Japanese)
...
[ci skip]
2026-05-15 06:18:05 +07:00
Zarz Eleutherius
9cacf2dc8e
New translations app_en.arb (German)
...
[ci skip]
2026-05-15 06:18:04 +07:00
Zarz Eleutherius
c7bc9f5b1c
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-15 06:18:02 +07:00
Zarz Eleutherius
49ba8ae0d2
New translations app_en.arb (French)
...
[ci skip]
2026-05-15 06:18:00 +07:00
zarzet
7291dbd9e2
Merge remote-tracking branch 'origin/main'
...
# Conflicts:
# apps.json
2026-05-15 06:11:51 +07:00
zarzet
fb4cd75cb2
feat: expose audio codec in download result and skip lossy-to-lossless conversion
...
Go backend:
- Add AudioCodec field to DownloadResult and DownloadResponse
- Extension download results can now include audio_codec/audioCodec
- ffmpegGetInfo and probeAudioQuality now return codec field
- Add trackItemBytes option to file.download() for custom progress handling
Flutter:
- Check audio_codec before container conversion
- Skip FLAC conversion if source codec is lossy (AAC, MP3, Opus, etc.)
- Prevents fake upscale from lossy to lossless containers
v4.5.5
2026-05-15 04:37:25 +07:00
zarzet
8b7cecc1c5
refactor: extract download progress label formatting
...
- Extract _formatDownloadProgressLabel() for cleaner code
- Show received/total size when bytesTotal is available
- Estimate total size from progress when only bytesReceived is known
- Add text overflow handling with ellipsis
2026-05-15 01:29:02 +07:00
Zarz Eleutherius
3a62442ed0
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-15 01:05:23 +07:00
zarzet
012dcdc2dd
fix: native FLAC handling and extension API optimizations
...
Native FLAC handling:
- Properly detect and publish native FLAC payloads inside MP4 containers
- Rename to .flac extension and embed metadata instead of skipping
- Fix all code paths: SAF, non-SAF, and native worker finalizer
Extension API optimizations:
- Enable response compression for API/search calls (faster metadata loads)
- Keep downloads uncompressed for accurate progress/streaming
- Add separate extensionAPITransport with compression enabled
Platform bridge caching:
- Cache handleURLWithExtension results (5 min TTL)
- Cache customSearchWithExtension results (2 min TTL)
- Prevent duplicate in-flight requests for same URL/query
Dependency cleanup:
- Remove unused sqflite_common_ffi and sqlite3 packages
2026-05-15 00:54:58 +07:00
Zarz Eleutherius
3a1b92f9c4
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-14 23:24:51 +07:00
zarzet
629eb66595
chore: bump version to 4.5.5 (build 132)
2026-05-14 20:48:29 +07:00
zarzet
36749a40d3
Revert "feat: add library scroll-to-top and scroll-to-bottom quick buttons"
...
This reverts commit f84a33bbf2 .
2026-05-14 20:47:24 +07:00
zarzet
4336e6dc78
feat: add 5 new lyrics providers
...
New lyrics providers using Paxsenix API:
- Spotify: Synced lyrics from Spotify
- Deezer: Synced lyrics from Deezer
- YouTube: Lyrics from YouTube
- Kugou: Lyrics from Kugou (Chinese service)
- Genius: Plain text lyrics from Genius
Implementation:
- Add lyrics client implementations for all providers
- Smart search result scoring based on track name, artist, and duration
- Support for both synced (LRC) and unsynced lyrics formats
- Fallback search with simplified track names and primary artist
UI updates:
- Add provider entries to lyrics priority settings page
- Add display names for new providers in settings
2026-05-14 20:42:14 +07:00
zarzet
3e3e87e73e
fix: MP3 lyrics embedding via ID3v2.3 USLT frame
...
FFmpeg doesn't always embed lyrics correctly to MP3 files. This adds
manual ID3v2.3 USLT (Unsynchronized Lyrics) frame writing after FFmpeg
metadata embedding to ensure lyrics are properly stored.
Implementation:
- Extract lyrics from metadata (UNSYNCEDLYRICS or LYRICS key)
- Build ID3v2.3 compliant USLT frame with UTF-16LE encoding
- Insert or replace USLT frame in existing ID3v2.3 tag
- Create new ID3v2.3 tag if file has no ID3 header
- Skip gracefully for unsupported ID3 versions or flags
Also includes minor audio analysis improvements:
- Consistent dynamic range calculation (peak - rms)
- Filter out 'unknown' and 'n/a' labels
- Add -vn -sn -dn flags for more robust stream selection
2026-05-14 18:25:03 +07:00