fix: Не затираем результат OCR при закрытии SSE соединения
Проблема: Backend закрывает SSE после отправки события, браузер триггерит onerror, фронтенд перезаписывал успешный результат сообщением 'Ошибка подключения к серверу'. Решение: Проверяем в onerror что если уже получили результат (prev !== 'loading'), не затираем его ошибкой.
This commit is contained in:
@@ -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();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user