Commit Graph

173 Commits

Author SHA1 Message Date
70a56e758a fix: enable deduplication for cache mode
- Cache mode now registers downloaded songs in mappings
- Prevents duplicate downloads in cache mode
- Fixes wasted API calls and duplicate cache files
- Both cache and download modes benefit from deduplication
2026-01-30 14:11:18 -05:00
13205087ff fix: prevent duplicate downloads by registering before releasing lock
- Race condition fixed where multiple threads could download same song
- RegisterDownloadedSongAsync now called before lock release
- Second thread finds registered mapping and skips download
- Eliminates duplicate files with (1), (2) suffixes
2026-01-30 13:38:11 -05:00
3c4e368912 fix: add base64 encoded SquidWTF endpoints with automatic fallback
- Decode 6 endpoints at startup (triton, wolf, hund, maus, vogel, katze)
- Automatic fallback when endpoint fails
- All services cycle through endpoints on failure
- URLs stored as base64, decoded once in Program.cs
- Fixes search/download issues
2026-01-30 13:24:10 -05:00
018c1d5d93 Merge branch 'main' into beta 2026-01-30 12:40:39 -05:00
4efbd6890b Add automatic endpoint fallback to all SquidWTF metadata search methods 2026-01-30 12:40:38 -05:00
6d38dd2615 Add automatic endpoint fallback to all SquidWTF metadata search methods 2026-01-30 12:40:36 -05:00
a2917f14fa Merge branch 'main' into beta 2026-01-30 12:38:51 -05:00
fc167e5151 Standardize all SquidWTF API URL formats to prevent double slashes 2026-01-30 12:38:41 -05:00
8ee3ce96d3 Standardize all SquidWTF API URL formats to prevent double slashes 2026-01-30 12:38:30 -05:00
46a9f945e6 Merge branch 'main' into beta 2026-01-30 12:37:03 -05:00
ef1606480c Fix double slash bug in SquidWTF API URLs 2026-01-30 12:36:54 -05:00
5e90cd8ea8 Fix double slash bug in SquidWTF API URLs 2026-01-30 12:36:35 -05:00
a540f1f766 Merge branch 'main' into beta 2026-01-30 12:26:42 -05:00
1f10bf5bc4 Update startup validator to use base64 encoded endpoint 2026-01-30 12:26:35 -05:00
0cfefd667f Update startup validator to use base64 encoded endpoint 2026-01-30 12:26:28 -05:00
93b55599ee Merge branch 'main' into beta 2026-01-30 12:25:21 -05:00
d135bccaba Fix remaining BaseUrl references 2026-01-30 12:25:07 -05:00
2a66eba58d Fix remaining BaseUrl references 2026-01-30 12:24:53 -05:00
b9acc502af Merge branch 'main' into beta 2026-01-30 12:13:09 -05:00
8b21e9880f Add backup API endpoints with automatic fallback 2026-01-30 12:12:55 -05:00
aae7dfe59e Add backup API endpoints with automatic fallback 2026-01-30 12:12:41 -05:00
4472f71265 Merge branch 'main' into beta 2026-01-30 12:01:05 -05:00
6b745be835 Consolidate Quick Start and add Contributing section 2026-01-30 12:00:52 -05:00
fa176bad0f Consolidate Quick Start and add Contributing section 2026-01-30 12:00:38 -05:00
b3fe044405 Merge branch 'main' into beta 2026-01-30 11:54:46 -05:00
c69ae21b76 Add build status badges to README 2026-01-30 11:54:35 -05:00
5a0ae860e3 Add build status badges to README 2026-01-30 11:54:15 -05:00
a307ef8975 Merge branch 'main' into beta 2026-01-30 11:48:23 -05:00
5cf852a3b6 Update docker-compose to use GHCR image by default 2026-01-30 11:48:11 -05:00
4d21291598 Update docker-compose to use GHCR image by default 2026-01-30 11:47:46 -05:00
7c19f199f1 Merge branch 'main' into beta 2026-01-30 11:39:00 -05:00
ad1b58f5bd Fix nullable warnings and update CI/CD for beta branch 2026-01-30 11:38:49 -05:00
629bf38ea7 Update CI/CD: deploy only on main and beta branches 2026-01-30 11:38:28 -05:00
e23e22a736 Fix nullable reference warnings 2026-01-30 11:36:59 -05:00
ba0fe35e72 Merge branch 'main' into dev 2026-01-30 11:32:42 -05:00
fe886fc44b Upgrade to .NET 10.0 and fix tests 2026-01-30 11:32:21 -05:00
6e9fe0e69e Upgrade to .NET 10.0 2026-01-30 11:31:45 -05:00
cba955c427 Fix JellyfinProxyServiceTests for RedisCacheService parameter 2026-01-30 11:27:14 -05:00
192173ea64 Merge branch 'main' into dev 2026-01-30 11:23:41 -05:00
e85b8af99d Merge pull request #1 from phyzical/feature/get-dockerflow-working
Adding docker images
2026-01-30 11:22:36 -05:00
phyzical
9627831393 adjust to match your fork 2026-01-30 19:25:25 +08:00
4b19a58ddf Add Ko-fi username for funding support 2026-01-30 03:26:22 -05:00
2f43a08c46 Revise security section for clarity and caution
Updated security note to emphasize zero-trust principles.
2026-01-30 03:18:34 -05:00
01cd2f7711 Update README to use 'vi' instead of 'nano' 2026-01-30 03:17:02 -05:00
f558e4ba7f Fix: Parse LRC format into individual lines for Feishin compatibility
Feishin expects lyrics as an array of {Start, Text} objects with timestamps
in ticks, not as a single LRC-formatted text block
2026-01-30 03:12:14 -05:00
c33180abd7 Fix: Parse LRC format into individual lines for Feishin compatibility
Feishin expects lyrics as an array of {Start, Text} objects with timestamps
in ticks, not as a single LRC-formatted text block
2026-01-30 03:00:55 -05:00
666aa8621a Add lyrics support and fix multiple Jellyfin proxy issues
Features:
- Add LRCLIB lyrics integration with synced/plain lyrics support
- Add Redis cache logging at INFO level for visibility
- Register SquidWTFSettings to enable quality configuration

Fixes:
- Fix playback progress reporting by wrapping POST bodies correctly
- Fix cache cleanup by updating file access times on stream
- Fix Artists/{id}/Similar endpoint proxying
- Fix browse requests to pass full query string (recently added/played/etc)
- Fix nullable duration handling in lyrics endpoint
- Add ' - SW' suffix to external albums/artists
- Remove unused code and improve debugging
2026-01-30 02:29:44 -05:00
680454e76e Clarify lyrics preference: synced lyrics preferred over plain
Already working correctly, just made the code clearer with explicit variable
2026-01-30 02:28:05 -05:00
34bfc20d28 Change Redis cache logging from Debug to Info level
Makes cache hits/misses visible in production logs without needing Debug level
2026-01-30 02:20:11 -05:00
489159b424 Add debug logging for Redis cache hits/misses
Now logs when cache entries are retrieved (HIT/MISS) and when they're stored
2026-01-30 02:17:45 -05:00