Compare commits

..

60 Commits

Author SHA1 Message Date
Mike Degatano
0786e06eb9 Re-add typeerror handling to format message 2025-03-01 15:52:29 +00:00
Mike Degatano
5b18fb6b12 No executor task in sentry call when not initialized (#5703) 2025-03-01 10:46:11 -05:00
Stefan Agner
d42ec12ae8 Fix cloning of add-on store repository (#5701)
* Fix cloning of add-on store repository

Since #5669, the add-on store reset no longer deletes the root
directory. However, if the root directory is not present, the current
code no longer invokes cloning, instead tries to load the git
repository directly.

With this change, the code clones whenever there is no .git directory,
which works for both cases.

* Fix pytest
2025-03-01 16:17:07 +01:00
Mike Degatano
86133f8ecd Move read_text to executor (#5688)
* Move read_text to executor

* Fix issues found by coderabbit

* formated to formatted

* switch to async_capture_exception

* Find and replace got one too many

* Update patch mock to async_capture_exception

* Drop Sentry capture from format_message

The error handling got introduced in #2052, however, #2100 essentially
makes sure there will never be a byte object passed to this function.
And even if, the Sentry aiohttp plug-in will properly catch such an
exception.

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2025-03-01 16:02:43 +01:00
Stefan Agner
12c951f62d Fix tests in devcontainer by removing resolution center (#5702)
Since #5696 we don't need to load the resolution center early. In fact,
with #5686 this is even problematic for pytests in devcontainer, since
the Supervisor Core state is valid and this causes AppArmor evaluations
to run (and fail).

Actually, #5696 removed the resolution center. #5686 brought it
accidentally back. This was seemingly a merge error.
2025-03-01 16:00:49 +01:00
Stefan Agner
fcb3e2eb55 Update Supervisor bug form (#5700)
Update Supervisor bug form to reflect today's naming in the frontend.
2025-03-01 13:06:44 +01:00
Stefan Agner
176e511180 Capture warnings and report to sentry (#5697)
By default, warnings are simply printed to stderr. This makes them
easy to miss in the log. Capture warnings and user Python logger to log
them with warning level.

Also, if the message is an instance of Exception (which it typically
is), report the warning to Sentry. This is e.g. useful for asyncio
RuntimeWarning warnings "coroutine was never awaited".
2025-02-28 21:28:40 +01:00
Stefan Agner
696dcf6149 Initialize Supervisor Core state in constructor (#5686)
* Initialize Supervisor Core state in constructor

Make sure the Supervisor Core state is set to a value early on. This
makes sure that the state is always of type CoreState, and makes sure
that any use of the state can rely on it being an actual value from the
CoreState enum.

This fixes Sentry filter during early startup, where the state
previously was None. Because of that, the Sentry filter tried to
collect more Context, which lead to an exception and not reporting
errors.

* Fix pytest

It seems that with initializing the state early, the pytest actually
runs a system evaluation with:
Starting system evaluation with state initialize

Before it did that with:
Starting system evaluation with state None

It detects that the container runs as privileged, and declares the
system as unhealthy.

It is unclear to me why coresys.core.healthy was checked in this
context, it doesn't seem useful. Just remove the check, and validate
the state through the getter instead.

* Update supervisor/core.py

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Make sure Supervisor container is privileged in pytest

With the Supervisor Core state being valid now, some evaluations
now actually run when loading the resolution center. This leads to
Supervisor getting declared unhealthy due to not running in a privileged
container under pytest.

Fake the host container to be privileged to make evaluations not
causing the system to be declared unhealthy under pytest.

* Avoid writing actual Supervisor run state file

With the Supervisor Core state being valid from the very start, we end
up writing a state everytime.

Instead of actually writing a state file, simply validate the the
necessary calls are being made. This is more conform to typical unit
tests and avoids writing a file for every test.

* Extend WebSocket client fixture and use it consistently

Extend the ha_ws_client WebSocket client fixture to set Supervisor Core
into run state and clear all pending messages.

Currently only some tests use the ha_ws_client WebSocket client fixture.
Use it consistently for all tests.

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-28 18:01:55 +01:00
Stefan Agner
8030b346e0 Load resolution evaluation, check and fixups early (#5696)
* Load resolution evaluation, check and fixups early

Before #5652, these modules were loaded in the constructor, hence early
in `initialize_coresys()`. Moving them late actually exposed an issue
where NetworkManager connectivity setter couldn't get the
`connectivity_check` evaluation, leading to an exception early in
bootstrap.

Technically, it might be safe to load the resolution modules only in
`Core.connect()`, however then we'd have to load them separately for
pytest. Let's go conservative and load them the same place where they
got loaded before #5652.

* Load resolution modules in a single executor call

* Fix pytest
2025-02-28 16:59:22 +01:00
Stefan Agner
53d97ce0c6 Improve plug-in update error message (#5695)
The current error message does not share any information about the
underlying problem why updating failed. Print the error to the logs.
2025-02-28 09:34:35 -05:00
Stefan Agner
77523f7bec Avoid space in update link of frontend update PR (#5694)
A newline is converted to a space as per YAML folding rules. The space
breaks markdown parsing of the link. Use a single line for the target
version link.
2025-02-28 13:13:11 +01:00
Stefan Agner
f4d69f1811 Make advanced logs error test work in all test environments (#5692)
When developing/testing in a Supervised environment, the
systemd-journal-gatewayd socket is actually available. Mock the
socket Path file to make the test independent of the pytest
environment.
2025-02-28 12:59:20 +01:00
Stefan Agner
cf5a0dc548 Add body with update information to frontend update prs (#5691)
Overwrite the default body with useful version update information and
a link to the new release.

Also rename the title and use lower caps for local shell variables.
2025-02-28 11:57:30 +01:00
dependabot[bot]
a8cc3ae6ef Bump actions/cache from 4.2.1 to 4.2.2 (#5690)
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-28 10:21:43 +01:00
Stefan Agner
362bd8fd21 Enable Sentry asyncio integration (#5685)
Enable the Sentry asyncio integration. This makes sure that exception
in non-awaited tasks get reported to sentry.

While at it, use partial instead of lambda for the filter function.
2025-02-28 09:57:11 +01:00
Mike Degatano
2274de969f File open calls to executor (#5678) 2025-02-28 09:56:59 +01:00
dependabot[bot]
dfed251c7a Bump ruff from 0.9.7 to 0.9.8 (#5689)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.7 to 0.9.8.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.7...0.9.8)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-28 09:33:00 +01:00
Mike Degatano
151d4bdd73 Temporary directory to executor (#5673)
* Move temporary directory usage to executor

* Use temp_folder.name in Path constructor
2025-02-27 17:58:55 +01:00
Stefan Agner
c5d4ebcd48 Correctly handle aiohttp requests in Sentry reporting (#5681)
* Correctly handle aiohttp requests

The request header seems to be a dictionary in current Sentry SDK.
The previous code actually failed with an exception when trying to
unpack the header. However, it seems that Exceptions are not handled
or printed in this filter function, so those issues were simply
swallowed.

The new code has been tested to correctly sanitize and report issues
during aiohttp requests.

* Fix pytests
2025-02-27 15:54:51 +01:00
Stefan Agner
0ad559adcd Add more context to Sentry reports early during startup (#5682)
* Initialize machine information before Sentry

* Set user and machine for all reports

Now that we initialize machine earlier we can report user and machine
for all events, even before Supervisor is completely initialized.

Also use the new tag format which is a dictionary.

Note that it seems that with the current Sentry SDK version the
AioHttpIntegration no longer sets the URL as a tag. So sanitation is
no longer reuqired.

* Update pytests
2025-02-27 15:45:11 +01:00
Stefan Agner
39f5b91f12 Use await for all FileConfiguration calls (#5683)
Some calls got missed in PR #5652. Update all calls to await the
save_data() coroutine.
2025-02-27 15:38:57 +01:00
dependabot[bot]
ddee79d209 Bump codecov/codecov-action from 5.3.1 to 5.4.0 (#5680)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v5.3.1...v5.4.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-27 09:04:24 +01:00
dependabot[bot]
ff111253d5 Bump setuptools from 75.8.1 to 75.8.2 (#5679)
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.8.1 to 75.8.2.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v75.8.1...v75.8.2)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-27 09:04:03 +01:00
Mike Degatano
31193abb7b FileConfiguration uses executor for I/O (#5652)
* FileConfiguration uses executor for I/O

* Fix credentials tests

* Remove migrate_system_env as its very deprecated
2025-02-26 19:11:11 +01:00
Stefan Agner
ae266e1692 Improve Supervisor restart detection message (#5672)
The word "reboot" is usually used when a operating system is restarted.
The current log message could be interpreted that the Supervisor
detected an operating system reboot.

Use restart to make it clear that the Supervisor detected a restart of
itself.
2025-02-26 13:10:40 -05:00
dependabot[bot]
c315a15816 Bump securetar from 2025.2.0 to 2025.2.1 (#5671)
* Bump securetar from 2025.2.0 to 2025.2.1

Bumps [securetar](https://github.com/pvizeli/securetar) from 2025.2.0 to 2025.2.1.
- [Release notes](https://github.com/pvizeli/securetar/releases)
- [Commits](https://github.com/pvizeli/securetar/compare/2025.2.0...2025.2.1)

---
updated-dependencies:
- dependency-name: securetar
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Handle new AddFileError where atomic_contents_add is used

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Stefan Agner <stefan@agner.ch>
2025-02-26 09:30:22 -05:00
dependabot[bot]
3bd732147c Bump actions/download-artifact from 4.1.8 to 4.1.9 (#5675)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-26 08:51:39 +01:00
dependabot[bot]
ddbde93a6d Bump setuptools from 75.8.0 to 75.8.1 (#5676)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-26 08:51:16 +01:00
dependabot[bot]
6db11a8ade Bump home-assistant/builder from 2024.08.2 to 2025.02.0 (#5674)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-26 08:46:38 +01:00
Stefan Agner
42e78408a7 Fix add-on store reset (#5669)
Make sure that add-on store resets do not delete the root folder. This
is important so that successive reset attempts do not fail (the
directory passed to `remove_folder` must exist, otherwise find fails
with an non-zero exit code).

While at it, handle find errors properly and report errors as critical.
2025-02-25 17:11:34 +01:00
Stefan Agner
15e8940c7f Improve D-Bus timeout error handling (#5664)
* Improve D-Bus timeout error handling

Typically D-Bus timeouts are related to systemd activation timing out
after 25s. The current dbus-fast timeout of 10s is well below that
so we never get the actual D-Bus error. This increases the dbus-fast
timeout to 30s, which will make sure we wait long enought to get the
actual D-Bus error from the broker.

Note that this should not slow down a typical system, since we tried
three times each waiting for 10s. With the new error handling typically
we'll end up waiting 25s and then receive the actual D-Bus error. There
is no point in waiting for multiple D-Bus/systemd caused timeouts.

* Create D-Bus TimedOut exception
2025-02-25 17:11:23 +01:00
dependabot[bot]
644ec45ded Bump aiohttp from 3.11.12 to 3.11.13 (#5665)
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-25 12:02:45 +01:00
Stefan Agner
a8d2743f56 Define CPU architecture to fix armhf builds (#5670) 2025-02-25 11:36:35 +01:00
dependabot[bot]
0acef4a6e6 Bump dbus-fast from 2.33.0 to 2.34.0 (#5666)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-25 09:15:24 +01:00
Stefan Agner
5733db94aa Revert "Fix add-on store reset"
This reverts commit da8c6cf111.
2025-02-25 09:10:27 +01:00
Stefan Agner
da8c6cf111 Fix add-on store reset
Make sure that add-on store resets do not delete the root folder. This
is important so that successive reset attempts do not fail (the
directory passed to `remove_folder` must exist, otherwise find fails
with an non-zero exit code).

While at it, handle find errors properly and report errors as critical.
2025-02-25 09:02:09 +01:00
Stefan Agner
802ee25a8b Build Python wheels for Python 3.13 (#5667) 2025-02-25 08:48:07 +01:00
Stefan Agner
ce8b107f1e Handle OS errors on backup create (#5662)
* Handle permission error on backup create

Make sure we handle (write) permission errors when creating a backup.

* Introduce BackupFileExistError and BackupPermissionError exceptions

* Make error messages a bit more uniform

* Drop use of exclusive mode

SecureTar does not handle exclusive mode nicely. Drop use of it for now.
2025-02-24 21:34:23 +01:00
Stefan Agner
32936e5de0 Handle non-zero subprocess exits (#5660)
With PR #5634 (which had the goal to remove I/O in event loop for backup
operations) the semantics of `remove_folder` changed slightly: Non-zero
exits of subprocesses were no longer handled, but lead to a
CalledProcessError.

Now to restore the semantics of `remove_folder` we should simply log an
error. However, this semantic change actually uncovered a potential
problem in deployed systems: There are 34 users on beta channel which
regularly seem to run `FixupStoreExecuteReset`, and with the semantic
change we see those errors in Sentry.

An obvious problem could be no storage. But in a quick test that would
not execute the repair in first place since the fixup has the job
condition `FREE_SPACE` set. So the problem is likely elsewhere.

With this change, we log the stderr of find, while still raising the
exception. With that we should get more context in Sentry to see what
could be the underlying error.
2025-02-24 12:30:39 +01:00
dependabot[bot]
c35746c3e1 Bump actions/upload-artifact from 4.6.0 to 4.6.1 (#5659) 2025-02-24 08:33:31 +01:00
dependabot[bot]
392dd9f904 Bump zlib-fast from 0.2.0 to 0.2.1 (#5658) 2025-02-24 08:31:37 +01:00
github-actions[bot]
d8f792950b Autoupdate frontend to version 20250221.0 (#5616)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-22 21:44:20 +01:00
dependabot[bot]
1f6cdc3018 Bump sigstore/cosign-installer from 3.8.0 to 3.8.1 (#5654)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-21 19:36:11 +01:00
dependabot[bot]
616f1903b7 Bump ruff from 0.9.6 to 0.9.7 (#5653) 2025-02-21 14:50:51 +01:00
Stefan Agner
997a51fc42 Remove I/O in event loop for add-on backup and restore (#5649)
* Remove I/O in event loop for add-on backup and restore

Remove I/O in event loop for add-on backup and restore operations. On
backup, this moves the add-on shutdown before metadata is stored in the
backup, which slightly lenghens the time the add-on is actually stopped.

However, the biggest contributor here is likely adding the image
itself if it is a local backup. However, since that is the minority of
cases, I've opted for simplicity over optimizing for this case.

* Use partial to explicitly bind arguments
2025-02-21 00:24:36 +01:00
dependabot[bot]
cda6325be4 Bump actions/cache from 4.2.0 to 4.2.1 (#5650) 2025-02-20 09:07:48 +01:00
Stefan Agner
c8cc6fe003 Remove I/O in event loop for Home Assistant Core backup (#5648)
* Remove I/O in event loop for Home Assistant Core backup

The Home Assistant Core backup still contains some I/O in the event
loop. Move all I/O into the executor.

* Update supervisor/homeassistant/module.py

Co-authored-by: Mike Degatano <michael.degatano@gmail.com>

---------

Co-authored-by: Mike Degatano <michael.degatano@gmail.com>
2025-02-19 20:11:37 +01:00
Stefan Agner
34939cfe52 Remove I/O in event loop for backup load, import and remove (#5647)
* Avoid IO in event loop when removing backup

* Refactor backup size calculation

Currently size is lazy loaded when required via properties. This
however is blocking the async event loop.

Backup sizes don't change. Instead of lazy loading the size of a backup
simply determine it on loading/after creation.

* Fix tests for backup size change

* Avoid IO in event loop when loading backups

* Avoid IO in event loop when importing a backup
2025-02-19 16:00:17 +01:00
Stefan Agner
37bc703bbb Disable uv cache when creating container image (#5646)
We don't intent to run uv again, so the cache is not really useful.
The cache directory size is around 80MB, however, the files are mostly
hardlinks to the original files in `/usr/local/lib/python3.13/site-packages`
so the actual saving is much smaller.
2025-02-19 10:45:22 +01:00
Stefan Agner
5f8e41b441 Capture errors correctly while copying backups (#5644)
Make sure we correctly capture errors while copying backups by using
the current job instance.
2025-02-19 09:12:36 +01:00
Stefan Agner
606db3585c Remove I/O in event loop for backup create and restore operations (#5634)
* Remove I/O from backup create() function

* Move mount check into exectutor thread

* Remove I/O from backup open() function

* Remove I/O from _folder_save()

* Refactor remove_folder and remove_folder_with_excludes

Make remove_folder and remove_folder_with_excludes synchronous
functions which need to be run in an executor thread to be safely used
in asyncio. This makes them better composable with other I/O operations
like checking for file existence etc.

* Fix logger typo

* Use return values for functions running in an exectutor

* Move location check into a separate function

* Fix extract
2025-02-18 20:59:09 +01:00
Robert Resch
4054749eb2 Use uv to install supervisor (#5642) 2025-02-18 14:54:23 -05:00
Robert Resch
ad5827d33f Bump uv to 0.6.1 (#5641)
* Bump uv to 0.6.0

* Bump uv to 0.6.1
2025-02-18 19:26:36 +01:00
Jan Čermák
249464e928 Generate Python bytecode for site-packages during build (#5640)
Since transition from pip to uv in #5152, Supervisor container doesn't
contain bytecode for site-packages anymore, and because our AppArmor
profile denies mkdir operations, the compiled *.pyc files are never
created. Enable uv --compile option to opt for the same behavior as pip
had, to fix of the AA errors and the potential penalty of compilation on
every import.
2025-02-18 18:44:37 +01:00
dependabot[bot]
3bc55c054a Bump sentry-sdk from 2.21.0 to 2.22.0 (#5638)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.21.0 to 2.22.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.21.0...2.22.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-18 12:28:17 +01:00
Stefan Agner
4c108eea64 Always validate Backup before restoring (#5632)
* Validate Backup always before restoring

Since #5519 we check the encryption password early in restore case.
This has the side effect that we check the file existance early too.
However, in the non-encryption case, the file is not checked early.

This PR changes the behavior to always validate the backup file before
restoring, ensuring both encryption and non-encryption cases are
handled consistently.

In particular, the last case of test_restore_immediate_errors actually
validates that behavior. That test should actually have failed so far.
But it seems that because we validate the backup shortly after freeze
anyways, the exception still got raised early enough.

A simply `await asyncio.sleep(10)` right after the freeze makes the
test case fail. With this change, the test works consistently.

* Address pylint

* Fix backup_manager tests

* Drop warning message
2025-02-14 18:19:35 +01:00
Stefan Agner
9b2dbd634d Avoid exception when handling closed WebSocket connection (#5630)
When delivering multiple messages to Core, and the first fails with a
connection error, the second message will also fail with the same error.
But at this point the connection is already clsoed, which leads to an
exception in the exception handler. Avoid this compunding error by
checking if the connection is still exists before trying to close.

Fixes: #5629
2025-02-14 13:12:56 +01:00
dependabot[bot]
2cb2a48184 Bump securetar from 2025.1.4 to 2025.2.0 (#5628)
Bumps [securetar](https://github.com/pvizeli/securetar) from 2025.1.4 to 2025.2.0.
- [Release notes](https://github.com/pvizeli/securetar/releases)
- [Commits](https://github.com/pvizeli/securetar/compare/2025.1.4...2025.2.0)

---
updated-dependencies:
- dependency-name: securetar
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-14 11:05:21 +01:00
dependabot[bot]
ed5a0b511e Bump sentry-sdk from 2.20.0 to 2.21.0 (#5625)
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.20.0 to 2.21.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.20.0...2.21.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-13 10:32:49 +01:00
dependabot[bot]
1475dcb50b Bump cryptography from 44.0.0 to 44.0.1 (#5621)
Bumps [cryptography](https://github.com/pyca/cryptography) from 44.0.0 to 44.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/44.0.0...44.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-02-12 13:43:01 +01:00
696 changed files with 2044 additions and 1569 deletions

View File

@@ -26,7 +26,7 @@ body:
attributes: attributes:
label: What type of installation are you running? label: What type of installation are you running?
description: > description: >
If you don't know, can be found in [Settings -> System -> Repairs -> System Information](https://my.home-assistant.io/redirect/system_health/). If you don't know, can be found in [Settings -> System -> Repairs -> (three dot menu) -> System Information](https://my.home-assistant.io/redirect/system_health/).
It is listed as the `Installation Type` value. It is listed as the `Installation Type` value.
options: options:
- Home Assistant OS - Home Assistant OS
@@ -72,9 +72,9 @@ body:
validations: validations:
required: true required: true
attributes: attributes:
label: System Health information label: System information
description: > description: >
System Health information can be found in the top right menu in [Settings -> System -> Repairs](https://my.home-assistant.io/redirect/repairs/). The System information can be found in [Settings -> System -> Repairs -> (three dot menu) -> System Information](https://my.home-assistant.io/redirect/system_health/).
Click the copy button at the bottom of the pop-up and paste it here. Click the copy button at the bottom of the pop-up and paste it here.
[![Open your Home Assistant instance and show health information about your system.](https://my.home-assistant.io/badges/system_health.svg)](https://my.home-assistant.io/redirect/system_health/) [![Open your Home Assistant instance and show health information about your system.](https://my.home-assistant.io/badges/system_health.svg)](https://my.home-assistant.io/redirect/system_health/)
@@ -83,8 +83,9 @@ body:
label: Supervisor diagnostics label: Supervisor diagnostics
placeholder: "drag-and-drop the diagnostics data file here (do not copy-and-paste the content)" placeholder: "drag-and-drop the diagnostics data file here (do not copy-and-paste the content)"
description: >- description: >-
Supervisor diagnostics can be found in [Settings -> Integrations](https://my.home-assistant.io/redirect/integrations/). Supervisor diagnostics can be found in [Settings -> Devices & services](https://my.home-assistant.io/redirect/integrations/).
Find the card that says `Home Assistant Supervisor`, open its menu and select 'Download diagnostics'. Find the card that says `Home Assistant Supervisor`, open it, and select the three dot menu of the Supervisor integration entry
and select 'Download diagnostics'.
**Please drag-and-drop the downloaded file into the textbox below. Do not copy and paste its contents.** **Please drag-and-drop the downloaded file into the textbox below. Do not copy and paste its contents.**
- type: textarea - type: textarea

View File

@@ -108,7 +108,7 @@ jobs:
if: needs.init.outputs.requirements == 'true' if: needs.init.outputs.requirements == 'true'
uses: home-assistant/wheels@2024.11.0 uses: home-assistant/wheels@2024.11.0
with: with:
abi: cp312 abi: cp313
tag: musllinux_1_2 tag: musllinux_1_2
arch: ${{ matrix.arch }} arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }} wheels-key: ${{ secrets.WHEELS_KEY }}
@@ -131,7 +131,7 @@ jobs:
- name: Install Cosign - name: Install Cosign
if: needs.init.outputs.publish == 'true' if: needs.init.outputs.publish == 'true'
uses: sigstore/cosign-installer@v3.8.0 uses: sigstore/cosign-installer@v3.8.1
with: with:
cosign-release: "v2.4.0" cosign-release: "v2.4.0"
@@ -160,7 +160,7 @@ jobs:
run: echo "BUILD_ARGS=--test" >> $GITHUB_ENV run: echo "BUILD_ARGS=--test" >> $GITHUB_ENV
- name: Build supervisor - name: Build supervisor
uses: home-assistant/builder@2024.08.2 uses: home-assistant/builder@2025.02.0
with: with:
args: | args: |
$BUILD_ARGS \ $BUILD_ARGS \
@@ -207,7 +207,7 @@ jobs:
- name: Build the Supervisor - name: Build the Supervisor
if: needs.init.outputs.publish != 'true' if: needs.init.outputs.publish != 'true'
uses: home-assistant/builder@2024.08.2 uses: home-assistant/builder@2025.02.0
with: with:
args: | args: |
--test \ --test \

View File

@@ -33,7 +33,7 @@ jobs:
python-version: ${{ env.DEFAULT_PYTHON }} python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: venv path: venv
key: | key: |
@@ -47,7 +47,7 @@ jobs:
pip install -r requirements.txt -r requirements_tests.txt pip install -r requirements.txt -r requirements_tests.txt
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
lookup-only: true lookup-only: true
@@ -75,7 +75,7 @@ jobs:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: venv path: venv
key: | key: |
@@ -87,7 +87,7 @@ jobs:
exit 1 exit 1
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
key: | key: |
@@ -118,7 +118,7 @@ jobs:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: venv path: venv
key: | key: |
@@ -130,7 +130,7 @@ jobs:
exit 1 exit 1
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
key: | key: |
@@ -176,7 +176,7 @@ jobs:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: venv path: venv
key: | key: |
@@ -188,7 +188,7 @@ jobs:
exit 1 exit 1
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
key: | key: |
@@ -220,7 +220,7 @@ jobs:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: venv path: venv
key: | key: |
@@ -232,7 +232,7 @@ jobs:
exit 1 exit 1
- name: Restore pre-commit environment from cache - name: Restore pre-commit environment from cache
id: cache-precommit id: cache-precommit
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: ${{ env.PRE_COMMIT_CACHE }} path: ${{ env.PRE_COMMIT_CACHE }}
key: | key: |
@@ -264,7 +264,7 @@ jobs:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: venv path: venv
key: | key: |
@@ -299,12 +299,12 @@ jobs:
with: with:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Install Cosign - name: Install Cosign
uses: sigstore/cosign-installer@v3.8.0 uses: sigstore/cosign-installer@v3.8.1
with: with:
cosign-release: "v2.4.0" cosign-release: "v2.4.0"
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: venv path: venv
key: | key: |
@@ -339,7 +339,7 @@ jobs:
-o console_output_style=count \ -o console_output_style=count \
tests tests
- name: Upload coverage artifact - name: Upload coverage artifact
uses: actions/upload-artifact@v4.6.0 uses: actions/upload-artifact@v4.6.1
with: with:
name: coverage-${{ matrix.python-version }} name: coverage-${{ matrix.python-version }}
path: .coverage path: .coverage
@@ -359,7 +359,7 @@ jobs:
python-version: ${{ needs.prepare.outputs.python-version }} python-version: ${{ needs.prepare.outputs.python-version }}
- name: Restore Python virtual environment - name: Restore Python virtual environment
id: cache-venv id: cache-venv
uses: actions/cache@v4.2.0 uses: actions/cache@v4.2.2
with: with:
path: venv path: venv
key: | key: |
@@ -370,7 +370,7 @@ jobs:
echo "Failed to restore Python virtual environment from cache" echo "Failed to restore Python virtual environment from cache"
exit 1 exit 1
- name: Download all coverage artifacts - name: Download all coverage artifacts
uses: actions/download-artifact@v4.1.8 uses: actions/download-artifact@v4.1.9
- name: Combine coverage results - name: Combine coverage results
run: | run: |
. venv/bin/activate . venv/bin/activate
@@ -378,4 +378,4 @@ jobs:
coverage report coverage report
coverage xml coverage xml
- name: Upload coverage to Codecov - name: Upload coverage to Codecov
uses: codecov/codecov-action@v5.3.1 uses: codecov/codecov-action@v5.4.0

View File

@@ -10,7 +10,8 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
skip: ${{ steps.check_version.outputs.skip || steps.check_existing_pr.outputs.skip }} skip: ${{ steps.check_version.outputs.skip || steps.check_existing_pr.outputs.skip }}
latest_tag: ${{ steps.latest_frontend_version.outputs.latest_tag }} current_version: ${{ steps.check_version.outputs.current_version }}
latest_version: ${{ steps.latest_frontend_version.outputs.latest_tag }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -23,11 +24,11 @@ jobs:
- name: Check if version is up to date - name: Check if version is up to date
id: check_version id: check_version
run: | run: |
SUPERVISOR_VERSION=$(cat .ha-frontend-version) current_version="$(cat .ha-frontend-version)"
LATEST_VERSION=${{ steps.latest_frontend_version.outputs.latest_tag }} latest_version="${{ steps.latest_frontend_version.outputs.latest_tag }}"
echo "SUPERVISOR_VERSION=$SUPERVISOR_VERSION" >> $GITHUB_ENV echo "current_version=${current_version}" >> $GITHUB_OUTPUT
echo "LATEST_VERSION=$LATEST_VERSION" >> $GITHUB_ENV echo "LATEST_VERSION=${latest_version}" >> $GITHUB_ENV
if [[ ! "$SUPERVISOR_VERSION" < "$LATEST_VERSION" ]]; then if [[ ! "$current_version" < "$latest_version" ]]; then
echo "Frontend version is up to date" echo "Frontend version is up to date"
echo "skip=true" >> $GITHUB_OUTPUT echo "skip=true" >> $GITHUB_OUTPUT
fi fi
@@ -37,7 +38,7 @@ jobs:
env: env:
GH_TOKEN: ${{ github.token }} GH_TOKEN: ${{ github.token }}
run: | run: |
PR=$(gh pr list --state open --base main --json title --search "Autoupdate frontend to version $LATEST_VERSION") PR=$(gh pr list --state open --base main --json title --search "Update frontend to version $LATEST_VERSION")
if [[ "$PR" != "[]" ]]; then if [[ "$PR" != "[]" ]]; then
echo "Skipping - There is already a PR open for version $LATEST_VERSION" echo "Skipping - There is already a PR open for version $LATEST_VERSION"
echo "skip=true" >> $GITHUB_OUTPUT echo "skip=true" >> $GITHUB_OUTPUT
@@ -54,21 +55,25 @@ jobs:
rm -rf supervisor/api/panel/* rm -rf supervisor/api/panel/*
- name: Update version file - name: Update version file
run: | run: |
echo "${{ needs.check-version.outputs.latest_tag }}" > .ha-frontend-version echo "${{ needs.check-version.outputs.latest_version }}" > .ha-frontend-version
- name: Download release assets - name: Download release assets
uses: robinraju/release-downloader@v1 uses: robinraju/release-downloader@v1
with: with:
repository: 'home-assistant/frontend' repository: 'home-assistant/frontend'
tag: ${{ needs.check-version.outputs.latest_tag }} tag: ${{ needs.check-version.outputs.latest_version }}
fileName: home_assistant_frontend_supervisor-${{ needs.check-version.outputs.latest_tag }}.tar.gz fileName: home_assistant_frontend_supervisor-${{ needs.check-version.outputs.latest_version }}.tar.gz
extract: true extract: true
out-file-path: supervisor/api/panel/ out-file-path: supervisor/api/panel/
- name: Create PR - name: Create PR
uses: peter-evans/create-pull-request@v7 uses: peter-evans/create-pull-request@v7
with: with:
commit-message: "Autoupdate frontend to version ${{ needs.check-version.outputs.latest_tag }}" commit-message: "Update frontend to version ${{ needs.check-version.outputs.latest_version }}"
branch: autoupdate-frontend branch: autoupdate-frontend
base: main base: main
draft: true draft: true
sign-commits: true sign-commits: true
title: "Autoupdate frontend to version ${{ needs.check-version.outputs.latest_tag }}" title: "Update frontend to version ${{ needs.check-version.outputs.latest_version }}"
body: >
Update frontend from ${{ needs.check-version.outputs.current_version }} to
[${{ needs.check-version.outputs.latest_version }}](https://github.com/home-assistant/frontend/releases/tag/${{ needs.check-version.outputs.latest_version }})

View File

@@ -1 +1 @@
20250205.0 20250221.0

View File

@@ -9,7 +9,8 @@ ENV \
ARG \ ARG \
COSIGN_VERSION \ COSIGN_VERSION \
BUILD_ARCH BUILD_ARCH \
QEMU_CPU
# Install base # Install base
WORKDIR /usr/src WORKDIR /usr/src
@@ -28,22 +29,23 @@ RUN \
\ \
&& curl -Lso /usr/bin/cosign "https://github.com/home-assistant/cosign/releases/download/${COSIGN_VERSION}/cosign_${BUILD_ARCH}" \ && curl -Lso /usr/bin/cosign "https://github.com/home-assistant/cosign/releases/download/${COSIGN_VERSION}/cosign_${BUILD_ARCH}" \
&& chmod a+x /usr/bin/cosign \ && chmod a+x /usr/bin/cosign \
&& pip3 install uv==0.2.21 && pip3 install uv==0.6.1
# Install requirements # Install requirements
COPY requirements.txt . COPY requirements.txt .
RUN \ RUN \
if [ "${BUILD_ARCH}" = "i386" ]; then \ if [ "${BUILD_ARCH}" = "i386" ]; then \
linux32 uv pip install --no-build -r requirements.txt; \ setarch="linux32"; \
else \ else \
uv pip install --no-build -r requirements.txt; \ setarch=""; \
fi \ fi \
&& ${setarch} uv pip install --compile-bytecode --no-cache --no-build -r requirements.txt \
&& rm -f requirements.txt && rm -f requirements.txt
# Install Home Assistant Supervisor # Install Home Assistant Supervisor
COPY . supervisor COPY . supervisor
RUN \ RUN \
pip3 install -e ./supervisor \ uv pip install --no-cache -e ./supervisor \
&& python3 -m compileall ./supervisor/supervisor && python3 -m compileall ./supervisor/supervisor

View File

@@ -1,5 +1,5 @@
aiodns==3.2.0 aiodns==3.2.0
aiohttp==3.11.12 aiohttp==3.11.13
atomicwrites-homeassistant==1.4.1 atomicwrites-homeassistant==1.4.1
attrs==25.1.0 attrs==25.1.0
awesomeversion==24.6.0 awesomeversion==24.6.0
@@ -7,7 +7,7 @@ brotli==1.1.0
ciso8601==2.3.2 ciso8601==2.3.2
colorlog==6.9.0 colorlog==6.9.0
cpe==1.3.1 cpe==1.3.1
cryptography==44.0.0 cryptography==44.0.1
debugpy==1.8.12 debugpy==1.8.12
deepmerge==2.0 deepmerge==2.0
dirhash==0.5.0 dirhash==0.5.0
@@ -20,10 +20,10 @@ pulsectl==24.12.0
pyudev==0.24.3 pyudev==0.24.3
PyYAML==6.0.2 PyYAML==6.0.2
requests==2.32.3 requests==2.32.3
securetar==2025.1.4 securetar==2025.2.1
sentry-sdk==2.20.0 sentry-sdk==2.22.0
setuptools==75.8.0 setuptools==75.8.2
voluptuous==0.15.2 voluptuous==0.15.2
dbus-fast==2.33.0 dbus-fast==2.34.0
typing_extensions==4.12.2 typing_extensions==4.12.2
zlib-fast==0.2.0 zlib-fast==0.2.1

View File

@@ -7,7 +7,7 @@ pytest-asyncio==0.25.2
pytest-cov==6.0.0 pytest-cov==6.0.0
pytest-timeout==2.3.1 pytest-timeout==2.3.1
pytest==8.3.4 pytest==8.3.4
ruff==0.9.6 ruff==0.9.8
time-machine==2.16.0 time-machine==2.16.0
typing_extensions==4.12.2 typing_extensions==4.12.2
urllib3==2.3.0 urllib3==2.3.0

View File

@@ -54,8 +54,7 @@ if __name__ == "__main__":
loop.set_debug(coresys.config.debug) loop.set_debug(coresys.config.debug)
loop.run_until_complete(coresys.core.connect()) loop.run_until_complete(coresys.core.connect())
bootstrap.supervisor_debugger(coresys) loop.run_until_complete(bootstrap.supervisor_debugger(coresys))
bootstrap.migrate_system_env(coresys)
# Signal health startup for container # Signal health startup for container
run_os_startup_check_cleanup() run_os_startup_check_cleanup()

View File

@@ -20,7 +20,7 @@ from typing import Any, Final
import aiohttp import aiohttp
from awesomeversion import AwesomeVersionCompareException from awesomeversion import AwesomeVersionCompareException
from deepmerge import Merger from deepmerge import Merger
from securetar import atomic_contents_add, secure_path from securetar import AddFileError, atomic_contents_add, secure_path
import voluptuous as vol import voluptuous as vol
from voluptuous.humanize import humanize_error from voluptuous.humanize import humanize_error
@@ -88,7 +88,7 @@ from ..store.addon import AddonStore
from ..utils import check_port from ..utils import check_port
from ..utils.apparmor import adjust_profile from ..utils.apparmor import adjust_profile
from ..utils.json import read_json_file, write_json_file from ..utils.json import read_json_file, write_json_file
from ..utils.sentry import capture_exception from ..utils.sentry import async_capture_exception
from .const import ( from .const import (
WATCHDOG_MAX_ATTEMPTS, WATCHDOG_MAX_ATTEMPTS,
WATCHDOG_RETRY_SECONDS, WATCHDOG_RETRY_SECONDS,
@@ -243,7 +243,7 @@ class Addon(AddonModel):
await self.instance.install(self.version, default_image, arch=self.arch) await self.instance.install(self.version, default_image, arch=self.arch)
self.persist[ATTR_IMAGE] = default_image self.persist[ATTR_IMAGE] = default_image
self.save_persist() await self.save_persist()
@property @property
def ip_address(self) -> IPv4Address: def ip_address(self) -> IPv4Address:
@@ -667,9 +667,9 @@ class Addon(AddonModel):
"""Is add-on loaded.""" """Is add-on loaded."""
return bool(self._listeners) return bool(self._listeners)
def save_persist(self) -> None: async def save_persist(self) -> None:
"""Save data of add-on.""" """Save data of add-on."""
self.sys_addons.data.save_data() await self.sys_addons.data.save_data()
async def watchdog_application(self) -> bool: async def watchdog_application(self) -> bool:
"""Return True if application is running.""" """Return True if application is running."""
@@ -772,7 +772,7 @@ class Addon(AddonModel):
) )
async def install(self) -> None: async def install(self) -> None:
"""Install and setup this addon.""" """Install and setup this addon."""
self.sys_addons.data.install(self.addon_store) await self.sys_addons.data.install(self.addon_store)
await self.load() await self.load()
if not self.path_data.is_dir(): if not self.path_data.is_dir():
@@ -790,7 +790,7 @@ class Addon(AddonModel):
self.latest_version, self.addon_store.image, arch=self.arch self.latest_version, self.addon_store.image, arch=self.arch
) )
except DockerError as err: except DockerError as err:
self.sys_addons.data.uninstall(self) await self.sys_addons.data.uninstall(self)
raise AddonsError() from err raise AddonsError() from err
# Add to addon manager # Add to addon manager
@@ -839,23 +839,23 @@ class Addon(AddonModel):
# Cleanup Ingress dynamic port assignment # Cleanup Ingress dynamic port assignment
if self.with_ingress: if self.with_ingress:
await self.sys_ingress.del_dynamic_port(self.slug)
self.sys_create_task(self.sys_ingress.reload()) self.sys_create_task(self.sys_ingress.reload())
self.sys_ingress.del_dynamic_port(self.slug)
# Cleanup discovery data # Cleanup discovery data
for message in self.sys_discovery.list_messages: for message in self.sys_discovery.list_messages:
if message.addon != self.slug: if message.addon != self.slug:
continue continue
self.sys_discovery.remove(message) await self.sys_discovery.remove(message)
# Cleanup services data # Cleanup services data
for service in self.sys_services.list_services: for service in self.sys_services.list_services:
if self.slug not in service.active: if self.slug not in service.active:
continue continue
service.del_service_data(self) await service.del_service_data(self)
# Remove from addon manager # Remove from addon manager
self.sys_addons.data.uninstall(self) await self.sys_addons.data.uninstall(self)
self.sys_addons.local.pop(self.slug) self.sys_addons.local.pop(self.slug)
@Job( @Job(
@@ -884,7 +884,7 @@ class Addon(AddonModel):
try: try:
_LOGGER.info("Add-on '%s' successfully updated", self.slug) _LOGGER.info("Add-on '%s' successfully updated", self.slug)
self.sys_addons.data.update(store) await self.sys_addons.data.update(store)
await self._check_ingress_port() await self._check_ingress_port()
# Cleanup # Cleanup
@@ -925,7 +925,7 @@ class Addon(AddonModel):
except DockerError as err: except DockerError as err:
raise AddonsError() from err raise AddonsError() from err
self.sys_addons.data.update(self.addon_store) await self.sys_addons.data.update(self.addon_store)
await self._check_ingress_port() await self._check_ingress_port()
_LOGGER.info("Add-on '%s' successfully rebuilt", self.slug) _LOGGER.info("Add-on '%s' successfully rebuilt", self.slug)
@@ -977,11 +977,21 @@ class Addon(AddonModel):
return return
# Need install/update # Need install/update
with TemporaryDirectory(dir=self.sys_config.path_tmp) as tmp_folder: tmp_folder: TemporaryDirectory | None = None
profile_file = Path(tmp_folder, "apparmor.txt")
def install_update_profile() -> Path:
nonlocal tmp_folder
tmp_folder = TemporaryDirectory(dir=self.sys_config.path_tmp)
profile_file = Path(tmp_folder.name, "apparmor.txt")
adjust_profile(self.slug, self.path_apparmor, profile_file) adjust_profile(self.slug, self.path_apparmor, profile_file)
return profile_file
try:
profile_file = await self.sys_run_in_executor(install_update_profile)
await self.sys_host.apparmor.load_profile(self.slug, profile_file) await self.sys_host.apparmor.load_profile(self.slug, profile_file)
finally:
if tmp_folder:
await self.sys_run_in_executor(tmp_folder.cleanup)
async def uninstall_apparmor(self) -> None: async def uninstall_apparmor(self) -> None:
"""Remove AppArmor profile for Add-on.""" """Remove AppArmor profile for Add-on."""
@@ -1053,7 +1063,7 @@ class Addon(AddonModel):
# Access Token # Access Token
self.persist[ATTR_ACCESS_TOKEN] = secrets.token_hex(56) self.persist[ATTR_ACCESS_TOKEN] = secrets.token_hex(56)
self.save_persist() await self.save_persist()
# Options # Options
await self.write_options() await self.write_options()
@@ -1238,46 +1248,45 @@ class Addon(AddonModel):
Returns a Task that completes when addon has state 'started' (see start) Returns a Task that completes when addon has state 'started' (see start)
for cold backup. Else nothing is returned. for cold backup. Else nothing is returned.
""" """
wait_for_start: Awaitable[None] | None = None
with TemporaryDirectory(dir=self.sys_config.path_tmp) as temp: def _addon_backup(
temp_path = Path(temp) store_image: bool,
metadata: dict[str, Any],
apparmor_profile: str | None,
addon_config_used: bool,
):
"""Start the backup process."""
with TemporaryDirectory(dir=self.sys_config.path_tmp) as temp:
temp_path = Path(temp)
# store local image # store local image
if self.need_build: if store_image:
try:
self.instance.export_image(temp_path.joinpath("image.tar"))
except DockerError as err:
raise AddonsError() from err
# Store local configs/state
try: try:
await self.instance.export_image(temp_path.joinpath("image.tar")) write_json_file(temp_path.joinpath("addon.json"), metadata)
except DockerError as err: except ConfigurationFileError as err:
raise AddonsError() from err
data = {
ATTR_USER: self.persist,
ATTR_SYSTEM: self.data,
ATTR_VERSION: self.version,
ATTR_STATE: _MAP_ADDON_STATE.get(self.state, self.state),
}
# Store local configs/state
try:
write_json_file(temp_path.joinpath("addon.json"), data)
except ConfigurationFileError as err:
raise AddonsError(
f"Can't save meta for {self.slug}", _LOGGER.error
) from err
# Store AppArmor Profile
if self.sys_host.apparmor.exists(self.slug):
profile = temp_path.joinpath("apparmor.txt")
try:
await self.sys_host.apparmor.backup_profile(self.slug, profile)
except HostAppArmorError as err:
raise AddonsError( raise AddonsError(
"Can't backup AppArmor profile", _LOGGER.error f"Can't save meta for {self.slug}", _LOGGER.error
) from err ) from err
# write into tarfile # Store AppArmor Profile
def _write_tarfile(): if apparmor_profile:
"""Write tar inside loop.""" profile_backup_file = temp_path.joinpath("apparmor.txt")
try:
self.sys_host.apparmor.backup_profile(
apparmor_profile, profile_backup_file
)
except HostAppArmorError as err:
raise AddonsError(
"Can't backup AppArmor profile", _LOGGER.error
) from err
# Write tarfile
with tar_file as backup: with tar_file as backup:
# Backup metadata # Backup metadata
backup.add(temp, arcname=".") backup.add(temp, arcname=".")
@@ -1293,7 +1302,7 @@ class Addon(AddonModel):
) )
# Backup config # Backup config
if self.addon_config_used: if addon_config_used:
atomic_contents_add( atomic_contents_add(
backup, backup,
self.path_config, self.path_config,
@@ -1303,19 +1312,39 @@ class Addon(AddonModel):
arcname="config", arcname="config",
) )
is_running = await self.begin_backup() wait_for_start: Awaitable[None] | None = None
try:
_LOGGER.info("Building backup for add-on %s", self.slug) data = {
await self.sys_run_in_executor(_write_tarfile) ATTR_USER: self.persist,
except (tarfile.TarError, OSError) as err: ATTR_SYSTEM: self.data,
raise AddonsError( ATTR_VERSION: self.version,
f"Can't write tarfile {tar_file}: {err}", _LOGGER.error ATTR_STATE: _MAP_ADDON_STATE.get(self.state, self.state),
) from err }
finally: apparmor_profile = (
if is_running: self.slug if self.sys_host.apparmor.exists(self.slug) else None
wait_for_start = await self.end_backup() )
was_running = await self.begin_backup()
try:
_LOGGER.info("Building backup for add-on %s", self.slug)
await self.sys_run_in_executor(
partial(
_addon_backup,
store_image=self.need_build,
metadata=data,
apparmor_profile=apparmor_profile,
addon_config_used=self.addon_config_used,
)
)
_LOGGER.info("Finish backup for addon %s", self.slug)
except (tarfile.TarError, OSError, AddFileError) as err:
raise AddonsError(
f"Can't write tarfile {tar_file}: {err}", _LOGGER.error
) from err
finally:
if was_running:
wait_for_start = await self.end_backup()
_LOGGER.info("Finish backup for addon %s", self.slug)
return wait_for_start return wait_for_start
@Job( @Job(
@@ -1330,30 +1359,36 @@ class Addon(AddonModel):
if addon is started after restore. Else nothing is returned. if addon is started after restore. Else nothing is returned.
""" """
wait_for_start: Awaitable[None] | None = None wait_for_start: Awaitable[None] | None = None
with TemporaryDirectory(dir=self.sys_config.path_tmp) as temp:
# extract backup # Extract backup
def _extract_tarfile(): def _extract_tarfile() -> tuple[TemporaryDirectory, dict[str, Any]]:
"""Extract tar backup.""" """Extract tar backup."""
tmp = TemporaryDirectory(dir=self.sys_config.path_tmp)
try:
with tar_file as backup: with tar_file as backup:
backup.extractall( backup.extractall(
path=Path(temp), path=tmp.name,
members=secure_path(backup), members=secure_path(backup),
filter="fully_trusted", filter="fully_trusted",
) )
try: data = read_json_file(Path(tmp.name, "addon.json"))
await self.sys_run_in_executor(_extract_tarfile) except:
except tarfile.TarError as err: tmp.cleanup()
raise AddonsError( raise
f"Can't read tarfile {tar_file}: {err}", _LOGGER.error
) from err
# Read backup data return tmp, data
try:
data = read_json_file(Path(temp, "addon.json"))
except ConfigurationFileError as err:
raise AddonsError() from err
try:
tmp, data = await self.sys_run_in_executor(_extract_tarfile)
except tarfile.TarError as err:
raise AddonsError(
f"Can't read tarfile {tar_file}: {err}", _LOGGER.error
) from err
except ConfigurationFileError as err:
raise AddonsError() from err
try:
# Validate # Validate
try: try:
data = SCHEMA_ADDON_BACKUP(data) data = SCHEMA_ADDON_BACKUP(data)
@@ -1373,7 +1408,7 @@ class Addon(AddonModel):
# Restore local add-on information # Restore local add-on information
_LOGGER.info("Restore config for addon %s", self.slug) _LOGGER.info("Restore config for addon %s", self.slug)
restore_image = self._image(data[ATTR_SYSTEM]) restore_image = self._image(data[ATTR_SYSTEM])
self.sys_addons.data.restore( await self.sys_addons.data.restore(
self.slug, data[ATTR_USER], data[ATTR_SYSTEM], restore_image self.slug, data[ATTR_USER], data[ATTR_SYSTEM], restore_image
) )
@@ -1387,7 +1422,7 @@ class Addon(AddonModel):
if not await self.instance.exists(): if not await self.instance.exists():
_LOGGER.info("Restore/Install of image for addon %s", self.slug) _LOGGER.info("Restore/Install of image for addon %s", self.slug)
image_file = Path(temp, "image.tar") image_file = Path(tmp.name, "image.tar")
if image_file.is_file(): if image_file.is_file():
with suppress(DockerError): with suppress(DockerError):
await self.instance.import_image(image_file) await self.instance.import_image(image_file)
@@ -1406,13 +1441,13 @@ class Addon(AddonModel):
# Restore data and config # Restore data and config
def _restore_data(): def _restore_data():
"""Restore data and config.""" """Restore data and config."""
temp_data = Path(temp, "data") temp_data = Path(tmp.name, "data")
if temp_data.is_dir(): if temp_data.is_dir():
shutil.copytree(temp_data, self.path_data, symlinks=True) shutil.copytree(temp_data, self.path_data, symlinks=True)
else: else:
self.path_data.mkdir() self.path_data.mkdir()
temp_config = Path(temp, "config") temp_config = Path(tmp.name, "config")
if temp_config.is_dir(): if temp_config.is_dir():
shutil.copytree(temp_config, self.path_config, symlinks=True) shutil.copytree(temp_config, self.path_config, symlinks=True)
elif self.addon_config_used: elif self.addon_config_used:
@@ -1432,7 +1467,7 @@ class Addon(AddonModel):
) from err ) from err
# Restore AppArmor # Restore AppArmor
profile_file = Path(temp, "apparmor.txt") profile_file = Path(tmp.name, "apparmor.txt")
if profile_file.exists(): if profile_file.exists():
try: try:
await self.sys_host.apparmor.load_profile( await self.sys_host.apparmor.load_profile(
@@ -1440,7 +1475,8 @@ class Addon(AddonModel):
) )
except HostAppArmorError as err: except HostAppArmorError as err:
_LOGGER.error( _LOGGER.error(
"Can't restore AppArmor profile for add-on %s", self.slug "Can't restore AppArmor profile for add-on %s",
self.slug,
) )
raise AddonsError() from err raise AddonsError() from err
@@ -1452,7 +1488,8 @@ class Addon(AddonModel):
# Run add-on # Run add-on
if data[ATTR_STATE] == AddonState.STARTED: if data[ATTR_STATE] == AddonState.STARTED:
wait_for_start = await self.start() wait_for_start = await self.start()
finally:
tmp.cleanup()
_LOGGER.info("Finished restore for add-on %s", self.slug) _LOGGER.info("Finished restore for add-on %s", self.slug)
return wait_for_start return wait_for_start
@@ -1493,7 +1530,7 @@ class Addon(AddonModel):
except AddonsError as err: except AddonsError as err:
attempts = attempts + 1 attempts = attempts + 1
_LOGGER.error("Watchdog restart of addon %s failed!", self.name) _LOGGER.error("Watchdog restart of addon %s failed!", self.name)
capture_exception(err) await async_capture_exception(err)
else: else:
break break

View File

@@ -34,16 +34,29 @@ class AddonBuild(FileConfiguration, CoreSysAttributes):
self.coresys: CoreSys = coresys self.coresys: CoreSys = coresys
self.addon = addon self.addon = addon
# Search for build file later in executor
super().__init__(None, SCHEMA_BUILD_CONFIG)
def _get_build_file(self) -> Path:
"""Get build file.
Must be run in executor.
"""
try: try:
build_file = find_one_filetype( return find_one_filetype(
self.addon.path_location, "build", FILE_SUFFIX_CONFIGURATION self.addon.path_location, "build", FILE_SUFFIX_CONFIGURATION
) )
except ConfigurationFileError: except ConfigurationFileError:
build_file = self.addon.path_location / "build.json" return self.addon.path_location / "build.json"
super().__init__(build_file, SCHEMA_BUILD_CONFIG) async def read_data(self) -> None:
"""Load data from file."""
if not self._file:
self._file = await self.sys_run_in_executor(self._get_build_file)
def save_data(self): await super().read_data()
async def save_data(self):
"""Ignore save function.""" """Ignore save function."""
raise RuntimeError() raise RuntimeError()

View File

@@ -38,7 +38,7 @@ class AddonsData(FileConfiguration, CoreSysAttributes):
"""Return local add-on data.""" """Return local add-on data."""
return self._data[ATTR_SYSTEM] return self._data[ATTR_SYSTEM]
def install(self, addon: AddonStore) -> None: async def install(self, addon: AddonStore) -> None:
"""Set addon as installed.""" """Set addon as installed."""
self.system[addon.slug] = deepcopy(addon.data) self.system[addon.slug] = deepcopy(addon.data)
self.user[addon.slug] = { self.user[addon.slug] = {
@@ -46,26 +46,28 @@ class AddonsData(FileConfiguration, CoreSysAttributes):
ATTR_VERSION: addon.version, ATTR_VERSION: addon.version,
ATTR_IMAGE: addon.image, ATTR_IMAGE: addon.image,
} }
self.save_data() await self.save_data()
def uninstall(self, addon: Addon) -> None: async def uninstall(self, addon: Addon) -> None:
"""Set add-on as uninstalled.""" """Set add-on as uninstalled."""
self.system.pop(addon.slug, None) self.system.pop(addon.slug, None)
self.user.pop(addon.slug, None) self.user.pop(addon.slug, None)
self.save_data() await self.save_data()
def update(self, addon: AddonStore) -> None: async def update(self, addon: AddonStore) -> None:
"""Update version of add-on.""" """Update version of add-on."""
self.system[addon.slug] = deepcopy(addon.data) self.system[addon.slug] = deepcopy(addon.data)
self.user[addon.slug].update( self.user[addon.slug].update(
{ATTR_VERSION: addon.version, ATTR_IMAGE: addon.image} {ATTR_VERSION: addon.version, ATTR_IMAGE: addon.image}
) )
self.save_data() await self.save_data()
def restore(self, slug: str, user: Config, system: Config, image: str) -> None: async def restore(
self, slug: str, user: Config, system: Config, image: str
) -> None:
"""Restore data to add-on.""" """Restore data to add-on."""
self.user[slug] = deepcopy(user) self.user[slug] = deepcopy(user)
self.system[slug] = deepcopy(system) self.system[slug] = deepcopy(system)
self.user[slug][ATTR_IMAGE] = image self.user[slug][ATTR_IMAGE] = image
self.save_data() await self.save_data()

View File

@@ -5,7 +5,7 @@ from collections.abc import Awaitable
from contextlib import suppress from contextlib import suppress
import logging import logging
import tarfile import tarfile
from typing import Union from typing import Self, Union
from attr import evolve from attr import evolve
@@ -23,7 +23,7 @@ from ..exceptions import (
from ..jobs.decorator import Job, JobCondition from ..jobs.decorator import Job, JobCondition
from ..resolution.const import ContextType, IssueType, SuggestionType from ..resolution.const import ContextType, IssueType, SuggestionType
from ..store.addon import AddonStore from ..store.addon import AddonStore
from ..utils.sentry import capture_exception from ..utils.sentry import async_capture_exception
from .addon import Addon from .addon import Addon
from .const import ADDON_UPDATE_CONDITIONS from .const import ADDON_UPDATE_CONDITIONS
from .data import AddonsData from .data import AddonsData
@@ -74,6 +74,11 @@ class AddonManager(CoreSysAttributes):
return addon return addon
return None return None
async def load_config(self) -> Self:
"""Load config in executor."""
await self.data.read_data()
return self
async def load(self) -> None: async def load(self) -> None:
"""Start up add-on management.""" """Start up add-on management."""
# Refresh cache for all store addons # Refresh cache for all store addons
@@ -165,7 +170,7 @@ class AddonManager(CoreSysAttributes):
await addon.stop() await addon.stop()
except Exception as err: # pylint: disable=broad-except except Exception as err: # pylint: disable=broad-except
_LOGGER.warning("Can't stop Add-on %s: %s", addon.slug, err) _LOGGER.warning("Can't stop Add-on %s: %s", addon.slug, err)
capture_exception(err) await async_capture_exception(err)
@Job( @Job(
name="addon_manager_install", name="addon_manager_install",
@@ -383,7 +388,7 @@ class AddonManager(CoreSysAttributes):
reference=addon.slug, reference=addon.slug,
suggestions=[SuggestionType.EXECUTE_REPAIR], suggestions=[SuggestionType.EXECUTE_REPAIR],
) )
capture_exception(err) await async_capture_exception(err)
else: else:
add_host_coros.append( add_host_coros.append(
self.sys_plugins.dns.add_host( self.sys_plugins.dns.add_host(

View File

@@ -210,18 +210,6 @@ class AddonModel(JobGroup, ABC):
"""Return description of add-on.""" """Return description of add-on."""
return self.data[ATTR_DESCRIPTON] return self.data[ATTR_DESCRIPTON]
@property
def long_description(self) -> str | None:
"""Return README.md as long_description."""
readme = Path(self.path_location, "README.md")
# If readme not exists
if not readme.exists():
return None
# Return data
return readme.read_text(encoding="utf-8")
@property @property
def repository(self) -> str: def repository(self) -> str:
"""Return repository of add-on.""" """Return repository of add-on."""
@@ -646,6 +634,21 @@ class AddonModel(JobGroup, ABC):
"""Return breaking versions of addon.""" """Return breaking versions of addon."""
return self.data[ATTR_BREAKING_VERSIONS] return self.data[ATTR_BREAKING_VERSIONS]
async def long_description(self) -> str | None:
"""Return README.md as long_description."""
def read_readme() -> str | None:
readme = Path(self.path_location, "README.md")
# If readme not exists
if not readme.exists():
return None
# Return data
return readme.read_text(encoding="utf-8")
return await self.sys_run_in_executor(read_readme)
def refresh_path_cache(self) -> Awaitable[None]: def refresh_path_cache(self) -> Awaitable[None]:
"""Refresh cache of existing paths.""" """Refresh cache of existing paths."""

View File

@@ -10,7 +10,7 @@ from aiohttp import web
from ..const import AddonState from ..const import AddonState
from ..coresys import CoreSys, CoreSysAttributes from ..coresys import CoreSys, CoreSysAttributes
from ..exceptions import APIAddonNotInstalled, HostNotSupportedError from ..exceptions import APIAddonNotInstalled, HostNotSupportedError
from ..utils.sentry import capture_exception from ..utils.sentry import async_capture_exception
from .addons import APIAddons from .addons import APIAddons
from .audio import APIAudio from .audio import APIAudio
from .auth import APIAuth from .auth import APIAuth
@@ -412,7 +412,7 @@ class RestAPI(CoreSysAttributes):
if not isinstance(err, HostNotSupportedError): if not isinstance(err, HostNotSupportedError):
# No need to capture HostNotSupportedError to Sentry, the cause # No need to capture HostNotSupportedError to Sentry, the cause
# is known and reported to the user using the resolution center. # is known and reported to the user using the resolution center.
capture_exception(err) await async_capture_exception(err)
kwargs.pop("follow", None) # Follow is not supported for Docker logs kwargs.pop("follow", None) # Follow is not supported for Docker logs
return await api_supervisor.logs(*args, **kwargs) return await api_supervisor.logs(*args, **kwargs)

View File

@@ -212,7 +212,7 @@ class APIAddons(CoreSysAttributes):
ATTR_HOSTNAME: addon.hostname, ATTR_HOSTNAME: addon.hostname,
ATTR_DNS: addon.dns, ATTR_DNS: addon.dns,
ATTR_DESCRIPTON: addon.description, ATTR_DESCRIPTON: addon.description,
ATTR_LONG_DESCRIPTION: addon.long_description, ATTR_LONG_DESCRIPTION: await addon.long_description(),
ATTR_ADVANCED: addon.advanced, ATTR_ADVANCED: addon.advanced,
ATTR_STAGE: addon.stage, ATTR_STAGE: addon.stage,
ATTR_REPOSITORY: addon.repository, ATTR_REPOSITORY: addon.repository,
@@ -322,7 +322,7 @@ class APIAddons(CoreSysAttributes):
if ATTR_WATCHDOG in body: if ATTR_WATCHDOG in body:
addon.watchdog = body[ATTR_WATCHDOG] addon.watchdog = body[ATTR_WATCHDOG]
addon.save_persist() await addon.save_persist()
@api_process @api_process
async def sys_options(self, request: web.Request) -> None: async def sys_options(self, request: web.Request) -> None:
@@ -336,7 +336,7 @@ class APIAddons(CoreSysAttributes):
if ATTR_SYSTEM_MANAGED_CONFIG_ENTRY in body: if ATTR_SYSTEM_MANAGED_CONFIG_ENTRY in body:
addon.system_managed_config_entry = body[ATTR_SYSTEM_MANAGED_CONFIG_ENTRY] addon.system_managed_config_entry = body[ATTR_SYSTEM_MANAGED_CONFIG_ENTRY]
addon.save_persist() await addon.save_persist()
@api_process @api_process
async def options_validate(self, request: web.Request) -> None: async def options_validate(self, request: web.Request) -> None:
@@ -402,7 +402,7 @@ class APIAddons(CoreSysAttributes):
_LOGGER.warning("Changing protected flag for %s!", addon.slug) _LOGGER.warning("Changing protected flag for %s!", addon.slug)
addon.protected = body[ATTR_PROTECTED] addon.protected = body[ATTR_PROTECTED]
addon.save_persist() await addon.save_persist()
@api_process @api_process
async def stats(self, request: web.Request) -> dict[str, Any]: async def stats(self, request: web.Request) -> dict[str, Any]:

View File

@@ -99,7 +99,7 @@ class APIAuth(CoreSysAttributes):
@api_process @api_process
async def cache(self, request: web.Request) -> None: async def cache(self, request: web.Request) -> None:
"""Process cache reset request.""" """Process cache reset request."""
self.sys_auth.reset_data() await self.sys_auth.reset_data()
@api_process @api_process
async def list_users(self, request: web.Request) -> dict[str, list[dict[str, Any]]]: async def list_users(self, request: web.Request) -> dict[str, list[dict[str, Any]]]:

View File

@@ -5,6 +5,7 @@ from __future__ import annotations
import asyncio import asyncio
from collections.abc import Callable from collections.abc import Callable
import errno import errno
from io import IOBase
import logging import logging
from pathlib import Path from pathlib import Path
import re import re
@@ -39,6 +40,7 @@ from ..const import (
ATTR_PROTECTED, ATTR_PROTECTED,
ATTR_REPOSITORIES, ATTR_REPOSITORIES,
ATTR_SIZE, ATTR_SIZE,
ATTR_SIZE_BYTES,
ATTR_SLUG, ATTR_SLUG,
ATTR_SUPERVISOR_VERSION, ATTR_SUPERVISOR_VERSION,
ATTR_TIMEOUT, ATTR_TIMEOUT,
@@ -58,7 +60,6 @@ from .const import (
ATTR_BACKGROUND, ATTR_BACKGROUND,
ATTR_LOCATION_ATTRIBUTES, ATTR_LOCATION_ATTRIBUTES,
ATTR_LOCATIONS, ATTR_LOCATIONS,
ATTR_SIZE_BYTES,
CONTENT_TYPE_TAR, CONTENT_TYPE_TAR,
) )
from .utils import api_process, api_validate from .utils import api_process, api_validate
@@ -155,7 +156,7 @@ class APIBackups(CoreSysAttributes):
return { return {
loc if loc else LOCATION_LOCAL: { loc if loc else LOCATION_LOCAL: {
ATTR_PROTECTED: backup.all_locations[loc][ATTR_PROTECTED], ATTR_PROTECTED: backup.all_locations[loc][ATTR_PROTECTED],
ATTR_SIZE_BYTES: backup.location_size(loc), ATTR_SIZE_BYTES: backup.all_locations[loc][ATTR_SIZE_BYTES],
} }
for loc in backup.locations for loc in backup.locations
} }
@@ -212,7 +213,7 @@ class APIBackups(CoreSysAttributes):
if ATTR_DAYS_UNTIL_STALE in body: if ATTR_DAYS_UNTIL_STALE in body:
self.sys_backups.days_until_stale = body[ATTR_DAYS_UNTIL_STALE] self.sys_backups.days_until_stale = body[ATTR_DAYS_UNTIL_STALE]
self.sys_backups.save_data() await self.sys_backups.save_data()
@api_process @api_process
async def reload(self, _): async def reload(self, _):
@@ -457,7 +458,7 @@ class APIBackups(CoreSysAttributes):
else: else:
self._validate_cloud_backup_location(request, backup.location) self._validate_cloud_backup_location(request, backup.location)
self.sys_backups.remove(backup, locations=locations) await self.sys_backups.remove(backup, locations=locations)
@api_process @api_process
async def download(self, request: web.Request): async def download(self, request: web.Request):
@@ -518,29 +519,28 @@ class APIBackups(CoreSysAttributes):
except vol.Invalid as ex: except vol.Invalid as ex:
raise APIError(humanize_error(filename, ex)) from None raise APIError(humanize_error(filename, ex)) from None
with TemporaryDirectory(dir=tmp_path.as_posix()) as temp_dir: temp_dir: TemporaryDirectory | None = None
tar_file = Path(temp_dir, "backup.tar") backup_file_stream: IOBase | None = None
def open_backup_file() -> Path:
nonlocal temp_dir, backup_file_stream
temp_dir = TemporaryDirectory(dir=tmp_path.as_posix())
tar_file = Path(temp_dir.name, "backup.tar")
backup_file_stream = tar_file.open("wb")
return tar_file
def close_backup_file() -> None:
if backup_file_stream:
backup_file_stream.close()
if temp_dir:
temp_dir.cleanup()
try:
reader = await request.multipart() reader = await request.multipart()
contents = await reader.next() contents = await reader.next()
try: tar_file = await self.sys_run_in_executor(open_backup_file)
with tar_file.open("wb") as backup: while chunk := await contents.read_chunk(size=2**16):
while True: await self.sys_run_in_executor(backup_file_stream.write, chunk)
chunk = await contents.read_chunk()
if not chunk:
break
backup.write(chunk)
except OSError as err:
if err.errno == errno.EBADMSG and location in {
LOCATION_CLOUD_BACKUP,
None,
}:
self.sys_resolution.unhealthy = UnhealthyReason.OSERROR_BAD_MESSAGE
_LOGGER.error("Can't write new backup file: %s", err)
return False
except asyncio.CancelledError:
return False
backup = await asyncio.shield( backup = await asyncio.shield(
self.sys_backups.import_backup( self.sys_backups.import_backup(
@@ -550,6 +550,21 @@ class APIBackups(CoreSysAttributes):
additional_locations=locations, additional_locations=locations,
) )
) )
except OSError as err:
if err.errno == errno.EBADMSG and location in {
LOCATION_CLOUD_BACKUP,
None,
}:
self.sys_resolution.unhealthy = UnhealthyReason.OSERROR_BAD_MESSAGE
_LOGGER.error("Can't write new backup file: %s", err)
return False
except asyncio.CancelledError:
return False
finally:
if temp_dir or backup:
await self.sys_run_in_executor(close_backup_file)
if backup: if backup:
return {ATTR_SLUG: backup.slug} return {ATTR_SLUG: backup.slug}

View File

@@ -60,7 +60,6 @@ ATTR_REVISION = "revision"
ATTR_SAFE_MODE = "safe_mode" ATTR_SAFE_MODE = "safe_mode"
ATTR_SEAT = "seat" ATTR_SEAT = "seat"
ATTR_SIGNED = "signed" ATTR_SIGNED = "signed"
ATTR_SIZE_BYTES = "size_bytes"
ATTR_STARTUP_TIME = "startup_time" ATTR_STARTUP_TIME = "startup_time"
ATTR_STATUS = "status" ATTR_STATUS = "status"
ATTR_SUBSYSTEM = "subsystem" ATTR_SUBSYSTEM = "subsystem"

View File

@@ -83,7 +83,7 @@ class APIDiscovery(CoreSysAttributes):
) )
# Process discovery message # Process discovery message
message = self.sys_discovery.send(addon, **body) message = await self.sys_discovery.send(addon, **body)
return {ATTR_UUID: message.uuid} return {ATTR_UUID: message.uuid}
@@ -110,5 +110,5 @@ class APIDiscovery(CoreSysAttributes):
if message.addon != addon.slug: if message.addon != addon.slug:
raise APIForbidden("Can't remove discovery message") raise APIForbidden("Can't remove discovery message")
self.sys_discovery.remove(message) await self.sys_discovery.remove(message)
return True return True

View File

@@ -78,7 +78,7 @@ class APICoreDNS(CoreSysAttributes):
if restart_required: if restart_required:
self.sys_create_task(self.sys_plugins.dns.restart()) self.sys_create_task(self.sys_plugins.dns.restart())
self.sys_plugins.dns.save_data() await self.sys_plugins.dns.save_data()
@api_process @api_process
async def stats(self, request: web.Request) -> dict[str, Any]: async def stats(self, request: web.Request) -> dict[str, Any]:

View File

@@ -53,7 +53,7 @@ class APIDocker(CoreSysAttributes):
for hostname, registry in body.items(): for hostname, registry in body.items():
self.sys_docker.config.registries[hostname] = registry self.sys_docker.config.registries[hostname] = registry
self.sys_docker.config.save_data() await self.sys_docker.config.save_data()
@api_process @api_process
async def remove_registry(self, request: web.Request): async def remove_registry(self, request: web.Request):
@@ -63,7 +63,7 @@ class APIDocker(CoreSysAttributes):
raise APINotFound(f"Hostname {hostname} does not exist in registries") raise APINotFound(f"Hostname {hostname} does not exist in registries")
del self.sys_docker.config.registries[hostname] del self.sys_docker.config.registries[hostname]
self.sys_docker.config.save_data() await self.sys_docker.config.save_data()
@api_process @api_process
async def info(self, request: web.Request): async def info(self, request: web.Request):

View File

@@ -149,7 +149,7 @@ class APIHomeAssistant(CoreSysAttributes):
ATTR_BACKUPS_EXCLUDE_DATABASE ATTR_BACKUPS_EXCLUDE_DATABASE
] ]
self.sys_homeassistant.save_data() await self.sys_homeassistant.save_data()
@api_process @api_process
async def stats(self, request: web.Request) -> dict[Any, str]: async def stats(self, request: web.Request) -> dict[Any, str]:

View File

@@ -98,10 +98,10 @@ class APIHost(CoreSysAttributes):
ATTR_VIRTUALIZATION: self.sys_host.info.virtualization, ATTR_VIRTUALIZATION: self.sys_host.info.virtualization,
ATTR_CPE: self.sys_host.info.cpe, ATTR_CPE: self.sys_host.info.cpe,
ATTR_DEPLOYMENT: self.sys_host.info.deployment, ATTR_DEPLOYMENT: self.sys_host.info.deployment,
ATTR_DISK_FREE: self.sys_host.info.free_space, ATTR_DISK_FREE: await self.sys_host.info.free_space(),
ATTR_DISK_TOTAL: self.sys_host.info.total_space, ATTR_DISK_TOTAL: await self.sys_host.info.total_space(),
ATTR_DISK_USED: self.sys_host.info.used_space, ATTR_DISK_USED: await self.sys_host.info.used_space(),
ATTR_DISK_LIFE_TIME: self.sys_host.info.disk_life_time, ATTR_DISK_LIFE_TIME: await self.sys_host.info.disk_life_time(),
ATTR_FEATURES: self.sys_host.features, ATTR_FEATURES: self.sys_host.features,
ATTR_HOSTNAME: self.sys_host.info.hostname, ATTR_HOSTNAME: self.sys_host.info.hostname,
ATTR_LLMNR_HOSTNAME: self.sys_host.info.llmnr_hostname, ATTR_LLMNR_HOSTNAME: self.sys_host.info.llmnr_hostname,

View File

@@ -92,14 +92,14 @@ class APIJobs(CoreSysAttributes):
if ATTR_IGNORE_CONDITIONS in body: if ATTR_IGNORE_CONDITIONS in body:
self.sys_jobs.ignore_conditions = body[ATTR_IGNORE_CONDITIONS] self.sys_jobs.ignore_conditions = body[ATTR_IGNORE_CONDITIONS]
self.sys_jobs.save_data() await self.sys_jobs.save_data()
await self.sys_resolution.evaluate.evaluate_system() await self.sys_resolution.evaluate.evaluate_system()
@api_process @api_process
async def reset(self, request: web.Request) -> None: async def reset(self, request: web.Request) -> None:
"""Reset options for JobManager.""" """Reset options for JobManager."""
self.sys_jobs.reset_data() await self.sys_jobs.reset_data()
@api_process @api_process
async def job_info(self, request: web.Request) -> dict[str, Any]: async def job_info(self, request: web.Request) -> dict[str, Any]:

View File

@@ -66,7 +66,7 @@ class APIMounts(CoreSysAttributes):
else: else:
self.sys_mounts.default_backup_mount = mount self.sys_mounts.default_backup_mount = mount
self.sys_mounts.save_data() await self.sys_mounts.save_data()
@api_process @api_process
async def create_mount(self, request: web.Request) -> None: async def create_mount(self, request: web.Request) -> None:
@@ -87,7 +87,7 @@ class APIMounts(CoreSysAttributes):
if not self.sys_mounts.default_backup_mount: if not self.sys_mounts.default_backup_mount:
self.sys_mounts.default_backup_mount = mount self.sys_mounts.default_backup_mount = mount
self.sys_mounts.save_data() await self.sys_mounts.save_data()
@api_process @api_process
async def update_mount(self, request: web.Request) -> None: async def update_mount(self, request: web.Request) -> None:
@@ -110,7 +110,7 @@ class APIMounts(CoreSysAttributes):
elif self.sys_mounts.default_backup_mount == mount: elif self.sys_mounts.default_backup_mount == mount:
self.sys_mounts.default_backup_mount = None self.sys_mounts.default_backup_mount = None
self.sys_mounts.save_data() await self.sys_mounts.save_data()
@api_process @api_process
async def delete_mount(self, request: web.Request) -> None: async def delete_mount(self, request: web.Request) -> None:
@@ -122,7 +122,7 @@ class APIMounts(CoreSysAttributes):
if mount.usage == MountUsage.BACKUP: if mount.usage == MountUsage.BACKUP:
self.sys_create_task(self.sys_backups.reload()) self.sys_create_task(self.sys_backups.reload())
self.sys_mounts.save_data() await self.sys_mounts.save_data()
@api_process @api_process
async def reload_mount(self, request: web.Request) -> None: async def reload_mount(self, request: web.Request) -> None:

View File

@@ -169,7 +169,7 @@ class APIOS(CoreSysAttributes):
body[ATTR_SYSTEM_HEALTH_LED] body[ATTR_SYSTEM_HEALTH_LED]
) )
self.sys_dbus.agent.board.green.save_data() await self.sys_dbus.agent.board.green.save_data()
@api_process @api_process
async def boards_yellow_info(self, request: web.Request) -> dict[str, Any]: async def boards_yellow_info(self, request: web.Request) -> dict[str, Any]:
@@ -196,7 +196,7 @@ class APIOS(CoreSysAttributes):
if ATTR_POWER_LED in body: if ATTR_POWER_LED in body:
await self.sys_dbus.agent.board.yellow.set_power_led(body[ATTR_POWER_LED]) await self.sys_dbus.agent.board.yellow.set_power_led(body[ATTR_POWER_LED])
self.sys_dbus.agent.board.yellow.save_data() await self.sys_dbus.agent.board.yellow.save_data()
self.sys_resolution.create_issue( self.sys_resolution.create_issue(
IssueType.REBOOT_REQUIRED, IssueType.REBOOT_REQUIRED,
ContextType.SYSTEM, ContextType.SYSTEM,

View File

@@ -1 +1 @@
!function(){function d(d){var e=document.createElement("script");e.src=d,document.body.appendChild(e)}if(/Edge?\/(12[2-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[3-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([4-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(10[7-9]|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[2-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[3-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[2-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/(2[4-9]|[3-9]\d|\d{3,})\.\d+|Home As{2}istant\/[\d.]+ \(.+; macOS (1[2-9]|[2-9]\d|\d{3,})\.\d+(\.\d+)?\)/.test(navigator.userAgent))try{new Function("import('/api/hassio/app/frontend_latest/entrypoint.73ec900e351835f9.js')")()}catch(e){d("/api/hassio/app/frontend_es5/entrypoint.163d6939af79fd9b.js")}else d("/api/hassio/app/frontend_es5/entrypoint.163d6939af79fd9b.js")}() !function(){function d(d){var e=document.createElement("script");e.src=d,document.body.appendChild(e)}if(/Edge?\/(12[2-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[4-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([4-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(10[89]|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[3-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[4-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[3-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/(2[4-9]|[3-9]\d|\d{3,})\.\d+|Home As{2}istant\/[\d.]+ \(.+; macOS (1[2-9]|[2-9]\d|\d{3,})\.\d+(\.\d+)?\)/.test(navigator.userAgent))try{new Function("import('/api/hassio/app/frontend_latest/entrypoint.9ac99222ee42fbb3.js')")()}catch(e){d("/api/hassio/app/frontend_es5/entrypoint.85ccafe1fda9d9a5.js")}else d("/api/hassio/app/frontend_es5/entrypoint.85ccafe1fda9d9a5.js")}()

View File

@@ -1 +1 @@
{"version":3,"file":"1081.e647cbe586ff9dd0.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-button-toggle-group.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-selector/ha-selector-button-toggle.ts"],"names":["_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","queryAll","html","_t","_","this","buttons","map","button","iconPath","_t2","label","active","_handleClick","_t3","styleMap","width","fullWidth","length","dense","_this$_buttons","_buttons","forEach","async","updateComplete","shadowRoot","querySelector","style","margin","ev","currentTarget","fireEvent","static","css","_t4","LitElement","HaButtonToggleSelector","_this$selector$button","_this$selector$button2","_this$selector$button3","options","selector","button_toggle","option","translationKey","translation_key","localizeValue","localizedLabel","sort","a","b","caseInsensitiveStringCompare","hass","locale","language","toggleButtons","item","_valueChanged","_ev$detail","_this$value","stopPropagation","detail","target","disabled","undefined"],"mappings":"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"} {"version":3,"file":"1081.e647cbe586ff9dd0.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-button-toggle-group.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-selector/ha-selector-button-toggle.ts"],"names":["_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","queryAll","html","_t","_","this","buttons","map","button","iconPath","_t2","label","active","_handleClick","_t3","styleMap","width","fullWidth","length","dense","_this$_buttons","_buttons","forEach","async","updateComplete","shadowRoot","querySelector","style","margin","ev","currentTarget","fireEvent","static","css","_t4","LitElement","HaButtonToggleSelector","_this$selector$button","_this$selector$button2","_this$selector$button3","options","selector","button_toggle","option","translationKey","translation_key","localizeValue","localizedLabel","sort","a","b","caseInsensitiveStringCompare","hass","locale","language","toggleButtons","item","_valueChanged","_ev$detail","_this$value","stopPropagation","detail","target","disabled","undefined"],"mappings":"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"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"12.ffa1bdc0a98802fa.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-selector/ha-selector-navigation.ts"],"names":["HaNavigationSelector","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","reflect","html","_t","_","this","hass","label","required","disabled","helper","_valueChanged","ev","fireEvent","detail","LitElement"],"mappings":"mVAQaA,GAAoBC,EAAAA,EAAAA,GAAA,EADhCC,EAAAA,EAAAA,IAAc,4BAAyB,SAAAC,EAAAC,GAiCvC,OAAAC,EAjCD,cACiCD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,WAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,QAASC,SAAS,KAAOJ,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAElEC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAI,IAAAL,KAAA,SAAAI,IAAA,SAAAC,MAEnD,WACE,OAAOI,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mKAECC,KAAKC,KACJD,KAAKE,MACLF,KAAKP,MACFO,KAAKG,SACLH,KAAKI,SACPJ,KAAKK,OACEL,KAAKM,cAG5B,GAAC,CAAAlB,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsBc,IACpBC,EAAAA,EAAAA,GAAUR,KAAM,gBAAiB,CAAEP,MAAOc,EAAGE,OAAOhB,OACtD,IAAC,GA/BuCiB,EAAAA,I"} {"version":3,"file":"12.ffa1bdc0a98802fa.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-selector/ha-selector-navigation.ts"],"names":["HaNavigationSelector","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","reflect","html","_t","_","this","hass","label","required","disabled","helper","_valueChanged","ev","fireEvent","detail","LitElement"],"mappings":"mVAQaA,GAAoBC,EAAAA,EAAAA,GAAA,EADhCC,EAAAA,EAAAA,IAAc,4BAAyB,SAAAC,EAAAC,GAiCvC,OAAAC,EAjCD,cACiCD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,WAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,QAASC,SAAS,KAAOJ,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAElEC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAI,IAAAL,KAAA,SAAAI,IAAA,SAAAC,MAEnD,WACE,OAAOI,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mKAECC,KAAKC,KACJD,KAAKE,MACLF,KAAKP,MACFO,KAAKG,SACLH,KAAKI,SACPJ,KAAKK,OACEL,KAAKM,cAG5B,GAAC,CAAAlB,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsBc,IACpBC,EAAAA,EAAAA,GAAUR,KAAM,gBAAiB,CAAEP,MAAOc,EAAGE,OAAOhB,OACtD,IAAC,GA/BuCiB,EAAAA,I"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"1559.a19e31d44cc23ba4.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-icon-button-arrow-next.ts"],"names":["HaIconButtonArrowNext","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","state","mainWindow","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","LitElement"],"mappings":"iRAQA,IACaA,GAAqBC,EAAAA,EAAAA,GAAA,EADjCC,EAAAA,EAAAA,IAAc,+BAA4B,SAAAC,EAAAC,GAoB1C,OAAAC,EApBD,cACkCD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC/BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAEnDC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,KAAAA,GAAA,MACsB,QAA5BI,EAAAA,EAAAA,SAAAA,I,kJAAgE,IAAAT,KAAA,SAAAI,IAAA,SAAAC,MAElE,WAAmC,IAAAK,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,IAAC,GAlBwCC,EAAAA,G"} {"version":3,"file":"1559.a19e31d44cc23ba4.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-icon-button-arrow-next.ts"],"names":["HaIconButtonArrowNext","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","state","mainWindow","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","LitElement"],"mappings":"iRAQA,IACaA,GAAqBC,EAAAA,EAAAA,GAAA,EADjCC,EAAAA,EAAAA,IAAc,+BAA4B,SAAAC,EAAAC,GAoB1C,OAAAC,EApBD,cACkCD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC/BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAEnDC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,KAAAA,GAAA,MACsB,QAA5BI,EAAAA,EAAAA,SAAAA,I,kJAAgE,IAAAT,KAAA,SAAAI,IAAA,SAAAC,MAElE,WAAmC,IAAAK,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,IAAC,GAlBwCC,EAAAA,G"}

View File

@@ -1 +1 @@
{"version":3,"file":"1577.8ff43c55394a53f4.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-icon-button-next.ts"],"names":["HaIconButtonNext","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","state","mainWindow","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","LitElement"],"mappings":"2QAQA,IACaA,GAAgBC,EAAAA,EAAAA,GAAA,EAD5BC,EAAAA,EAAAA,IAAc,yBAAsB,SAAAC,EAAAC,GAoBpC,OAAAC,EApBD,cAC6BD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC1BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAEnDC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,KAAAA,GAAA,MACsB,QAA5BI,EAAAA,EAAAA,SAAAA,I,6HAAoE,IAAAT,KAAA,SAAAI,IAAA,SAAAC,MAEtE,WAAmC,IAAAK,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,IAAC,GAlBmCC,EAAAA,G"} {"version":3,"file":"1577.8ff43c55394a53f4.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-icon-button-next.ts"],"names":["HaIconButtonNext","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","state","mainWindow","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","LitElement"],"mappings":"2QAQA,IACaA,GAAgBC,EAAAA,EAAAA,GAAA,EAD5BC,EAAAA,EAAAA,IAAc,yBAAsB,SAAAC,EAAAC,GAoBpC,OAAAC,EApBD,cAC6BD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC1BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAEnDC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,KAAAA,GAAA,MACsB,QAA5BI,EAAAA,EAAAA,SAAAA,I,6HAAoE,IAAAT,KAAA,SAAAI,IAAA,SAAAC,MAEtE,WAAmC,IAAAK,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,IAAC,GAlBmCC,EAAAA,G"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"175.bf191ec9591c4743.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-icon-button-toggle.ts"],"names":["HaIconButtonToggle","_decorate","customElement","_initialize","_HaIconButton","F","constructor","args","d","kind","decorators","property","type","Boolean","reflect","key","value","static","css","_t","_","HaIconButton"],"mappings":"oQAKaA,GAAkBC,EAAAA,EAAAA,GAAA,EAD9BC,EAAAA,EAAAA,IAAc,2BAAwB,SAAAC,EAAAC,GAuCtC,OAAAC,EAvCD,cAC+BD,EAAsBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAAtBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC5BC,EAAAA,EAAAA,IAAS,CAAEC,KAAMC,QAASC,SAAS,KAAOC,IAAA,WAAAC,KAAAA,GAAA,OAAY,CAAK,IAAAP,KAAA,QAAAQ,QAAA,EAAAF,IAAA,SAAAC,KAAAA,GAAA,OAE5CE,EAAAA,EAAAA,IAAGC,IAAAA,EAAAC,CAAA,knBAHmBC,EAAAA,a"} {"version":3,"file":"175.bf191ec9591c4743.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-icon-button-toggle.ts"],"names":["HaIconButtonToggle","_decorate","customElement","_initialize","_HaIconButton","F","constructor","args","d","kind","decorators","property","type","Boolean","reflect","key","value","static","css","_t","_","HaIconButton"],"mappings":"oQAKaA,GAAkBC,EAAAA,EAAAA,GAAA,EAD9BC,EAAAA,EAAAA,IAAc,2BAAwB,SAAAC,EAAAC,GAuCtC,OAAAC,EAvCD,cAC+BD,EAAsBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAAtBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC5BC,EAAAA,EAAAA,IAAS,CAAEC,KAAMC,QAASC,SAAS,KAAOC,IAAA,WAAAC,KAAAA,GAAA,OAAY,CAAK,IAAAP,KAAA,QAAAQ,QAAA,EAAAF,IAAA,SAAAC,KAAAA,GAAA,OAE5CE,EAAAA,EAAAA,IAAGC,IAAAA,EAAAC,CAAA,knBAHmBC,EAAAA,a"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"2282.ef308bd9167b73b9.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-form/ha-form-select.ts"],"names":["HaFormSelect","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","memoizeOne","options","select","map","option","label","html","_t","_","this","hass","schema","data","helper","disabled","required","_selectSchema","_valueChanged","ev","stopPropagation","detail","undefined","fireEvent","LitElement"],"mappings":"kWAeaA,GAAYC,EAAAA,EAAAA,GAAA,EADxBC,EAAAA,EAAAA,IAAc,oBAAiB,SAAAC,EAAAC,GAyD/B,OAAAC,EAzDD,cACyBD,EAA6CE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAA7CK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EACtBC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAI,IAAA,gBAAAC,KAAAA,GAAA,OAE5BG,EAAAA,EAAAA,IACrBC,IAAO,CACNC,OAAQ,CACND,QAASA,EAAQE,KAAKC,IAAM,CAC1BP,MAAOO,EAAO,GACdC,MAAOD,EAAO,WAIrB,IAAAZ,KAAA,SAAAI,IAAA,SAAAC,MAED,WACE,OAAOS,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,+LAECC,KAAKC,KACHD,KAAKE,OACNF,KAAKG,KACLH,KAAKJ,MACJI,KAAKI,OACHJ,KAAKK,SACLL,KAAKE,OAAOI,SACZN,KAAKO,cAAcP,KAAKE,OAAOV,SAC1BQ,KAAKQ,cAG5B,GAAC,CAAAzB,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsBqB,GACpBA,EAAGC,kBACH,IAAItB,EAA4BqB,EAAGE,OAAOvB,MAEtCA,IAAUY,KAAKG,OAIL,KAAVf,IACFA,OAAQwB,IAGVC,EAAAA,EAAAA,GAAUb,KAAM,gBAAiB,CAC/BZ,UAEJ,IAAC,GAvD+B0B,EAAAA,I"} {"version":3,"file":"2282.ef308bd9167b73b9.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-form/ha-form-select.ts"],"names":["HaFormSelect","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","memoizeOne","options","select","map","option","label","html","_t","_","this","hass","schema","data","helper","disabled","required","_selectSchema","_valueChanged","ev","stopPropagation","detail","undefined","fireEvent","LitElement"],"mappings":"kWAeaA,GAAYC,EAAAA,EAAAA,GAAA,EADxBC,EAAAA,EAAAA,IAAc,oBAAiB,SAAAC,EAAAC,GAyD/B,OAAAC,EAzDD,cACyBD,EAA6CE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAA7CK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EACtBC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAI,IAAA,gBAAAC,KAAAA,GAAA,OAE5BG,EAAAA,EAAAA,IACrBC,IAAO,CACNC,OAAQ,CACND,QAASA,EAAQE,KAAKC,IAAM,CAC1BP,MAAOO,EAAO,GACdC,MAAOD,EAAO,WAIrB,IAAAZ,KAAA,SAAAI,IAAA,SAAAC,MAED,WACE,OAAOS,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,+LAECC,KAAKC,KACHD,KAAKE,OACNF,KAAKG,KACLH,KAAKJ,MACJI,KAAKI,OACHJ,KAAKK,SACLL,KAAKE,OAAOI,SACZN,KAAKO,cAAcP,KAAKE,OAAOV,SAC1BQ,KAAKQ,cAG5B,GAAC,CAAAzB,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsBqB,GACpBA,EAAGC,kBACH,IAAItB,EAA4BqB,EAAGE,OAAOvB,MAEtCA,IAAUY,KAAKG,OAIL,KAAVf,IACFA,OAAQwB,IAGVC,EAAAA,EAAAA,GAAUb,KAAM,gBAAiB,CAC/BZ,UAEJ,IAAC,GAvD+B0B,EAAAA,I"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"2653.12039007e75337e2.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-form/ha-form-expandable.ts"],"names":["HaFormExpendable","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","_this$computeHelper","description","this","computeHelper","call","schema","html","_t","_","nothing","data","options","computeLabel","Object","assign","path","name","_this$schema$headingL","_this$schema$headingL2","_this$computeLabel","_t2","expanded","headingLevel","toString","icon","_t3","iconPath","_t4","title","_renderDescription","hass","disabled","_computeLabel","_computeHelper","localizeValue","static","css","_t5","LitElement"],"mappings":"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"} {"version":3,"file":"2653.12039007e75337e2.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-form/ha-form-expandable.ts"],"names":["HaFormExpendable","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","_this$computeHelper","description","this","computeHelper","call","schema","html","_t","_","nothing","data","options","computeLabel","Object","assign","path","name","_this$schema$headingL","_this$schema$headingL2","_this$computeLabel","_t2","expanded","headingLevel","toString","icon","_t3","iconPath","_t4","title","_renderDescription","hass","disabled","_computeLabel","_computeHelper","localizeValue","static","css","_t5","LitElement"],"mappings":"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"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"2670.8950815ec89efdc6.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-form/ha-form-float.ts"],"names":["HaFormFloat","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","query","this","_input","focus","_this$schema$descript","_this$localize","html","_t","_","label","helper","undefined","data","disabled","schema","required","description","suffix","localize","call","_valueChanged","changedProps","has","toggleAttribute","ev","rawValue","target","replace","endsWith","parseFloat","isNaN","fireEvent","static","css","_t2","LitElement"],"mappings":"+TAcaA,GAAWC,EAAAA,EAAAA,GAAA,EADvBC,EAAAA,EAAAA,IAAc,mBAAgB,SAAAC,EAAAC,GAyF9B,OAAAC,EAzFD,cACwBD,EAA6CE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAA7CK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EACrBC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,WAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAEnDO,EAAAA,EAAAA,IAAM,iBAAeJ,IAAA,SAAAC,WAAA,IAAAL,KAAA,SAAAI,IAAA,QAAAC,MAEtB,WACMI,KAAKC,QACPD,KAAKC,OAAOC,OAEhB,GAAC,CAAAX,KAAA,SAAAI,IAAA,SAAAC,MAED,WAAmC,IAAAO,EAAAC,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,+OAIEP,KAAKQ,MACJR,KAAKS,YAEQC,IAAdV,KAAKW,KAAqBX,KAAKW,KAAO,GACnCX,KAAKY,SACLZ,KAAKa,OAAOC,SACRd,KAAKa,OAAOC,SACK,QADGX,EAC1BH,KAAKa,OAAOE,mBAAW,IAAAZ,OAAA,EAAvBA,EAAyBa,OACdhB,KAAKa,OAAOC,SAChB,QADwBV,EACrCJ,KAAKiB,gBAAQ,IAAAb,OAAA,EAAbA,EAAAc,KAAAlB,KAAgB,iCAChBU,EACKV,KAAKmB,cAGpB,GAAC,CAAA5B,KAAA,SAAAI,IAAA,UAAAC,MAED,SAAkBwB,GACZA,EAAaC,IAAI,WACnBrB,KAAKsB,gBAAgB,eAAgBtB,KAAKa,OAAOC,SAErD,GAAC,CAAAvB,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsB2B,GACpB,MACMC,EADSD,EAAGE,OACM7B,MAAM8B,QAAQ,IAAK,KAE3C,IAAI9B,EAEA4B,EAASG,SAAS,MAKL,MAAbH,IAIa,KAAbA,IACF5B,EAAQgC,WAAWJ,GACfK,MAAMjC,KACRA,OAAQc,IAKRV,KAAKW,OAASf,IAIlBkC,EAAAA,EAAAA,GAAU9B,KAAM,gBAAiB,CAC/BJ,UAEJ,GAAC,CAAAL,KAAA,QAAAwC,QAAA,EAAApC,IAAA,SAAAC,KAAAA,GAAA,OAEeoC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA1B,CAAA,4EAhFY2B,EAAAA,G"} {"version":3,"file":"2670.8950815ec89efdc6.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-form/ha-form-float.ts"],"names":["HaFormFloat","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","query","this","_input","focus","_this$schema$descript","_this$localize","html","_t","_","label","helper","undefined","data","disabled","schema","required","description","suffix","localize","call","_valueChanged","changedProps","has","toggleAttribute","ev","rawValue","target","replace","endsWith","parseFloat","isNaN","fireEvent","static","css","_t2","LitElement"],"mappings":"+TAcaA,GAAWC,EAAAA,EAAAA,GAAA,EADvBC,EAAAA,EAAAA,IAAc,mBAAgB,SAAAC,EAAAC,GAyF9B,OAAAC,EAzFD,cACwBD,EAA6CE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAA7CK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EACrBC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,WAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAEnDO,EAAAA,EAAAA,IAAM,iBAAeJ,IAAA,SAAAC,WAAA,IAAAL,KAAA,SAAAI,IAAA,QAAAC,MAEtB,WACMI,KAAKC,QACPD,KAAKC,OAAOC,OAEhB,GAAC,CAAAX,KAAA,SAAAI,IAAA,SAAAC,MAED,WAAmC,IAAAO,EAAAC,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,+OAIEP,KAAKQ,MACJR,KAAKS,YAEQC,IAAdV,KAAKW,KAAqBX,KAAKW,KAAO,GACnCX,KAAKY,SACLZ,KAAKa,OAAOC,SACRd,KAAKa,OAAOC,SACK,QADGX,EAC1BH,KAAKa,OAAOE,mBAAW,IAAAZ,OAAA,EAAvBA,EAAyBa,OACdhB,KAAKa,OAAOC,SAChB,QADwBV,EACrCJ,KAAKiB,gBAAQ,IAAAb,OAAA,EAAbA,EAAAc,KAAAlB,KAAgB,iCAChBU,EACKV,KAAKmB,cAGpB,GAAC,CAAA5B,KAAA,SAAAI,IAAA,UAAAC,MAED,SAAkBwB,GACZA,EAAaC,IAAI,WACnBrB,KAAKsB,gBAAgB,eAAgBtB,KAAKa,OAAOC,SAErD,GAAC,CAAAvB,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsB2B,GACpB,MACMC,EADSD,EAAGE,OACM7B,MAAM8B,QAAQ,IAAK,KAE3C,IAAI9B,EAEA4B,EAASG,SAAS,MAKL,MAAbH,IAIa,KAAbA,IACF5B,EAAQgC,WAAWJ,GACfK,MAAMjC,KACRA,OAAQc,IAKRV,KAAKW,OAASf,IAIlBkC,EAAAA,EAAAA,GAAU9B,KAAM,gBAAiB,CAC/BJ,UAEJ,GAAC,CAAAL,KAAA,QAAAwC,QAAA,EAAApC,IAAA,SAAAC,KAAAA,GAAA,OAEeoC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA1B,CAAA,4EAhFY2B,EAAAA,G"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"2987.a78813c9144f02e3.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/dialogs/config-flow/previews/flow-preview-generic.ts"],"names":["FlowPreviewGeneric","_decorate","customElement","_initialize","_LitElement","constructor","args","F","d","kind","decorators","property","attribute","key","value","state","_superPropGet","this","_unsub","then","unsub","undefined","changedProps","has","_debouncedSubscribePreview","_error","html","_t","_","_t2","hass","_preview","preview","now","Date","toISOString","Object","assign","entity_id","stepId","last_changed","last_updated","context","id","parent_id","user_id","debounce","_subscribePreview","flowType","subscribePreviewGeneric","domain","flowId","stepData","_setPreview","fireEvent","errors","err","message","LitElement"],"mappings":"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"} {"version":3,"file":"2987.a78813c9144f02e3.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/dialogs/config-flow/previews/flow-preview-generic.ts"],"names":["FlowPreviewGeneric","_decorate","customElement","_initialize","_LitElement","constructor","args","F","d","kind","decorators","property","attribute","key","value","state","_superPropGet","this","_unsub","then","unsub","undefined","changedProps","has","_debouncedSubscribePreview","_error","html","_t","_","_t2","hass","_preview","preview","now","Date","toISOString","Object","assign","entity_id","stepId","last_changed","last_updated","context","id","parent_id","user_id","debounce","_subscribePreview","flowType","subscribePreviewGeneric","domain","flowId","stepData","_setPreview","fireEvent","errors","err","message","LitElement"],"mappings":"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"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"3114.16613a67979903c5.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-dialog.ts"],"names":["_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","state","params","this","title","content","_opened","html","_t","_","closeDialog","createCloseHeading","hass","nothing","static","haStyleDialog","hassioStyle","css","_t2","LitElement","SUPPRESS_DEFAULT_PRESS_SELECTOR","_hass$localize","localize","_DialogBase","HaDialog","FOCUS_TARGET","x","y","_this$contentElement","contentElement","scrollTo","_superPropGet","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","removeEventListener","toggleAttribute","scrollTop","styles","_t3","DialogBase"],"mappings":"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"} {"version":3,"file":"3114.16613a67979903c5.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-dialog.ts"],"names":["_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","state","params","this","title","content","_opened","html","_t","_","closeDialog","createCloseHeading","hass","nothing","static","haStyleDialog","hassioStyle","css","_t2","LitElement","SUPPRESS_DEFAULT_PRESS_SELECTOR","_hass$localize","localize","_DialogBase","HaDialog","FOCUS_TARGET","x","y","_this$contentElement","contentElement","scrollTo","_superPropGet","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","removeEventListener","toggleAttribute","scrollTop","styles","_t3","DialogBase"],"mappings":"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"}

View File

@@ -1 +1 @@
{"version":3,"file":"3230.0111877e6fdb97ba.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/resources/roboto.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/resources/ha-style.ts"],"names":["fontStyles","css","_t","unsafeCSS","__STATIC_PATH__","toString","mainStyles","DEFAULT_PRIMARY_COLOR","DEFAULT_ACCENT_COLOR","Object","entries","derivedStyles","map","key","value","join","styleElement","document","createElement","textContent","head","append"],"mappings":"oMAEO,MAAMA,GAAaC,EAAAA,EAAAA,IAAGC,IAAAA,G,KAAA,0lEAMjBC,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAKpBC,W,qBCnHF,MAAMC,GAAaL,EAAAA,EAAAA,IAAGC,IAAAA,G,KAAA,qqTAoBCC,EAAAA,EAAAA,IAAUI,EAAAA,KAGXJ,EAAAA,EAAAA,IAAUK,EAAAA,KAuZ1BL,EAAAA,EAAAA,IACAM,OAAOC,QAAQC,EAAAA,IACZC,KAAI,EAAEC,EAAKC,KAAW,KAAKD,MAAQC,OACnCC,KAAK,MAGZV,WAEIW,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,YAAc,CAACb,EAAYN,GAAYe,KAAK,IACzDE,SAASG,KAAKC,OAAOL,E"} {"version":3,"file":"3230.0111877e6fdb97ba.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/resources/roboto.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/resources/ha-style.ts"],"names":["fontStyles","css","_t","unsafeCSS","__STATIC_PATH__","toString","mainStyles","DEFAULT_PRIMARY_COLOR","DEFAULT_ACCENT_COLOR","Object","entries","derivedStyles","map","key","value","join","styleElement","document","createElement","textContent","head","append"],"mappings":"oMAEO,MAAMA,GAAaC,EAAAA,EAAAA,IAAGC,IAAAA,G,KAAA,0lEAMjBC,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAUVD,EAAAA,EAAAA,IAAUC,4BAKpBC,W,qBCnHF,MAAMC,GAAaL,EAAAA,EAAAA,IAAGC,IAAAA,G,KAAA,qqTAoBCC,EAAAA,EAAAA,IAAUI,EAAAA,KAGXJ,EAAAA,EAAAA,IAAUK,EAAAA,KAuZ1BL,EAAAA,EAAAA,IACAM,OAAOC,QAAQC,EAAAA,IACZC,KAAI,EAAEC,EAAKC,KAAW,KAAKD,MAAQC,OACnCC,KAAK,MAGZV,WAEIW,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,YAAc,CAACb,EAAYN,GAAYe,KAAK,IACzDE,SAASG,KAAKC,OAAOL,E"}

View File

@@ -1 +1 @@
{"version":3,"file":"3234.876f6ed4c5d703e6.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-icon-next.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-area-filter.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/dialogs/area-filter/show-area-filter-dialog.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-selector/ha-selector-area-filter.ts"],"names":["HaIconNext","_decorate","customElement","_initialize","_HaSvgIcon","F","constructor","args","d","kind","decorators","property","key","value","mainWindow","HaSvgIcon","_LitElement","attribute","type","Boolean","_this$value$hidden$le","_this$value","allAreasCount","Object","keys","this","hass","areas","length","hiddenAreasCount","hidden","description","localize","count","html","_t","_","_edit","disabled","label","ev","defaultPrevented","preventDefault","stopPropagation","element","dialogParams","title","initialValue","Promise","resolve","origCancel","cancel","origSubmit","submit","fireEvent","dialogTag","dialogImport","assign","code","showAreaFilterDialog","static","css","_t2","LitElement","HaAreaFilterSelector","helper","required"],"mappings":"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"} {"version":3,"file":"3234.876f6ed4c5d703e6.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-icon-next.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-area-filter.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/dialogs/area-filter/show-area-filter-dialog.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-selector/ha-selector-area-filter.ts"],"names":["HaIconNext","_decorate","customElement","_initialize","_HaSvgIcon","F","constructor","args","d","kind","decorators","property","key","value","mainWindow","HaSvgIcon","_LitElement","attribute","type","Boolean","_this$value$hidden$le","_this$value","allAreasCount","Object","keys","this","hass","areas","length","hiddenAreasCount","hidden","description","localize","count","html","_t","_","_edit","disabled","label","ev","defaultPrevented","preventDefault","stopPropagation","element","dialogParams","title","initialValue","Promise","resolve","origCancel","cancel","origSubmit","submit","fireEvent","dialogTag","dialogImport","assign","code","showAreaFilterDialog","static","css","_t2","LitElement","HaAreaFilterSelector","helper","required"],"mappings":"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"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"3537.4d2524c97b262c96.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-icon-button-prev.ts"],"names":["HaIconButtonPrev","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","state","mainWindow","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","LitElement"],"mappings":"2QAQA,IACaA,GAAgBC,EAAAA,EAAAA,GAAA,EAD5BC,EAAAA,EAAAA,IAAc,yBAAsB,SAAAC,EAAAC,GAoBpC,OAAAC,EApBD,cAC6BD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC1BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAEnDC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,KAAAA,GAAA,MACsB,QAA5BI,EAAAA,EAAAA,SAAAA,I,6HAAoE,IAAAT,KAAA,SAAAI,IAAA,SAAAC,MAEtE,WAAmC,IAAAK,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,IAAC,GAlBmCC,EAAAA,G"} {"version":3,"file":"3537.4d2524c97b262c96.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-icon-button-prev.ts"],"names":["HaIconButtonPrev","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","state","mainWindow","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","LitElement"],"mappings":"2QAQA,IACaA,GAAgBC,EAAAA,EAAAA,GAAA,EAD5BC,EAAAA,EAAAA,IAAc,yBAAsB,SAAAC,EAAAC,GAoBpC,OAAAC,EApBD,cAC6BD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC1BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAEnDC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,KAAAA,GAAA,MACsB,QAA5BI,EAAAA,EAAAA,SAAAA,I,6HAAoE,IAAAT,KAAA,SAAAI,IAAA,SAAAC,MAEtE,WAAmC,IAAAK,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,IAAC,GAlBmCC,EAAAA,G"}

View File

@@ -1 +1 @@
{"version":3,"file":"355.dc8215ffe4a5b9cf.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/panels/config/helpers/forms/ha-input_button-form.ts"],"names":["_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","state","item","this","_item","_name","name","_icon","icon","updateComplete","then","_this$shadowRoot","shadowRoot","querySelector","focus","hass","html","_t","_","_valueChanged","localize","nothing","ev","_ev$detail","new","stopPropagation","configValue","target","detail","newValue","Object","assign","fireEvent","static","haStyle","css","_t2","LitElement"],"mappings":"oQAWuBA,EAAAA,EAAAA,GAAA,EADtBC,EAAAA,EAAAA,IAAc,0BAAuB,SAAAC,EAAAC,GAuGrC,OAAAC,EAvGD,cACuBD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EACpBC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,MAAAC,KAAAA,GAAA,OAAc,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAE9CO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEPO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAI,IAAA,QAAAC,WAAA,IAAAL,KAAA,MAAAI,IAAA,OAAAC,MAIR,SAASI,GACPC,KAAKC,MAAQF,EACTA,GACFC,KAAKE,MAAQH,EAAKI,MAAQ,GAC1BH,KAAKI,MAAQL,EAAKM,MAAQ,KAE1BL,KAAKE,MAAQ,GACbF,KAAKI,MAAQ,GAEjB,GAAC,CAAAd,KAAA,SAAAI,IAAA,QAAAC,MAED,WACEK,KAAKM,eAAeC,MAAK,SAAAC,EAAA,OAEN,QAFMA,EAErBR,KAAKS,kBAAU,IAAAD,GAAuC,QAAvCA,EAAfA,EAAiBE,cAAc,+BAAuB,IAAAF,OAAA,EADxDA,EAEGG,OAAO,GAEd,GAAC,CAAArB,KAAA,SAAAI,IAAA,SAAAC,MAED,WACE,OAAKK,KAAKY,MAIHC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mTAGIf,KAAKE,MACC,OACNF,KAAKgB,cACLhB,KAAKY,KAAMK,SAClB,2CAImBjB,KAAKY,KAAMK,SAC9B,iDAKMjB,KAAKY,KACJZ,KAAKI,MACC,OACEJ,KAAKgB,cACbhB,KAAKY,KAAMK,SAClB,4CAzBCC,EAAAA,EA8BX,GAAC,CAAA5B,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsBwB,GAAiB,IAAAC,EACrC,IAAKpB,KAAKqB,MAAQrB,KAAKC,MACrB,OAEFkB,EAAGG,kBACH,MAAMC,EAAeJ,EAAGK,OAAeD,YACjC5B,GAAiB,QAATyB,EAAAD,EAAGM,cAAM,IAAAL,OAAA,EAATA,EAAWzB,QAAUwB,EAAGK,OAAe7B,MACrD,GAAIK,KAAK,IAAIuB,OAAmB5B,EAC9B,OAEF,MAAM+B,EAAQC,OAAAC,OAAA,GAAQ5B,KAAKC,OACtBN,EAGH+B,EAASH,GAAe5B,SAFjB+B,EAASH,IAIlBM,EAAAA,EAAAA,GAAU7B,KAAM,gBAAiB,CAC/BL,MAAO+B,GAEX,GAAC,CAAApC,KAAA,MAAAwC,QAAA,EAAApC,IAAA,SAAAC,MAED,WACE,MAAO,CACLoC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAlB,CAAA,uGAaP,IAAC,GArG6BmB,EAAAA,G"} {"version":3,"file":"355.dc8215ffe4a5b9cf.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/panels/config/helpers/forms/ha-input_button-form.ts"],"names":["_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","state","item","this","_item","_name","name","_icon","icon","updateComplete","then","_this$shadowRoot","shadowRoot","querySelector","focus","hass","html","_t","_","_valueChanged","localize","nothing","ev","_ev$detail","new","stopPropagation","configValue","target","detail","newValue","Object","assign","fireEvent","static","haStyle","css","_t2","LitElement"],"mappings":"oQAWuBA,EAAAA,EAAAA,GAAA,EADtBC,EAAAA,EAAAA,IAAc,0BAAuB,SAAAC,EAAAC,GAuGrC,OAAAC,EAvGD,cACuBD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EACpBC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,MAAAC,KAAAA,GAAA,OAAc,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAE9CO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEPO,EAAAA,EAAAA,OAAOJ,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAI,IAAA,QAAAC,WAAA,IAAAL,KAAA,MAAAI,IAAA,OAAAC,MAIR,SAASI,GACPC,KAAKC,MAAQF,EACTA,GACFC,KAAKE,MAAQH,EAAKI,MAAQ,GAC1BH,KAAKI,MAAQL,EAAKM,MAAQ,KAE1BL,KAAKE,MAAQ,GACbF,KAAKI,MAAQ,GAEjB,GAAC,CAAAd,KAAA,SAAAI,IAAA,QAAAC,MAED,WACEK,KAAKM,eAAeC,MAAK,SAAAC,EAAA,OAEN,QAFMA,EAErBR,KAAKS,kBAAU,IAAAD,GAAuC,QAAvCA,EAAfA,EAAiBE,cAAc,+BAAuB,IAAAF,OAAA,EADxDA,EAEGG,OAAO,GAEd,GAAC,CAAArB,KAAA,SAAAI,IAAA,SAAAC,MAED,WACE,OAAKK,KAAKY,MAIHC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mTAGIf,KAAKE,MACC,OACNF,KAAKgB,cACLhB,KAAKY,KAAMK,SAClB,2CAImBjB,KAAKY,KAAMK,SAC9B,iDAKMjB,KAAKY,KACJZ,KAAKI,MACC,OACEJ,KAAKgB,cACbhB,KAAKY,KAAMK,SAClB,4CAzBCC,EAAAA,EA8BX,GAAC,CAAA5B,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsBwB,GAAiB,IAAAC,EACrC,IAAKpB,KAAKqB,MAAQrB,KAAKC,MACrB,OAEFkB,EAAGG,kBACH,MAAMC,EAAeJ,EAAGK,OAAeD,YACjC5B,GAAiB,QAATyB,EAAAD,EAAGM,cAAM,IAAAL,OAAA,EAATA,EAAWzB,QAAUwB,EAAGK,OAAe7B,MACrD,GAAIK,KAAK,IAAIuB,OAAmB5B,EAC9B,OAEF,MAAM+B,EAAQC,OAAAC,OAAA,GAAQ5B,KAAKC,OACtBN,EAGH+B,EAASH,GAAe5B,SAFjB+B,EAASH,IAIlBM,EAAAA,EAAAA,GAAU7B,KAAM,gBAAiB,CAC/BL,MAAO+B,GAEX,GAAC,CAAApC,KAAA,MAAAwC,QAAA,EAAApC,IAAA,SAAAC,MAED,WACE,MAAO,CACLoC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAlB,CAAA,uGAaP,IAAC,GArG6BmB,EAAAA,G"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"4288.26a4da3ea26fcf28.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-list-item.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-selector/ha-selector-label.ts","/unknown/node_modules/core-js/modules/es.iterator.every.js","/unknown/node_modules/core-js/modules/esnext.iterator.every.js"],"names":["_decorate","customElement","_initialize","_ListItemBase","HaListItem","constructor","args","F","d","kind","key","value","this","noninteractive","_superPropGet","static","styles","css","_t","_","document","dir","_t2","_t3","ListItemBase","HaLabelSelector","_LitElement","decorators","property","attribute","type","Boolean","_this$value","selector","label","multiple","html","hass","ensureArray","required","disabled","_handleChange","ev","detail","Array","isArray","length","undefined","fireEvent","LitElement","$","iterate","aCallable","anObject","getIteratorDirect","target","proto","real","every","predicate","record","counter","stop","IS_RECORD","INTERRUPTED","stopped"],"mappings":"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"} {"version":3,"file":"4288.26a4da3ea26fcf28.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-list-item.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-selector/ha-selector-label.ts","/unknown/node_modules/core-js/modules/es.iterator.every.js","/unknown/node_modules/core-js/modules/esnext.iterator.every.js"],"names":["_decorate","customElement","_initialize","_ListItemBase","HaListItem","constructor","args","F","d","kind","key","value","this","noninteractive","_superPropGet","static","styles","css","_t","_","document","dir","_t2","_t3","ListItemBase","HaLabelSelector","_LitElement","decorators","property","attribute","type","Boolean","_this$value","selector","label","multiple","html","hass","ensureArray","required","disabled","_handleChange","ev","detail","Array","isArray","length","undefined","fireEvent","LitElement","$","iterate","aCallable","anObject","getIteratorDirect","target","proto","real","every","predicate","record","counter","stop","IS_RECORD","INTERRUPTED","stopped"],"mappings":"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"}

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"4377.1196966fab9b2eb6.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-selector/ha-selector-selector.ts"],"names":["SELECTOR_DEFAULTS","number","min","max","SELECTOR_SCHEMAS","action","area","name","selector","boolean","attribute","entity","color_temp","select","options","mode","condition","date","datetime","device","duration","floor","icon","location","media","step","object","color_rgb","state","target","template","text","theme","time","HaSelectorSelector","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","key","value","type","Boolean","reflect","changedProps","size","has","memoizeOne","choice","localize","required","Object","keys","concat","map","label","length","title","schema","data","this","_yamlMode","manual","value0","values","assign","_schema","hass","html","_t","_","_computeLabelCallback","_valueChanged","ev","stopPropagation","detail","oldType","requestUpdate","undefined","newValue","fireEvent","static","css","_t2","LitElement"],"mappings":"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"} {"version":3,"file":"4377.1196966fab9b2eb6.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-selector/ha-selector-selector.ts"],"names":["SELECTOR_DEFAULTS","number","min","max","SELECTOR_SCHEMAS","action","area","name","selector","boolean","attribute","entity","color_temp","select","options","mode","condition","date","datetime","device","duration","floor","icon","location","media","step","object","color_rgb","state","target","template","text","theme","time","HaSelectorSelector","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","key","value","type","Boolean","reflect","changedProps","size","has","memoizeOne","choice","localize","required","Object","keys","concat","map","label","length","title","schema","data","this","_yamlMode","manual","value0","values","assign","_schema","hass","html","_t","_","_computeLabelCallback","_valueChanged","ev","stopPropagation","detail","oldType","requestUpdate","undefined","newValue","fireEvent","static","css","_t2","LitElement"],"mappings":"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"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"467.c0226fde75a1059a.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/resources/sortable.ts"],"names":["SortableCore","OnSpill","AutoScroll"],"mappings":"sLAMAA,EAAAA,GAAAA,MAAmBC,EAAAA,IACnBD,EAAAA,GAAAA,MAAmB,IAAIE,EAAAA,IAEvB,QAAeF,EAAY,E"} {"version":3,"file":"467.c0226fde75a1059a.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/resources/sortable.ts"],"names":["SortableCore","OnSpill","AutoScroll"],"mappings":"sLAMAA,EAAAA,GAAAA,MAAmBC,EAAAA,IACnBD,EAAAA,GAAAA,MAAmB,IAAIE,EAAAA,IAEvB,QAAeF,EAAY,E"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"472.4a039bd21b0f1cf9.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-qr-code.ts"],"names":["HaQrCode","_decorate","customElement","_initialize","_LitElement","constructor","args","F","d","kind","decorators","property","key","value","attribute","type","Number","state","query","changedProperties","_superPropGet","has","this","_error","undefined","canvas","_canvas","data","computedStyles","getComputedStyle","textRgb","getPropertyValue","backgroundRgb","textHex","rgb2hex","split","map","a","parseInt","backgroundHex","QRCode","errorCorrectionLevel","centerImage","width","scale","margin","maskPattern","color","light","dark","catch","err","message","context","getContext","imageObj","Image","src","onload","drawImage","height","html","_t","_","_t2","nothing","static","css","_t3","LitElement"],"mappings":"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"} {"version":3,"file":"472.4a039bd21b0f1cf9.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-qr-code.ts"],"names":["HaQrCode","_decorate","customElement","_initialize","_LitElement","constructor","args","F","d","kind","decorators","property","key","value","attribute","type","Number","state","query","changedProperties","_superPropGet","has","this","_error","undefined","canvas","_canvas","data","computedStyles","getComputedStyle","textRgb","getPropertyValue","backgroundRgb","textHex","rgb2hex","split","map","a","parseInt","backgroundHex","QRCode","errorCorrectionLevel","centerImage","width","scale","margin","maskPattern","color","light","dark","catch","err","message","context","getContext","imageObj","Image","src","onload","drawImage","height","html","_t","_","_t2","nothing","static","css","_t3","LitElement"],"mappings":"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"}

View File

@@ -1 +1 @@
{"version":3,"file":"4863.6f075065cecd2b2b.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts","/unknown/node_modules/core-js/internals/get-built-in-node-module.js"],"names":["_filterDevices","memoizeOne","showAdvanced","hardware","filter","language","devices","device","_device$by_id","includes","subsystem","by_id","toLowerCase","name","dev_path","toLocaleLowerCase","JSON","stringify","attributes","sort","a","b","stringCompare","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","state","dialogParams","this","_dialogParams","undefined","fireEvent","dialog","localName","_this$hass$userData","nothing","hass","userData","_filter","locale","html","_t","_","closeDialog","supervisor","localize","_handleSearchChange","map","_t2","_t3","dump","indent","ev","detail","static","haStyle","haStyleDialog","css","_t4","LitElement","globalThis","IS_NODE","module","exports","process","getBuiltinModule","error","Function"],"mappings":"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"} {"version":3,"file":"4863.6f075065cecd2b2b.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/hassio/src/dialogs/hardware/dialog-hassio-hardware.ts","/unknown/node_modules/core-js/internals/get-built-in-node-module.js"],"names":["_filterDevices","memoizeOne","showAdvanced","hardware","filter","language","devices","device","_device$by_id","includes","subsystem","by_id","toLowerCase","name","dev_path","toLocaleLowerCase","JSON","stringify","attributes","sort","a","b","stringCompare","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","state","dialogParams","this","_dialogParams","undefined","fireEvent","dialog","localName","_this$hass$userData","nothing","hass","userData","_filter","locale","html","_t","_","closeDialog","supervisor","localize","_handleSearchChange","map","_t2","_t3","dump","indent","ev","detail","static","haStyle","haStyleDialog","css","_t4","LitElement","globalThis","IS_NODE","module","exports","process","getBuiltinModule","error","Function"],"mappings":"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"}

View File

@@ -1 +1 @@
{"version":3,"file":"493.b744933380e05a59.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250205.0/src/components/ha-selector/ha-selector-color-rgb.ts"],"names":["HaColorRGBSelector","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","reflect","html","_t","_","this","rgb2hex","label","required","helper","disabled","_valueChanged","ev","target","fireEvent","hex2rgb","static","css","_t2","LitElement"],"mappings":"0RASaA,GAAkBC,EAAAA,EAAAA,GAAA,EAD9BC,EAAAA,EAAAA,IAAc,2BAAwB,SAAAC,EAAAC,GAmDtC,OAAAC,EAnDD,cAC+BD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC5BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,WAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,QAASC,SAAS,KAAOJ,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAElEC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAI,IAAAL,KAAA,SAAAI,IAAA,SAAAC,MAEnD,WACE,OAAOI,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,6JAIEC,KAAKP,OAAQQ,EAAAA,EAAAA,IAAQD,KAAKP,OAAgB,GAC1CO,KAAKE,OAAS,GACXF,KAAKG,SACPH,KAAKI,OACHJ,KAAKK,SACPL,KAAKM,cAGrB,GAAC,CAAAlB,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsBc,GACpB,MAAMd,EAASc,EAAGC,OAAef,OACjCgB,EAAAA,EAAAA,GAAUT,KAAM,gBAAiB,CAC/BP,OAAOiB,EAAAA,EAAAA,IAAQjB,IAEnB,GAAC,CAAAL,KAAA,QAAAuB,QAAA,EAAAnB,IAAA,SAAAC,KAAAA,GAAA,OAEemB,EAAAA,EAAAA,IAAGC,IAAAA,EAAAd,CAAA,wJArCmBe,EAAAA,G"} {"version":3,"file":"493.b744933380e05a59.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250221.0/src/components/ha-selector/ha-selector-color-rgb.ts"],"names":["HaColorRGBSelector","_decorate","customElement","_initialize","_LitElement","F","constructor","args","d","kind","decorators","property","attribute","key","value","type","Boolean","reflect","html","_t","_","this","rgb2hex","label","required","helper","disabled","_valueChanged","ev","target","fireEvent","hex2rgb","static","css","_t2","LitElement"],"mappings":"0RASaA,GAAkBC,EAAAA,EAAAA,GAAA,EAD9BC,EAAAA,EAAAA,IAAc,2BAAwB,SAAAC,EAAAC,GAmDtC,OAAAC,EAnDD,cAC+BD,EAAoBE,WAAAA,IAAAC,GAAA,SAAAA,GAAAJ,EAAA,QAApBK,EAAA,EAAAC,KAAA,QAAAC,WAAA,EAC5BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,OAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,IAAS,CAAEC,WAAW,KAAQC,IAAA,WAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAE9BC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,QAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,OAAUE,IAAA,SAAAC,WAAA,IAAAL,KAAA,QAAAC,WAAA,EAEVC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,QAASC,SAAS,KAAOJ,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAK,IAAAL,KAAA,QAAAC,WAAA,EAElEC,EAAAA,EAAAA,IAAS,CAAEI,KAAMC,WAAUH,IAAA,WAAAC,KAAAA,GAAA,OAAmB,CAAI,IAAAL,KAAA,SAAAI,IAAA,SAAAC,MAEnD,WACE,OAAOI,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,6JAIEC,KAAKP,OAAQQ,EAAAA,EAAAA,IAAQD,KAAKP,OAAgB,GAC1CO,KAAKE,OAAS,GACXF,KAAKG,SACPH,KAAKI,OACHJ,KAAKK,SACPL,KAAKM,cAGrB,GAAC,CAAAlB,KAAA,SAAAI,IAAA,gBAAAC,MAED,SAAsBc,GACpB,MAAMd,EAASc,EAAGC,OAAef,OACjCgB,EAAAA,EAAAA,GAAUT,KAAM,gBAAiB,CAC/BP,OAAOiB,EAAAA,EAAAA,IAAQjB,IAEnB,GAAC,CAAAL,KAAA,QAAAuB,QAAA,EAAAnB,IAAA,SAAAC,KAAAA,GAAA,OAEemB,EAAAA,EAAAA,IAAGC,IAAAA,EAAAd,CAAA,wJArCmBe,EAAAA,G"}

Some files were not shown because too many files have changed in this diff Show More