# План исправлений по ревью Gemini — 2026-09-05 ## Обязательный релизный набор 1. Сбрасывать `fileInputEl.value` после обработки выбора, чтобы повторный выбор того же файла снова генерировал `change`. 2. Фильтровать ZIP entries по разрешённому расширению до декомпрессии, сохраняя отдельный проход для вложенных `.zip`. 3. Объединять корневые папки с одинаковым путём вместо создания дублей. 4. Сохранять базовое имя в `File.name`, а логический путь — в `node.path` и результате `flattenFiles()`. 5. Показывать ошибку ZIP в статусе по умолчанию, если `onError` не передан. 6. Использовать fallback-конфигурацию при отсутствии или повреждении `config.json` в demo-сервере. ## Статус выполнения - Выполнено: обязательный релизный набор пунктов 1–6. - Выполнено: удалены legacy `set_status.js`, `init_upload_table.js` и пустой `upload/backend/` с остатками `__pycache__`. - Выполнено: живая документация очищена от ссылок на удалённую legacy-архитектуру. - Выполнено: `build.mjs` очищает `dist/` перед сборкой; версия повышена до `0.1.13`. ## Отложенные задачи - Перевести тяжёлую синхронную ZIP-распаковку в Web Worker после подтверждения реальными измерениями необходимости. ## Проверка - Пересобрать ESM/IIFE bundles. - Проверить синтаксис изменённых JavaScript и Python-файлов. - Обновить версию с `0.1.11` до `0.1.12` в `package.json` и `site/app.py`. - Выполнить browser smoke-тесты для повторного выбора, ZIP-фильтрации, слияния папок и fallback ошибки.