From 95bf3a976051829143713be04582306a3bdf0de9 Mon Sep 17 00:00:00 2001 From: Ronald Moesbergen Date: Mon, 1 Apr 2024 13:34:40 +0200 Subject: [PATCH 1/2] fix: compile error doesn't show --- .../core/dialogs/upload/upload.dialog.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/app/modules/core/dialogs/upload/upload.dialog.ts b/src/app/modules/core/dialogs/upload/upload.dialog.ts index 84058c64..8c80754e 100644 --- a/src/app/modules/core/dialogs/upload/upload.dialog.ts +++ b/src/app/modules/core/dialogs/upload/upload.dialog.ts @@ -1,6 +1,5 @@ import {Component, Inject} from '@angular/core'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; -import {TranslateService} from "@ngx-translate/core"; import ArduinoUploader from "../../../../services/arduino-uploader/ArduinoUploader"; import {DialogState} from "../../../../state/dialog.state"; import {RobotWiredState} from "../../../../state/robot.wired.state"; @@ -43,6 +42,15 @@ export class UploadDialog { source_code, board, libraries }) }) + if (!res.ok) { + let message: string + try { + message = (await res.json())["detail"] + } catch { + message = await res.text() + } + throw new Error(message) + } return await res.json() as Record } @@ -82,15 +90,11 @@ export class UploadDialog { this.uploadState.setStatusMessage('COMPILATION_STARTED'); const response = await this.compile(source_code, board, libraries).catch(error => { this.uploadState.setStatusMessage('COMPILATION_FAILED'); - if (!error.toString().startsWith("Error: Request failed: 500 ")) { - console.error(error); - return; - } // make the printed red text - console.log('%c' + error.toString().replace("Error: Request failed: 500 ", ""), 'color: red'); + console.log('%c' + error.toString(), 'color: red'); // remove the last 4 lines of the error message - const errorLines = error.toString().replace("Error: Request failed: 500 ", "").split("\n"); + const errorLines = error.toString().split("\n"); errorLines.splice(errorLines.length - 5, 5); const errorString = errorLines.join("\n"); this.uploadState.setError(errorString) From ec7387dc2aa1c611f4c392561a0e0e6801bd0c6f Mon Sep 17 00:00:00 2001 From: Ronald Moesbergen Date: Mon, 1 Apr 2024 18:56:15 +0200 Subject: [PATCH 2/2] fix: stream already read --- src/app/modules/core/dialogs/upload/upload.dialog.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/app/modules/core/dialogs/upload/upload.dialog.ts b/src/app/modules/core/dialogs/upload/upload.dialog.ts index 8c80754e..4ee58f57 100644 --- a/src/app/modules/core/dialogs/upload/upload.dialog.ts +++ b/src/app/modules/core/dialogs/upload/upload.dialog.ts @@ -43,12 +43,10 @@ export class UploadDialog { }) }) if (!res.ok) { - let message: string + let message: string = await res.text() try { - message = (await res.json())["detail"] - } catch { - message = await res.text() - } + message = JSON.parse(message).detail + } catch {} throw new Error(message) }