fix(evolution): сохранять черновики и подтверждать операции формы
This commit is contained in:
1 parent
7e3cb754b0
commit
118cd31d65
15 files changed
+162
-288
No files matched your search
+10
-1
@@ -28,7 +28,7 @@
|
||||
| 9 | VPN, Firewall и Filters | Завершён в границах локальной приёмки 2026-09-30; блоки 9.1–9.64, ограничения в 9.64 |
|
||||
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
|
||||
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.3.5.3.2; scheduler и GeoIP приняты локально; NetFlow принят локально; далее Evolution и общие settings |
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.3.5.4.1; scheduler и GeoIP приняты локально; NetFlow принят локально; далее Evolution и общие settings |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
|
||||
|
||||
|
||||
@@ -36,6 +36,15 @@
|
||||
|
||||
|
||||
|
||||
## Блок 11Б.3.5.4.1 — форма Evolution (2026-10-03)
|
||||
|
||||
- Evolution вынесен из Settings в отдельную форму на существующих Frame/OpsPanel/FormField/FormToggle/AlertDialog. GET обновляет только нетронутые поля; ключ и другие dirty поля сохраняются при обновлении и ошибке. PUT отправляет только dirty fields через общий нормализующий контракт; пустой ключ не удаляет сохранённый. Успех — один inline receipt, без прежнего двойного toast и фиктивного сохранения mock-режима.
|
||||
- Удаление ключа требует AlertDialog и отдельного apiKey:null patch, сохраняет URL/toggle/введённую замену. Malformed/HTTP error удерживает подтверждение и черновики. Test не сохраняет, refresh использует сохранённые настройки; единый синхронный lock с provider отключает поля/другие действия. Права/known settings/live/backend проверяются до действий.
|
||||
- Форма перемонтируется по sourceKey, active guard исключает старые локальные результаты; provider продолжает отменять readers/guards mutation. Навигация Settings адаптирована (одна колонка/перенос на телефоне). Другие секции Settings ещё не приняты и сохраняют старые демонстрационные действия.
|
||||
- 17 основных Evolution E2E (7 новых формы, 8 provider, 2 прежних), 8 source E2E GET/catalog/save/test success/error, 3 responsive 1440/390/320 прошли. Typecheck, профильный ESLint и production frontend/contracts build прошли. Синтаксическая опечатка обработчика поля исправлена до проверок. В Settings осталась одна исходная lint ошибка sync backendUrl effect; её исправление входит в общие Settings.
|
||||
- 6 снимков docs/ux-ui/screens/evolution*.png; просмотрены 320/desktop/clear 320. Снимки пересняты с animations disabled, чтобы не фиксировать начальную прозрачность открытия popup. Реальный Evolution/PG не проверен. Source test clear не добавлялся: modal во время операции блокирует пользовательскую смену секции; не обходить inert для имитации сценария.
|
||||
- Далее 11Б.3.5.4.2 — live catalog consumers/sidebar: убрать fallback mocks, явно показать unknown/disabled/no access и последние данные; затем локальная приёмка интеграции.
|
||||
|
||||
## Блок 11Б.3.5.3.2 — достоверность каталога Evolution (2026-10-03)
|
||||
|
||||
- Backend проверяет все пять upstream collections/items, обязательные поля, уникальность идентификаторов, диапазон ASN и целые безопасные counts до mapping. Malformed больше не превращается в подтверждённый пустой каталог; корректные пустые массивы допустимы. Неизвестный prefix_count (нет поля/null) сохраняется как null; итог community с таким ASN тоже unknown, известный ноль остаётся 0. Переполнение суммы отклоняется.
|
||||
|
||||
Reference in new issue
Block a user