mirror of
				https://github.com/ItzCrazyKns/Perplexica.git
				synced 2025-11-04 12:48:14 +00:00 
			
		
		
		
	feat(ws-managers): implement better error handling
This commit is contained in:
		@@ -14,6 +14,7 @@ export const handleConnection = async (
 | 
			
		||||
  ws: WebSocket,
 | 
			
		||||
  request: IncomingMessage,
 | 
			
		||||
) => {
 | 
			
		||||
  try {
 | 
			
		||||
    const searchParams = new URL(request.url, `http://${request.headers.host}`)
 | 
			
		||||
      .searchParams;
 | 
			
		||||
 | 
			
		||||
@@ -23,7 +24,8 @@ export const handleConnection = async (
 | 
			
		||||
    ]);
 | 
			
		||||
 | 
			
		||||
    const chatModelProvider =
 | 
			
		||||
    searchParams.get('chatModelProvider') || Object.keys(chatModelProviders)[0];
 | 
			
		||||
      searchParams.get('chatModelProvider') ||
 | 
			
		||||
      Object.keys(chatModelProviders)[0];
 | 
			
		||||
    const chatModel =
 | 
			
		||||
      searchParams.get('chatModel') ||
 | 
			
		||||
      Object.keys(chatModelProviders[chatModelProvider])[0];
 | 
			
		||||
@@ -84,4 +86,15 @@ export const handleConnection = async (
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    ws.on('close', () => logger.debug('Connection closed'));
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    ws.send(
 | 
			
		||||
      JSON.stringify({
 | 
			
		||||
        type: 'error',
 | 
			
		||||
        data: 'Internal server error.',
 | 
			
		||||
        key: 'INTERNAL_SERVER_ERROR',
 | 
			
		||||
      }),
 | 
			
		||||
    );
 | 
			
		||||
    ws.close();
 | 
			
		||||
    logger.error(err);
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -50,13 +50,13 @@ const useSocket = (url: string) => {
 | 
			
		||||
            !chatModelProviders ||
 | 
			
		||||
            Object.keys(chatModelProviders).length === 0
 | 
			
		||||
          )
 | 
			
		||||
            return console.error('No chat models available');
 | 
			
		||||
            return toast.error('No chat models available');
 | 
			
		||||
 | 
			
		||||
          if (
 | 
			
		||||
            !embeddingModelProviders ||
 | 
			
		||||
            Object.keys(embeddingModelProviders).length === 0
 | 
			
		||||
          )
 | 
			
		||||
            return console.error('No embedding models available');
 | 
			
		||||
            return toast.error('No embedding models available');
 | 
			
		||||
 | 
			
		||||
          chatModelProvider = Object.keys(chatModelProviders)[0];
 | 
			
		||||
          chatModel = Object.keys(chatModelProviders[chatModelProvider])[0];
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user