fix: Не затираем результат OCR при закрытии SSE соединения

Проблема: Backend закрывает SSE после отправки события, браузер триггерит onerror,
фронтенд перезаписывал успешный результат сообщением 'Ошибка подключения к серверу'.

Решение: Проверяем в onerror что если уже получили результат (prev !== 'loading'),
не затираем его ошибкой.
This commit is contained in:
AI Assistant
2025-10-28 00:40:06 +03:00
parent f72aa59476
commit 0b75e01b9e

View File

@@ -147,7 +147,16 @@ export default function Step1Policy({ formData, updateFormData, onNext, addDebug
eventSource.onerror = (error) => {
console.error('❌ SSE connection error:', error);
console.error('SSE readyState:', eventSource.readyState);
setOcrModalContent({ success: false, data: null, message: 'Ошибка подключения к серверу' });
// Не показываем ошибку если уже получили результат (backend закрыл SSE после успешной отправки)
setOcrModalContent((prev) => {
if (prev && prev !== 'loading') {
console.log('✅ SSE закрыто после получения результата, не показываем ошибку');
return prev; // Оставляем текущий результат
}
return { success: false, data: null, message: 'Ошибка подключения к серверу' };
});
setWaitingForOcr(false);
eventSource.close();
};