Commit Graph
2266 Commits
Author SHA1 Message Date
farmioandClaude Opus 5 88e8f04349 Fix compressed Store lookups and corrupt file handling
The store manager caches by filename, so a compressed store asking for
"key.zst" was told the file does not exist whenever only the uncompressed
predecessor was on disk. That short-circuited the load before the fallback
in _load_data_from_disk could run, so enabling compress on an existing
store read as empty on any real start, where the manager is initialized.
Only report "does not exist" when neither filename is on disk.

Rename the file that actually failed to parse when handling corruption.
The compressed path was renamed unconditionally, which raised
FileNotFoundError out of the executor when the uncompressed fallback was
the corrupt one, and named the wrong file in the repair issue.

Preload compressed stores too. Callers only know the plain key, so look
for both spellings before intersecting with the files on disk.

Also invalidate both filenames when writing or removing, since both drop
the uncompressed predecessor, and use a sentinel to tell "no file" apart
from a file holding an empty dict.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 08:01:22 +02:00
farmio 134c8a093a Add optional compression to Store 2026-08-23 07:07:59 +02:00
d315c85a3d Keep caller supplied default headers in async_create_clientsession (#179824)
Co-authored-by: Claude <noreply@anthropic.com>
2026-08-22 10:15:44 -05:00
Erik MontnemeryandGitHub bbea0c5a65 Protect the DeviceRegistry.deleted_devices container (#179720) 2026-08-21 16:36:02 +02:00
Erik MontnemeryandGitHub cde0100c33 Protect the DeviceRegistry.child_devices container (#179713) 2026-08-21 15:54:23 +02:00
Erik MontnemeryandGitHub 48017e6bb3 Protect the DeviceRegistry.devices container (#179578) 2026-08-21 09:50:58 +02:00
Erik MontnemeryandGitHub f1e44ab125 Add parameter include_composite_devices to DeviceRegistry.async_get (#179594) 2026-08-20 13:06:53 +02:00
e456fc5235 Forward service call context to entity in group.set and group.remove (#179538)
Co-authored-by: Claude <noreply@anthropic.com>
2026-08-19 15:28:41 +02:00
Erik MontnemeryandGitHub dbee85c093 Deprecate default_ members in DeviceInfo (#179549) 2026-08-19 13:30:53 +02:00
Erik MontnemeryandGitHub 1c939013d1 Remove the concept of device info types from device registry (#179397) 2026-08-19 12:11:23 +02:00
Josef ZweckandGitHub 74a27d0061 Handle OAuth token refresh failures (#179364) 2026-08-18 22:23:45 +02:00
Franck NijhofandGitHub 1b117651ef Revert "Add Entity.async_get_recent_context helper" (#179496) 2026-08-18 19:18:33 +02:00
3e085fb510 Add Entity.async_get_recent_context helper (#178425)
Co-authored-by: Claude <noreply@anthropic.com>
2026-08-18 17:30:51 +02:00
Erik MontnemeryandGitHub 20c0c6e6a5 Drop redundant aliases in intent tests (#179488) 2026-08-18 16:32:16 +02:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Robert Resch
5bc3a5bb0f Update orjson to 3.12.0 (#179484)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2026-08-18 16:31:13 +02:00
df59ac7d63 Add device_registry.async_get_device_and_config_entry_for_domain (#178991)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2026-08-18 09:36:15 +02:00
Erik MontnemeryandGitHub 3e40016d95 Don't allow setting a main device to disabled by device (#179376) 2026-08-17 14:18:43 +02:00
Erik MontnemeryandGitHub bde8033ae9 Deprecate passing merge_connections / merge_identifers to async_update_device (#178888) 2026-08-17 13:29:32 +02:00
Erik MontnemeryandGitHub e7dad099fd Add backwards compatibility for custom integrations accessing child devices (#179073) 2026-08-13 15:01:36 +02:00
ff9adf380b Simplify collision handling (#179005)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2026-08-13 14:14:13 +02:00
ad96b06be6 Add child devices (#178666)
Co-authored-by: Artur Pragacz <artur@pragacz.com>
2026-08-13 13:53:15 +02:00
Erik MontnemeryandGitHub c369f973ab Deprecate outdated device registry APIs (#178465) 2026-08-08 21:16:44 +02:00
Erik MontnemeryandGitHub 0f75e73081 Migrate tests to specifying via device with via_device_id (#178546) 2026-08-08 18:58:24 +02:00
f5dc5aa9ec Don't allow devices setting the via device link to itself (#178194)
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
2026-08-08 18:05:57 +02:00
e73975f158 Call async_remove_device to remove device in entity registry tests (#178436)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-08-07 15:18:26 +02:00
Erik MontnemeryandGitHub 43618effb8 Migrate calls to async_get_device in tests (part 6) (#178339) 2026-08-07 13:49:00 +02:00
2fd53a990b Require admin for update install, skip and clear skipped actions (#178232)
Co-authored-by: Claude <noreply@anthropic.com>
2026-08-06 04:21:01 -04:00
Paulus SchoutsenandGitHub 5bcb00efb8 Require admin for Z-Wave lock credential services (#177300) 2026-08-05 11:11:19 +02:00
Martin HjelmareandGitHub 05841c28ce Clean naive datetime from config validation tests (#177850) 2026-08-04 14:02:38 +02:00
Robert ReschandGitHub 77e9fe3a35 Enable ruff rule RUF036 (none-not-at-end-of-union) (#177543) 2026-07-29 14:43:38 +02:00
Ngoc N. TranandGitHub 0355339329 Fix UnboundLocalError in state condition with an empty state value (#176634) 2026-07-29 13:41:54 +02:00
Erik MontnemeryandGitHub 2a1c3fe5f7 Migrate integrations to setting via_device_id in DeviceInfo (#177494) 2026-07-29 00:42:49 +02:00
Artur PragaczandGitHub 110106bf2c Add setting to customise entity ID generation (#177140) 2026-07-28 22:45:02 +02:00
Erik MontnemeryandGitHub 57041e71d8 Make entity_platform check entity can attach to device (#177459) 2026-07-28 19:51:01 +02:00
Artur PragaczandGitHub 6e459d8c91 Return None from async_is_composite_device_id for unknown ids (#177473) 2026-07-28 18:18:33 +02:00
Artur PragaczandGitHub 7b9c969f90 Resolve colliding device identifiers and connections (#177192) 2026-07-28 16:32:45 +02:00
Erik MontnemeryandGitHub cba75b8474 Clear Entity.device_entry when entity is detached from device (#177445) 2026-07-28 13:22:32 +02:00
Erik MontnemeryandGitHub 82ca35fd45 Add WS command config/device_registry/list_composite_splits (#176693) 2026-07-28 13:18:16 +02:00
Erik MontnemeryandGitHub 504fddd216 Warn when implicitly moving a device to another subentry (#177034) 2026-07-28 10:29:17 +02:00
Artur PragaczandGitHub db089bf8c3 Validate via_device_id in device registry (#177158) 2026-07-27 18:23:33 +02:00
Erik MontnemeryandGitHub 8c8134ccc8 Adjust helper async_remove_helper_devices (#177006) 2026-07-21 18:06:01 +02:00
Erik MontnemeryandGitHub d33c90eab9 Remove confusing set intersection from device registry restore (#176964) 2026-07-21 12:49:21 +02:00
Erik MontnemeryandGitHub 6d8c190b4b Exempt certain protocol integrations from entity limit (#176973) 2026-07-21 11:54:47 +02:00
Erik MontnemeryandGitHub bed1390eb3 Add device registry method async_get_devices (#176931) 2026-07-21 10:44:44 +02:00
Erik MontnemeryandGitHub 93ab89851f Add explicit methods for composite devices (#176923) 2026-07-21 09:37:52 +02:00
Allen PorterandGitHub f5093afa58 Fix voluptuous schema conversion of custom callables (#176814) 2026-07-20 20:49:06 +02:00
Erik MontnemeryandGitHub 16d7c56637 Simplify async_remove_helper_devices (#176919) 2026-07-20 19:36:36 +02:00
Erik MontnemeryandGitHub 23d051d694 Migrate template helper to new device cleanup helper (#176900) 2026-07-20 17:40:03 +02:00
Erik MontnemeryandGitHub e11bf3f5c5 Validate disabled_by flag in async_update_device (#176681) 2026-07-20 15:54:51 +02:00
Erik MontnemeryandGitHub 1471ce2aff Deprecate helpers async_remove_stale_devices_links_* (#176881) 2026-07-20 15:28:12 +02:00