- Restructure conftest to try real Qt first, fall back to stubs
only if that fails — ensures try/except guards in player.py and
gui.py are exercised in CI, improving new_coverage
- Add tests for _migrate_legacy error paths (JSONDecodeError,
OSError, db migration) — config.py now 100% covered
- Add tests for _disconnect, _send_presence exception handlers —
discord_rpc.py now 97% covered
- Add tests for _cleanup_path and _tmp_dir helpers — player.py
coverage bumped to 33%