Files
lidify/frontend/package.json
Your Name cc8d0f6969 Release v1.3.0: Multi-source downloads, audio analyzer resilience, mobile improvements
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
2026-01-06 20:07:33 -06:00

49 lines
1.2 KiB
JSON

{
"name": "lidify-frontend",
"version": "1.3.0",
"description": "Lidify web frontend",
"license": "GPL-3.0",
"repository": {
"type": "git",
"url": "https://github.com/Chevron7Locked/lidify.git"
},
"private": true,
"scripts": {
"dev": "next dev -p 3030",
"build": "next build",
"start": "next start -H 0.0.0.0 -p 3030",
"lint": "eslint",
"test:e2e": "playwright test",
"analyze": "ANALYZE=true next build --webpack"
},
"dependencies": {
"@tanstack/react-query": "^5.90.10",
"@tanstack/react-query-devtools": "^5.90.2",
"@types/howler": "^2.2.12",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"framer-motion": "^12.23.26",
"howler": "^2.2.4",
"lucide-react": "^0.552.0",
"next": "^16.0.10",
"qrcode.react": "^4.2.0",
"react": "19.2.0",
"react-dom": "19.2.0",
"recharts": "^3.6.0",
"sonner": "^2.0.7",
"tailwind-merge": "^3.3.1"
},
"devDependencies": {
"@next/bundle-analyzer": "^15.1.3",
"@playwright/test": "^1.57.0",
"@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"eslint": "^9",
"eslint-config-next": "16.0.1",
"tailwindcss": "^4",
"typescript": "^5"
}
}