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,
 | 
					  ws: WebSocket,
 | 
				
			||||||
  request: IncomingMessage,
 | 
					  request: IncomingMessage,
 | 
				
			||||||
) => {
 | 
					) => {
 | 
				
			||||||
 | 
					  try {
 | 
				
			||||||
    const searchParams = new URL(request.url, `http://${request.headers.host}`)
 | 
					    const searchParams = new URL(request.url, `http://${request.headers.host}`)
 | 
				
			||||||
      .searchParams;
 | 
					      .searchParams;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,7 +24,8 @@ export const handleConnection = async (
 | 
				
			|||||||
    ]);
 | 
					    ]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const chatModelProvider =
 | 
					    const chatModelProvider =
 | 
				
			||||||
    searchParams.get('chatModelProvider') || Object.keys(chatModelProviders)[0];
 | 
					      searchParams.get('chatModelProvider') ||
 | 
				
			||||||
 | 
					      Object.keys(chatModelProviders)[0];
 | 
				
			||||||
    const chatModel =
 | 
					    const chatModel =
 | 
				
			||||||
      searchParams.get('chatModel') ||
 | 
					      searchParams.get('chatModel') ||
 | 
				
			||||||
      Object.keys(chatModelProviders[chatModelProvider])[0];
 | 
					      Object.keys(chatModelProviders[chatModelProvider])[0];
 | 
				
			||||||
@@ -84,4 +86,15 @@ export const handleConnection = async (
 | 
				
			|||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ws.on('close', () => logger.debug('Connection closed'));
 | 
					    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 ||
 | 
					            !chatModelProviders ||
 | 
				
			||||||
            Object.keys(chatModelProviders).length === 0
 | 
					            Object.keys(chatModelProviders).length === 0
 | 
				
			||||||
          )
 | 
					          )
 | 
				
			||||||
            return console.error('No chat models available');
 | 
					            return toast.error('No chat models available');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          if (
 | 
					          if (
 | 
				
			||||||
            !embeddingModelProviders ||
 | 
					            !embeddingModelProviders ||
 | 
				
			||||||
            Object.keys(embeddingModelProviders).length === 0
 | 
					            Object.keys(embeddingModelProviders).length === 0
 | 
				
			||||||
          )
 | 
					          )
 | 
				
			||||||
            return console.error('No embedding models available');
 | 
					            return toast.error('No embedding models available');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          chatModelProvider = Object.keys(chatModelProviders)[0];
 | 
					          chatModelProvider = Object.keys(chatModelProviders)[0];
 | 
				
			||||||
          chatModel = Object.keys(chatModelProviders[chatModelProvider])[0];
 | 
					          chatModel = Object.keys(chatModelProviders[chatModelProvider])[0];
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user