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
2bb754b245
Fix: Pass through full query string for browse requests
...
Recently added, recently played, and frequently played sections use
different query parameters (SortBy, SortOrder, Filters, etc) that we
weren't forwarding. Now we pass the complete query string to Jellyfin.
2026-01-30 02:15:48 -05:00
8d8c0892a2
Fix: Handle decimal duration values from LRCLIB API
...
LRCLIB returns duration as a decimal/float, not int. Convert to int using Math.Round.
2026-01-30 02:13:10 -05:00
e12851e9ca
Fix: Handle nullable Duration in lyrics endpoint
2026-01-30 02:10:25 -05:00
f8969bea8d
Add LRCLIB lyrics integration for Jellyfin
...
- Create LrclibService to fetch lyrics from lrclib.net API
- Add LyricsInfo model for lyrics data
- Add /Audio/{itemId}/Lyrics and /Items/{itemId}/Lyrics endpoints
- Support both local and external songs
- Cache lyrics for 30 days in Redis
- Return lyrics in Jellyfin format with synced/plain lyrics
2026-01-30 02:09:27 -05:00
aebb1c14dd
Fix multiple Jellyfin proxy issues and improvements
...
- Fix playback progress reporting by wrapping POST bodies in required field names
- Fix cache cleanup by updating last access time when streaming files
- Fix Artists/{id}/Similar endpoint proxying to correct Jellyfin endpoint
- Add ' - SW' suffix to external albums and artists for better identification
- Register SquidWTFSettings configuration to enable quality settings
- Remove unused code and improve debugging logs
2026-01-30 01:58:10 -05:00
ceaa17f018
Fix: Register SquidWTFSettings configuration in Program.cs
...
The SquidWTF quality setting from .env was not being loaded because
SquidWTFSettings wasn't registered with the DI container.
2026-01-30 00:50:34 -05:00
9aa7ceb138
Remove unused _preferredQuality field from SquidWTFDownloadService
...
The quality setting is already being used correctly via _squidwtfSettings.Quality
2026-01-30 00:49:41 -05:00
72b1ebc2eb
Fix: Wrap playback request bodies in required field names for Jellyfin
...
Jellyfin expects playback endpoints to have bodies wrapped:
- /Sessions/Playing -> {"playbackStartInfo": {...}}
- /Sessions/Playing/Progress -> {"playbackProgressInfo": {...}}
- /Sessions/Playing/Stopped -> {"playbackStopInfo": {...}}
This fixes the 'field is required' validation errors.
2026-01-30 00:48:38 -05:00
48a0351862
Improve POST body debugging for playback endpoints
...
- Better logging to show what client sends vs what we forward
- Log all headers when body is empty to help diagnose issues
2026-01-30 00:45:16 -05:00
4b95f9910c
Fix: Ensure POST requests always send body content to Jellyfin
...
- Always send body content for POST requests, even if empty (send '{}')
- Update TODO.md to mark tasks 2 and 3 as done
- Improve logging for POST body debugging
2026-01-30 00:44:39 -05:00
80424a867d
Fix: Update last access time for cached files to enable proper cleanup
2026-01-30 00:41:17 -05:00
4afd769602
Fix: Proxy Artists/{id}/Similar to correct Jellyfin endpoint
2026-01-30 00:29:56 -05:00