From 95b638651fbf9521327bf97c9f91b23760e9f8c0 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Mon, 15 Aug 2022 12:15:36 +0300 Subject: [PATCH] Catching call for logs errors Signed-off-by: Alex Andreev --- .../dock/logs/download-all-logs.injectable.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/renderer/components/dock/logs/download-all-logs.injectable.ts b/src/renderer/components/dock/logs/download-all-logs.injectable.ts index 3581e2a70f..54c20eff1e 100644 --- a/src/renderer/components/dock/logs/download-all-logs.injectable.ts +++ b/src/renderer/components/dock/logs/download-all-logs.injectable.ts @@ -1,6 +1,7 @@ import { getInjectable } from "@ogre-tools/injectable"; import type { PodLogsQuery } from "../../../../common/k8s-api/endpoints"; import type { ResourceDescriptor } from "../../../../common/k8s-api/kube-api"; +import loggerInjectable from "../../../../common/logger.injectable"; import openSaveFileDialogInjectable from "../../../utils/save-file.injectable"; import callForLogsInjectable from "./call-for-logs.injectable"; @@ -10,11 +11,18 @@ const downloadAllLogsInjectable = getInjectable({ instantiate: (di) => { const callForLogs = di.inject(callForLogsInjectable); const openSaveFileDialog = di.inject(openSaveFileDialogInjectable) + const logger = di.inject(loggerInjectable); return async (params: ResourceDescriptor, query: PodLogsQuery) => { - const logs = await callForLogs(params, query) - - openSaveFileDialog(`${params.name}.log`, logs, "text/plain"); + const logs = await callForLogs(params, query).catch(error => { + logger.error("Can't download logs: ", error); + + return ""; + }) + + if (logs) { + openSaveFileDialog(`${params.name}.log`, logs, "text/plain"); + } } }, });