From bd339b7f301a87b139bb9ee33b0477416d201780 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Fri, 8 Aug 2025 15:44:10 +0100 Subject: [PATCH] Revert "Revert "kotlin: json error alert to debug"" This reverts commit 47f67cc53d683bb82f2c7f6c7cedc33dc4eb77e7. --- .../chat/simplex/common/model/SimpleXAPI.kt | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt index 9e10d249c0..f7c0bc3bb8 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/SimpleXAPI.kt @@ -768,15 +768,20 @@ object ChatController { val rStr = if (rhId == null) chatSendCmdRetry(ctrl, c, retryNum) else chatSendRemoteCmdRetry(ctrl, rhId.toInt(), c, retryNum) // coroutine was cancelled already, no need to process response (helps with apiListMembers - very heavy query in large groups) interruptIfCancelled() - val r = json.decodeFromString(rStr) - if (log) { - Log.d(TAG, "sendCmd response type ${r.responseType}") - if (r is API.Result && (r.res is CR.Response || r.res is CR.Invalid)) { - Log.d(TAG, "sendCmd response json $rStr") + try { + val r = json.decodeFromString(rStr) + if (log) { + Log.d(TAG, "sendCmd response type ${r.responseType}") + if (r is API.Result && (r.res is CR.Response || r.res is CR.Invalid)) { + Log.d(TAG, "sendCmd response json $rStr") + } + chatModel.addTerminalItem(TerminalItem.resp(rhId, r)) } - chatModel.addTerminalItem(TerminalItem.resp(rhId, r)) + r + } catch(e: Throwable) { + AlertManager.shared.showAlertMsg(title = "JSON error", text = "$rStr\n$e", confirmText = "Ok", shareText = true) + throw e } - r } }