Compare commits

...

4 Commits

Author SHA1 Message Date
ItzCrazyKns
9b088cd161 feat(package): bump version 2024-05-05 16:35:06 +05:30
ItzCrazyKns
94ea6c372a feat(chat-window): clear storage after error 2024-05-05 16:29:40 +05:30
ItzCrazyKns
6e61c88c9e feat(error-object): add key 2024-05-05 16:28:46 +05:30
ItzCrazyKns
ba7b92ffde feat(providers): add Content-Type header 2024-05-05 10:53:27 +05:30
6 changed files with 43 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "perplexica-backend", "name": "perplexica-backend",
"version": "1.3.1", "version": "1.3.2",
"license": "MIT", "license": "MIT",
"author": "ItzCrazyKns", "author": "ItzCrazyKns",
"scripts": { "scripts": {

View File

@@ -90,7 +90,11 @@ export const getAvailableChatModelProviders = async () => {
if (ollamaEndpoint) { if (ollamaEndpoint) {
try { try {
const response = await fetch(`${ollamaEndpoint}/api/tags`); const response = await fetch(`${ollamaEndpoint}/api/tags`, {
headers: {
'Content-Type': 'application/json',
},
});
const { models: ollamaModels } = (await response.json()) as any; const { models: ollamaModels } = (await response.json()) as any;
@@ -137,7 +141,11 @@ export const getAvailableEmbeddingModelProviders = async () => {
if (ollamaEndpoint) { if (ollamaEndpoint) {
try { try {
const response = await fetch(`${ollamaEndpoint}/api/tags`); const response = await fetch(`${ollamaEndpoint}/api/tags`, {
headers: {
'Content-Type': 'application/json',
},
});
const { models: ollamaModels } = (await response.json()) as any; const { models: ollamaModels } = (await response.json()) as any;

View File

@@ -70,7 +70,8 @@ export const handleConnection = async (
ws.send( ws.send(
JSON.stringify({ JSON.stringify({
type: 'error', type: 'error',
data: 'Invalid LLM or embeddings model selected', data: 'Invalid LLM or embeddings model selected, please refresh the page and try again.',
key: 'INVALID_MODEL_SELECTED',
}), }),
); );
ws.close(); ws.close();

View File

@@ -57,7 +57,13 @@ const handleEmitterEvents = (
}); });
emitter.on('error', (data) => { emitter.on('error', (data) => {
const parsedData = JSON.parse(data); const parsedData = JSON.parse(data);
ws.send(JSON.stringify({ type: 'error', data: parsedData.data })); ws.send(
JSON.stringify({
type: 'error',
data: parsedData.data,
key: 'CHAIN_ERROR',
}),
);
}); });
}; };
@@ -73,7 +79,11 @@ export const handleMessage = async (
if (!parsedMessage.content) if (!parsedMessage.content)
return ws.send( return ws.send(
JSON.stringify({ type: 'error', data: 'Invalid message format' }), JSON.stringify({
type: 'error',
data: 'Invalid message format',
key: 'INVALID_FORMAT',
}),
); );
const history: BaseMessage[] = parsedMessage.history.map((msg) => { const history: BaseMessage[] = parsedMessage.history.map((msg) => {
@@ -99,11 +109,23 @@ export const handleMessage = async (
); );
handleEmitterEvents(emitter, ws, id); handleEmitterEvents(emitter, ws, id);
} else { } else {
ws.send(JSON.stringify({ type: 'error', data: 'Invalid focus mode' })); ws.send(
JSON.stringify({
type: 'error',
data: 'Invalid focus mode',
key: 'INVALID_FOCUS_MODE',
}),
);
} }
} }
} catch (err) { } catch (err) {
ws.send(JSON.stringify({ type: 'error', data: 'Invalid message format' })); ws.send(
JSON.stringify({
type: 'error',
data: 'Invalid message format',
key: 'INVALID_FORMAT',
}),
);
logger.error(`Failed to handle message: ${err}`); logger.error(`Failed to handle message: ${err}`);
} }
}; };

View File

@@ -108,6 +108,9 @@ const useSocket = (url: string) => {
const parsedData = JSON.parse(e.data); const parsedData = JSON.parse(e.data);
if (parsedData.type === 'error') { if (parsedData.type === 'error') {
toast.error(parsedData.data); toast.error(parsedData.data);
if (parsedData.key === 'INVALID_MODEL_SELECTED') {
localStorage.clear();
}
} }
}; };
}; };

View File

@@ -1,6 +1,6 @@
{ {
"name": "perplexica-frontend", "name": "perplexica-frontend",
"version": "1.3.1", "version": "1.3.2",
"license": "MIT", "license": "MIT",
"author": "ItzCrazyKns", "author": "ItzCrazyKns",
"scripts": { "scripts": {