fix(ui): сохранить контекст и фокус форм Firewall без эффектов

This commit is contained in:
Denozordec committed 2026-10-04 16:56:15 +07:00
1 parent 21dc646553
commit ab56225a1a
6 files changed
+116 -75

No files matched your search

+8
View File
@@ -31,6 +31,14 @@
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | В работе;12.1/12.2.1–12.2.10 и12.3.1–12.3.5 и12.3.7–12.3.12 приняты в описанных локальных границах;12.4.1 main регрессия и профильный повтор записаны;12.4.2 context205 и unit28 прошли;12.3.13–12.3.25 приняты локально в описанных границах;12.4.4 context213 и12.4.5 main1110 прошли, 12.3.26–12.3.33 приняты локально; 12.3.34 VXLAN и12.3.35 GRE tunnels приняты; остаются network grids/общая регрессия после delta/внешняя приёмка |
## 12.3.47 — формы, URL и lint Firewall (2026-10-04)
RuleSheet/AddressListSheet корректируют собственный draft при смене контекста до commit дочерних элементов, сохраняя ввод при API ошибке и pending. Sheet не перемонтируется; finalFocus возвращает к исходной кнопке меню строки, fallback — create/add. Address-list фильтр отсутствующего списка сбрасывается до вывода детей и не возвращается при повторном появлении списка. Query server применяется один раз после каталога через guarded state adjustment; начальный useState недостаточен для асинхронного URL-контекста. Удалены дубли unused styles.
6+20 main browser и4/4 context прошли: reopen старого rule/address после несохранённого draft, create с пустым draft, Escape/focus, удаление/возврат фильтра,8 save cases/ошибки API/права/partial/cache/stale, обе большие таблицы/trace и поздние ответы. TypeScript без incremental/ESLint страницы и нового теста/production build прошли. Четыре исходные lint errors/2 warnings устранены без suppression; подход соответствует [React: Adjusting some state when a prop changes](https://react.dev/learn/you-might-not-need-an-effect#adjusting-some-state-when-a-prop-changes). Сетевые правила не изменены, real RouterOS не проверен.
Следующий блок12.3.48: полный профиль OSPF1000 соседей/1001 SVG узел, таблица и topology вместе; определить точную границу DOM до изменений. Затем ограничение таблицы/графа, optimizer. LocalStorage отказ сценария и большой multi-server sort Firewall остаются отдельными проверками.10 manualPagination:true остаются. Общая main/context после delta и внешняя12.5 отдельно. Коммит локальный без push.
## 12.3.46 — ограниченная трассировка Firewall (2026-10-04)
Trace показывает50 шагов, общий verdict/counts/номера относятся ко всему расчёту. Предыдущая/следующая страница и переход к правилу результата44px; новая симуляция/reset/preset/scenario начинают с первой страницы. Строки переносятся на320px, исправлен контраст passthrough и пояснений. runEpoch защищает от старого таймера после stop→новый run; unmount инвалидирует запуск.