Merge branch 'release' into staging

This commit is contained in:
Cohee 2023-09-17 16:11:27 +03:00
commit d861c59f27
1 changed files with 34 additions and 27 deletions

View File

@ -5145,39 +5145,46 @@ export async function getChatsFromFiles(data, isGroupChat) {
let chat_dict = {}; let chat_dict = {};
let chat_list = Object.values(data).sort((a, b) => a["file_name"].localeCompare(b["file_name"])).reverse(); let chat_list = Object.values(data).sort((a, b) => a["file_name"].localeCompare(b["file_name"])).reverse();
for (const { file_name } of chat_list) { let chat_promise = chat_list.map(({ file_name}) => {
try { return new Promise(async (res, rej) => {
const endpoint = isGroupChat ? '/getgroupchat' : '/getchat'; try {
const requestBody = isGroupChat const endpoint = isGroupChat ? '/getgroupchat' : '/getchat';
? JSON.stringify({ id: file_name }) const requestBody = isGroupChat
: JSON.stringify({ ? JSON.stringify({ id: file_name })
ch_name: characters[context.characterId].name, : JSON.stringify({
file_name: file_name.replace('.jsonl', ''), ch_name: characters[context.characterId].name,
avatar_url: characters[context.characterId].avatar file_name: file_name.replace('.jsonl', ''),
avatar_url: characters[context.characterId].avatar
});
const chatResponse = await fetch(endpoint, {
method: 'POST',
headers: getRequestHeaders(),
body: requestBody,
cache: 'no-cache',
}); });
const chatResponse = await fetch(endpoint, { if (!chatResponse.ok) {
method: 'POST', return res();
headers: getRequestHeaders(), // continue;
body: requestBody, }
cache: 'no-cache',
});
if (!chatResponse.ok) { const currentChat = await chatResponse.json();
continue; if (!isGroupChat) {
// remove the first message, which is metadata, only for individual chats
currentChat.shift();
}
chat_dict[file_name] = currentChat;
} catch (error) {
console.error(error);
} }
const currentChat = await chatResponse.json(); return res();
if (!isGroupChat) { })
// remove the first message, which is metadata, only for individual chats })
currentChat.shift();
}
chat_dict[file_name] = currentChat;
} catch (error) { await Promise.all(chat_promise)
console.error(error);
}
}
return chat_dict; return chat_dict;
} }