From 422b210e7386c53f5454be92d5506f5848105450 Mon Sep 17 00:00:00 2001 From: Tobias Hopp Date: Mon, 13 Mar 2023 11:38:05 +0100 Subject: [PATCH] update Took 14 minutes --- src/ErrorHandler.ts | 17 ++++++++++++----- src/routes/ws/websocketRoute.ts | 2 +- src/web/WebWebSocketHandler.ts | 1 + 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/ErrorHandler.ts b/src/ErrorHandler.ts index 6aa54fd..de66fb5 100644 --- a/src/ErrorHandler.ts +++ b/src/ErrorHandler.ts @@ -9,14 +9,19 @@ export class ErrorHandler { return new Promise((resolve, reject) => { let encrypted = Buffer.from(encrypter.encrypt(error.toJson())).toString("base64"); - axios.post('https://itender.iif.li/report/send', encrypted, {headers: {"Content-Type": "text/plain", Accept: "application/json"}} ).then(res => { - if( res.status != 200 ) - reject(); + axios.post('https://itender.iif.li/report/send', encrypted, { + headers: { + "Content-Type": "text/plain", + Accept: "application/json" + } + }).then(res => { + if (res.status != 200) + console.error("Could not send error report"); else return resolve(); console.log("Error report was sent to iTender Manager"); - }).catch((e) => reject(e)); + }).catch((e) => console.error); }); } } @@ -26,10 +31,12 @@ export class InternalError { private readonly stack: string; private readonly name: string; - constructor(message: string, stack: string|undefined, name?: string) { + constructor(message: string, stack: string | undefined, name?: string) { this.message = message; this.stack = stack ? stack : ""; this.name = name ? name : ""; + + console.error(`\n-------- [INTERNAL ERROR] --------\nName: ${this.name}\nMessage: ${this.message}\nStack: ${this.stack}\n\n`) } public toJson(): string { diff --git a/src/routes/ws/websocketRoute.ts b/src/routes/ws/websocketRoute.ts index 6cd9a15..6b54164 100644 --- a/src/routes/ws/websocketRoute.ts +++ b/src/routes/ws/websocketRoute.ts @@ -307,7 +307,7 @@ router.ws('/', async (ws, req, next) => { try { let result = await exec(path.join(global.appRoot, "/../update.sh")); if (result.stderr) - await WebSocketHandler.send(new WebSocketPayload(WebSocketEvent.ERROR, "Der iTender konnte das Update nicht installieren.
Möglicherweise ist die Internetverbindung nicht ausreichend oder das Update enthält Fehler.
")); + await WebSocketHandler.send(new WebSocketPayload(WebSocketEvent.ERROR, "Der iTender konnte das Update nicht installieren.
Möglicherweise ist die Internetverbindung nicht ausreichend oder das Update enthält Fehler.

" + result.stderr + "")); let error = new InternalError("Update request from user-interface failed while executing update script", result.stderr, result.code); await ErrorHandler.sendError(error); } catch (e) { diff --git a/src/web/WebWebSocketHandler.ts b/src/web/WebWebSocketHandler.ts index fdd0698..dcddf40 100644 --- a/src/web/WebWebSocketHandler.ts +++ b/src/web/WebWebSocketHandler.ts @@ -135,6 +135,7 @@ export class WebWebSocketHandler { modal.addContent(document.createElement("br")); modal.addButton(ButtonType.SECONDARY, "Schließen", () => modal.close()); modal.open(); + Settings.inUpdate = false; break; }