My Home Assistant links with spaces get mangled in Android app
The problem
I'm trying to import a blueprint from GitHub in the Android app. It fails to render a preview and does not let me proceed with adding it. Seems to work fine in the web/desktop application. Turns out it's because I get the wrong URL in the app.
The real URL to the blueprint is this: https://github.com/SgtBatten/HA_blueprints/blob/main/Frigate Camera Notifications/Stable The URL I get in the app is this: https://github.com/SgtBatten/HA_blueprints/blob/main/Frigate+Camera+Notifications/Stable
So somewhere along the lines, spaces get converted to +. I'm guessing it's in the Home Assistant app, but I'm not sure. Could be Android's handling of app links too.
What I'm doing:
- Go to https://community.home-assistant.io/t/frigate-mobile-app-notifications-2-0/559732 in a web browser on Android.
- Click on the import link for "Stable" (on Firefox: long-click and select "Open link in external app").
- Click "Open link" when presented in Home Assistant app.
- Inspect the URI in the "Blueprint address" field.
Trying to create a more minimal example, I went to https://my.home-assistant.io/create-link/ and entered https://example.com/foo bar as the URL. That gets translated into https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fexample.com%2Ffoo+bar which clearly has a + between foo and bar. But if I go to https://community.home-assistant.io/t/frigate-mobile-app-notifications-2-0/559732 and copy his link from there the space is URL encoded (%20) so I don't know what to think. :confused:
What version of Home Assistant Core has the issue?
core-2024.5.5
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant Container
Integration causing the issue
My Home Assistant
Link to integration documentation on our website
https://www.home-assistant.io/integrations/my/
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
I only get this error in the logs, but it's clearly because it's using the incorrect URL:
Logger: homeassistant.components.websocket_api.http.connection
Source: components/blueprint/importer.py:168
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 19:31:39 (1 occurrences)
Last logged: 19:31:39
[139673598921152] Error handling message: Unknown error (unknown_error) Andreas LindhΓ© from 10.0.20.36 (Mozilla/5.0 (Linux; Android 14; SM-S911B Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/125.0.6422.82 Mobile Safari/537.36 Home Assistant/2024.4.1-12576 (Android 14; SM-S911B))
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
await func(hass, connection, msg)
File "/usr/src/homeassistant/homeassistant/components/blueprint/websocket_api.py", line 77, in ws_import_blueprint
imported_blueprint = await importer.fetch_blueprint_from_url(hass, msg["url"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/blueprint/importer.py", line 257, in fetch_blueprint_from_url
imported_bp = await func(hass, url)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/blueprint/importer.py", line 168, in fetch_blueprint_from_github_url
resp = await session.get(import_url, raise_for_status=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 696, in _request
resp.raise_for_status()
File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1070, in raise_for_status
raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 404, message='Not Found', url=URL('https://raw.githubusercontent.com/SgtBatten/HA_blueprints/main/Frigate+Camera+Notifications/Stable')
Additional information
I cannot wrap my head around why I get different behavior in Android and on the web. :thinking: Maybe something with how Android handles "open in app"? I've tried to navigate to the link using both Firefox and Chrome on Android and the result is the same, so I'm pretty sure either Android or Home Assistant is at fault here.
Hey there @home-assistant/core, mind taking a look at this issue as it has been labeled with an integration (my) you are listed as a code owner for? Thanks!
Code owner commands
Code owners of my can trigger bot actions by commenting:
@home-assistant closeCloses the issue.@home-assistant rename Awesome new titleRenames the issue.@home-assistant reopenReopen the issue.@home-assistant unassign myRemoves the current integration label and assignees on the issue, add the integration domain after the command.@home-assistant add-label needs-more-informationAdd a label (needs-more-information, problem in dependency, problem in custom component) to the issue.@home-assistant remove-label needs-more-informationRemove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.
(message by CodeOwnersMention)
my documentation my source (message by IssueLinks)
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment π This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Please keep this open!
Hello, just wanted to let you know that there is another issue opened for this bug : https://github.com/home-assistant/my.home-assistant.io/issues/482
Thanks for finding that!
@steverep it seems like my issue is older and with slightly more debug information in the OP, but discussions have progressed further in https://github.com/home-assistant/my.home-assistant.io/issues/482 right now. Should we close my issue and continue there, or do we keep both issues?
It is not clear to me if this is a core issue or not, considering it seems like the spaces in the link changes when handled by the Android app.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment π This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Need to keep this open.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment π This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
I think this is still an issue. But I've not looked in a while, to be honest.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment π This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
I think this is still an issue. But I've not looked in a while, to be honest.
I can confirm, this is still an issue
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment π This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.