Compare commits

...

24 Commits

Author SHA1 Message Date
Joakim Sørensen
7c6c982414 Add ingress_stream add-on option (#2982) 2021-06-30 09:28:29 +02:00
Joakim Sørensen
07eeb2eaf2 Only use .content for POST (#2981)
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2021-06-29 11:29:47 +02:00
Joakim Sørensen
223f5b7bb1 Fix failing test (#2980) 2021-06-26 19:32:00 +02:00
Joakim Sørensen
8a9657c452 Stream requests to ingress (#2979)
* Chunk large requests to ingress

* Remove timout for POST

* No timeout

* stream

* Remove chunked
2021-06-26 19:31:15 +02:00
Joakim Sørensen
564e9811d0 Use brotlipy instead of Brotli (#2977) 2021-06-24 19:12:48 +02:00
Pascal Vizeli
b944b52b21 Add running job condition to OS update (#2976) 2021-06-24 16:06:06 +02:00
dependabot[bot]
24aecdddf3 Bump docker/login-action from 1.9.0 to 1.10.0 (#2975)
Bumps [docker/login-action](https://github.com/docker/login-action) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: docker/login-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>
2021-06-24 12:48:33 +02:00
Stefan Agner
7bbfb60039 Allow upgrade when using {os_name} in URL (#2974)
Once {os_name} is part of the update URL we also need to set the OS name
explicitly for upgrades: A user might use a new Supervisor version on a
OS release 5 device. The device will still use "hassos" as OS name.
Before introducing {os_name}, the new OS name was part of the URL. Now
when {os_name} is used, we need to adjust the name for upgrade as well.
2021-06-24 08:39:50 +02:00
Pascal Vizeli
ece40008c7 Logging in local timezone (#2971)
* Logging in local timezone

* fix convert

* Apply suggestions from code review

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-06-21 13:42:39 +02:00
Pascal Vizeli
0177b38ded Support HOT/COLD snapshots for Add-ons (#2943)
* Support HOT/COLD snapshots for Add-ons

* Apply suggestions from code review

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>

* Add warning

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-06-21 09:07:54 +02:00
Stefan Agner
16f2f63081 Allow downgrade to "hassos" from "haos" (#2970)
* Add "os_name" as possible URL variable

* Replace "os_name" for downgrades to OS versions before 6.0
2021-06-19 18:50:54 +02:00
Pascal Vizeli
5f376c2a27 Using images data from version file (#2969)
* Using images data from version file

* fix tests
2021-06-18 22:59:11 +02:00
dependabot[bot]
90a6f109ee Bump gitpython from 3.1.17 to 3.1.18 (#2967)
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.17 to 3.1.18.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.17...3.1.18)

---
updated-dependencies:
- dependency-name: gitpython
  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>
2021-06-18 13:32:53 +02:00
dependabot[bot]
e6fd0ef5dc Bump actions/upload-artifact from 2.2.3 to 2.2.4 (#2965)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.3...v2.2.4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  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>
2021-06-17 09:49:28 +02:00
Joakim Sørensen
d46ab56901 Update frontend to 446a9b5c (#2962) 2021-06-16 11:45:28 +02:00
Pascal Vizeli
3b1ad5c0cd Run API watchdog only if core is running (#2961)
* Run API watchdog only if core is running

* negate

* fix comment
2021-06-16 11:45:06 +02:00
Joakim Sørensen
de8a241e72 When validating add-ons transform core-addons url (#2960) 2021-06-15 15:06:40 +02:00
Pascal Vizeli
a4a0b43d91 Using ghcr.io/home-assistant + fallback (#2959) 2021-06-14 20:07:44 +02:00
Pascal Vizeli
adf355e54f Fix API watchdog never trigger (#2958) 2021-06-14 14:11:22 +02:00
Joakim Sørensen
4f9e646b4c Fix addon_pwned enabled setter (#2952)
* Fix addon_pwned enabled setter

* whatever

* adjust
2021-06-14 11:33:53 +02:00
dependabot[bot]
ce57d384ca Bump pyupgrade from 2.19.3 to 2.19.4 (#2957)
Bumps [pyupgrade](https://github.com/asottile/pyupgrade) from 2.19.3 to 2.19.4.
- [Release notes](https://github.com/asottile/pyupgrade/releases)
- [Commits](https://github.com/asottile/pyupgrade/compare/v2.19.3...v2.19.4)

---
updated-dependencies:
- dependency-name: pyupgrade
  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>
2021-06-14 11:32:50 +02:00
Pascal Vizeli
d53d526673 Add-on: Block update itself (#2956)
* Add-on: Block update itself

* Better logging

* Update
2021-06-14 10:37:59 +02:00
Pascal Vizeli
cd8fc16bcb Cleanup security layer - Add-on default access role (#2954)
* Allow access to network info (add-on)

* fix check

* make it nice

* cleanup

* cleanup

* fix tests

* Add warning

* allow access to addons/store/snapshot infos

* revert
2021-06-14 10:05:37 +02:00
dependabot[bot]
6b58970354 Bump black from 21.5b2 to 21.6b0 (#2953)
* Bump black from 21.5b2 to 21.6b0

Bumps [black](https://github.com/psf/black) from 21.5b2 to 21.6b0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/commits)

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

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

* Update .pre-commit-config.yaml

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2021-06-13 12:44:11 +02:00
207 changed files with 902 additions and 567 deletions

View File

@@ -109,14 +109,14 @@ jobs:
- name: Login to DockerHub
if: needs.init.outputs.publish == 'true'
uses: docker/login-action@v1.9.0
uses: docker/login-action@v1.10.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
if: needs.init.outputs.publish == 'true'
uses: docker/login-action@v1.9.0
uses: docker/login-action@v1.10.0
with:
registry: ghcr.io
username: ${{ secrets.GIT_USER }}

View File

@@ -394,7 +394,7 @@ jobs:
-o console_output_style=count \
tests
- name: Upload coverage artifact
uses: actions/upload-artifact@v2.2.3
uses: actions/upload-artifact@v2.2.4
with:
name: coverage-${{ matrix.python-version }}
path: .coverage

View File

@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/psf/black
rev: 21.5b1
rev: 21.6b0
hooks:
- id: black
args:

View File

@@ -3,7 +3,7 @@ async_timeout==3.0.1
atomicwrites==1.4.0
attrs==21.2.0
awesomeversion==21.6.0
brotli==1.0.9
brotlipy==0.7.0
cchardet==2.1.7
ciso8601==2.1.3
colorlog==5.0.1
@@ -11,7 +11,7 @@ cpe==1.2.1
cryptography==3.4.6
debugpy==1.3.0
docker==5.0.0
gitpython==3.1.17
gitpython==3.1.18
jinja2==3.0.1
pulsectl==21.5.18
pyudev==0.22.0

View File

@@ -1,4 +1,4 @@
black==21.5b2
black==21.6b0
codecov==2.1.11
coverage==5.5
flake8-docstrings==1.6.0
@@ -11,4 +11,4 @@ pytest-asyncio==0.12.0 # NB!: Versions over 0.12.0 breaks pytest-aiohttp (https:
pytest-cov==2.12.1
pytest-timeout==1.4.2
pytest==6.2.4
pyupgrade==2.19.3
pyupgrade==2.19.4

View File

@@ -65,6 +65,7 @@ from ..utils import check_port
from ..utils.apparmor import adjust_profile
from ..utils.json import read_json_file, write_json_file
from ..utils.tar import atomic_contents_add, secure_path
from .const import SnapshotAddonMode
from .model import AddonModel, Data
from .options import AddonOptions
from .utils import remove_data
@@ -695,6 +696,8 @@ class Addon(AddonModel):
async def snapshot(self, tar_file: tarfile.TarFile) -> None:
"""Snapshot state of an add-on."""
is_running = await self.is_running()
with TemporaryDirectory(dir=self.sys_config.path_tmp) as temp:
temp_path = Path(temp)
@@ -744,8 +747,15 @@ class Addon(AddonModel):
arcname="data",
)
if self.snapshot_pre is not None:
if (
is_running
and self.snapshot_mode == SnapshotAddonMode.HOT
and self.snapshot_pre is not None
):
await self._snapshot_command(self.snapshot_pre)
elif is_running and self.snapshot_mode == SnapshotAddonMode.COLD:
_LOGGER.info("Shutdown add-on %s for cold snapshot", self.slug)
await self.instance.stop()
try:
_LOGGER.info("Building snapshot for add-on %s", self.slug)
@@ -754,8 +764,15 @@ class Addon(AddonModel):
_LOGGER.error("Can't write tarfile %s: %s", tar_file, err)
raise AddonsError() from err
finally:
if self.snapshot_post is not None:
if (
is_running
and self.snapshot_mode == SnapshotAddonMode.HOT
and self.snapshot_post is not None
):
await self._snapshot_command(self.snapshot_post)
elif is_running and self.snapshot_mode is SnapshotAddonMode.COLD:
_LOGGER.info("Starting add-on %s again", self.slug)
await self.start()
_LOGGER.info("Finish snapshot for addon %s", self.slug)

View File

@@ -48,7 +48,7 @@ class AddonBuild(FileConfiguration, CoreSysAttributes):
def base_image(self) -> str:
"""Return base image for this add-on."""
if not self._data[ATTR_BUILD_FROM]:
return f"homeassistant/{self.sys_arch.default}-base:latest"
return f"ghcr.io/home-assistant/{self.sys_arch.default}-base:latest"
# Evaluate correct base image
arch = self.sys_arch.match(list(self._data[ATTR_BUILD_FROM].keys()))

View File

@@ -0,0 +1,12 @@
"""Add-on static data."""
from enum import Enum
class SnapshotAddonMode(str, Enum):
"""Snapshot mode of an Add-on."""
HOT = "hot"
COLD = "cold"
ATTR_SNAPSHOT = "snapshot"

View File

@@ -5,6 +5,8 @@ from typing import Any, Awaitable, Dict, List, Optional
from awesomeversion import AwesomeVersion, AwesomeVersionException
from supervisor.addons.const import SnapshotAddonMode
from ..const import (
ATTR_ADVANCED,
ATTR_APPARMOR,
@@ -30,6 +32,7 @@ from ..const import (
ATTR_HOST_PID,
ATTR_IMAGE,
ATTR_INGRESS,
ATTR_INGRESS_STREAM,
ATTR_INIT,
ATTR_JOURNALD,
ATTR_KERNEL_MODULES,
@@ -76,6 +79,7 @@ from ..const import (
)
from ..coresys import CoreSys, CoreSysAttributes
from ..docker.const import Capabilities
from .const import ATTR_SNAPSHOT
from .options import AddonOptions, UiOptions
from .validate import RE_SERVICE, RE_VOLUME
@@ -370,6 +374,11 @@ class AddonModel(CoreSysAttributes, ABC):
"""Return post-snapshot command."""
return self.data.get(ATTR_SNAPSHOT_POST)
@property
def snapshot_mode(self) -> SnapshotAddonMode:
"""Return if snapshot is hot/cold."""
return self.data[ATTR_SNAPSHOT]
@property
def default_init(self) -> bool:
"""Return True if the add-on have no own init."""
@@ -390,6 +399,11 @@ class AddonModel(CoreSysAttributes, ABC):
"""Return True if the add-on access support ingress."""
return None
@property
def ingress_stream(self) -> bool:
"""Return True if post requests to ingress should be streamed."""
return self.data[ATTR_INGRESS_STREAM]
@property
def with_gpio(self) -> bool:
"""Return True if the add-on access to GPIO interface."""

View File

@@ -7,6 +7,8 @@ import uuid
import voluptuous as vol
from supervisor.addons.const import SnapshotAddonMode
from ..const import (
ARCH_ALL,
ATTR_ACCESS_TOKEN,
@@ -43,6 +45,7 @@ from ..const import (
ATTR_INGRESS_ENTRY,
ATTR_INGRESS_PANEL,
ATTR_INGRESS_PORT,
ATTR_INGRESS_STREAM,
ATTR_INGRESS_TOKEN,
ATTR_INIT,
ATTR_JOURNALD,
@@ -107,6 +110,7 @@ from ..validate import (
uuid_match,
version_tag,
)
from .const import ATTR_SNAPSHOT
from .options import RE_SCHEMA_ELEMENT
_LOGGER: logging.Logger = logging.getLogger(__name__)
@@ -161,6 +165,14 @@ def _warn_addon_config(config: Dict[str, Any]):
name,
)
if config.get(ATTR_SNAPSHOT, SnapshotAddonMode.HOT) == SnapshotAddonMode.COLD and (
config.get(ATTR_SNAPSHOT_POST) or config.get(ATTR_SNAPSHOT_PRE)
):
_LOGGER.warning(
"Add-on which only support COLD backups trying to use post/pre commands. Please report this to the maintainer of %s",
name,
)
return config
@@ -248,6 +260,7 @@ _SCHEMA_ADDON_CONFIG = vol.Schema(
network_port, vol.Equal(0)
),
vol.Optional(ATTR_INGRESS_ENTRY): str,
vol.Optional(ATTR_INGRESS_STREAM, default=False): vol.Boolean(),
vol.Optional(ATTR_PANEL_ICON, default="mdi:puzzle"): str,
vol.Optional(ATTR_PANEL_TITLE): str,
vol.Optional(ATTR_PANEL_ADMIN, default=True): vol.Boolean(),
@@ -284,6 +297,9 @@ _SCHEMA_ADDON_CONFIG = vol.Schema(
vol.Optional(ATTR_SNAPSHOT_EXCLUDE): [str],
vol.Optional(ATTR_SNAPSHOT_PRE): str,
vol.Optional(ATTR_SNAPSHOT_POST): str,
vol.Optional(ATTR_SNAPSHOT, default=SnapshotAddonMode.HOT): vol.Coerce(
SnapshotAddonMode
),
vol.Optional(ATTR_OPTIONS, default={}): dict,
vol.Optional(ATTR_SCHEMA, default={}): vol.Any(
vol.Schema(

View File

@@ -19,7 +19,7 @@ from .host import APIHost
from .info import APIInfo
from .ingress import APIIngress
from .jobs import APIJobs
from .middleware_security import SecurityMiddleware
from .middleware.security import SecurityMiddleware
from .multicast import APIMulticast
from .network import APINetwork
from .observer import APIObserver
@@ -223,7 +223,6 @@ class RestAPI(CoreSysAttributes):
[
web.get("/hardware/info", api_hardware.info),
web.get("/hardware/audio", api_hardware.audio),
web.post("/hardware/trigger", api_hardware.trigger),
]
)

View File

@@ -1,6 +1,6 @@
"""Init file for Supervisor hardware RESTful API."""
import logging
from typing import Any, Awaitable, Dict
from typing import Any, Dict
from aiohttp import web
@@ -58,8 +58,3 @@ class APIHardware(CoreSysAttributes):
},
}
}
@api_process
async def trigger(self, request: web.Request) -> Awaitable[None]:
"""Trigger a udev device reload."""
_LOGGER.debug("Ignoring DEPRECATED hardware trigger function call.")

View File

@@ -5,7 +5,7 @@ import logging
from typing import Any, Dict, Union
import aiohttp
from aiohttp import hdrs, web
from aiohttp import ClientTimeout, hdrs, web
from aiohttp.web_exceptions import (
HTTPBadGateway,
HTTPServiceUnavailable,
@@ -162,9 +162,18 @@ class APIIngress(CoreSysAttributes):
) -> Union[web.Response, web.StreamResponse]:
"""Ingress route for request."""
url = self._create_url(addon, path)
data = await request.read()
source_header = _init_header(request, addon)
# Passing the raw stream breaks requests for some webservers
# since we just need it for POST requests really, for all other methods
# we read the bytes and pass that to the request to the add-on
# add-ons needs to add support with that in the configuration
data = (
request.content
if request.method == "POST" and addon.ingress_stream
else await request.read()
)
async with self.sys_websession.request(
request.method,
url,
@@ -172,6 +181,7 @@ class APIIngress(CoreSysAttributes):
params=request.query,
allow_redirects=False,
data=data,
timeout=ClientTimeout(total=None),
) as result:
headers = _response_header(result)
@@ -219,6 +229,7 @@ def _init_header(
if name in (
hdrs.CONTENT_LENGTH,
hdrs.CONTENT_ENCODING,
hdrs.TRANSFER_ENCODING,
hdrs.SEC_WEBSOCKET_EXTENSIONS,
hdrs.SEC_WEBSOCKET_PROTOCOL,
hdrs.SEC_WEBSOCKET_VERSION,

View File

@@ -0,0 +1 @@
"""API middleware for aiohttp."""

View File

@@ -5,7 +5,7 @@ import re
from aiohttp.web import Request, RequestHandler, Response, middleware
from aiohttp.web_exceptions import HTTPForbidden, HTTPUnauthorized
from ..const import (
from ...const import (
REQUEST_FROM,
ROLE_ADMIN,
ROLE_BACKUP,
@@ -14,8 +14,8 @@ from ..const import (
ROLE_MANAGER,
CoreState,
)
from ..coresys import CoreSys, CoreSysAttributes
from .utils import api_return_error, excract_supervisor_token
from ...coresys import CoreSys, CoreSysAttributes
from ..utils import api_return_error, excract_supervisor_token
_LOGGER: logging.Logger = logging.getLogger(__name__)
@@ -53,7 +53,6 @@ ADDONS_API_BYPASS = re.compile(
r"|/addons/self/(?!security|update)[^/]+"
r"|/addons/self/options/config"
r"|/info"
r"|/hardware/trigger"
r"|/services.*"
r"|/discovery.*"
r"|/auth"
@@ -65,22 +64,24 @@ ADDONS_ROLE_ACCESS = {
ROLE_DEFAULT: re.compile(
r"^(?:"
r"|/.+/info"
r"|/addons"
r")$"
),
ROLE_HOMEASSISTANT: re.compile(
r"^(?:"
r"|/.+/info"
r"|/core/.+"
r"|/homeassistant/.+"
r")$"
),
ROLE_BACKUP: re.compile(
r"^(?:"
r"|/.+/info"
r"|/snapshots.*"
r")$"
),
ROLE_MANAGER: re.compile(
r"^(?:"
r"|/.+/info"
r"|/addons(?:/[^/]+/(?!security).+|/reload)?"
r"|/audio/.+"
r"|/auth/cache"
@@ -101,6 +102,7 @@ ADDONS_ROLE_ACCESS = {
r"|/snapshots.*"
r"|/store.*"
r"|/supervisor/.+"
r"|/security/.+"
r")$"
),
ROLE_ADMIN: re.compile(
@@ -191,6 +193,10 @@ class SecurityMiddleware(CoreSysAttributes):
request_from = addon
else:
_LOGGER.warning("%s no role for %s", request.path, addon.slug)
elif addon:
_LOGGER.warning(
"%s missing API permission for %s", addon.slug, request.path
)
if request_from:
request[REQUEST_FROM] = request_from

View File

@@ -1,9 +1,9 @@
try {
new Function("import('/api/hassio/app/frontend_latest/entrypoint.586ea840.js')")();
new Function("import('/api/hassio/app/frontend_latest/entrypoint.0d3c68f7.js')")();
} catch (err) {
var el = document.createElement('script');
el.src = '/api/hassio/app/frontend_es5/entrypoint.8daaaeda.js';
el.src = '/api/hassio/app/frontend_es5/entrypoint.9e377d5a.js';
document.body.appendChild(el);
}

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.180b0a3f7ae5fc62f9e4.js","sources":["webpack://home-assistant-frontend/chunk.180b0a3f7ae5fc62f9e4.js"],"mappings":"AAAA","sourceRoot":""}

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.35c154979120736d0193.js","sources":["webpack://home-assistant-frontend/chunk.35c154979120736d0193.js"],"mappings":"AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.36c614645dd4e17cedb3.js","sources":["webpack://home-assistant-frontend/chunk.36c614645dd4e17cedb3.js"],"mappings":"AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.59c74b66dacd491cc21f.js","sources":["webpack://home-assistant-frontend/chunk.59c74b66dacd491cc21f.js"],"mappings":"AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.78121a52537052b2b5cf.js","sources":["webpack://home-assistant-frontend/chunk.78121a52537052b2b5cf.js"],"mappings":";AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.936c888555134e76dc1e.js","sources":["webpack://home-assistant-frontend/chunk.936c888555134e76dc1e.js"],"mappings":"AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.a249d520500f6fad60b1.js","sources":["webpack://home-assistant-frontend/chunk.a249d520500f6fad60b1.js"],"mappings":"AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.ba6f1a3202815ae73338.js","sources":["webpack://home-assistant-frontend/chunk.ba6f1a3202815ae73338.js"],"mappings":"AAAA","sourceRoot":""}

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.bd47f88f5d2c285fbc78.js","sources":["webpack://home-assistant-frontend/chunk.bd47f88f5d2c285fbc78.js"],"mappings":"AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.c7c74d7ba8aa6ae309d1.js","sources":["webpack://home-assistant-frontend/chunk.c7c74d7ba8aa6ae309d1.js"],"mappings":"AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.c8ae6493ca3f230a78cf.js","sources":["webpack://home-assistant-frontend/chunk.c8ae6493ca3f230a78cf.js"],"mappings":"AAAA","sourceRoot":""}

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.cb15e7ebc34918f41b9b.js","sources":["webpack://home-assistant-frontend/chunk.cb15e7ebc34918f41b9b.js"],"mappings":"AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.e3438695380b5c3cf915.js","sources":["webpack://home-assistant-frontend/chunk.e3438695380b5c3cf915.js"],"mappings":"AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"entrypoint.8daaaeda.js","sources":["webpack://home-assistant-frontend/entrypoint.8daaaeda.js"],"mappings":";AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -13,8 +13,6 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */
/**
* @license
* Copyright 2017 Google LLC

View File

@@ -0,0 +1 @@
{"version":3,"file":"entrypoint.9e377d5a.js","sources":["webpack://home-assistant-frontend/entrypoint.9e377d5a.js"],"mappings":";AAAA","sourceRoot":""}

View File

@@ -1,3 +1,3 @@
{
"entrypoint.js": "/api/hassio/app/frontend_es5/entrypoint.8daaaeda.js"
"entrypoint.js": "/api/hassio/app/frontend_es5/entrypoint.9e377d5a.js"
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.06111c56068f5b7f6c10.js","sources":["webpack://home-assistant-frontend/chunk.06111c56068f5b7f6c10.js"],"mappings":";AAAA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.1fe3be586e0ecf2c327a.js","sources":["webpack://home-assistant-frontend/chunk.1fe3be586e0ecf2c327a.js"],"mappings":"AAAA;;;;AAqNA;AACA;;;;AAIA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;;;;;AAKA;;;AAGA;AACA;;;AAGA;;;;;;AA3CA;;;;;;;;;;;;;;AAwEA","sourceRoot":""}

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.207d75acb526e7ab7c80.js","sources":["webpack://home-assistant-frontend/chunk.207d75acb526e7ab7c80.js"],"mappings":"AAAA;AAqqBA;AACA;AACA;AAGA;;;;;;;;;;;;;;;;AAyBA;AA0QA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;;AAGA;;AAEA;;;AAGA;;;;AAIA;;AAEA;;;AAGA;;;;;AAKA;AACA;;AAEA;;AAEA;AACA;;;;;AAKA;AACA;;;;AAMA;AACA;;AAEA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;;;;AAIA;;AAEA;;;AAGA;AACA;;;AAGA;AACA;;;AAGA;AACA;;;AAGA;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA;AAsDA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;;;AAKA","sourceRoot":""}

View File

@@ -39,7 +39,7 @@
</p>`}
${this._error?i.dy`<p class="error">${this._error}</p>`:""}
</ha-dialog>
`:i.dy``}},{kind:"method",key:"_toggleSnapshot",value:function(){this._createSnapshot=!this._createSnapshot}},{kind:"method",key:"_update",value:async function(){if(this._createSnapshot){this._action="snapshot";try{await(0,s.iN)(this.hass,this._dialogParams.snapshotParams)}catch(e){return this._error=(0,a.js)(e),void(this._action=null)}}this._action="update";try{await this._dialogParams.updateHandler()}catch(e){return this.hass.connection.connected&&!(0,a.yz)(e)&&(this._error=(0,a.js)(e)),void(this._action=null)}this.closeDialog()}},{kind:"get",static:!0,key:"styles",value:function(){return[l.Qx,l.yu,i.iv`
`:i.dy``}},{kind:"method",key:"_toggleSnapshot",value:function(){this._createSnapshot=!this._createSnapshot}},{kind:"method",key:"_update",value:async function(){if(this._createSnapshot){this._action="snapshot";try{await(0,s.iN)(this.hass,this._dialogParams.snapshotParams)}catch(e){return this._error=(0,a.js)(e),void(this._action=null)}}this._action="update";try{await this._dialogParams.updateHandler()}catch(e){return void(this.hass.connection.connected&&!(0,a.yz)(e)&&(this._error=(0,a.js)(e),this._action=null))}this.closeDialog()}},{kind:"get",static:!0,key:"styles",value:function(){return[l.Qx,l.yu,i.iv`
.form {
color: var(--primary-text-color);
}
@@ -59,4 +59,4 @@
text-align: center;
}
`]}}]}}),i.oi)}}]);
//# sourceMappingURL=chunk.5a6ec0bde8ac85b43894.js.map
//# sourceMappingURL=chunk.342edcac6840583a8f96.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"chunk.5a6ec0bde8ac85b43894.js","sources":["webpack://home-assistant-frontend/chunk.5a6ec0bde8ac85b43894.js"],"mappings":"AAAA;AA4JA;AACA;;AAEA;;;;AAIA;;;;;AAKA;;;AAGA;;;AAGA;;AAEA;;;;AAIA;AACA;;;AAGA;AACA;;;AAGA;AACA;;;AAGA;;AAEA;;AA1CA;;;;;;;;;;;;;;;;;;;AA+GA","sourceRoot":""}
{"version":3,"file":"chunk.342edcac6840583a8f96.js","sources":["webpack://home-assistant-frontend/chunk.342edcac6840583a8f96.js"],"mappings":"AAAA;AA4JA;AACA;;AAEA;;;;AAIA;;;;;AAKA;;;AAGA;;;AAGA;;AAEA;;;;AAIA;AACA;;;AAGA;AACA;;;AAGA;AACA;;;AAGA;;AAEA;;AA1CA;;;;;;;;;;;;;;;;;;;AA+GA","sourceRoot":""}

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.5598c951cccebf59265c.js","sources":["webpack://home-assistant-frontend/chunk.5598c951cccebf59265c.js"],"mappings":"AAAA;AAqqBA;AACA;AACA;AAGA;;;;;;;;;;;;;;;;;AA0BA;AAmOA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;;;AAIA;;;AAGA;;;AAGA;;;;;AAKA;;;AAGA;;;AAGA;;;;;AAKA;AACA;;AAEA;;AAEA;AACA;;;;;AAKA;AACA;;;;AAMA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;;;AAIA;;AAEA;;;AAGA;AACA;;;AAGA;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA;AAgDA;AACA;AACA;AACA;AACA;;;;;AAKA;AACA;AACA;AACA;;;AAKA","sourceRoot":""}

View File

@@ -22,10 +22,10 @@
${this._dialogParams.supervisor.localize("snapshot.create")}
</mwc-button>
</ha-dialog>
`:i.dy``}},{kind:"method",key:"_createSnapshot",value:async function(){if("running"!==this._dialogParams.supervisor.info.state)return void(0,c.Ys)(this,{title:this._dialogParams.supervisor.localize("snapshot.could_not_create"),text:this._dialogParams.supervisor.localize("snapshot.create_blocked_not_running","state",this._dialogParams.supervisor.info.state)});const e=this._snapshotContent.snapshotDetails();if(this._creatingSnapshot=!0,this._error="",this._snapshotContent.snapshotHasPassword&&!this._snapshotContent.snapshotPassword.length)return this._error=this._dialogParams.supervisor.localize("snapshot.enter_password"),void(this._creatingSnapshot=!1);try{"full"===this._snapshotContent.snapshotType?await(0,l.a2)(this.hass,e):await(0,l.iN)(this.hass,e),this._dialogParams.onCreate(),this.closeDialog()}catch(e){this._error=(0,a.js)(e)}this._creatingSnapshot=!1}},{kind:"get",static:!0,key:"styles",value:function(){return[d.Qx,d.yu,i.iv`
`:i.dy``}},{kind:"method",key:"_createSnapshot",value:async function(){if("running"!==this._dialogParams.supervisor.info.state)return void(0,c.Ys)(this,{title:this._dialogParams.supervisor.localize("snapshot.could_not_create"),text:this._dialogParams.supervisor.localize("snapshot.create_blocked_not_running","state",this._dialogParams.supervisor.info.state)});const e=this._snapshotContent.snapshotDetails();if(this._creatingSnapshot=!0,this._error="",e.password&&!e.password.length)return this._error=this._dialogParams.supervisor.localize("snapshot.enter_password"),void(this._creatingSnapshot=!1);if(e.password&&e.password!==e.confirm_password)return this._error=this._dialogParams.supervisor.localize("snapshot.passwords_not_matching"),void(this._creatingSnapshot=!1);delete e.confirm_password;try{"full"===this._snapshotContent.snapshotType?await(0,l.a2)(this.hass,e):await(0,l.iN)(this.hass,e),this._dialogParams.onCreate(),this.closeDialog()}catch(e){this._error=(0,a.js)(e)}this._creatingSnapshot=!1}},{kind:"get",static:!0,key:"styles",value:function(){return[d.Qx,d.yu,i.iv`
ha-circular-progress {
display: block;
text-align: center;
}
`]}}]}}),i.oi)}}]);
//# sourceMappingURL=chunk.6ea5225840eebdecf9f4.js.map
//# sourceMappingURL=chunk.58ccbbcd7a2d185c5a5d.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.58ccbbcd7a2d185c5a5d.js","sources":["webpack://home-assistant-frontend/chunk.58ccbbcd7a2d185c5a5d.js"],"mappings":"AAAA;;;;AAuIA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;AAEA;;AAEA;;;AAxBA;;;;;AA0FA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.5d46f709c2effa2a3af5.js","sources":["webpack://home-assistant-frontend/chunk.5d46f709c2effa2a3af5.js"],"mappings":"AAAA;;;;AA0MA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;;;;;;;;AAQA;AACA;;;AAGA;;;;;;AAjCA;;;;;;;;AAwDA","sourceRoot":""}

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.6ea5225840eebdecf9f4.js","sources":["webpack://home-assistant-frontend/chunk.6ea5225840eebdecf9f4.js"],"mappings":"AAAA;;;;AAuIA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;;AAEA;;AAEA;;;AAxBA;;;;;AAkFA","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"chunk.9b1e5f0529cd61352928.js","sources":["webpack://home-assistant-frontend/chunk.9b1e5f0529cd61352928.js"],"mappings":"AAAA;;;;;AAiJA;AACA;;;;AAIA;;;AAGA;;;;;AAKA;AACA;AACA;;;;;AAKA;AACA;AACA;;;;;AAKA;;AAEA;;;;AAIA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;;;;AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA","sourceRoot":""}

View File

@@ -1 +1 @@
{"version":3,"file":"chunk.d1bf586cab064970bcb1.js","sources":["webpack://home-assistant-frontend/chunk.d1bf586cab064970bcb1.js"],"mappings":"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","sourceRoot":""}
{"version":3,"file":"chunk.abe8714eb54d8d9a6780.js","sources":["webpack://home-assistant-frontend/chunk.abe8714eb54d8d9a6780.js"],"mappings":"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","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"chunk.f31c7a14d3f583802ab5.js","sources":["webpack://home-assistant-frontend/chunk.f31c7a14d3f583802ab5.js"],"mappings":"AAAA;AA0PA;AACA;AACA;AANA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA","sourceRoot":""}

View File

@@ -13,8 +13,6 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */
/**
* @license
* Copyright 2016 Google Inc.

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