From 31fb02a71d2295feacc7a4cedb5ef4678c4cbd0f Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 23 Mar 2024 00:21:56 -1000 Subject: [PATCH] Fix after deps not being considered for integrations before stage 1 (#114045) --- homeassistant/bootstrap.py | 8 ++++++++ tests/test_bootstrap.py | 2 ++ 2 files changed, 10 insertions(+) diff --git a/homeassistant/bootstrap.py b/homeassistant/bootstrap.py index cc15b03bcc0..cd6082d6abc 100644 --- a/homeassistant/bootstrap.py +++ b/homeassistant/bootstrap.py @@ -886,6 +886,14 @@ async def _async_set_up_integrations( if domain_group: stage_2_domains -= domain_group _LOGGER.info("Setting up %s: %s", name, domain_group) + to_be_loaded = domain_group.copy() + to_be_loaded.update( + dep + for domain in domain_group + if (integration := integration_cache.get(domain)) is not None + for dep in integration.all_dependencies + ) + async_set_domains_to_be_loaded(hass, to_be_loaded) await async_setup_multi_components(hass, domain_group, config) # Enables after dependencies when setting up stage 1 domains diff --git a/tests/test_bootstrap.py b/tests/test_bootstrap.py index eec24a69344..a4453849b5e 100644 --- a/tests/test_bootstrap.py +++ b/tests/test_bootstrap.py @@ -379,6 +379,8 @@ async def test_setup_frontend_before_recorder(hass: HomeAssistant) -> None: assert "frontend" in hass.config.components assert "normal_integration" in hass.config.components assert "recorder" in hass.config.components + assert "http" in hass.config.components + assert order == [ "http", "frontend",