fix(editor): Show correct error messages on Ask AI (#16913)

This commit is contained in:
Jaakko Husso
2025-07-02 14:00:23 +03:00
committed by GitHub
parent 7ebde66eed
commit 3a733b9127
8 changed files with 67 additions and 18 deletions

View File

@@ -534,7 +534,8 @@
"codeNodeEditor.askAi.loadingPhrase7": "Stand by, AI magic at work…",
"codeNodeEditor.askAi.generationCompleted": "✨ Code generation completed",
"codeNodeEditor.askAi.generationFailed": "Code generation failed",
"codeNodeEditor.askAi.generationFailedUnknown": "Code generation failed due to an unknown reason. Try again in a few minutes.",
"codeNodeEditor.askAi.generationFailedUnknown": "Code generation failed due to an unknown reason. Try again in a few minutes",
"codeNodeEditor.askAi.generationFailedWithReason": "Code generation failed with error: {error}. Try again in a few minutes",
"codeNodeEditor.askAi.generationFailedDown": "We're sorry, our AI service is currently unavailable. Please try again later. If the problem persists, contact support.",
"codeNodeEditor.askAi.generationFailedRate": "We've hit our rate limit with our AI partner (too many requests). Please wait a minute before trying again.",
"codeNodeEditor.askAi.generationFailedTooLarge": "Your workflow data is too large for AI to process. Simplify the data being sent into the Code node and retry.",

View File

@@ -66,12 +66,18 @@ const isEachItemMode = computed(() => {
return mode === 'runOnceForEachItem';
});
function getErrorMessageByStatusCode(statusCode: number) {
function getErrorMessageByStatusCode(statusCode: number, message: string | undefined): string {
const errorMessages: Record<number, string> = {
400: i18n.baseText('codeNodeEditor.askAi.generationFailedUnknown'),
413: i18n.baseText('codeNodeEditor.askAi.generationFailedTooLarge'),
429: i18n.baseText('codeNodeEditor.askAi.generationFailedRate'),
500: i18n.baseText('codeNodeEditor.askAi.generationFailedUnknown'),
[413]: i18n.baseText('codeNodeEditor.askAi.generationFailedTooLarge'),
[400]: i18n.baseText('codeNodeEditor.askAi.generationFailedUnknown'),
[429]: i18n.baseText('codeNodeEditor.askAi.generationFailedRate'),
[500]: message
? i18n.baseText('codeNodeEditor.askAi.generationFailedWithReason', {
interpolate: {
error: message,
},
})
: i18n.baseText('codeNodeEditor.askAi.generationFailedUnknown'),
};
return errorMessages[statusCode] || i18n.baseText('codeNodeEditor.askAi.generationFailedUnknown');
@@ -189,7 +195,10 @@ async function onSubmit() {
showMessage({
type: 'error',
title: i18n.baseText('codeNodeEditor.askAi.generationFailed'),
message: getErrorMessageByStatusCode(error.httpStatusCode || error?.response.status),
message: getErrorMessageByStatusCode(
error.httpStatusCode || error?.response.status,
error?.message,
),
});
stopLoading();
useTelemetry().trackAskAI('askAi.generationFinished', {