From 72e199295c0ddf49dd089da7fa8217207bf30e51 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Thu, 19 Nov 2020 13:54:54 +0000 Subject: [PATCH 1/4] Check snapshot size before upload --- hassio/src/components/hassio-upload-snapshot.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/hassio/src/components/hassio-upload-snapshot.ts b/hassio/src/components/hassio-upload-snapshot.ts index 5740e0621e0a..9ebdd73d35df 100644 --- a/hassio/src/components/hassio-upload-snapshot.ts +++ b/hassio/src/components/hassio-upload-snapshot.ts @@ -27,6 +27,8 @@ declare global { } } +const MAX_FILE_SIZE = 1000000; // 1GB + @customElement("hassio-upload-snapshot") export class HassioUploadSnapshot extends LitElement { public hass!: HomeAssistant; @@ -51,6 +53,20 @@ export class HassioUploadSnapshot extends LitElement { private async _uploadFile(ev) { const file = ev.detail.files[0]; + if (file.size > MAX_FILE_SIZE) { + showAlertDialog(this, { + title: "Snapshot file is too big", + text: html`The maximum allowed filesize is 1GB, + have a look here on how to restore it.`, + confirmText: "ok", + }); + return; + } + if (!["application/x-tar"].includes(file.type)) { showAlertDialog(this, { title: "Unsupported file format", From dc32cb2eeef80359be7695449e73db52eb26cf9c Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Thu, 19 Nov 2020 13:59:47 +0000 Subject: [PATCH 2/4] Change size --- hassio/src/components/hassio-upload-snapshot.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hassio/src/components/hassio-upload-snapshot.ts b/hassio/src/components/hassio-upload-snapshot.ts index 9ebdd73d35df..d4fb97253c39 100644 --- a/hassio/src/components/hassio-upload-snapshot.ts +++ b/hassio/src/components/hassio-upload-snapshot.ts @@ -27,7 +27,7 @@ declare global { } } -const MAX_FILE_SIZE = 1000000; // 1GB +const MAX_FILE_SIZE = 1073741824; // 1GB @customElement("hassio-upload-snapshot") export class HassioUploadSnapshot extends LitElement { From bb99388f0a5ea8550e646ab3418d840bec0fd85e Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Thu, 19 Nov 2020 14:02:16 +0000 Subject: [PATCH 3/4] Rewording --- hassio/src/components/hassio-upload-snapshot.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hassio/src/components/hassio-upload-snapshot.ts b/hassio/src/components/hassio-upload-snapshot.ts index d4fb97253c39..db18d7a91bca 100644 --- a/hassio/src/components/hassio-upload-snapshot.ts +++ b/hassio/src/components/hassio-upload-snapshot.ts @@ -56,11 +56,11 @@ export class HassioUploadSnapshot extends LitElement { if (file.size > MAX_FILE_SIZE) { showAlertDialog(this, { title: "Snapshot file is too big", - text: html`The maximum allowed filesize is 1GB, + text: html`The maximum allowed filesize is 1GB.
have a look here on how to restore it.Have a look here on how to restore it.`, confirmText: "ok", }); From 9de9314ea5511767b56a86893d032f4391366889 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Thu, 19 Nov 2020 14:09:58 +0000 Subject: [PATCH 4/4] Use simpler calculation --- hassio/src/components/hassio-upload-snapshot.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hassio/src/components/hassio-upload-snapshot.ts b/hassio/src/components/hassio-upload-snapshot.ts index db18d7a91bca..834281d9116e 100644 --- a/hassio/src/components/hassio-upload-snapshot.ts +++ b/hassio/src/components/hassio-upload-snapshot.ts @@ -27,7 +27,7 @@ declare global { } } -const MAX_FILE_SIZE = 1073741824; // 1GB +const MAX_FILE_SIZE = 1 * 1024 * 1024 * 1024; // 1GB @customElement("hassio-upload-snapshot") export class HassioUploadSnapshot extends LitElement {