Skip to content

Commit ae31e94

Browse files
committed
Merge tag 'refs/tags/2025.04.0'
2 parents b271c6d + 59a7e95 commit ae31e94

File tree

3,751 files changed

+4884
-4253
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,751 files changed

+4884
-4253
lines changed

.ha-frontend-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20250221.0
1+
20250401.0

requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
aiodns==3.2.0
2-
aiohttp==3.11.14
2+
aiohttp==3.11.16
33
atomicwrites-homeassistant==1.4.1
44
attrs==25.3.0
55
awesomeversion==24.6.0
@@ -23,9 +23,9 @@ pyudev==0.24.3
2323
PyYAML==6.0.2
2424
requests==2.32.3
2525
securetar==2025.2.1
26-
sentry-sdk==2.24.1
26+
sentry-sdk==2.25.1
2727
setuptools==78.1.0
2828
voluptuous==0.15.2
29-
dbus-fast==2.43.0
30-
typing_extensions==4.12.2
29+
dbus-fast==2.44.1
30+
typing_extensions==4.13.1
3131
zlib-fast==0.2.1

requirements_tests.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
astroid==3.3.9
2-
coverage==7.7.1
2+
coverage==7.8.0
33
pre-commit==4.2.0
44
pylint==3.3.6
55
pytest-aiohttp==1.1.0
66
pytest-asyncio==0.25.2
7-
pytest-cov==6.0.0
7+
pytest-cov==6.1.1
88
pytest-timeout==2.3.1
99
pytest==8.3.5
10-
ruff==0.11.2
10+
ruff==0.11.4
1111
time-machine==2.16.0
12-
typing_extensions==4.12.2
12+
typing_extensions==4.13.1
1313
urllib3==2.3.0

supervisor/api/backups.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
ATTR_LOCATION,
3737
ATTR_NAME,
3838
ATTR_PASSWORD,
39-
ATTR_PATH,
4039
ATTR_PROTECTED,
4140
ATTR_REPOSITORIES,
4241
ATTR_SIZE,
@@ -156,8 +155,8 @@ def _make_location_attributes(self, backup: Backup) -> dict[str, dict[str, Any]]
156155
"""Make location attributes dictionary."""
157156
return {
158157
loc if loc else LOCATION_LOCAL: {
159-
ATTR_PROTECTED: backup.all_locations[loc][ATTR_PROTECTED],
160-
ATTR_SIZE_BYTES: backup.all_locations[loc][ATTR_SIZE_BYTES],
158+
ATTR_PROTECTED: backup.all_locations[loc].protected,
159+
ATTR_SIZE_BYTES: backup.all_locations[loc].size_bytes,
161160
}
162161
for loc in backup.locations
163162
}
@@ -262,7 +261,7 @@ async def backup_info(self, request):
262261
def _location_to_mount(self, location: str | None) -> LOCATION_TYPE:
263262
"""Convert a single location to a mount if possible."""
264263
if not location or location == LOCATION_CLOUD_BACKUP:
265-
return location
264+
return cast(LOCATION_TYPE, location)
266265

267266
mount = self.sys_mounts.get(location)
268267
if mount.usage != MountUsage.BACKUP:
@@ -474,7 +473,7 @@ async def download(self, request: web.Request):
474473
raise APIError(f"Backup {backup.slug} is not in location {location}")
475474

476475
_LOGGER.info("Downloading backup %s", backup.slug)
477-
filename = backup.all_locations[location][ATTR_PATH]
476+
filename = backup.all_locations[location].path
478477
# If the file is missing, return 404 and trigger reload of location
479478
if not await self.sys_run_in_executor(filename.is_file):
480479
self.sys_create_task(self.sys_backups.reload(location))
@@ -512,7 +511,7 @@ async def upload(self, request: web.Request):
512511
location = locations.pop(0)
513512

514513
if location and location != LOCATION_CLOUD_BACKUP:
515-
tmp_path = cast(Mount, location).local_where or tmp_path
514+
tmp_path = cast(Mount, location).local_where
516515

517516
filename: str | None = None
518517
if ATTR_FILENAME in request.query:

supervisor/api/ingress.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ async def handler(
154154

155155
# Process requests
156156
addon = self._extract_addon(request)
157-
path = request.match_info["path"]
157+
path = request.match_info.get("path", "")
158158
session_data = self.sys_ingress.get_session_data(session)
159159
try:
160160
# Websocket
@@ -279,7 +279,7 @@ async def _handle_request(
279279
try:
280280
response.headers["X-Accel-Buffering"] = "no"
281281
await response.prepare(request)
282-
async for data in result.content.iter_chunked(4096):
282+
async for data, _ in result.content.iter_chunks():
283283
await response.write(data)
284284

285285
except (

supervisor/api/os.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,11 @@ async def boards_other_info(self, request: web.Request) -> dict[str, Any]:
228228
@api_process
229229
async def config_swap_info(self, request: web.Request) -> dict[str, Any]:
230230
"""Get swap settings."""
231-
if not self.coresys.os.available or self.coresys.os.version < "15.0":
231+
if (
232+
not self.coresys.os.available
233+
or not self.coresys.os.version
234+
or self.coresys.os.version < "15.0"
235+
):
232236
raise APINotFound(
233237
"Home Assistant OS 15.0 or newer required for swap settings"
234238
)
@@ -241,7 +245,11 @@ async def config_swap_info(self, request: web.Request) -> dict[str, Any]:
241245
@api_process
242246
async def config_swap_options(self, request: web.Request) -> None:
243247
"""Update swap settings."""
244-
if not self.coresys.os.available or self.coresys.os.version < "15.0":
248+
if (
249+
not self.coresys.os.available
250+
or not self.coresys.os.version
251+
or self.coresys.os.version < "15.0"
252+
):
245253
raise APINotFound(
246254
"Home Assistant OS 15.0 or newer required for swap settings"
247255
)

supervisor/api/panel/entrypoint.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

supervisor/api/panel/entrypoint.js.br

0 Bytes
Binary file not shown.

supervisor/api/panel/entrypoint.js.gz

2 Bytes
Binary file not shown.

supervisor/api/panel/frontend_es5/1081.91949d686e61cc12.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.
Binary file not shown.

supervisor/api/panel/frontend_es5/1081.91949d686e61cc12.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)