Commit Graph

11 Commits

Author SHA1 Message Date
Kevin Allen 8fe151a0d1 Merge pull request #24 from Kuglikrug/patch-1
added description for NUM_WORKERS as Environment Variable
2025-12-28 15:55:17 -06:00
Kevin Allen 26d73f63a3 Merge pull request #29 from danthi123/fix/issue-12-pagination-cap
fix: remove 500/1000 item cap on library pagination
2025-12-28 14:49:33 -06:00
Daniel Thiberge e3fe3c6f48 fix: address Copilot review feedback on pagination PR
- Add MAX_LIMIT=10000 constant to prevent DoS attacks while supporting
  large libraries through pagination
- Apply MAX_LIMIT to /library/artists, /library/albums, /library/tracks
- Add trackCount field to artists endpoint (fixes "Most Tracks" sort)
- Add /library/tracks/shuffle endpoint for server-side shuffle
- Update frontend to use server-side shuffle instead of fetching 10k tracks

The shuffle endpoint uses Fisher-Yates algorithm and samples random tracks
for large libraries to avoid loading the entire database into memory.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 14:23:53 -05:00
Kevin Allen 8910ce1407 Merge pull request #15 from danthi123/fix/issue-12-pagination-cap
Remove Math.min(..., 1000) hard cap on /library/artists endpoint
Remove Math.min(..., 1000) hard cap on /library/albums endpoint
Add offset parameter and total count to /library/tracks endpoint
Rewrite useLibraryData hook for true server-side pagination
Update library page to fetch pages on demand instead of client-side slicing
Disable pagination buttons during loading to prevent race conditions
This allows libraries of any size to be fully browsable. Previously, users with 10,000+ songs were capped at seeing only 500 items.

Fixes #12
2025-12-27 11:44:34 -06:00
Kuglikrug 8dc0d3ade3 added description for NUM_WORKERS as Environment Variable 2025-12-27 15:27:47 +01:00
Daniel Thiberge 567f38e1ea fix: remove 500/1000 item cap on library pagination (Issue #12)
- Remove Math.min(..., 1000) hard cap on /library/artists endpoint
- Remove Math.min(..., 1000) hard cap on /library/albums endpoint
- Add offset parameter and total count to /library/tracks endpoint
- Rewrite useLibraryData hook for true server-side pagination
- Update library page to fetch pages on demand instead of client-side slicing
- Disable pagination buttons during loading to prevent race conditions

This allows libraries of any size to be fully browsable. Previously,
users with 10,000+ songs were capped at seeing only 500 items.

Fixes #12

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 02:44:12 -05:00
Kevin O'Neill 9e59f92fa7 v1.0.2: Mood mix optimizations and media player improvements
- Fixed player seek flicker on podcasts (30s skip buttons)
- Added dual-layer seek lock mechanism to prevent stale time updates
- Optimized cached podcast seeking (direct seek before reload fallback)
- Large skips now execute immediately for responsive feel
- Mood mix performance optimizations
v1.0.2
2025-12-26 13:14:32 -06:00
Kevin O'Neill f8b464feec v1.0.2: Mood mix optimizations and media player improvements
- Fixed player seek flicker on podcasts (30s skip buttons)
- Added dual-layer seek lock mechanism to prevent stale time updates
- Optimized cached podcast seeking (direct seek before reload fallback)
- Large skips now execute immediately for responsive feel
- Mood mix performance optimizations
2025-12-26 13:06:17 -06:00
Kevin O'Neill d8c608cf70 docs: update README 2025-12-26 10:19:23 -06:00
Kevin O'Neill 27b03e4b8f fix: suppress Essentia log spam in audio analyzer v1.0.1 2025-12-25 19:29:12 -06:00
Kevin O'Neill 021aec7a63 Initial release v1.0.0 v1.0.0 2025-12-25 18:58:06 -06:00