40 lines
2.0 KiB
Markdown
40 lines
2.0 KiB
Markdown
# v0.0.49 — индикатор распаковки, разделение фаз, таймауты SSE — 2026-08-19
|
||
|
||
**Дата:** 2026-08-19
|
||
**Версия:** 0.0.48 → 0.0.49
|
||
|
||
---
|
||
|
||
## Контекст
|
||
Отзыв тестировщика:
|
||
1. «После Выбрать файлы долго не респондит — разбирает архивы» → нет индикатора.
|
||
2. «По Обфусцировать — двойной проход по файлам» → фазы загрузки и обработки не разделены.
|
||
3. «Ошибка: SSE connection failed» → долгое SSE рвалось шлюзом.
|
||
|
||
## Изменения
|
||
|
||
### Ingress (kubectl patch, не код)
|
||
- `proxy-read-timeout: 600 → 1800`
|
||
- `proxy-send-timeout: 600 → 1800`
|
||
— шлюз больше не рвёт долгое SSE (было ~10 мин, стало 30 мин).
|
||
|
||
### `site/templates/index.html`
|
||
- **Индикатор распаковки**: при выборе файлов с `.zip` — `cursor: wait` +
|
||
статус «Разбираю архивы…», снимается после распаковки (try/finally).
|
||
- **Разделение фаз**:
|
||
- Фаза 1: статус «Загрузка (этап 1/2) i/N: имя».
|
||
- Фаза 2: статус «Обработка (этап 2/2)…», таймер «Обработка (этап 2/2)… Nс».
|
||
- При старте фазы 2 загрузочные статусы сбрасываются на «⏳».
|
||
|
||
### `site/app.py`
|
||
- `VERSION = "0.0.49"`.
|
||
|
||
## Проверка
|
||
- `node --check`, `py_compile` — OK.
|
||
- Тесты builder/replacer/scanner/zip — все зелёные.
|
||
|
||
## Примечание
|
||
- Причина «SSE connection failed»: шлюз рвал долгое SSE (proxy-read-timeout 600с).
|
||
Таймауты подняты до 1800с. Если обработка > 30 мин — нужно ещё выше или
|
||
авто-реконнект EventSource (отложено: реконнект вызывает повторную обработку).
|