This repository was archived by the owner on Jul 6, 2026. It is now read-only.
What's Changed
Security
- CORS restricted from wildcard
*tohttp://127.0.0.1 - Mutex poisoning resilience via
safe_lock()across all Rust code SystemTime::unwrap()→unwrap_or_default()for safety- Action throttling (500ms) to prevent API request spam
Reliability
ascii-art/missing directory now raises clearImportErrortrack_changed()split intois_new_track()+mark_track_seen()(no more side effects)- API server tries ports 18899→18901 instead of hard fail
- 13 bare
except: passreplaced with stderr logging - API retries exhausted now raises
ConnectionErrorinstead of silentNone
Code Quality
- Version synced to 0.5.0 across Python / Cargo.toml / package.json
- Removed dead code, redundant imports, misleading comments
logout()refactored to@staticmethod clear_tokens()requirements.txtcompleted withpywebview+pyobjc
Polish
- Frontend art cache capped at 20 entries (prevents memory leak)
- HTML entity escaping completed (added
') setup.shwarns whenascii-art/directory is missing
Install
Download Spottt.dmg, open it, drag to Applications.
Set SPOTIFY_CLIENT_ID env var or add to ~/.config/spottt/config.json.
🤖 Generated with Claude Code