v0.2.0 — Bug fixes & UX improvements
What's changed
Bug fixes
- Eliminated double HTTP request per toggle/tick —
_get_current_targetnow accepts pre-fetched API data, halving API load and removing a race condition - Settings no longer written to disk on every tick — initialisation moved to
on_ready, plain read-only access on polling cycles - Descriptive errors for API schema mismatches — deep JSON path access now catches
KeyErrorand reports the missing key with a helpful message - "Configure" state on first run — button shows
— Configureinstead ofERRuntil master/speaker/headphone names are set - Icon selection uses consistent matching —
refresh_statenow uses_match_text(case-insensitive substring) instead of raw equality comparisons
UI / UX
- Removed dead poll-interval row from the config UI — it was visible but had no effect
- Config subtitles are now English — were previously German while titles were English
CI
- Ruff lint job added to the GitHub Actions workflow; runs on every push to
mainand must pass before a release ZIP is built
Upgrading from 0.1.1
No manual migration needed. On first launch after update the plugin will show "Configure" if your device names are not yet stored — simply open the action settings and confirm them once.