diff --git a/api/server/routes/ask.js b/api/server/routes/ask.js
index 5f94d7d4c3..8d20b808dc 100644
--- a/api/server/routes/ask.js
+++ b/api/server/routes/ask.js
@@ -8,10 +8,10 @@ const {
askClient,
browserClient,
customClient,
- detectCode
+ // detectCode
} = require('../../app/');
const { getConvo, saveMessage, getConvoTitle, saveConvo } = require('../../models');
-const { handleError, sendMessage, createOnProgress } = require('./handlers');
+const { handleError, sendMessage, createOnProgress, handleText } = require('./handlers');
const { getMessages } = require('../../models/Message');
router.use('/bing', askBing);
@@ -177,7 +177,8 @@ const ask = async ({
gptResponse.sender = model === 'chatgptCustom' ? convo.chatGptLabel : model;
// gptResponse.final = true;
- gptResponse.text = await detectCode(gptResponse.text);
+ // gptResponse.text = await detectCode(gptResponse.text);
+ gptResponse.text = await handleText(gptResponse.text);
if (convo.chatGptLabel?.length > 0 && model === 'chatgptCustom') {
gptResponse.chatGptLabel = convo.chatGptLabel;
diff --git a/api/server/routes/askBing.js b/api/server/routes/askBing.js
index add804a43e..5bb8abd4f0 100644
--- a/api/server/routes/askBing.js
+++ b/api/server/routes/askBing.js
@@ -3,7 +3,7 @@ const crypto = require('crypto');
const router = express.Router();
const { titleConvo, getCitations, citeText, askBing } = require('../../app/');
const { saveMessage, getConvoTitle, saveConvo } = require('../../models');
-const { handleError, sendMessage, createOnProgress } = require('./handlers');
+const { handleError, sendMessage, createOnProgress, handleText } = require('./handlers');
const citationRegex = /\[\^\d+?\^]/g;
router.post('/', async (req, res) => {
@@ -113,6 +113,7 @@ const ask = async ({
response.text =
citeText(response) +
(links?.length > 0 && hasCitations ? `\n${links}` : '');
+ response.text = await handleText(response.text);
await saveMessage(response);
await saveConvo({...response, model, ...convo});
diff --git a/api/server/routes/askSydney.js b/api/server/routes/askSydney.js
index 1f04ad4166..a0a3bd32df 100644
--- a/api/server/routes/askSydney.js
+++ b/api/server/routes/askSydney.js
@@ -3,7 +3,7 @@ const crypto = require('crypto');
const router = express.Router();
const { titleConvo, getCitations, citeText, askSydney } = require('../../app/');
const { saveMessage, saveConvo, getConvoTitle } = require('../../models');
-const { handleError, sendMessage, createOnProgress } = require('./handlers');
+const { handleError, sendMessage, createOnProgress, handleText } = require('./handlers');
const citationRegex = /\[\^\d+?\^]/g;
router.post('/', async (req, res) => {
@@ -114,6 +114,7 @@ const ask = async ({
response.text =
citeText(response) +
(links?.length > 0 && hasCitations ? `\n${links}` : '');
+ response.text = await handleText(response.text);
// Save user message
userMessage.conversationId = response.conversationId || conversationId;
diff --git a/api/server/routes/handlers.js b/api/server/routes/handlers.js
index 7672ef41a5..d3e613bccc 100644
--- a/api/server/routes/handlers.js
+++ b/api/server/routes/handlers.js
@@ -1,4 +1,4 @@
-const { citeText } = require('../../app/');
+const { citeText, detectCode } = require('../../app/');
const _ = require('lodash');
const sanitizeHtml = require('sanitize-html');
@@ -20,11 +20,14 @@ const createOnProgress = () => {
const progressCallback = async (partial, { res, text, bing = false, ...rest }) => {
tokens += partial === text ? '' : partial;
- tokens = tokens.trim();
tokens = tokens.replaceAll('[DONE]', '');
- if (tokens.includes('```')) {
- tokens = sanitizeHtml(tokens);
+
+ if (tokens.match(/^\n/)) {
+ tokens = tokens.replace(/^\n/, '');
}
+ // if (tokens.includes('```')) {
+ // tokens = sanitizeHtml(tokens);
+ // }
if (bing) {
tokens = citeText(tokens, true);
@@ -42,4 +45,15 @@ const createOnProgress = () => {
return onProgress;
};
-module.exports = { handleError, sendMessage, createOnProgress };
\ No newline at end of file
+const handleText = async (input) => {
+ let text = input;
+ text = await detectCode(text);
+ // if (text.includes('```')) {
+ // text = sanitizeHtml(text);
+ // text = text.replaceAll(') =>', ') =>');
+ // }
+
+ return text;
+};
+
+module.exports = { handleError, sendMessage, createOnProgress, handleText };
\ No newline at end of file