fix(ui): проверять права и сохранять достоверность общей сводки
This commit is contained in:
1 parent
b109532f33
commit
1999e8160e
9 files changed
+124
-117
No files matched your search
@@ -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Б.4.4.3.5; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.4.4.3.6; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
|
||||
|
||||
|
||||
@@ -36,6 +36,14 @@
|
||||
|
||||
|
||||
|
||||
## Блок 11Б.4.4.3.6 — права и достоверность общей сводки (2026-10-03)
|
||||
|
||||
- AppSidebar ждёт ensureAuthConfig, проверяет dashboard:read для counts и filters:read для GRE перед запросом и публикацией. Читатели независимы, bounded/abort/revision/source tag не дают старому ответу заменить новый. Badge скрывается при отсутствии права раздела, неизвестное optional поле не превращается в 0, partial GRE сохраняет последний complete count.
|
||||
- Второй источник фонового sidebar-counts оказался SystemMonitorPopover: также ждёт auth и проверяет dashboard:read, отделяет health от counts. Ошибка summary не выставляет API offline, unknown count отображается как «—»; последний успешный снимок/время сохраняются. Система не заявляет «Норма» по отсутствующим данным, arbitrary count percentage bars удалены; размеры popup ограничены viewport.
|
||||
- Strict counts/GRE API unit, 9 browser scenarios (включая alerts-only JWT без counts/GRE/BGP GET, partial refresh, delayed summary, independent health) и typecheck/lint прошли. Дополнительная регрессия dashboard/links 107 сценариев запущена; на момент коммита ещё выполняется, результат будет записан следующим блоком. Не считать её завершённой заранее.
|
||||
- Backend sidebar-counts всё ещё может возвращать 0 после ошибки своих сетевых count helpers; это отдельное ограничение источника. Текущая UI правка не доказывает достоверность этих upstream counts. Dashboard hook только на dashboard page и ещё требует per-request permission gates. Внешние PG/RouterOS не проверялись.
|
||||
- Следующий точный шаг 11Б.4.4.3.7: применить права backend к каждому запросу dashboard reader и проверить ограниченный JWT; затем адаптивность/pickers, Releases/probe scheduling и приёмка 11Б/12. Processing recovery требует отдельного сценария остановки отправителя.
|
||||
|
||||
## Блок 11Б.4.4.3.5 — явный повтор очереди в UI (2026-10-03)
|
||||
|
||||
- Unknown item получает доступный по правам/health action и существующий AlertDialog: явное подтверждение проверки чата и риска дубликата. Processing не имеет action. POST передаёт только id/version/risk; строгий helper проверяет pending receipt и version+1 без retry. UI сообщает постановку в очередь, а не доставку.
|
||||
|
||||
Reference in new issue
Block a user