Skip to content

v1.3.0-test

Choose a tag to compare

@gottesman gottesman released this 30 Sep 07:39
· 4 commits to tauri since this release

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.