Files
allstarr/.gitignore
Josh Patra 3e5c57766b feat: pre-build playlist cache and make matching interval configurable
- Pre-build playlist items cache during track matching for instant serving
- Add PreBuildPlaylistItemsCacheAsync() to SpotifyTrackMatchingService
- Combines local Jellyfin tracks + external matched tracks in correct Spotify order
- Saves to both Redis and file cache for persistence across restarts
- Change matching interval from hardcoded 30 minutes to configurable (default: 24 hours)
- Add SPOTIFY_IMPORT_MATCHING_INTERVAL_HOURS environment variable
- Set to 0 to only run once on startup (manual trigger still works)
- Add endpoint usage files to .gitignore
- Update documentation in README and .env.example

Rationale: Spotify playlists like Discover Weekly update once per week,
so running every 24 hours is more than sufficient. Pre-building the cache
eliminates slow 'on the fly' playlist building.

All 225 tests pass.
2026-02-04 17:03:50 -05:00

99 lines
1.7 KiB
Plaintext

## A streamlined .gitignore for modern .NET projects
## including temporary files, build results, and
## files generated by popular .NET tools. If you are
## developing with Visual Studio, the VS .gitignore
## https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
## has more thorough IDE-specific entries.
##
## Get latest from https://github.com/github/gitignore/blob/main/Dotnet.gitignore
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# Others
~$*
*~
CodeCoverage/
# MSBuild Binary and Structured Log
*.binlog
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Fichiers et dossiers à ignorer pour un projet .NET
bin/
obj/
*.user
*.suo
*.userosscache
*.sln.docstates
*.vs/
# Rider
.idea/
# Visual Studio Code
.vscode/
# Autres fichiers temporaires
*.log
/.env
# Downloaded music files
downloads/
!downloads/.gitkeep
# Kept music files (favorited external tracks)
kept/
# Cache files (Spotify missing tracks, etc.)
cache/
# Docker volumes
redis-data/
# API keys and specs (ignore markdown docs, keep OpenAPI spec)
apis/*.md
apis/*.json
!apis/jellyfin-openapi-stable.json
# Endpoint usage tracking
apis/endpoint-usage.json
/app/cache/endpoint-usage/
# Original source code for reference
originals/
# Sample missing playlists for Spotify integration testing
sampleMissingPlaylists/