mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Fix crash on poe streaming
This commit is contained in:
45
server.js
45
server.js
@@ -353,6 +353,7 @@ app.post("/generate_textgenerationwebui", jsonParser, async function (request, r
|
||||
const SEND_PARAMS_GRADIO_FN = 29;
|
||||
|
||||
response_generate.writeHead(200, {
|
||||
'Content-Type': 'text/plain;charset=utf-8',
|
||||
'Transfer-Encoding': 'chunked',
|
||||
'Cache-Control': 'no-transform',
|
||||
});
|
||||
@@ -363,7 +364,7 @@ app.post("/generate_textgenerationwebui", jsonParser, async function (request, r
|
||||
const websocket = new WebSocket(`ws://${url.host}/queue/join`, { perMessageDeflate: false });
|
||||
let text = '';
|
||||
|
||||
websocket.on('open', async function() {
|
||||
websocket.on('open', async function () {
|
||||
console.log('websocket open');
|
||||
});
|
||||
|
||||
@@ -1551,9 +1552,9 @@ app.post("/exportcharacter", jsonParser, async function (request, response) {
|
||||
let metadataPath = `./uploads/${Date.now()}_metadata.exif`;
|
||||
let metadata =
|
||||
{
|
||||
"Exif": {
|
||||
[exif.ExifIFD.UserComment]: json,
|
||||
},
|
||||
"Exif": {
|
||||
[exif.ExifIFD.UserComment]: json,
|
||||
},
|
||||
};
|
||||
const exifString = exif.dump(metadata);
|
||||
fs.writeFileSync(metadataPath, exifString, 'binary');
|
||||
@@ -1924,11 +1925,20 @@ app.post('/generate_poe', jsonParser, async (request, response) => {
|
||||
const bot = request.body.bot ?? POE_DEFAULT_BOT;
|
||||
const streaming = request.body.streaming ?? false;
|
||||
|
||||
try {
|
||||
const client = await getPoeClient(token);
|
||||
let client;
|
||||
|
||||
if (streaming) {
|
||||
try {
|
||||
client = await getPoeClient(token);
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
return response.sendStatus(500);
|
||||
}
|
||||
|
||||
if (streaming) {
|
||||
try {
|
||||
response.writeHead(200, {
|
||||
'Content-Type': 'text/plain;charset=utf-8',
|
||||
'Transfer-Encoding': 'chunked',
|
||||
'Cache-Control': 'no-transform',
|
||||
});
|
||||
@@ -1940,10 +1950,17 @@ app.post('/generate_poe', jsonParser, async (request, response) => {
|
||||
response.write(newText);
|
||||
}
|
||||
console.log(reply);
|
||||
client.disconnect_ws();
|
||||
response.end();
|
||||
}
|
||||
else {
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
finally {
|
||||
client.disconnect_ws();
|
||||
return response.end();
|
||||
}
|
||||
}
|
||||
else {
|
||||
try {
|
||||
let reply;
|
||||
for await (const mes of client.send_message(bot, prompt)) {
|
||||
reply = mes.text;
|
||||
@@ -1952,10 +1969,10 @@ app.post('/generate_poe', jsonParser, async (request, response) => {
|
||||
client.disconnect_ws();
|
||||
return response.send({ 'reply': reply });
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
return response.sendStatus(500);
|
||||
catch {
|
||||
client.disconnect_ws();
|
||||
return response.sendStatus(500);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
Reference in New Issue
Block a user