From 0b75e01b9e3ec6f26e68c338a2f2fac66b5663d7 Mon Sep 17 00:00:00 2001 From: AI Assistant Date: Tue, 28 Oct 2025 00:40:06 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=9D=D0=B5=20=D0=B7=D0=B0=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=B0=D0=B5=D0=BC=20=D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C?= =?UTF-8?q?=D1=82=D0=B0=D1=82=20OCR=20=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D0=B8=20SSE=20=D1=81=D0=BE=D0=B5?= =?UTF-8?q?=D0=B4=D0=B8=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проблема: Backend закрывает SSE после отправки события, браузер триггерит onerror, фронтенд перезаписывал успешный результат сообщением 'Ошибка подключения к серверу'. Решение: Проверяем в onerror что если уже получили результат (prev !== 'loading'), не затираем его ошибкой. --- frontend/src/components/form/Step1Policy.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/form/Step1Policy.tsx b/frontend/src/components/form/Step1Policy.tsx index 0f3e67b..089d17e 100644 --- a/frontend/src/components/form/Step1Policy.tsx +++ b/frontend/src/components/form/Step1Policy.tsx @@ -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(); };