From abb69f679412153fdbc8de1918e11749d4cafd7f Mon Sep 17 00:00:00 2001 From: pajlada Date: Tue, 1 Nov 2022 21:39:26 +0100 Subject: [PATCH] Include more error messaging for failed image uploads (#4096) --- src/util/NuulsUploader.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/util/NuulsUploader.cpp b/src/util/NuulsUploader.cpp index 606b38f14..f570023fd 100644 --- a/src/util/NuulsUploader.cpp +++ b/src/util/NuulsUploader.cpp @@ -204,9 +204,32 @@ void uploadImageToNuuls(RawImageData imageData, ChannelPtr channel, return Success; }) .onError([channel](NetworkResult result) -> bool { - channel->addMessage(makeSystemMessage( + auto errorMessage = QString("An error happened while uploading your image: %1") - .arg(result.status()))); + .arg(result.status()); + + // Try to read more information from the result body + auto obj = result.parseJson(); + if (!obj.isEmpty()) + { + auto apiCode = obj.value("code"); + if (!apiCode.isUndefined()) + { + auto codeString = apiCode.toVariant().toString(); + codeString.truncate(20); + errorMessage += QString(" - code: %1").arg(codeString); + } + + auto apiError = obj.value("error").toString(); + if (!apiError.isEmpty()) + { + apiError.truncate(300); + errorMessage += + QString(" - error: %1").arg(apiError.trimmed()); + } + } + + channel->addMessage(makeSystemMessage(errorMessage)); uploadMutex.unlock(); return true; })