# План v3.1 — пофайловая обработка + прогресс в таблице (2026-07-12) ## Проблема Фронтенд v3.0 отправляет все файлы одним запросом → долгий LLM-вызов → таймаут. Нужно: обрабатывать по одному, прогресс в таблице, все результаты → один ZIP. ## Решение ### Фронтенд (index.html) 1. **XHR** вместо fetch — надёжнее для blob, явный timeout 2. **Колонка «Статус»** в таблице файлов 3. **По одному файлу:** цикл, каждый файл → отдельный XHR → ZIP 4. **Прогресс в таблице:** ⏳ → ✓ 2.1 сек (или ✗ ошибка) 5. **JSZip** — склеивает все полученные ZIP'ы в один 6. **Скачивание** — один файл `drhider_output.zip` в конце ### Статусы в таблице | Статус | Отображение | |---|---| | Ожидание | ⏳ | | Успех | ✓ 2.1 сек | | Ошибка | ✗ сообщение | ### Бэкенд Без изменений. API уже принимает один файл. ### НЕ трогать - gunicorn не нужен (файлы по одному, каждый запрос ≤10 сек) - app.run() — остаётся - drhider пакет — без изменений