Major Features: - Multi-source download system (Soulseek/Lidarr with fallback) - Configurable enrichment speed control (1-5x) - Mobile touch drag support for seek sliders - iOS PWA media controls (Control Center, Lock Screen) - Artist name alias resolution via Last.fm - Circuit breaker pattern for audio analysis Critical Fixes: - Audio analyzer stability (non-ASCII, BrokenProcessPool, OOM) - Discovery system race conditions and import failures - Radio decade categorization using originalYear - LastFM API response normalization - Mood bucket infinite loop prevention Security: - Bull Board admin authentication - Lidarr webhook signature verification - JWT token expiration and refresh - Encryption key validation on startup Closes #2, #6, #9, #13, #21, #26, #31, #34, #35, #37, #40, #43
401 lines
9.2 KiB
Plaintext
401 lines
9.2 KiB
Plaintext
# =============================================================================
|
|
# LIDIFY MONOREPO - .gitignore
|
|
# =============================================================================
|
|
|
|
# =============================================================================
|
|
# Environment Variables & Secrets
|
|
# =============================================================================
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
*.local
|
|
.env.development.local
|
|
.env.test.local
|
|
.env.production.local
|
|
.env.local
|
|
.roomodes
|
|
|
|
# =============================================================================
|
|
# Dependencies
|
|
# =============================================================================
|
|
# Node modules in all subdirectories
|
|
**/node_modules/
|
|
node_modules/
|
|
jspm_packages/
|
|
|
|
# Python virtual environments (for soularr, scripts)
|
|
**/__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
venv/
|
|
env/
|
|
ENV/
|
|
.venv/
|
|
**/.venv/
|
|
|
|
# =============================================================================
|
|
# Build
|
|
# =============================================================================
|
|
# Frontend (Next.js)
|
|
frontend/.next/
|
|
frontend/out/
|
|
frontend/build/
|
|
frontend/dist/
|
|
|
|
# Backend (Node.js/TypeScript)
|
|
backend/dist/
|
|
backend/build/
|
|
backend/out/
|
|
|
|
# Mobile Application
|
|
mobile-application/build/
|
|
mobile-application/dist/
|
|
mobile-application/.expo/
|
|
mobile-application/.expo-shared/
|
|
|
|
# Soularr
|
|
soularr/dist/
|
|
soularr/build/
|
|
|
|
# General build outputs
|
|
**/dist/
|
|
**/build/
|
|
**/out/
|
|
.next
|
|
.nuxt
|
|
|
|
# =============================================================================
|
|
# Logs
|
|
# =============================================================================
|
|
logs
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
lerna-debug.log*
|
|
.pnpm-debug.log*
|
|
pnpm-debug.log*
|
|
|
|
# =============================================================================
|
|
# Testing & Coverage
|
|
# =============================================================================
|
|
coverage/
|
|
*.lcov
|
|
.nyc_output
|
|
*.tsbuildinfo
|
|
.cache/
|
|
|
|
# =============================================================================
|
|
# Cache Directories
|
|
# =============================================================================
|
|
.cache
|
|
.parcel-cache
|
|
.eslintcache
|
|
.stylelintcache
|
|
.npm
|
|
.yarn/cache
|
|
.yarn/unplugged
|
|
.yarn/build-state.yml
|
|
.yarn/install-state.gz
|
|
.pnp.*
|
|
.rpt2_cache/
|
|
.rts2_cache_cjs/
|
|
.rts2_cache_es/
|
|
.rts2_cache_umd/
|
|
|
|
# =============================================================================
|
|
# Docker & Containers
|
|
# =============================================================================
|
|
# Don't ignore docker-compose.yml itself, but ignore local overrides
|
|
docker-compose.override.yml
|
|
docker-compose.local.yml
|
|
|
|
# Docker volumes (if any are stored locally)
|
|
**/volumes/
|
|
**/data/
|
|
|
|
# =============================================================================
|
|
# IDEs & Editors
|
|
# =============================================================================
|
|
# VSCode
|
|
.vscode/
|
|
!.vscode/settings.json
|
|
!.vscode/tasks.json
|
|
!.vscode/launch.json
|
|
!.vscode/extensions.json
|
|
*.code-workspace
|
|
.vscode-test
|
|
|
|
# Claude Code
|
|
.claude/
|
|
.claude/*
|
|
!.claude/commands/
|
|
|
|
# JetBrains IDEs (WebStorm, IntelliJ, etc.)
|
|
.idea/
|
|
*.iml
|
|
*.iws
|
|
*.ipr
|
|
|
|
# Sublime Text
|
|
*.sublime-workspace
|
|
*.sublime-project
|
|
|
|
# Vim
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# Emacs
|
|
*~
|
|
\#*\#
|
|
.\#*
|
|
|
|
# macOS
|
|
.DS_Store
|
|
.AppleDouble
|
|
.LSOverride
|
|
._*
|
|
|
|
# Windows
|
|
Thumbs.db
|
|
Thumbs.db:encryptable
|
|
ehthumbs.db
|
|
ehthumbs_vista.db
|
|
Desktop.ini
|
|
$RECYCLE.BIN/
|
|
|
|
# =============================================================================
|
|
# Runtime & Process Files
|
|
# =============================================================================
|
|
pids
|
|
*.pid
|
|
*.seed
|
|
*.pid.lock
|
|
|
|
# =============================================================================
|
|
# Database Files (SQLite for local development)
|
|
# =============================================================================
|
|
*.sqlite
|
|
*.sqlite3
|
|
*.db
|
|
*.db-shm
|
|
*.db-wal
|
|
|
|
# Prisma
|
|
**/prisma/dev.db
|
|
**/prisma/dev.db-journal
|
|
|
|
# =============================================================================
|
|
# Media & Large Files
|
|
# =============================================================================
|
|
# Don't commit large music files (if any test files are added)
|
|
*.mp3
|
|
*.flac
|
|
*.wav
|
|
*.m4a
|
|
*.ogg
|
|
*.opus
|
|
|
|
# =============================================================================
|
|
# Secrets & Key Material
|
|
# =============================================================================
|
|
keystore.b64
|
|
keystore.jks
|
|
*.keystore
|
|
*.jks
|
|
|
|
# =============================================================================
|
|
# Runtime caches (backend)
|
|
# =============================================================================
|
|
backend/cache/
|
|
backend/logs/
|
|
backend/mullvad/
|
|
|
|
# =============================================================================
|
|
# Test artifacts
|
|
# =============================================================================
|
|
**/playwright-report/
|
|
**/test-results/
|
|
|
|
# Don't commit large images (unless they're assets)
|
|
# *.jpg
|
|
# *.jpeg
|
|
# *.png
|
|
# *.gif
|
|
|
|
# =============================================================================
|
|
# Temporary Files
|
|
# =============================================================================
|
|
*.tmp
|
|
*.temp
|
|
*.swp
|
|
*.swo
|
|
*.bak
|
|
*.old
|
|
|
|
# =============================================================================
|
|
# Package Manager Files
|
|
# =============================================================================
|
|
# Yarn
|
|
.yarn/cache
|
|
.yarn/unplugged
|
|
.yarn/build-state.yml
|
|
.yarn/install-state.gz
|
|
.pnp.*
|
|
yarn-error.log
|
|
|
|
# NPM
|
|
npm-debug.log*
|
|
|
|
# PNPM
|
|
pnpm-lock.yaml
|
|
.pnpm-debug.log*
|
|
|
|
# =============================================================================
|
|
# Mobile Specific (React Native / Expo)
|
|
# =============================================================================
|
|
mobile-application/.expo/
|
|
mobile-application/.expo-shared/
|
|
mobile-application/android/app/build/
|
|
mobile-application/ios/Pods/
|
|
mobile-application/ios/build/
|
|
mobile-application/*.jks
|
|
mobile-application/*.keystore
|
|
mobile-application/*.p8
|
|
mobile-application/*.p12
|
|
mobile-application/*.mobileprovision
|
|
|
|
# Legacy native leftovers (web app is PWA-first)
|
|
frontend/android/
|
|
|
|
# =============================================================================
|
|
# Postman (Keep collections, ignore environments with secrets)
|
|
# =============================================================================
|
|
postman/*environment*.json
|
|
postman/*.local.json
|
|
|
|
|
|
|
|
# BUT allow README.md files (case-insensitive)
|
|
!README.md
|
|
!readme.md
|
|
!Readme.md
|
|
|
|
# =============================================================================
|
|
# TypeScript
|
|
# =============================================================================
|
|
*.tsbuildinfo
|
|
tsconfig.tsbuildinfo
|
|
|
|
# =============================================================================
|
|
# Miscellaneous
|
|
# =============================================================================
|
|
.lock-wscript
|
|
lib-cov
|
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
.grunt
|
|
bower_components
|
|
.serverless/
|
|
.fusebox/
|
|
.dynamodb/
|
|
.tern-port
|
|
.docusaurus
|
|
**/.vitepress/dist
|
|
**/.vitepress/cache
|
|
.vuepress/dist
|
|
.temp
|
|
*.tgz
|
|
.node_repl_history
|
|
|
|
# =============================================================================
|
|
# Project Specific
|
|
# =============================================================================
|
|
# Development scripts (keep locally, don't commit)
|
|
reset-and-setup.sh
|
|
organize-singles.sh
|
|
|
|
# AI Context Management (keep locally, don't push to GitHub)
|
|
context_portal/
|
|
|
|
# Internal Development Documentation (keep locally, don't push to GitHub)
|
|
docs/
|
|
**/docs/
|
|
|
|
|
|
# Temporary commit messages
|
|
COMMIT_MESSAGE.txt
|
|
|
|
# Backend development logs
|
|
backend/logs/
|
|
|
|
# Backend test cache directories
|
|
backend/cache/test-*/
|
|
|
|
# Backend duplicate/nested directories
|
|
backend/backend/
|
|
|
|
# Frontend Android build artifacts
|
|
frontend/android/build/
|
|
frontend/android/app/build/
|
|
|
|
# Postman collections (removed from repo)
|
|
postman/
|
|
|
|
# Soularr config (removed from repo)
|
|
soularr/
|
|
|
|
# Legacy React Native files (if re-added)
|
|
/App.tsx
|
|
/app.json
|
|
/src/
|
|
|
|
# =============================================================================
|
|
# IDE & Editor Settings
|
|
# =============================================================================
|
|
.claude/
|
|
**/.claude/
|
|
.cursor/
|
|
**/.cursor/
|
|
.vscode/
|
|
**/.vscode/
|
|
.roo/
|
|
**/.roo/
|
|
|
|
# =============================================================================
|
|
# Android Build Artifacts (contains local paths)
|
|
# =============================================================================
|
|
frontend/android/app/build/
|
|
frontend/android/build/
|
|
frontend/android/.gradle/
|
|
frontend/android/app/src/main/assets/capacitor.config.json
|
|
|
|
# =============================================================================
|
|
# Capacitor Generated Files
|
|
# =============================================================================
|
|
frontend/android/capacitor-cordova-android-plugins/build/
|
|
|
|
# =============================================================================
|
|
# Cache Files (user-specific data)
|
|
# =============================================================================
|
|
backend/cache/
|
|
**/cache/covers/
|
|
**/cache/transcodes/
|
|
|
|
# =============================================================================
|
|
# VPN / Private Configs (NEVER commit these!)
|
|
# =============================================================================
|
|
backend/mullvad/
|
|
**/mullvad/
|
|
*.conf
|
|
**/key.txt
|
|
|
|
# Android signing
|
|
lidify.keystore
|
|
keystore.b64
|
|
.aider*
|
|
|
|
issues/
|
|
plans/ |