fix: harden browser file picker and remove legacy
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# План исправлений по ревью 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-архитектуру.
|
||||
|
||||
## Отложенные задачи
|
||||
|
||||
- Перевести тяжёлую синхронную ZIP-распаковку в Web Worker после подтверждения
|
||||
реальными измерениями необходимости.
|
||||
- Перед сборкой определить явное поведение каталога `dist/`.
|
||||
|
||||
## Проверка
|
||||
|
||||
- Пересобрать ESM/IIFE bundles.
|
||||
- Проверить синтаксис изменённых JavaScript и Python-файлов.
|
||||
- Обновить версию с `0.1.11` до `0.1.12` в `package.json` и `site/app.py`.
|
||||
- Выполнить browser smoke-тесты для повторного выбора, ZIP-фильтрации,
|
||||
слияния папок и fallback ошибки.
|
||||
Reference in New Issue
Block a user