-
-
Notifications
You must be signed in to change notification settings - Fork 29.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Spotify Media Browsing fails for new config entries #124368
Conversation
Hey there @frenck, @joostlek, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh damn, you actually followed up on it. I didn't find the time yet to look into this issue. Thanks for helping out here. I do have some comments and I think the tests could have some improvements, but I'm also planning to replace Spotipy with a new library, so that would also refactor tests, so I'm not too worried about them. Thanks
"id": "32oesphrnacjcf7vw5bf6odx3oiu", | ||
"name": "spotify_account_1", | ||
}, | ||
unique_id="84fce612f5b8", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh man, i can even recognise the AirGradient mac address now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lol! That is where I swiped this from. First one in search list.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea I've been working on that integration for a while and I've been recommending the test setup to a lot of people
with patch( | ||
"homeassistant.components.spotify.OAuth2Session.async_ensure_token_valid" | ||
): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should not patch this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wasn't sure what to do to avoid it trying to auth.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably stuff like freezing time
|
Sounds good, had some time to help move forward. |
* dev: (642 commits) Improve config flow type hints (part 4) (home-assistant#124348) Improve config flow type hints (part 1) (home-assistant#124343) Add tests for Bring integration (home-assistant#123087) Add DROP Alert product support (home-assistant#117867) update ttn_client - fix crash with SenseCAP devices (home-assistant#124370) Add Aranet Radon Plus support (home-assistant#124197) Fix Spotify Media Browsing fails for new config entries (home-assistant#124368) Convert Bang & Olufsen testing logging patches to caplog (home-assistant#124366) Remove unneeded check for Bang & Olufsen events and device update (home-assistant#124363) Bump async-interrupt to 1.2.0 (home-assistant#124360) Rename OpenThermGatewayDevice to OpenThermGatewayHub (home-assistant#124361) Fix Weatherflow Cloud lightning (home-assistant#124082) Change POWER_VOLT_AMPERE_REACTIVE to UnitOfReactivePower (home-assistant#117153) Disable Habitica deprecated entities by default (home-assistant#123522) Add test cases for ViCare entities (home-assistant#122983) Add tests for IronOS integration (home-assistant#123078) Fix state name for binary_sensor Power from clear/detected to on/off (home-assistant#116994) Extend blebox shutterbox tilt support (home-assistant#110547) blebox: use blebox_uniapi.cover.BleboxCoverState enum members instead of plain integers (home-assistant#124302) Add custom panel for LCN configuration (home-assistant#108664) ...
Proposed change
Users are unable to create new Spotify integration entries and browse media. This issue started occurring in 2024.7.x. This change addresses the issue and provides tests for browsing media.
Root cause: New config entries have uppercase entry_ids; while older config entries use lower case entry ids. The browsing code extracts the entry_id from the host part of the media-content-id (a URL spotify://{entry_id} ). The extraction is performed by "yarl" and yarl always translates host names to lower case. So even though the media-content-id would contain the upper case entry id; yarl returns it in lower case and the integration fails to find the entry_id.
Type of change
Additional information
Checklist
ruff format homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
.To help with the load of incoming pull requests: