mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
#844 Properly handle KoboldAI errors
This commit is contained in:
@@ -2789,7 +2789,8 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject,
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw new Error(response.status);
|
const error = await response.json();
|
||||||
|
throw error;
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
@@ -2959,6 +2960,10 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject,
|
|||||||
};
|
};
|
||||||
|
|
||||||
function onError(exception) {
|
function onError(exception) {
|
||||||
|
if (typeof exception?.error?.message === 'string') {
|
||||||
|
toastr.error(exception.error.message, 'Error', { timeOut: 10000, extendedTimeOut: 20000 });
|
||||||
|
}
|
||||||
|
|
||||||
reject(exception);
|
reject(exception);
|
||||||
$("#send_textarea").removeAttr('disabled');
|
$("#send_textarea").removeAttr('disabled');
|
||||||
is_send_press = false;
|
is_send_press = false;
|
||||||
|
14
server.js
14
server.js
@@ -506,8 +506,16 @@ app.post("/generate", jsonParser, async function (request, response_generate = r
|
|||||||
return response.body.pipe(response_generate);
|
return response.body.pipe(response_generate);
|
||||||
} else {
|
} else {
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
console.log(`Kobold returned error: ${response.status} ${response.statusText} ${await response.text()}`);
|
const errorText = await response.text();
|
||||||
return response.status(response.status).send({ error: true });
|
console.log(`Kobold returned error: ${response.status} ${response.statusText} ${errorText}`);
|
||||||
|
|
||||||
|
try {
|
||||||
|
const errorJson = JSON.parse(errorText);
|
||||||
|
const message = errorJson?.detail?.msg || errorText;
|
||||||
|
return response_generate.status(400).send({ error: { message } });
|
||||||
|
} catch {
|
||||||
|
return response_generate.status(400).send({ error: { message: errorText } });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
@@ -1798,7 +1806,7 @@ app.post("/generate_novelai", jsonParser, async function (request, response_gene
|
|||||||
request.socket.on('close', function () {
|
request.socket.on('close', function () {
|
||||||
controller.abort();
|
controller.abort();
|
||||||
});
|
});
|
||||||
|
|
||||||
const novelai = require('./src/novelai');
|
const novelai = require('./src/novelai');
|
||||||
const isNewModel = (request.body.model.includes('clio') || request.body.model.includes('kayra'));
|
const isNewModel = (request.body.model.includes('clio') || request.body.model.includes('kayra'));
|
||||||
const isKrake = request.body.model.includes('krake');
|
const isKrake = request.body.model.includes('krake');
|
||||||
|
Reference in New Issue
Block a user