From 45b714fb9e6dac2df06749c6c3124df45b678b1b Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Thu, 23 Nov 2023 00:59:34 +0200 Subject: [PATCH 1/3] Don't crash server if google translate fails --- src/translate.js | 52 +++++++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/src/translate.js b/src/translate.js index 7d22ccc0c..12a184e2b 100644 --- a/src/translate.js +++ b/src/translate.js @@ -58,34 +58,44 @@ function registerEndpoints(app, jsonParser) { }); app.post('/api/translate/google', jsonParser, async (request, response) => { - const { generateRequestUrl, normaliseResponse } = require('google-translate-api-browser'); - const text = request.body.text; - const lang = request.body.lang; + try { + const { generateRequestUrl, normaliseResponse } = require('google-translate-api-browser'); + const text = request.body.text; + const lang = request.body.lang; - if (!text || !lang) { - return response.sendStatus(400); - } + if (!text || !lang) { + return response.sendStatus(400); + } - console.log('Input text: ' + text); + console.log('Input text: ' + text); - const url = generateRequestUrl(text, { to: lang }); + const url = generateRequestUrl(text, { to: lang }); - https.get(url, (resp) => { - let data = ''; + https.get(url, (resp) => { + let data = ''; - resp.on('data', (chunk) => { - data += chunk; + resp.on('data', (chunk) => { + data += chunk; + }); + + resp.on('end', () => { + try { + const result = normaliseResponse(JSON.parse(data)); + console.log('Translated text: ' + result.text); + return response.send(result.text); + } catch (error) { + console.log("Translation error", error); + return response.sendStatus(500); + } + }); + }).on("error", (err) => { + console.log("Translation error: " + err.message); + return response.sendStatus(500); }); - - resp.on('end', () => { - const result = normaliseResponse(JSON.parse(data)); - console.log('Translated text: ' + result.text); - return response.send(result.text); - }); - }).on("error", (err) => { - console.log("Translation error: " + err.message); + } catch (error) { + console.log("Translation error", error); return response.sendStatus(500); - }); + } }); app.post('/api/translate/deepl', jsonParser, async (request, response) => { From b4afb10fab7874697fe781044dc7b85b46134226 Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Thu, 23 Nov 2023 02:03:41 +0200 Subject: [PATCH 2/3] Change # of beams min value --- public/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/index.html b/public/index.html index a09e83e72..c7c65dcaa 100644 --- a/public/index.html +++ b/public/index.html @@ -1228,8 +1228,8 @@
# of Beams - - + +
Length Penalty @@ -4847,4 +4847,4 @@ - \ No newline at end of file + From e445aeec14cc2eb8b641469910aa55141d79361a Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 23 Nov 2023 00:09:58 -0500 Subject: [PATCH 3/3] Tabby: Fix model name return on error Tabby's model API is always /v1/model/list, so return "None" if the request fails since that means a model is most likely not loaded. Signed-off-by: kingbri --- public/index.html | 2 +- server.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/public/index.html b/public/index.html index c7c65dcaa..cc3ad9163 100644 --- a/public/index.html +++ b/public/index.html @@ -1513,7 +1513,7 @@ - +
diff --git a/server.js b/server.js index a07e6cb56..12375c627 100644 --- a/server.js +++ b/server.js @@ -596,6 +596,10 @@ app.post("/api/textgenerationwebui/status", jsonParser, async function (request, const modelName = modelInfo?.id; result = modelName || result; + } else { + // TabbyAPI returns an error 400 if a model isn't loaded + + result = "None" } } catch (error) { console.error(`Failed to get TabbyAPI model info: ${error}`);