From e50802aca3e8e91d933db7a8eaaa382038c061f7 Mon Sep 17 00:00:00 2001 From: Steve Repsher Date: Fri, 19 Jul 2024 04:53:37 -0400 Subject: [PATCH] Add static routes for frontend modern and legacy service workers (#120488) --- homeassistant/components/frontend/__init__.py | 5 ++++- tests/components/frontend/test_init.py | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py index 8fe3a98864b..6b0d69ba99d 100644 --- a/homeassistant/components/frontend/__init__.py +++ b/homeassistant/components/frontend/__init__.py @@ -398,7 +398,10 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: static_paths_configs: list[StaticPathConfig] = [] for path, should_cache in ( - ("service_worker.js", False), + ("sw-modern.js", False), + ("sw-modern.js.map", False), + ("sw-legacy.js", False), + ("sw-legacy.js.map", False), ("robots.txt", False), ("onboarding.html", not is_dev), ("static", not is_dev), diff --git a/tests/components/frontend/test_init.py b/tests/components/frontend/test_init.py index 0856d81e205..5006adedd77 100644 --- a/tests/components/frontend/test_init.py +++ b/tests/components/frontend/test_init.py @@ -174,9 +174,12 @@ async def test_frontend_and_static(mock_http_client: TestClient) -> None: assert "public" in resp.headers.get("cache-control") -async def test_dont_cache_service_worker(mock_http_client: TestClient) -> None: +@pytest.mark.parametrize("sw_url", ["/sw-modern.js", "/sw-legacy.js"]) +async def test_dont_cache_service_worker( + mock_http_client: TestClient, sw_url: str +) -> None: """Test that we don't cache the service worker.""" - resp = await mock_http_client.get("/service_worker.js") + resp = await mock_http_client.get(sw_url) assert resp.status == 200 assert "cache-control" not in resp.headers