🚀 refactor: Use Undici Instead of Node-Fetch, prevent Event Close, add Index (#3052)

* feat: Add index to conversationId field in messageSchema

* refactor: prevent immediate event close on error

* refactor: use undici instead of node-fetch in non-Bun environment
This commit is contained in:
Danny Avila 2024-06-13 13:38:15 -04:00 committed by GitHub
parent 29e71e98ad
commit 4416f69a9b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 6 additions and 2 deletions

View file

@ -1,5 +1,6 @@
const crypto = require('crypto');
const fetch = require('node-fetch');
const { fetch } = require('undici');
const nodeFetch = require('node-fetch');
const { supportsBalanceCheck, Constants } = require('librechat-data-provider');
const { getConvo, getMessages, saveMessage, updateMessage, saveConvo } = require('~/models');
const { addSpaceIfNeeded, isEnabled } = require('~/server/utils');
@ -69,6 +70,9 @@ class BaseClient {
url = this.options.reverseProxyUrl;
}
logger.debug(`Making request to ${url}`);
if (typeof Bun !== 'undefined') {
return await nodeFetch(url, init);
}
return await fetch(url, init);
}

View file

@ -11,6 +11,7 @@ const messageSchema = mongoose.Schema(
},
conversationId: {
type: String,
index: true,
required: true,
meiliIndex: true,
},

View file

@ -604,7 +604,6 @@ export default function useSSE(submission: TSubmission | null, index = 0) {
events.onerror = function (e: MessageEvent) {
console.log('error in server stream.');
startupConfig?.checkBalance && balanceQuery.refetch();
events.close();
let data: TResData | undefined = undefined;
try {