From e874a6a3e0ee55fc34353113bfe7af90300c5f96 Mon Sep 17 00:00:00 2001 From: reakjra Date: Thu, 11 Dec 2025 22:00:03 +0100 Subject: [PATCH] proper error handling --- .../quickshell/ii/services/ai/GeminiApiStrategy.qml | 8 ++++++++ .../quickshell/ii/services/ai/MistralApiStrategy.qml | 11 ++++++++++- .../quickshell/ii/services/ai/OpenAiApiStrategy.qml | 11 ++++++++++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/dots/.config/quickshell/ii/services/ai/GeminiApiStrategy.qml b/dots/.config/quickshell/ii/services/ai/GeminiApiStrategy.qml index b610c3d44..9f04f6364 100644 --- a/dots/.config/quickshell/ii/services/ai/GeminiApiStrategy.qml +++ b/dots/.config/quickshell/ii/services/ai/GeminiApiStrategy.qml @@ -111,6 +111,14 @@ ApiStrategy { return ({}) } + // Error response handling + if (dataJson.error) { + const errorMsg = `**Error ${dataJson.error.code}**: ${dataJson.error.message}`; + message.rawContent += errorMsg; + message.content += errorMsg; + return { finished: true }; + } + // No candidates? if (!dataJson.candidates) return {}; diff --git a/dots/.config/quickshell/ii/services/ai/MistralApiStrategy.qml b/dots/.config/quickshell/ii/services/ai/MistralApiStrategy.qml index 14cd1a17a..9a37df096 100644 --- a/dots/.config/quickshell/ii/services/ai/MistralApiStrategy.qml +++ b/dots/.config/quickshell/ii/services/ai/MistralApiStrategy.qml @@ -58,8 +58,17 @@ ApiStrategy { // Real stuff try { const dataJson = JSON.parse(cleanData); + + // Error response handling + if (dataJson.error) { + const errorMsg = `**Error**: ${dataJson.error.message || JSON.stringify(dataJson.error)}`; + message.rawContent += errorMsg; + message.content += errorMsg; + return { finished: true }; + } + let newContent = ""; - + const responseContent = dataJson.choices[0]?.delta?.content || dataJson.message?.content; const responseReasoning = dataJson.choices[0]?.delta?.reasoning || dataJson.choices[0]?.delta?.reasoning_content; diff --git a/dots/.config/quickshell/ii/services/ai/OpenAiApiStrategy.qml b/dots/.config/quickshell/ii/services/ai/OpenAiApiStrategy.qml index 1178c837f..a049abf30 100644 --- a/dots/.config/quickshell/ii/services/ai/OpenAiApiStrategy.qml +++ b/dots/.config/quickshell/ii/services/ai/OpenAiApiStrategy.qml @@ -49,8 +49,17 @@ ApiStrategy { // Real stuff try { const dataJson = JSON.parse(cleanData); + + // Error response handling + if (dataJson.error) { + const errorMsg = `**Error**: ${dataJson.error.message || JSON.stringify(dataJson.error)}`; + message.rawContent += errorMsg; + message.content += errorMsg; + return { finished: true }; + } + let newContent = ""; - + const responseContent = dataJson.choices[0]?.delta?.content || dataJson.message?.content; const responseReasoning = dataJson.choices[0]?.delta?.reasoning || dataJson.choices[0]?.delta?.reasoning_content;