fix(ui): сделать сетевые показатели и настройки читаемыми в обеих темах
This commit is contained in:
1 parent
3c9096804b
commit
3d51bba86d
21 files changed
+5148
-31
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# UX/UI: протокол внешней приёмки 12.5
|
||||
|
||||
Актуальное продолжение 2026-10-15: 260 — исправлены общие focus/target-size/contrast и BGP320 tabs; production frontend ux-accessibility260-final развёрнут, backend258 healthy.72 live WCAG/layout состояния прошли,59 уникальных E2E прошли в записанных итерациях; synthetic timing сохранён. Следующий261 — оставшиеся12 экранов и точные границы приёмки; этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-15: 261 — оставшиеся12 default screens проверены; контраст recursive/ECMP исправлен, KPI BGP/GRE/VXLAN/OSPF используют штатную адаптивную сетку.64 unique live states261, вместе с260 —120 состояний30 экранов с явным происхождением;40 локальных E2E приняты. Runtime backend258/frontend261. Следующий262 — оформить десятиминутный REST-протокол, затем263 — итоговая UI-регрессия; этап12.5 открыт.
|
||||
|
||||
IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md).
|
||||
|
||||
@@ -18,6 +18,25 @@ OSPF84: real GRE Full adjacency/private routes/Ping3/3 и4 live PC/320px URL/bro
|
||||
|
||||
BFD85: Up/Full/own route/Ping,4 live UI и loss/withdrawal/recovery приняты; exact own cleanup8 коллекций×2 passed. Withdrawal5,245ms не подтверждает sub-second BFD timing; этот вопрос открыт. Runtime routing83 без новой сборки. [Отчёт](ux-ui/acceptance/ospf-bfd-loss-2026-10-09.json).
|
||||
|
||||
## 12.5.261 — оставшиеся экраны и читаемые сетевые KPI (2026-10-15)
|
||||
|
||||
Baseline12 разделов×2 темы×1440/320px:48 live states, API/JS errors0, overflow0, blocked configuration writes0. Четыре проверенных read-only POST OSPF preview разрешены явно после чтения backend handler; они рассчитывают план, не применяют его. DNS resolution/catalog read POST также имеют точный opt-in allowlist в helper, остальные non-GET блокируются. EvoBGP на стенде disabled, URL/key не настроены: каталоги здесь проверены в состоянии недоступной интеграции, не с реальными внешними данными. [Baseline](ux-ui/acceptance/ui261-baseline.json).
|
||||
|
||||
Найдены4 contrast failures: TypeChip в recursive-routes/light и opacity40 всего ECMP disabled section в двух темах на ПК. TypeChip теперь использует установленный ReUI Badge light variants/text-foreground; ECMP — native disabled fieldset с legend вместо затемнения всех подписей. Профильная проверка включённого ECMP дополнительно выявила неконтрастный выбранный алгоритм; применены bg-muted/text-foreground. Это локальный черновик, серверная логика/применение маршрутов не менялись.
|
||||
|
||||
В BGP summary/analytics, GRE, VXLAN, OSPF summary/BFD убраны принудительные grid-cols2 overrides. Используются существующие kpiCols и неизменённые Frame/IconTile/KpiStatGrid: одна колонка в узком контейнере, прежние container breakpoints для плотного ПК. Шрифты, vendor компоненты, theme tokens и motion не менялись. В8 локальных geometry cases320/390 и16 live theme/width cases подписи KPI не обрезаются; explicit краткая подпись Интерф. в OSPF сохранена. [Снимок BGP320 после загрузки](ux-ui/screens/ui261-bgp320.png).
|
||||
|
||||
Локальные40 E2E: initial38 passed/2 ECMP contrast failed; после исправления повторены только2 affected cases, passed. Geometry8, ECMP2, recursive route contracts15 и OSPF preview15; разные прогоны не суммируются в42 сценария. ECMP false/true проверены также в настоящем Portal/UI, scoped axe0, configuration writes0, draft возвращён off. [Live ECMP](ux-ui/acceptance/ui261-live-ecmp.json). TypeScript/scoped ESLint и production build passed, source528 matched. Runtime frontend ux-accessibility261, backend ux-certificates258 healthy; DB/Portal сохранены. [Deployment](ux-ui/acceptance/ui261-deployment.json).
|
||||
|
||||
Повторены только6 изменённых страниц:24 live states, WCAG-tagged axe violations0/API/JS errors0/overflow0/clipped KPI labels0. С48 baseline это64 уникальных состояния16 страниц: восемь состояний двух изменённых baseline страниц заменены повторными, четыре сетевых KPI страницы добавлены. Вместе с260 —120 уникальных default states30 экранов. Report сохраняет фазу/образ каждого результата: остальные страницы не выданы за повторный прогон на261. [Changed24](ux-ui/acceptance/ui261-changed-final.json), [итог64](ux-ui/acceptance/ui261-final.json), [сводка](ux-ui/acceptance/ui261-summary.json). Во время части замеров шла контролируемая REST-нагрузка262, timings не field CWV и не сравнение независимых бенчмарков.
|
||||
|
||||
| Референс | Схема доработки |
|
||||
| --- | --- |
|
||||
| [ReUI Stats12](https://reui.io/preview/base/stats-12?ref=mcp) | Узкий контейнер → штатная одна колонка → полная подпись KPI; [BGP320](ux-ui/screens/ui261-bgp320.png) |
|
||||
| [ReUI Badge](https://reui.io/components/badge?ref=mcp) | Тип устройства → light variant → semantic foreground |
|
||||
|
||||
Настройки CHR, DNS, сертификаты и пароли не менялись. Native/background telemetry reads не объявляются отсутствием всех DB metadata updates. Manual screen-reader, новые клиентские ОС/WAN/public IPv6/multi-instance, CA revoke и внешняя публикация остаются отдельными границами. Следующий262 — оформить завершённый ten-minute REST soak, затем263 — актуальная полная локальная UI-регрессия после общего keyboard adapter260 и responsive delta261. Автоматическая120-state проверка не заменяет сквозные сценарии и не является полной WCAG сертификацией.
|
||||
|
||||
## 12.5.260 — общая доступность, клавиатура и профильная скорость UI (2026-10-15)
|
||||
|
||||
Проведён read-only аудит18 разделов×2 темы×1440/320px:72 состояния текущего стенда/настоящий Portal UI, без response mocks. Baseline выявил23 состояния с axe нарушениями: недостаточная независимая pointer-area у focusable listbox-контейнера, контраст счётчиков SegmentedControl, raw type badges серверов и заголовка VXLAN. Document overflow0/JS errors0/API errors0; BGP320 имел2 внутренних переполнения main. Dashboard в baseline ещё содержал skeleton: его ранние timings не считаются готовностью данных. [Baseline](ux-ui/acceptance/ui260-baseline.json).
|
||||
|
||||
+21
-2
@@ -1,9 +1,28 @@
|
||||
# План реализации UX/UI по пятичасовым окнам
|
||||
|
||||
Актуальное продолжение 2026-10-15: 260 — исправлены общие focus/target-size/contrast и BGP320 tabs; production frontend ux-accessibility260-final развёрнут, backend258 healthy.72 live WCAG/layout состояния прошли,59 уникальных E2E прошли в записанных итерациях; synthetic timing сохранён. Следующий261 — оставшиеся12 экранов и точные границы приёмки; этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-15: 261 — оставшиеся12 default screens проверены; контраст recursive/ECMP исправлен, KPI BGP/GRE/VXLAN/OSPF используют штатную адаптивную сетку.64 unique live states261, вместе с260 —120 состояний30 экранов с явным происхождением;40 локальных E2E приняты. Runtime backend258/frontend261. Следующий262 — оформить десятиминутный REST-протокол, затем263 — итоговая UI-регрессия; этап12.5 открыт.
|
||||
|
||||
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-15. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
|
||||
|
||||
## 12.5.261 — оставшиеся экраны и читаемые сетевые KPI (2026-10-15)
|
||||
|
||||
Baseline12 разделов×2 темы×1440/320px:48 live states, API/JS errors0, overflow0, blocked configuration writes0. Четыре проверенных read-only POST OSPF preview разрешены явно после чтения backend handler; они рассчитывают план, не применяют его. DNS resolution/catalog read POST также имеют точный opt-in allowlist в helper, остальные non-GET блокируются. EvoBGP на стенде disabled, URL/key не настроены: каталоги здесь проверены в состоянии недоступной интеграции, не с реальными внешними данными. [Baseline](ux-ui/acceptance/ui261-baseline.json).
|
||||
|
||||
Найдены4 contrast failures: TypeChip в recursive-routes/light и opacity40 всего ECMP disabled section в двух темах на ПК. TypeChip теперь использует установленный ReUI Badge light variants/text-foreground; ECMP — native disabled fieldset с legend вместо затемнения всех подписей. Профильная проверка включённого ECMP дополнительно выявила неконтрастный выбранный алгоритм; применены bg-muted/text-foreground. Это локальный черновик, серверная логика/применение маршрутов не менялись.
|
||||
|
||||
В BGP summary/analytics, GRE, VXLAN, OSPF summary/BFD убраны принудительные grid-cols2 overrides. Используются существующие kpiCols и неизменённые Frame/IconTile/KpiStatGrid: одна колонка в узком контейнере, прежние container breakpoints для плотного ПК. Шрифты, vendor компоненты, theme tokens и motion не менялись. В8 локальных geometry cases320/390 и16 live theme/width cases подписи KPI не обрезаются; explicit краткая подпись Интерф. в OSPF сохранена. [Снимок BGP320 после загрузки](ux-ui/screens/ui261-bgp320.png).
|
||||
|
||||
Локальные40 E2E: initial38 passed/2 ECMP contrast failed; после исправления повторены только2 affected cases, passed. Geometry8, ECMP2, recursive route contracts15 и OSPF preview15; разные прогоны не суммируются в42 сценария. ECMP false/true проверены также в настоящем Portal/UI, scoped axe0, configuration writes0, draft возвращён off. [Live ECMP](ux-ui/acceptance/ui261-live-ecmp.json). TypeScript/scoped ESLint и production build passed, source528 matched. Runtime frontend ux-accessibility261, backend ux-certificates258 healthy; DB/Portal сохранены. [Deployment](ux-ui/acceptance/ui261-deployment.json).
|
||||
|
||||
Повторены только6 изменённых страниц:24 live states, WCAG-tagged axe violations0/API/JS errors0/overflow0/clipped KPI labels0. С48 baseline это64 уникальных состояния16 страниц: восемь состояний двух изменённых baseline страниц заменены повторными, четыре сетевых KPI страницы добавлены. Вместе с260 —120 уникальных default states30 экранов. Report сохраняет фазу/образ каждого результата: остальные страницы не выданы за повторный прогон на261. [Changed24](ux-ui/acceptance/ui261-changed-final.json), [итог64](ux-ui/acceptance/ui261-final.json), [сводка](ux-ui/acceptance/ui261-summary.json). Во время части замеров шла контролируемая REST-нагрузка262, timings не field CWV и не сравнение независимых бенчмарков.
|
||||
|
||||
| Референс | Схема доработки |
|
||||
| --- | --- |
|
||||
| [ReUI Stats12](https://reui.io/preview/base/stats-12?ref=mcp) | Узкий контейнер → штатная одна колонка → полная подпись KPI; [BGP320](ux-ui/screens/ui261-bgp320.png) |
|
||||
| [ReUI Badge](https://reui.io/components/badge?ref=mcp) | Тип устройства → light variant → semantic foreground |
|
||||
|
||||
Настройки CHR, DNS, сертификаты и пароли не менялись. Native/background telemetry reads не объявляются отсутствием всех DB metadata updates. Manual screen-reader, новые клиентские ОС/WAN/public IPv6/multi-instance, CA revoke и внешняя публикация остаются отдельными границами. Следующий262 — оформить завершённый ten-minute REST soak, затем263 — актуальная полная локальная UI-регрессия после общего keyboard adapter260 и responsive delta261. Автоматическая120-state проверка не заменяет сквозные сценарии и не является полной WCAG сертификацией.
|
||||
|
||||
## 12.5.260 — общая доступность, клавиатура и профильная скорость UI (2026-10-15)
|
||||
|
||||
Проведён read-only аудит18 разделов×2 темы×1440/320px:72 состояния текущего стенда/настоящий Portal UI, без response mocks. Baseline выявил23 состояния с axe нарушениями: недостаточная независимая pointer-area у focusable listbox-контейнера, контраст счётчиков SegmentedControl, raw type badges серверов и заголовка VXLAN. Document overflow0/JS errors0/API errors0; BGP320 имел2 внутренних переполнения main. Dashboard в baseline ещё содержал skeleton: его ранние timings не считаются готовностью данных. [Baseline](ux-ui/acceptance/ui260-baseline.json).
|
||||
@@ -352,7 +371,7 @@ Production backend/frontend ux-backups237 собраны и развёрнуты
|
||||
| Масштаб и устойчивость | Контролируемые PG lock/dedupe/loss/recovery, отдельные multi-process сценарии194/200/201 | Несколько полноценных backend/worker со всеми writers, длительный rekey/traffic, физические потери WAN/DB и maximum throughput |
|
||||
| Хранилища и внешние jobs | Реальные Portal/Telegram195–201, Selectel S3/limited bridge restore/retention228–240, GeoIP mirror242; контейнеры248; production ACME250 и реальное renewal/rotation259 с trusted TLS/cleanup | Large native export/migration buckets/multi-instance S3; CA revocation отдельно не принят. Gitea publishing CI не запускался: действует no push. Direct licensed MaxMind отсутствует в текущей реализации |
|
||||
| Расширенные сетевые конфигурации | GRE/WG/VXLAN/IPsec/OSPF/BFD/BGP в записанных сценариях, включая private IPv6 | from-pool/EUI-64/multiple-address import/export, outer IPv6, произвольная PKI/OID/path-length, независимые внешние peers и длительные переходы. BFD-only gate не гарантирован |
|
||||
| UX, доступность и производительность | UI226, ARIA мастеров251, новая проверка260 текущего runtime описана выше | Исправления260 и72 live состояния приняты; оставшиеся12 экранов и ручная screen-reader приёмка отдельно. Synthetic timing не field CWV, scoped axe не полная WCAG сертификация |
|
||||
| UX, доступность и производительность | UI226, ARIA мастеров251, новая проверка260 текущего runtime описана выше | Default UI260/261:120 unique states30 экранов приняты в автоматическом scope; актуальная полная UI-регрессия263 и ручная screen-reader приёмка отдельно. Synthetic timing не field CWV, scoped axe не полная WCAG сертификация |
|
||||
| Границы выпуска | Датированный журнал, протоколы и локальные коммиты без push | Подготовить итоговый перечень принятых конфигураций/исключений для решения о выпуске; лабораторный успех не объявлять приёмкой всех конфигураций |
|
||||
|
||||
Portal offline JWT действует доexp после logout/role change; это записанная граница198, не мгновенная revocation. Controlled Telegram unknown/retry201 не доказывает физическую потерю ACK в WAN. Архивные записи ниже отражают состояние на свою дату; актуальный статус задают эта таблица и верхняя точка продолжения.
|
||||
|
||||
+21
-2
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-15: 260 — исправлены общие focus/target-size/contrast и BGP320 tabs; production frontend ux-accessibility260-final развёрнут, backend258 healthy.72 live WCAG/layout состояния прошли,59 уникальных E2E прошли в записанных итерациях; synthetic timing сохранён. Следующий261 — оставшиеся12 экранов и точные границы приёмки; этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-15: 261 — оставшиеся12 default screens проверены; контраст recursive/ECMP исправлен, KPI BGP/GRE/VXLAN/OSPF используют штатную адаптивную сетку.64 unique live states261, вместе с260 —120 состояний30 экранов с явным происхождением;40 локальных E2E приняты. Runtime backend258/frontend261. Следующий262 — оформить десятиминутный REST-протокол, затем263 — итоговая UI-регрессия; этап12.5 открыт.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
|
||||
|
||||
@@ -36,7 +36,26 @@
|
||||
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
|
||||
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная12.3.83; внешняя12.5 открыта, блоки1–260 в записанных границах. Ротация/renewal259 и откат приняты; общий UI260:72 live states passed. Runtime backend258/frontend260. Следующий261 — оставшиеся12 экранов и итоговые границы. |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная12.3.83; внешняя12.5 открыта, блоки1–261 в записанных границах. ACME259; default UI260/261:120 unique states30 экранов. Runtime backend258/frontend261. Следующий262 — REST, затем263 — полная актуальная UI-регрессия. |
|
||||
|
||||
## 12.5.261 — оставшиеся экраны и читаемые сетевые KPI (2026-10-15)
|
||||
|
||||
Baseline12 разделов×2 темы×1440/320px:48 live states, API/JS errors0, overflow0, blocked configuration writes0. Четыре проверенных read-only POST OSPF preview разрешены явно после чтения backend handler; они рассчитывают план, не применяют его. DNS resolution/catalog read POST также имеют точный opt-in allowlist в helper, остальные non-GET блокируются. EvoBGP на стенде disabled, URL/key не настроены: каталоги здесь проверены в состоянии недоступной интеграции, не с реальными внешними данными. [Baseline](ux-ui/acceptance/ui261-baseline.json).
|
||||
|
||||
Найдены4 contrast failures: TypeChip в recursive-routes/light и opacity40 всего ECMP disabled section в двух темах на ПК. TypeChip теперь использует установленный ReUI Badge light variants/text-foreground; ECMP — native disabled fieldset с legend вместо затемнения всех подписей. Профильная проверка включённого ECMP дополнительно выявила неконтрастный выбранный алгоритм; применены bg-muted/text-foreground. Это локальный черновик, серверная логика/применение маршрутов не менялись.
|
||||
|
||||
В BGP summary/analytics, GRE, VXLAN, OSPF summary/BFD убраны принудительные grid-cols2 overrides. Используются существующие kpiCols и неизменённые Frame/IconTile/KpiStatGrid: одна колонка в узком контейнере, прежние container breakpoints для плотного ПК. Шрифты, vendor компоненты, theme tokens и motion не менялись. В8 локальных geometry cases320/390 и16 live theme/width cases подписи KPI не обрезаются; explicit краткая подпись Интерф. в OSPF сохранена. [Снимок BGP320 после загрузки](ux-ui/screens/ui261-bgp320.png).
|
||||
|
||||
Локальные40 E2E: initial38 passed/2 ECMP contrast failed; после исправления повторены только2 affected cases, passed. Geometry8, ECMP2, recursive route contracts15 и OSPF preview15; разные прогоны не суммируются в42 сценария. ECMP false/true проверены также в настоящем Portal/UI, scoped axe0, configuration writes0, draft возвращён off. [Live ECMP](ux-ui/acceptance/ui261-live-ecmp.json). TypeScript/scoped ESLint и production build passed, source528 matched. Runtime frontend ux-accessibility261, backend ux-certificates258 healthy; DB/Portal сохранены. [Deployment](ux-ui/acceptance/ui261-deployment.json).
|
||||
|
||||
Повторены только6 изменённых страниц:24 live states, WCAG-tagged axe violations0/API/JS errors0/overflow0/clipped KPI labels0. С48 baseline это64 уникальных состояния16 страниц: восемь состояний двух изменённых baseline страниц заменены повторными, четыре сетевых KPI страницы добавлены. Вместе с260 —120 уникальных default states30 экранов. Report сохраняет фазу/образ каждого результата: остальные страницы не выданы за повторный прогон на261. [Changed24](ux-ui/acceptance/ui261-changed-final.json), [итог64](ux-ui/acceptance/ui261-final.json), [сводка](ux-ui/acceptance/ui261-summary.json). Во время части замеров шла контролируемая REST-нагрузка262, timings не field CWV и не сравнение независимых бенчмарков.
|
||||
|
||||
| Референс | Схема доработки |
|
||||
| --- | --- |
|
||||
| [ReUI Stats12](https://reui.io/preview/base/stats-12?ref=mcp) | Узкий контейнер → штатная одна колонка → полная подпись KPI; [BGP320](ux-ui/screens/ui261-bgp320.png) |
|
||||
| [ReUI Badge](https://reui.io/components/badge?ref=mcp) | Тип устройства → light variant → semantic foreground |
|
||||
|
||||
Настройки CHR, DNS, сертификаты и пароли не менялись. Native/background telemetry reads не объявляются отсутствием всех DB metadata updates. Manual screen-reader, новые клиентские ОС/WAN/public IPv6/multi-instance, CA revoke и внешняя публикация остаются отдельными границами. Следующий262 — оформить завершённый ten-minute REST soak, затем263 — актуальная полная локальная UI-регрессия после общего keyboard adapter260 и responsive delta261. Автоматическая120-state проверка не заменяет сквозные сценарии и не является полной WCAG сертификацией.
|
||||
|
||||
## 12.5.260 — общая доступность, клавиатура и профильная скорость UI (2026-10-15)
|
||||
|
||||
|
||||
@@ -1,10 +1,29 @@
|
||||
# Оставшаяся внешняя приёмка — 2026-10-15
|
||||
|
||||
Актуальное продолжение 2026-10-15: 260 — исправлены общие focus/target-size/contrast и BGP320 tabs; production frontend ux-accessibility260-final развёрнут, backend258 healthy.72 live WCAG/layout состояния прошли,59 уникальных E2E прошли в записанных итерациях; synthetic timing сохранён. Следующий261 — оставшиеся12 экранов и точные границы приёмки; этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-15: 261 — оставшиеся12 default screens проверены; контраст recursive/ECMP исправлен, KPI BGP/GRE/VXLAN/OSPF используют штатную адаптивную сетку.64 unique live states261, вместе с260 —120 состояний30 экранов с явным происхождением;40 локальных E2E приняты. Runtime backend258/frontend261. Следующий262 — оформить десятиминутный REST-протокол, затем263 — итоговая UI-регрессия; этап12.5 открыт.
|
||||
|
||||
Это актуальная матрица после 12.5.260. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
|
||||
Это актуальная матрица после 12.5.261. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
|
||||
|
||||
Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-certificates258`, frontend `ux-accessibility260-final`; production lab с195 использует AUTH_REQUIRED=true и Portal1.3.1. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты112 удалены, исходные13 коллекций×2 (включая logging/certificates/files/routes) проверены; пароли не менялись.
|
||||
Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-certificates258`, frontend `ux-accessibility261`; production lab с195 использует AUTH_REQUIRED=true и Portal1.3.1. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты112 удалены, исходные13 коллекций×2 (включая logging/certificates/files/routes) проверены; пароли не менялись.
|
||||
|
||||
## 12.5.261 — оставшиеся экраны и читаемые сетевые KPI (2026-10-15)
|
||||
|
||||
Baseline12 разделов×2 темы×1440/320px:48 live states, API/JS errors0, overflow0, blocked configuration writes0. Четыре проверенных read-only POST OSPF preview разрешены явно после чтения backend handler; они рассчитывают план, не применяют его. DNS resolution/catalog read POST также имеют точный opt-in allowlist в helper, остальные non-GET блокируются. EvoBGP на стенде disabled, URL/key не настроены: каталоги здесь проверены в состоянии недоступной интеграции, не с реальными внешними данными. [Baseline](ux-ui/acceptance/ui261-baseline.json).
|
||||
|
||||
Найдены4 contrast failures: TypeChip в recursive-routes/light и opacity40 всего ECMP disabled section в двух темах на ПК. TypeChip теперь использует установленный ReUI Badge light variants/text-foreground; ECMP — native disabled fieldset с legend вместо затемнения всех подписей. Профильная проверка включённого ECMP дополнительно выявила неконтрастный выбранный алгоритм; применены bg-muted/text-foreground. Это локальный черновик, серверная логика/применение маршрутов не менялись.
|
||||
|
||||
В BGP summary/analytics, GRE, VXLAN, OSPF summary/BFD убраны принудительные grid-cols2 overrides. Используются существующие kpiCols и неизменённые Frame/IconTile/KpiStatGrid: одна колонка в узком контейнере, прежние container breakpoints для плотного ПК. Шрифты, vendor компоненты, theme tokens и motion не менялись. В8 локальных geometry cases320/390 и16 live theme/width cases подписи KPI не обрезаются; explicit краткая подпись Интерф. в OSPF сохранена. [Снимок BGP320 после загрузки](ux-ui/screens/ui261-bgp320.png).
|
||||
|
||||
Локальные40 E2E: initial38 passed/2 ECMP contrast failed; после исправления повторены только2 affected cases, passed. Geometry8, ECMP2, recursive route contracts15 и OSPF preview15; разные прогоны не суммируются в42 сценария. ECMP false/true проверены также в настоящем Portal/UI, scoped axe0, configuration writes0, draft возвращён off. [Live ECMP](ux-ui/acceptance/ui261-live-ecmp.json). TypeScript/scoped ESLint и production build passed, source528 matched. Runtime frontend ux-accessibility261, backend ux-certificates258 healthy; DB/Portal сохранены. [Deployment](ux-ui/acceptance/ui261-deployment.json).
|
||||
|
||||
Повторены только6 изменённых страниц:24 live states, WCAG-tagged axe violations0/API/JS errors0/overflow0/clipped KPI labels0. С48 baseline это64 уникальных состояния16 страниц: восемь состояний двух изменённых baseline страниц заменены повторными, четыре сетевых KPI страницы добавлены. Вместе с260 —120 уникальных default states30 экранов. Report сохраняет фазу/образ каждого результата: остальные страницы не выданы за повторный прогон на261. [Changed24](ux-ui/acceptance/ui261-changed-final.json), [итог64](ux-ui/acceptance/ui261-final.json), [сводка](ux-ui/acceptance/ui261-summary.json). Во время части замеров шла контролируемая REST-нагрузка262, timings не field CWV и не сравнение независимых бенчмарков.
|
||||
|
||||
| Референс | Схема доработки |
|
||||
| --- | --- |
|
||||
| [ReUI Stats12](https://reui.io/preview/base/stats-12?ref=mcp) | Узкий контейнер → штатная одна колонка → полная подпись KPI; [BGP320](ux-ui/screens/ui261-bgp320.png) |
|
||||
| [ReUI Badge](https://reui.io/components/badge?ref=mcp) | Тип устройства → light variant → semantic foreground |
|
||||
|
||||
Настройки CHR, DNS, сертификаты и пароли не менялись. Native/background telemetry reads не объявляются отсутствием всех DB metadata updates. Manual screen-reader, новые клиентские ОС/WAN/public IPv6/multi-instance, CA revoke и внешняя публикация остаются отдельными границами. Следующий262 — оформить завершённый ten-minute REST soak, затем263 — актуальная полная локальная UI-регрессия после общего keyboard adapter260 и responsive delta261. Автоматическая120-state проверка не заменяет сквозные сценарии и не является полной WCAG сертификацией.
|
||||
|
||||
## 12.5.260 — общая доступность, клавиатура и профильная скорость UI (2026-10-15)
|
||||
|
||||
@@ -348,7 +367,7 @@ Production backend/frontend ux-backups237 собраны и развёрнуты
|
||||
| Масштаб и устойчивость | Контролируемые PG lock/dedupe/loss/recovery, отдельные multi-process сценарии194/200/201 | Несколько полноценных backend/worker со всеми writers, длительный rekey/traffic, физические потери WAN/DB и maximum throughput |
|
||||
| Хранилища и внешние jobs | Реальные Portal/Telegram195–201, Selectel S3/limited bridge restore/retention228–240, GeoIP mirror242; контейнеры248; production ACME250 и реальное renewal/rotation259 с trusted TLS/cleanup | Large native export/migration buckets/multi-instance S3; CA revocation отдельно не принят. Gitea publishing CI не запускался: действует no push. Direct licensed MaxMind отсутствует в текущей реализации |
|
||||
| Расширенные сетевые конфигурации | GRE/WG/VXLAN/IPsec/OSPF/BFD/BGP в записанных сценариях, включая private IPv6 | from-pool/EUI-64/multiple-address import/export, outer IPv6, произвольная PKI/OID/path-length, независимые внешние peers и длительные переходы. BFD-only gate не гарантирован |
|
||||
| UX, доступность и производительность | UI226, ARIA мастеров251, новая проверка260 текущего runtime описана выше | Исправления260 и72 live состояния приняты; оставшиеся12 экранов и ручная screen-reader приёмка отдельно. Synthetic timing не field CWV, scoped axe не полная WCAG сертификация |
|
||||
| UX, доступность и производительность | UI226, ARIA мастеров251, новая проверка260 текущего runtime описана выше | Default UI260/261:120 unique states30 экранов приняты в автоматическом scope; актуальная полная UI-регрессия263 и ручная screen-reader приёмка отдельно. Synthetic timing не field CWV, scoped axe не полная WCAG сертификация |
|
||||
| Границы выпуска | Датированный журнал, протоколы и локальные коммиты без push | Подготовить итоговый перечень принятых конфигураций/исключений для решения о выпуске; лабораторный успех не объявлять приёмкой всех конфигураций |
|
||||
|
||||
Portal offline JWT действует доexp после logout/role change; это записанная граница198, не мгновенная revocation. Controlled Telegram unknown/retry201 не доказывает физическую потерю ACK в WAN. Архивные записи ниже отражают состояние на свою дату; актуальный статус задают эта таблица и верхняя точка продолжения.
|
||||
@@ -373,7 +392,7 @@ Portal offline JWT действует доexp после logout/role change; э
|
||||
|
||||
## Следующая последовательность — 2026-10-15
|
||||
|
||||
1. **Приёмка261:**12 оставшихся default screens с real Portal/API и точным read-only guard; профильный audit/layout/performance. Сертификаты259 и UI260 приняты в записанных границах.
|
||||
1. **REST262 и регрессия263:** оформить десятиминутную стабильность backend258; один полный локальный UI-набор после shared keyboard260/responsive261 с сохранением исходных screenshots и недоступным proxy backend, без native writes.
|
||||
2. **Профильный контроль:** для новых изменений выполнять затронутые SQL/API/UI проверки. Общая регрессия192 выполнена; не повторять её без изменений общей основы или нового основания.
|
||||
3. **Внешние зависимости:** Portal issuer/login/revoke, Telegram bot/chat/разрешённое сообщение, клиентские ОС, независимые WAN/public IPv6 и scale/multi-instance — отдельные группы по таблице выше. Ограничения текущего стенда не превращать в обещание приёмки всех конфигураций.
|
||||
|
||||
|
||||
+20
-1
@@ -1,6 +1,6 @@
|
||||
# Этап 12: итоговая приёмка UX/UI
|
||||
|
||||
Актуальное продолжение 2026-10-15: 260 — исправлены общие focus/target-size/contrast и BGP320 tabs; production frontend ux-accessibility260-final развёрнут, backend258 healthy.72 live WCAG/layout состояния прошли,59 уникальных E2E прошли в записанных итерациях; synthetic timing сохранён. Следующий261 — оставшиеся12 экранов и точные границы приёмки; этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-15: 261 — оставшиеся12 default screens проверены; контраст recursive/ECMP исправлен, KPI BGP/GRE/VXLAN/OSPF используют штатную адаптивную сетку.64 unique live states261, вместе с260 —120 состояний30 экранов с явным происхождением;40 локальных E2E приняты. Runtime backend258/frontend261. Следующий262 — оформить десятиминутный REST-протокол, затем263 — итоговая UI-регрессия; этап12.5 открыт.
|
||||
|
||||
План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push.
|
||||
|
||||
@@ -4152,6 +4152,25 @@ Real Portal/browser API, provider local verified: создан один job ро
|
||||
Runtime backend ux-backup234/frontend ux-routing218 healthy; новое application image для volume-only fix не требовалось. Пароли CHR не менялись, S3 mutations0 в235, configs body/JWT не опубликованы, private local manifest удалён. Исходные10 missing local files не восстановлены и records не удалены. Force-recreate — не host reboot/power loss/fsync/DR приёмка. Далее236 — UX недоступных local files, затем version retention границы и оставшиеся7 группы матрицы; multi-instance guard не принимается. Этап12.5 открыт.
|
||||
|
||||
|
||||
## 12.5.261 — оставшиеся экраны и читаемые сетевые KPI (2026-10-15)
|
||||
|
||||
Baseline12 разделов×2 темы×1440/320px:48 live states, API/JS errors0, overflow0, blocked configuration writes0. Четыре проверенных read-only POST OSPF preview разрешены явно после чтения backend handler; они рассчитывают план, не применяют его. DNS resolution/catalog read POST также имеют точный opt-in allowlist в helper, остальные non-GET блокируются. EvoBGP на стенде disabled, URL/key не настроены: каталоги здесь проверены в состоянии недоступной интеграции, не с реальными внешними данными. [Baseline](ux-ui/acceptance/ui261-baseline.json).
|
||||
|
||||
Найдены4 contrast failures: TypeChip в recursive-routes/light и opacity40 всего ECMP disabled section в двух темах на ПК. TypeChip теперь использует установленный ReUI Badge light variants/text-foreground; ECMP — native disabled fieldset с legend вместо затемнения всех подписей. Профильная проверка включённого ECMP дополнительно выявила неконтрастный выбранный алгоритм; применены bg-muted/text-foreground. Это локальный черновик, серверная логика/применение маршрутов не менялись.
|
||||
|
||||
В BGP summary/analytics, GRE, VXLAN, OSPF summary/BFD убраны принудительные grid-cols2 overrides. Используются существующие kpiCols и неизменённые Frame/IconTile/KpiStatGrid: одна колонка в узком контейнере, прежние container breakpoints для плотного ПК. Шрифты, vendor компоненты, theme tokens и motion не менялись. В8 локальных geometry cases320/390 и16 live theme/width cases подписи KPI не обрезаются; explicit краткая подпись Интерф. в OSPF сохранена. [Снимок BGP320 после загрузки](ux-ui/screens/ui261-bgp320.png).
|
||||
|
||||
Локальные40 E2E: initial38 passed/2 ECMP contrast failed; после исправления повторены только2 affected cases, passed. Geometry8, ECMP2, recursive route contracts15 и OSPF preview15; разные прогоны не суммируются в42 сценария. ECMP false/true проверены также в настоящем Portal/UI, scoped axe0, configuration writes0, draft возвращён off. [Live ECMP](ux-ui/acceptance/ui261-live-ecmp.json). TypeScript/scoped ESLint и production build passed, source528 matched. Runtime frontend ux-accessibility261, backend ux-certificates258 healthy; DB/Portal сохранены. [Deployment](ux-ui/acceptance/ui261-deployment.json).
|
||||
|
||||
Повторены только6 изменённых страниц:24 live states, WCAG-tagged axe violations0/API/JS errors0/overflow0/clipped KPI labels0. С48 baseline это64 уникальных состояния16 страниц: восемь состояний двух изменённых baseline страниц заменены повторными, четыре сетевых KPI страницы добавлены. Вместе с260 —120 уникальных default states30 экранов. Report сохраняет фазу/образ каждого результата: остальные страницы не выданы за повторный прогон на261. [Changed24](ux-ui/acceptance/ui261-changed-final.json), [итог64](ux-ui/acceptance/ui261-final.json), [сводка](ux-ui/acceptance/ui261-summary.json). Во время части замеров шла контролируемая REST-нагрузка262, timings не field CWV и не сравнение независимых бенчмарков.
|
||||
|
||||
| Референс | Схема доработки |
|
||||
| --- | --- |
|
||||
| [ReUI Stats12](https://reui.io/preview/base/stats-12?ref=mcp) | Узкий контейнер → штатная одна колонка → полная подпись KPI; [BGP320](ux-ui/screens/ui261-bgp320.png) |
|
||||
| [ReUI Badge](https://reui.io/components/badge?ref=mcp) | Тип устройства → light variant → semantic foreground |
|
||||
|
||||
Настройки CHR, DNS, сертификаты и пароли не менялись. Native/background telemetry reads не объявляются отсутствием всех DB metadata updates. Manual screen-reader, новые клиентские ОС/WAN/public IPv6/multi-instance, CA revoke и внешняя публикация остаются отдельными границами. Следующий262 — оформить завершённый ten-minute REST soak, затем263 — актуальная полная локальная UI-регрессия после общего keyboard adapter260 и responsive delta261. Автоматическая120-state проверка не заменяет сквозные сценарии и не является полной WCAG сертификацией.
|
||||
|
||||
## 12.5.260 — общая доступность, клавиатура и профильная скорость UI (2026-10-15)
|
||||
|
||||
Проведён read-only аудит18 разделов×2 темы×1440/320px:72 состояния текущего стенда/настоящий Portal UI, без response mocks. Baseline выявил23 состояния с axe нарушениями: недостаточная независимая pointer-area у focusable listbox-контейнера, контраст счётчиков SegmentedControl, raw type badges серверов и заголовка VXLAN. Document overflow0/JS errors0/API errors0; BGP320 имел2 внутренних переполнения main. Dashboard в baseline ещё содержал skeleton: его ранние timings не считаются готовностью данных. [Baseline](ux-ui/acceptance/ui260-baseline.json).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Тестовый сервер UX/UI — 2026-10-10
|
||||
|
||||
Актуальное продолжение 2026-10-15: 260 — исправлены общие focus/target-size/contrast и BGP320 tabs; production frontend ux-accessibility260-final развёрнут, backend258 healthy.72 live WCAG/layout состояния прошли,59 уникальных E2E прошли в записанных итерациях; synthetic timing сохранён. Следующий261 — оставшиеся12 экранов и точные границы приёмки; этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-15: 261 — оставшиеся12 default screens проверены; контраст recursive/ECMP исправлен, KPI BGP/GRE/VXLAN/OSPF используют штатную адаптивную сетку.64 unique live states261, вместе с260 —120 состояний30 экранов с явным происхождением;40 локальных E2E приняты. Runtime backend258/frontend261. Следующий262 — оформить десятиминутный REST-протокол, затем263 — итоговая UI-регрессия; этап12.5 открыт.
|
||||
|
||||
| Параметр | Проверенное состояние |
|
||||
| --- | --- |
|
||||
@@ -14,7 +14,7 @@
|
||||
| PostgreSQL | postgres:18-alpine,18.6;mmapp-test-postgres healthy;SELECT version() passed |
|
||||
| Данные | Отдельный Compose project mmapp-test,том mmapp-test_mmapp-pgdata и каталог ./data |
|
||||
| Доступ | PostgreSQL не публикуется;frontend3000/backend8000 привязаны к127.0.0.1 после запуска |
|
||||
| Образы приложения | mmapp-test/backend:ux-certificates258 и mmapp-test/frontend:ux-accessibility260-final; backend healthy, проверено2026-10-15 в260 |
|
||||
| Образы приложения | mmapp-test/backend:ux-certificates258 и mmapp-test/frontend:ux-accessibility261; backend healthy, проверено2026-10-15 в261 |
|
||||
|
||||
Compose SHA256:3052bd6ab5d9865f97605cebfb5ff27a4410cd3357b81153a65a87fb7c92582f. OptionalBACKEND_IMAGE_TAG позволяетобновлятьbackendотдельно. Локальный и удалённый файлы совпали. Шаблоны: [Compose](../deploy/docker-compose.test.yml), [env без секретов](../deploy/env.test.example).
|
||||
|
||||
@@ -34,6 +34,25 @@ OSPF84: real GRE Full adjacency/private routes/Ping3/3 и4 live PC/320px URL/bro
|
||||
|
||||
BFD85: Up/Full/own route/Ping,4 live UI и loss/withdrawal/recovery приняты; exact own cleanup8 коллекций×2 passed. Withdrawal5,245ms не подтверждает sub-second BFD timing; этот вопрос открыт. Runtime routing83 без новой сборки. [Отчёт](ux-ui/acceptance/ospf-bfd-loss-2026-10-09.json).
|
||||
|
||||
## 12.5.261 — оставшиеся экраны и читаемые сетевые KPI (2026-10-15)
|
||||
|
||||
Baseline12 разделов×2 темы×1440/320px:48 live states, API/JS errors0, overflow0, blocked configuration writes0. Четыре проверенных read-only POST OSPF preview разрешены явно после чтения backend handler; они рассчитывают план, не применяют его. DNS resolution/catalog read POST также имеют точный opt-in allowlist в helper, остальные non-GET блокируются. EvoBGP на стенде disabled, URL/key не настроены: каталоги здесь проверены в состоянии недоступной интеграции, не с реальными внешними данными. [Baseline](ux-ui/acceptance/ui261-baseline.json).
|
||||
|
||||
Найдены4 contrast failures: TypeChip в recursive-routes/light и opacity40 всего ECMP disabled section в двух темах на ПК. TypeChip теперь использует установленный ReUI Badge light variants/text-foreground; ECMP — native disabled fieldset с legend вместо затемнения всех подписей. Профильная проверка включённого ECMP дополнительно выявила неконтрастный выбранный алгоритм; применены bg-muted/text-foreground. Это локальный черновик, серверная логика/применение маршрутов не менялись.
|
||||
|
||||
В BGP summary/analytics, GRE, VXLAN, OSPF summary/BFD убраны принудительные grid-cols2 overrides. Используются существующие kpiCols и неизменённые Frame/IconTile/KpiStatGrid: одна колонка в узком контейнере, прежние container breakpoints для плотного ПК. Шрифты, vendor компоненты, theme tokens и motion не менялись. В8 локальных geometry cases320/390 и16 live theme/width cases подписи KPI не обрезаются; explicit краткая подпись Интерф. в OSPF сохранена. [Снимок BGP320 после загрузки](ux-ui/screens/ui261-bgp320.png).
|
||||
|
||||
Локальные40 E2E: initial38 passed/2 ECMP contrast failed; после исправления повторены только2 affected cases, passed. Geometry8, ECMP2, recursive route contracts15 и OSPF preview15; разные прогоны не суммируются в42 сценария. ECMP false/true проверены также в настоящем Portal/UI, scoped axe0, configuration writes0, draft возвращён off. [Live ECMP](ux-ui/acceptance/ui261-live-ecmp.json). TypeScript/scoped ESLint и production build passed, source528 matched. Runtime frontend ux-accessibility261, backend ux-certificates258 healthy; DB/Portal сохранены. [Deployment](ux-ui/acceptance/ui261-deployment.json).
|
||||
|
||||
Повторены только6 изменённых страниц:24 live states, WCAG-tagged axe violations0/API/JS errors0/overflow0/clipped KPI labels0. С48 baseline это64 уникальных состояния16 страниц: восемь состояний двух изменённых baseline страниц заменены повторными, четыре сетевых KPI страницы добавлены. Вместе с260 —120 уникальных default states30 экранов. Report сохраняет фазу/образ каждого результата: остальные страницы не выданы за повторный прогон на261. [Changed24](ux-ui/acceptance/ui261-changed-final.json), [итог64](ux-ui/acceptance/ui261-final.json), [сводка](ux-ui/acceptance/ui261-summary.json). Во время части замеров шла контролируемая REST-нагрузка262, timings не field CWV и не сравнение независимых бенчмарков.
|
||||
|
||||
| Референс | Схема доработки |
|
||||
| --- | --- |
|
||||
| [ReUI Stats12](https://reui.io/preview/base/stats-12?ref=mcp) | Узкий контейнер → штатная одна колонка → полная подпись KPI; [BGP320](ux-ui/screens/ui261-bgp320.png) |
|
||||
| [ReUI Badge](https://reui.io/components/badge?ref=mcp) | Тип устройства → light variant → semantic foreground |
|
||||
|
||||
Настройки CHR, DNS, сертификаты и пароли не менялись. Native/background telemetry reads не объявляются отсутствием всех DB metadata updates. Manual screen-reader, новые клиентские ОС/WAN/public IPv6/multi-instance, CA revoke и внешняя публикация остаются отдельными границами. Следующий262 — оформить завершённый ten-minute REST soak, затем263 — актуальная полная локальная UI-регрессия после общего keyboard adapter260 и responsive delta261. Автоматическая120-state проверка не заменяет сквозные сценарии и не является полной WCAG сертификацией.
|
||||
|
||||
## 12.5.260 — общая доступность, клавиатура и профильная скорость UI (2026-10-15)
|
||||
|
||||
Проведён read-only аудит18 разделов×2 темы×1440/320px:72 состояния текущего стенда/настоящий Portal UI, без response mocks. Baseline выявил23 состояния с axe нарушениями: недостаточная независимая pointer-area у focusable listbox-контейнера, контраст счётчиков SegmentedControl, raw type badges серверов и заголовка VXLAN. Document overflow0/JS errors0/API errors0; BGP320 имел2 внутренних переполнения main. Dashboard в baseline ещё содержал skeleton: его ранние timings не считаются готовностью данных. [Baseline](ux-ui/acceptance/ui260-baseline.json).
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"date": "2026-10-15",
|
||||
"block": "12.5.261",
|
||||
"productionBuild": "passed",
|
||||
"sourceMatched": 528,
|
||||
"services": {
|
||||
"backend": {
|
||||
"image": "mmapp-test/backend:ux-certificates258",
|
||||
"imageId": "sha256:984684709e619972bae8657208e3150d12f1c4f2b5642fecf5286a5d87e9fe71",
|
||||
"status": "running",
|
||||
"health": "healthy"
|
||||
},
|
||||
"frontend": {
|
||||
"image": "mmapp-test/frontend:ux-accessibility261",
|
||||
"imageId": "sha256:eec4410f1109a46e864d695cfb4311fdb9a224247549c8a9e78e44c6c0e455cb",
|
||||
"status": "running",
|
||||
"health": null
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"date": "2026-10-15",
|
||||
"block": "12.5.261",
|
||||
"writes": [],
|
||||
"states": [
|
||||
{
|
||||
"enabled": false,
|
||||
"disabled": true,
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"disabled": false,
|
||||
"violations": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"date": "2026-10-15",
|
||||
"block": "12.5.261",
|
||||
"runtime": {
|
||||
"backend": "ux-certificates258",
|
||||
"frontend": "ux-accessibility261"
|
||||
},
|
||||
"baseline": {
|
||||
"cases": 48,
|
||||
"violatingCases": 4,
|
||||
"blockedWrites": 0,
|
||||
"readQueries": 4
|
||||
},
|
||||
"final": {
|
||||
"uniqueStates": 64,
|
||||
"newRoutes": 12,
|
||||
"unionWith260UniqueStates": 120,
|
||||
"unionWith260Routes": 30,
|
||||
"axeViolations": 0,
|
||||
"jsErrors": 0,
|
||||
"apiErrors": 0,
|
||||
"overflow": 0,
|
||||
"clippedKpiLabels": 0
|
||||
},
|
||||
"local": {
|
||||
"initial": {
|
||||
"passed": 38,
|
||||
"failed": 2
|
||||
},
|
||||
"ecmpRetest": {
|
||||
"passed": 2,
|
||||
"failed": 0
|
||||
},
|
||||
"uniqueTestsThatPassed": 40,
|
||||
"apiMutationsFromEcmpDraft": 0,
|
||||
"typecheck": "passed",
|
||||
"scopedLint": "passed",
|
||||
"productionBuild": "passed",
|
||||
"sourceMatched": 528
|
||||
},
|
||||
"liveEcmp": {
|
||||
"date": "2026-10-15",
|
||||
"block": "12.5.261",
|
||||
"writes": [],
|
||||
"states": [
|
||||
{
|
||||
"enabled": false,
|
||||
"disabled": true,
|
||||
"violations": []
|
||||
},
|
||||
{
|
||||
"enabled": true,
|
||||
"disabled": false,
|
||||
"violations": []
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
Reference in new issue
Block a user