|
|
@@ -183,12 +183,12 @@ export const useChat = ({ chatType }: UseChatProps) => {
|
|
|
const startTime = Date.now();
|
|
|
console.log("⏱️ [CHAT] Iniciando petición a API en:", new Date().toISOString());
|
|
|
|
|
|
- // Configurar timeout de 15 segundos
|
|
|
+ // Configurar timeout de 30 segundos solo para la conexión inicial
|
|
|
const controller = new AbortController();
|
|
|
const timeoutId = setTimeout(() => {
|
|
|
- console.log("⏰ [CHAT] Timeout alcanzado, cancelando petición...");
|
|
|
+ console.log("⏰ [CHAT] Timeout de conexión alcanzado, cancelando petición...");
|
|
|
controller.abort();
|
|
|
- }, 15000); // 15 segundos
|
|
|
+ }, 30000); // 30 segundos (aumentado de 15s para dar más tiempo a respuestas largas)
|
|
|
|
|
|
try {
|
|
|
// Llamada a OpenRouter API con STREAMING
|
|
|
@@ -206,7 +206,8 @@ export const useChat = ({ chatType }: UseChatProps) => {
|
|
|
signal: controller.signal, // Agregar señal de cancelación
|
|
|
});
|
|
|
|
|
|
- // Limpiar timeout si la petición fue exitosa
|
|
|
+ // Limpiar timeout inmediatamente después de establecer la conexión
|
|
|
+ // El streaming puede continuar sin límite de tiempo
|
|
|
clearTimeout(timeoutId);
|
|
|
|
|
|
const responseTime = Date.now() - startTime;
|
|
|
@@ -259,7 +260,7 @@ export const useChat = ({ chatType }: UseChatProps) => {
|
|
|
const data = line.slice(6); // Remover "data: "
|
|
|
|
|
|
if (data === '[DONE]') {
|
|
|
- console.log("� [CHAT] Recibida señal de finalización");
|
|
|
+ console.log("[CHAT] Recibida señal de finalización");
|
|
|
break;
|
|
|
}
|
|
|
|