Commit Graph

4 Commits

Author SHA1 Message Date
AI Assistant
3621ae6021 feat: Session persistence with Redis + Draft management fixes
- Implement session management API (/api/v1/session/create, verify, logout)
- Add session restoration from localStorage on page reload
- Fix session_id priority when loading drafts (use current, not old from DB)
- Add unified_id and claim_id to wizard payload sent to n8n
- Add Docker volume for frontend HMR (Hot Module Replacement)
- Add comprehensive session logging for debugging

Components updated:
- backend/app/api/session.py (NEW) - Session management endpoints
- backend/app/main.py - Include session router
- frontend/src/components/form/Step1Phone.tsx v2.0 - Create session after SMS
- frontend/src/pages/ClaimForm.tsx v3.8 - Session restoration & priority fix
- frontend/src/components/form/StepWizardPlan.tsx v1.4 - Add unified_id/claim_id
- docker-compose.yml - Add frontend volume for live reload

Session flow:
1. User verifies phone -> session created in Redis (24h TTL)
2. session_token saved to localStorage
3. Page reload -> session restored automatically
4. Draft selected -> current session_id used (not old from DB)
5. Wizard submit -> unified_id, claim_id, session_id sent to n8n
6. Logout -> session removed from Redis & localStorage

Fixes:
- Session token not persisting after page reload
- unified_id missing in n8n webhook payload
- Old session_id from draft overwriting current session
- Frontend changes requiring container rebuild
2025-11-20 18:31:42 +03:00
AI Assistant
4c8fda5f55 Добавлено логирование для отладки черновиков
- Добавлены логи в frontend (ClaimForm.tsx) для отслеживания unified_id и запросов к API
- Добавлены логи в backend (claims.py) для отладки SQL запросов
- Создан лог сессии с описанием проблемы и текущего состояния
- Проблема: API возвращает 0 черновиков, хотя в БД есть данные
2025-11-19 18:46:48 +03:00
AI Assistant
d2777aeabf feat: Step2 переделан + улучшен Debug Panel с полными S3 URL
Step2Details (по скриншоту):
 Индикатор ' Полис найден' вверху
 Select с типами событий из erv_ticket:
   - Задержка авиарейса (более 3 часов)
   - Отмена авиарейса
   - Пропуск стыковочного рейса
   - Посадка на запасной аэродром
   - Задержка отправки поезда
   - Отмена поезда
   - Задержка/отмена парома/круизного судна

 Дата наступления страхового случая (DatePicker)
 Номер рейса/поезда/парома
 Загрузка подтверждающих документов:
   - Посадочный талон, билет, справка и т.д.
   - До 10 файлов по 15MB
   - HEIC, PDF, фото

Debug Panel улучшения:
 Полные S3 URL (не обрезанные)
 Кнопка '🔗 Открыть в новой вкладке'
 word-break: break-all для длинных URL
 Показывает все файлы из массива
 Для каждого файла:
   - Filename
   - File ID (UUID)
   - Size (KB)
   - Полный S3 URL (кликабельный)

Теперь в Debug видно КУДА загрузилось:
https://s3.twcstorage.ru/f9825c87-.../policies/20251024_213045_abc123_file.jpg

Можно кликнуть и посмотреть глазами! 👀
2025-10-25 09:27:56 +03:00
AI Assistant
720d4ebdd9 feat: Split-screen с Debug панелью в реальном времени!
Новый UI:
 Split-screen layout:
   - Слева (60%): форма заявки
   - Справа (40%): Debug Console в реальном времени

Компонент DebugPanel.tsx:
 Темная тема (VS Code style)
 Timeline с событиями
 Real-time обновления
 Показывает:
   - Form Data (JSON в реальном времени)
   - Events Log с иконками и цветами
   - Детали каждого события

События которые отображаются:
1. policy_check:
   -  Полис найден в MySQL БД
   - ⚠️ Полис не найден
   - Показывает: voucher, found status

2. upload:
   - 📤 Загружаю X файлов в S3
   -  Загружено в S3: X/Y
   - Показывает: file_id, size, S3 URL

3. ocr:
   - 🔍 Запущен OCR
   - 📄 OCR завершен: XXX символов
   - Показывает: текст preview

4. ai_analysis:
   - 🤖 AI: policy/garbage, confidence: 95%
   - 🗑️ ШЛЯПА DETECTED! (пользователю не говорим)
   - Показывает: document_type, is_valid, confidence, extracted_data

5. sms:
   - 📱 Отправляю SMS
   -  SMS отправлен (DEBUG mode)
   - 🔐 Проверяю код
   -  Телефон подтвержден
   - Показывает: phone, debug_code

UX:
- Sticky panel (прилипает при скролле)
- Monospace шрифт для данных
- Цветовая кодировка статусов
- JSON форматирование

Layout:
- Row + Col от Ant Design
- Responsive: mobile = 1 column, desktop = split

Теперь видно ВСЁ что происходит в реальном времени! 🔍
2025-10-24 22:13:52 +03:00