Repository navigation
v1.3.0-test
Release v1.3.0-test: README overhaul, env config, Spotify endpoint docs, sources/downloads refactor, and Tauri/cache updates
🚀 Highlights
- Add prominent WIP warning and real-world Usage section to README
- Restore and document Spotify External Token Endpoint (Cloudflare Worker)
- Introduce .env.example and clarify how envs are resolved (AccessEnv + VITE_ overrides)
- Centralize byte size utilities and adopt across UI
- Refactor sources and downloads for better performance and correctness
- Update Tauri cache/playback internals and server routes for reliability
📚 Docs & Setup
- README.md
- Add Work-In-Progress warning and realistic “Usage” flow
- Simplify development/build instructions (Tauri-first)
- Revise Environment Setup to explain AccessEnv resolution order (VITE_* ➜ process.env ➜ defaults)
- Restore Spotify “External Token Endpoint (recommended)” with Worker example and deploy steps
- Add Roadmap updates (proxy settings, modding, richsync perf, custom installs) and long-term multiplatform goals (Windows, Linux, Android)
- .env.example (new)
- Provide SPOTIFY_TOKEN_ENDPOINT, CHARTS_SPOTIFY_ENDPOINT, GENIUS_ENDPOINT and VITE_* overrides
- Include APP_USER_AGENT and SPOTIFY_DEFAULT_MARKET with VITE_* variants
⚙️ Environment Management
- src/core/AccessEnv.tsx (env resolver)
- Support overrides from import.meta.env (VITE_*) and process.env with safe fallbacks
- Keys: SPOTIFY_TOKEN_ENDPOINT, CHARTS_SPOTIFY_ENDPOINT, GENIUS_ENDPOINT, SPOTIFY_DEFAULT_MARKET, APP_USER_AGENT
🎛️ Frontend
- src/components/Utilities/Helpers.tsx
- Add parseByteSizeString and formatBytes; replace ad-hoc size math
- src/components/Utilities/TrackSources.tsx
- Optimize rendering and state management; dedupe inflight checks; improve cache-status flow
- Use shared helpers for sizes; improve file list efficiency and selection logic
- Better download progress handling and cached-state detection
- src/components/RightPanel/Downloads.tsx
- Use shared formatBytes; ensure UI shows track names from DB, not IDs/hashes
- src/components/RightPanel/Queue.tsx, Settings.tsx, styles/*
- Minor UI/UX tweaks and styling adjustments
🧠 Core Logic
- src/core/Downloads.tsx
- Normalize IDs, resolve real track names via DB, and refactor event handlers to reduce duplication
- src/core/SpotifyClient.tsx, src/core/Genius.tsx, src/core/Lyrics.tsx, src/core/Database.tsx
- Targeted fixes and enhancements to metadata fetching and persistence
🖥️ Tauri / Backend
- src-tauri/src/cache.rs, playback.rs, main.rs; Cargo.toml; tauri.conf.json
- Cache and playback robustness improvements and config updates
- server/managers/YtDlpManager.js; server/routes/{youtube,torrent}.js
- Stability and integration updates around YouTube DL and torrent handling
- webpack.server.config.js
- Build pipeline adjustments for server bundle
🧰 Tooling & Infra
- .vscode/tasks.json
- Add tasks for typecheck, server bundle build, Tauri dev/build
- package.json, scripts/update-version.js, .gitignore
- Version bump to 1.3.0-test and small maintenance tweaks
🧩 New Files
- .env.example — environment configuration example
- server/utils/shims/node-datachannel.js — shim for server-side dependencies
⚠️ Notes / Known Limitations
- App is a WIP and may be unstable; source reliability can vary
- Proxy settings and some UX polish are in progress
- Custom installation paths are being hardened to avoid breakage
✅ Summary
This release focuses on real-world setup clarity (README + env), secure metadata access via an external Spotify token endpoint, and meaningful optimizations across sources, downloads, and caching. It also tightens Tauri/backend integration and improves overall reliability while laying groundwork for future multiplatform targets.