chore(test): подтвердить мобильные панели WireGuard на стенде
This commit is contained in:
1 parent
bf43263e43
commit
a1183f2ec9
15 files changed
+630
-7
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# UX/UI: протокол внешней приёмки 12.5
|
||||
|
||||
Статус на2026-10-08: backend3722fad/frontend6a46fb1, backend healthy. Мобильная GRE форма и native сохранение на обоих CHR приняты в12.5.57. WireGuard handshake/короткий Ping/native API/read-only UI приняты в границах12.5.58; 12.5.59 воспроизвёл оставшиеся peers/IP; 12.5.60 развернул исправление и принял обычное удаление own WG интерфейса с peer/IPv4 адресом на обоих CHR. 12.5.62 принял полный WireGuard UI create/peer/disable/enable/Ping/delete на обоих CHR; устойчивое меню развёрнуто. Устойчивость меню GRE при live refresh на обоих CHR принята в12.5.55. GRE peer metadata и реальный lifecycle/API/UI/двусторонний Ping подтверждены в12.5.53. Browser retry/checkpoint на реальном HTTP/PG принят в границах12.5.43–45; Telegram sender responses подменены, реальная доставка не проверена. PG-1/2/3/4/5 приняты в описанных границах, PG-6 integrated для одного isolated instance, PG-7 real JWT/processcounts и browser restore passed. PG-8 real PG/native и browser unknown→history done приняты с fault injection после настоящего COMMIT. ROS-8/9 real API/SQL/native приняты в границах12.5.23; browser pair/duration change и delete приняты в12.5.24. ROS-2 authentication failure принят в12.5.25. PortalSSO, физический TCP disconnect, мультиэкземпляры и остальные ROS/Q/интеграции остаются открытыми. [Паспорт](ux-ui-test-server.md), [журнал](ux-ui-progress.md).
|
||||
Статус на2026-10-08: backend3722fad/frontendbf43263, backend healthy. Мобильная ширина WireGuard Sheets принята на реальных CHR в12.5.64, применение импорта не проверено. Мобильная GRE форма и native сохранение на обоих CHR приняты в12.5.57. WireGuard handshake/короткий Ping/native API/read-only UI приняты в границах12.5.58; 12.5.59 воспроизвёл оставшиеся peers/IP; 12.5.60 развернул исправление и принял обычное удаление own WG интерфейса с peer/IPv4 адресом на обоих CHR. 12.5.62 принял полный WireGuard UI create/peer/disable/enable/Ping/delete на обоих CHR; устойчивое меню развёрнуто. Устойчивость меню GRE при live refresh на обоих CHR принята в12.5.55. GRE peer metadata и реальный lifecycle/API/UI/двусторонний Ping подтверждены в12.5.53. Browser retry/checkpoint на реальном HTTP/PG принят в границах12.5.43–45; Telegram sender responses подменены, реальная доставка не проверена. PG-1/2/3/4/5 приняты в описанных границах, PG-6 integrated для одного isolated instance, PG-7 real JWT/processcounts и browser restore passed. PG-8 real PG/native и browser unknown→history done приняты с fault injection после настоящего COMMIT. ROS-8/9 real API/SQL/native приняты в границах12.5.23; browser pair/duration change и delete приняты в12.5.24. ROS-2 authentication failure принят в12.5.25. PortalSSO, физический TCP disconnect, мультиэкземпляры и остальные ROS/Q/интеграции остаются открытыми. [Паспорт](ux-ui-test-server.md), [журнал](ux-ui-progress.md).
|
||||
|
||||
## Паспорт стенда
|
||||
|
||||
@@ -489,3 +489,15 @@ Runtime backend/frontend3722fad, локальное меню ещё не раз
|
||||
Profile wireguard-links.spec.ts --grep импорт/создание сохраняет форму —5/5 passed: interface,interface DTO,peer, импорт без подтверждённого результата и pending/retry. Сохранение ввода, API ошибки/неподтверждённые ответы и ожидание результата сохранились. Scoped TypeScript выполнен после остановки Next, ESLint трёх изменённых компонентов и ReUI checklist passed. Полная регрессия не повторялась для трёх responsive class overrides.
|
||||
|
||||
Изменение локальное: удалённый runtime backend3722fad/frontend6a46fb1 healthy остаётся прежним. Следующий12.5.64 — frontend production Docker deploy и live мобильные create/peer/import панели на новой собственной WG паре; real UI lifecycle/связность и очистка, baseline. Просмотр импортной формы не будет заявляться как проверенный настоящий import. Import/export, throughput/IPv6/внешние failures/RBAC/multi-instance/Telegram/Portal и другие внешние ограничения открыты. Правило пользователя создавать настоящие VPN объекты сохраняется. Локальный коммит без push.
|
||||
|
||||
## 12.5.64 — развёртывание и live приёмка мобильных WireGuard панелей (2026-10-08)
|
||||
|
||||
[Развёртывание](ux-ui/acceptance/deployed-bf43263-2026-10-08.json): frontendbf43263e43ae375651237e019fe1aae55e848308/version1.0.0-test.bf43263, backend3722fad healthy и не перезапускался. Чистый Git archive SHA256c42edf2983262b62bcc427f7e2922f1c6bf56754abe3b583be73fd71712bd074 совпал после передачи. Main-совместимый staging обновлён только тремя изменёнными WireGuard Sheets; lockfile/Dockerfile совпали. Docker build exit0, full Next TypeScript passed. Изменена только MMAPP_IMAGE_TAG, compose validation прошла, предыдущий frontend6a46fb1 образ оставлен для rollback. Push не выполнялся.
|
||||
|
||||
[Production UI и формы](ux-ui/acceptance/browser-wg-ui-mobile-bf43263-2026-10-08.json): собственная новая пара mm-acceptance-wg-ui-1791475047653, оба CHR × две темы × три панели(create/peer/import) ×1280/320px —24 live сочетания без HTTP mocks. Ширина320px на телефоне, create/peer448px и import512px наПК, footer buttons внутри панели и без обрезания, page overflow отсутствует, Escape закрывает каждую форму. Формы просматривались на реально созданной собственной WG паре; в визуальных снимках ключи не вводились. Импортная форма только открывалась и закрывалась: применение/preview импорта не проверены.
|
||||
|
||||
Основной UI lifecycle выполнен отдельно от просмотров форм: создание interfaces201/201 и peers201/201 через реальные формы, native поля/key generation/peer association подтверждены; disable/enable каждого CHR PATCH200×4 сохранили peers/IP; Ping3/3 на обоих устройствах до и после переключения. DELETE200/200 удалили interfaces/peers/IP до finish/fallback. MenuReopens0, JS/API errors0. [Native observer](ux-ui/acceptance/wg-ui-native-bf43263-2026-10-08.json): приватный baseline0600 на сервере, два Ping раунда passed, retries0, final state без own объектов, выбранный WG/peers/IP/routes/IPv4 Firewall baseline совпал. Эфемерный контейнер удалён; остались три основные службы. Audit revisions намеренно сохранены, DB controls до/после servers2/speedHistory9/retention14/migrations9 совпали.
|
||||
|
||||
СкриншотыCHR2/320px: [create dark](ux-ui/screens/wg-live-create-dark-bf43263-320-2026-10-08.png), [create light](ux-ui/screens/wg-live-create-light-bf43263-320-2026-10-08.png), [peer dark](ux-ui/screens/wg-live-peer-dark-bf43263-320-2026-10-08.png), [peer light](ux-ui/screens/wg-live-peer-light-bf43263-320-2026-10-08.png), [import dark](ux-ui/screens/wg-live-import-dark-bf43263-320-2026-10-08.png), [import light](ux-ui/screens/wg-live-import-light-bf43263-320-2026-10-08.png). Create dark/import light визуально просмотрены: панель и footer занимают доступную ширину, текст действий виден целиком. [Smoke](ux-ui/acceptance/deploy-browser-bf43263-2026-10-08.json): dashboard/servers/uptime/settings/filters/alerts200,320px fit, JS/API errors0.
|
||||
|
||||
Следующий12.5.65 — настоящий экспорт WireGuard без private keys на новой собственной паре: RSC/CONF, выбранный interface/peer и независимое сравнение параметров; ключи/конфиги с секретами в публичные отчёты не включать. Настоящий import roundtrip — отдельный блок. Throughput, IPv6, внешние failures/RBAC/multi-instance, Telegram/Portal и другие протоколы/интеграции остаются открытыми. Пользовательское правило настоящих VPN объектов сохраняется. Локальный коммит без push.
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
# План реализации UX/UI по пятичасовым окнам
|
||||
|
||||
Актуальное продолжение 2026-10-08: 12.5.63 локально исправил ширину WireGuard create/peer/import Sheets:320px целиком, отsm create/peer448px и import512px. Три панели × две темы ×320/640/1280px —18 комбинаций/Tab/Escape/footer passed; profile5/5, scoped TypeScript/ESLint/ReUI checklist passed. Runtime backend3722fad/frontend6a46fb1, новая ширина ещё не развёрнута. Следующий12.5.64 — frontend Docker deploy и проверка live мобильных форм на новой собственной WG паре с очисткой; реальный import/export пока открыт. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-08: 12.5.64 развернул frontendbf43263 (backend3722fad healthy). Live create/peer/import Sheets: оба CHR × две темы ×1280/320px —24 комбинации ширины/footer passed без HTTP mocks. UI create/peer/toggle/Ping/delete повторён успешно, own остатки отсутствуют, selected baseline и DB controls совпали; observer exit0/readRetries0, smoke6 passed. Применение импорта не выполнялось. Следующий12.5.65 — настоящий экспорт WireGuard без private keys на собственной паре; import roundtrip отдельным блоком. Этап12.5 открыт.
|
||||
|
||||
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-08. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
|
||||
|
||||
## Актуальная точка продолжения — 2026-10-08
|
||||
|
||||
Этапы0–11 завершены в описанных локальных границах. Этап12 открыт. На тестовом сервере161.104.46.222 работают backend3722fad/frontend6a46fb1 и два CHR. Внешние проверки подтвердили PG backup/restore/rollback, остановку фоновой работы для одного экземпляра, API JWT/RBAC и браузерные состояния восстановления. Native TCP/UDP speed, история и UI проверены в границах журнала; доступ ко второму CHR восстановлен пользователем. Очередь Telegram проверена на реальном PG: dedupe, конкурентный claim, retry/version, ошибки сохранения и неопределённый исход; ответы отправителя подменялись, реальной доставки это не доказывает. Блоки12.5.43–45 подтвердили browser retry/checkpoint и развернули понятное пояснение HTTP500. 12.5.46 подтвердил browser JWT/RBAC очереди на реальном HTTP/PG; 12.5.47 подтвердил изоляцию checkpoint при смене двух реальных HTTP/PG источников в конфигурации local; 12.5.48 подтвердил scoped axe/клавиатуру в обеих темах и320px; 12.5.49 собрал Q-матрицу и подтвердил отсутствие настройки Telegram; 12.5.50 подтвердил GET-only инвентаризацию: VPN/BGP/OSPF пусты, роли home-router/home-router; По уточнению пользователя12.5.51 создал реальные GRE туннели и подтвердил lifecycle/связность; обнаружена потеря peer IP, 12.5.52 локально исправил сохранение peer metadata, профильные проверки passed; 12.5.53 развернул исправление и подтвердил его на реальной GRE паре/API/UI; 12.5.54 локально исправил устойчивость меню GRE, профильные проверки passed; 12.5.55 развернул frontend731803b и подтвердил устойчивость меню на реальной GRE паре; 12.5.56 локально адаптировал внутренние IP поля GRE для320px, обе темы и профильные проверки passed; 12.5.57 развернул frontendfd521f6 и подтвердил мобильную GRE форму на реальной паре CHR; 12.5.58 подтвердил настоящую WireGuard пару, handshake/Ping/native/UI и финальную очистку; 12.5.59 подтвердил оставшиеся peers/IP после удаления WG и локально исправил backend; 12.5.60 развернул backend/frontend3722fad и подтвердил полное обычное удаление WG; 12.5.61 подтвердил UI создание WG и локально исправил remount меню; переключение осталось открытым. 12.5.62 развернул frontend6a46fb1 и подтвердил полный WG UI lifecycle; 12.5.63 локально адаптировал ширину трёх WireGuard Sheets и подтвердил footer/клавиатуру в обеих темах; следующий12.5.64 — frontend deploy и live мобильные формы на собственной WG паре. Реальная Telegram доставка, Portal SSO, физический TCP disconnect, multi-instance и остальные профильные сетевые сценарии остаются открытыми. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) содержат доказательства и ограничения.
|
||||
Этапы0–11 завершены в описанных локальных границах. Этап12 открыт. На тестовом сервере161.104.46.222 работают backend3722fad/frontendbf43263 и два CHR. Внешние проверки подтвердили PG backup/restore/rollback, остановку фоновой работы для одного экземпляра, API JWT/RBAC и браузерные состояния восстановления. Native TCP/UDP speed, история и UI проверены в границах журнала; доступ ко второму CHR восстановлен пользователем. Очередь Telegram проверена на реальном PG: dedupe, конкурентный claim, retry/version, ошибки сохранения и неопределённый исход; ответы отправителя подменялись, реальной доставки это не доказывает. Блоки12.5.43–45 подтвердили browser retry/checkpoint и развернули понятное пояснение HTTP500. 12.5.46 подтвердил browser JWT/RBAC очереди на реальном HTTP/PG; 12.5.47 подтвердил изоляцию checkpoint при смене двух реальных HTTP/PG источников в конфигурации local; 12.5.48 подтвердил scoped axe/клавиатуру в обеих темах и320px; 12.5.49 собрал Q-матрицу и подтвердил отсутствие настройки Telegram; 12.5.50 подтвердил GET-only инвентаризацию: VPN/BGP/OSPF пусты, роли home-router/home-router; По уточнению пользователя12.5.51 создал реальные GRE туннели и подтвердил lifecycle/связность; обнаружена потеря peer IP, 12.5.52 локально исправил сохранение peer metadata, профильные проверки passed; 12.5.53 развернул исправление и подтвердил его на реальной GRE паре/API/UI; 12.5.54 локально исправил устойчивость меню GRE, профильные проверки passed; 12.5.55 развернул frontend731803b и подтвердил устойчивость меню на реальной GRE паре; 12.5.56 локально адаптировал внутренние IP поля GRE для320px, обе темы и профильные проверки passed; 12.5.57 развернул frontendfd521f6 и подтвердил мобильную GRE форму на реальной паре CHR; 12.5.58 подтвердил настоящую WireGuard пару, handshake/Ping/native/UI и финальную очистку; 12.5.59 подтвердил оставшиеся peers/IP после удаления WG и локально исправил backend; 12.5.60 развернул backend/frontend3722fad и подтвердил полное обычное удаление WG; 12.5.61 подтвердил UI создание WG и локально исправил remount меню; переключение осталось открытым. 12.5.62 развернул frontend6a46fb1 и подтвердил полный WG UI lifecycle; 12.5.63 локально адаптировал ширину трёх WireGuard Sheets и подтвердил footer/клавиатуру в обеих темах; 12.5.64 развернул frontendbf43263 и подтвердил live mobile Sheets/UI lifecycle; следующий12.5.65 — настоящий экспорт WG без private keys, затем import roundtrip отдельным блоком. Реальная Telegram доставка, Portal SSO, физический TCP disconnect, multi-instance и остальные профильные сетевые сценарии остаются открытыми. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) содержат доказательства и ограничения.
|
||||
|
||||
Выполненные внешние сценарии не заменяют приёмку оставшихся интеграций и условий эксплуатации. Датированные продолжения ниже — история; точный следующий шаг указан в начале [журнала](ux-ui-progress.md).
|
||||
|
||||
|
||||
+14
-2
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-08: 12.5.63 локально исправил ширину WireGuard create/peer/import Sheets:320px целиком, отsm create/peer448px и import512px. Три панели × две темы ×320/640/1280px —18 комбинаций/Tab/Escape/footer passed; profile5/5, scoped TypeScript/ESLint/ReUI checklist passed. Runtime backend3722fad/frontend6a46fb1, новая ширина ещё не развёрнута. Следующий12.5.64 — frontend Docker deploy и проверка live мобильных форм на новой собственной WG паре с очисткой; реальный import/export пока открыт. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-08: 12.5.64 развернул frontendbf43263 (backend3722fad healthy). Live create/peer/import Sheets: оба CHR × две темы ×1280/320px —24 комбинации ширины/footer passed без HTTP mocks. UI create/peer/toggle/Ping/delete повторён успешно, own остатки отсутствуют, selected baseline и DB controls совпали; observer exit0/readRetries0, smoke6 passed. Применение импорта не выполнялось. Следующий12.5.65 — настоящий экспорт WireGuard без private keys на собственной паре; import roundtrip отдельным блоком. Этап12.5 открыт.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
|
||||
|
||||
@@ -34,7 +34,19 @@
|
||||
| 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–63 и ограничения ниже. Runtime backend3722fad/frontend6a46fb1. |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–64 и ограничения ниже. Runtime backend3722fad/frontendbf43263. |
|
||||
|
||||
## 12.5.64 — развёртывание и live приёмка мобильных WireGuard панелей (2026-10-08)
|
||||
|
||||
[Развёртывание](ux-ui/acceptance/deployed-bf43263-2026-10-08.json): frontendbf43263e43ae375651237e019fe1aae55e848308/version1.0.0-test.bf43263, backend3722fad healthy и не перезапускался. Чистый Git archive SHA256c42edf2983262b62bcc427f7e2922f1c6bf56754abe3b583be73fd71712bd074 совпал после передачи. Main-совместимый staging обновлён только тремя изменёнными WireGuard Sheets; lockfile/Dockerfile совпали. Docker build exit0, full Next TypeScript passed. Изменена только MMAPP_IMAGE_TAG, compose validation прошла, предыдущий frontend6a46fb1 образ оставлен для rollback. Push не выполнялся.
|
||||
|
||||
[Production UI и формы](ux-ui/acceptance/browser-wg-ui-mobile-bf43263-2026-10-08.json): собственная новая пара mm-acceptance-wg-ui-1791475047653, оба CHR × две темы × три панели(create/peer/import) ×1280/320px —24 live сочетания без HTTP mocks. Ширина320px на телефоне, create/peer448px и import512px наПК, footer buttons внутри панели и без обрезания, page overflow отсутствует, Escape закрывает каждую форму. Формы просматривались на реально созданной собственной WG паре; в визуальных снимках ключи не вводились. Импортная форма только открывалась и закрывалась: применение/preview импорта не проверены.
|
||||
|
||||
Основной UI lifecycle выполнен отдельно от просмотров форм: создание interfaces201/201 и peers201/201 через реальные формы, native поля/key generation/peer association подтверждены; disable/enable каждого CHR PATCH200×4 сохранили peers/IP; Ping3/3 на обоих устройствах до и после переключения. DELETE200/200 удалили interfaces/peers/IP до finish/fallback. MenuReopens0, JS/API errors0. [Native observer](ux-ui/acceptance/wg-ui-native-bf43263-2026-10-08.json): приватный baseline0600 на сервере, два Ping раунда passed, retries0, final state без own объектов, выбранный WG/peers/IP/routes/IPv4 Firewall baseline совпал. Эфемерный контейнер удалён; остались три основные службы. Audit revisions намеренно сохранены, DB controls до/после servers2/speedHistory9/retention14/migrations9 совпали.
|
||||
|
||||
СкриншотыCHR2/320px: [create dark](ux-ui/screens/wg-live-create-dark-bf43263-320-2026-10-08.png), [create light](ux-ui/screens/wg-live-create-light-bf43263-320-2026-10-08.png), [peer dark](ux-ui/screens/wg-live-peer-dark-bf43263-320-2026-10-08.png), [peer light](ux-ui/screens/wg-live-peer-light-bf43263-320-2026-10-08.png), [import dark](ux-ui/screens/wg-live-import-dark-bf43263-320-2026-10-08.png), [import light](ux-ui/screens/wg-live-import-light-bf43263-320-2026-10-08.png). Create dark/import light визуально просмотрены: панель и footer занимают доступную ширину, текст действий виден целиком. [Smoke](ux-ui/acceptance/deploy-browser-bf43263-2026-10-08.json): dashboard/servers/uptime/settings/filters/alerts200,320px fit, JS/API errors0.
|
||||
|
||||
Следующий12.5.65 — настоящий экспорт WireGuard без private keys на новой собственной паре: RSC/CONF, выбранный interface/peer и независимое сравнение параметров; ключи/конфиги с секретами в публичные отчёты не включать. Настоящий import roundtrip — отдельный блок. Throughput, IPv6, внешние failures/RBAC/multi-instance, Telegram/Portal и другие протоколы/интеграции остаются открытыми. Пользовательское правило настоящих VPN объектов сохраняется. Локальный коммит без push.
|
||||
|
||||
## 12.5.63 — полная ширина мобильных WireGuard Sheets (2026-10-08)
|
||||
|
||||
|
||||
+13
-1
@@ -1,6 +1,6 @@
|
||||
# Этап 12: итоговая приёмка UX/UI
|
||||
|
||||
Актуальное продолжение 2026-10-08: 12.5.63 локально исправил ширину WireGuard create/peer/import Sheets:320px целиком, отsm create/peer448px и import512px. Три панели × две темы ×320/640/1280px —18 комбинаций/Tab/Escape/footer passed; profile5/5, scoped TypeScript/ESLint/ReUI checklist passed. Runtime backend3722fad/frontend6a46fb1, новая ширина ещё не развёрнута. Следующий12.5.64 — frontend Docker deploy и проверка live мобильных форм на новой собственной WG паре с очисткой; реальный import/export пока открыт. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-08: 12.5.64 развернул frontendbf43263 (backend3722fad healthy). Live create/peer/import Sheets: оба CHR × две темы ×1280/320px —24 комбинации ширины/footer passed без HTTP mocks. UI create/peer/toggle/Ping/delete повторён успешно, own остатки отсутствуют, selected baseline и DB controls совпали; observer exit0/readRetries0, smoke6 passed. Применение импорта не выполнялось. Следующий12.5.65 — настоящий экспорт WireGuard без private keys на собственной паре; import roundtrip отдельным блоком. Этап12.5 открыт.
|
||||
|
||||
План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push.
|
||||
|
||||
@@ -1654,3 +1654,15 @@ Runtime backend/frontend3722fad, локальное меню ещё не раз
|
||||
Profile wireguard-links.spec.ts --grep импорт/создание сохраняет форму —5/5 passed: interface,interface DTO,peer, импорт без подтверждённого результата и pending/retry. Сохранение ввода, API ошибки/неподтверждённые ответы и ожидание результата сохранились. Scoped TypeScript выполнен после остановки Next, ESLint трёх изменённых компонентов и ReUI checklist passed. Полная регрессия не повторялась для трёх responsive class overrides.
|
||||
|
||||
Изменение локальное: удалённый runtime backend3722fad/frontend6a46fb1 healthy остаётся прежним. Следующий12.5.64 — frontend production Docker deploy и live мобильные create/peer/import панели на новой собственной WG паре; real UI lifecycle/связность и очистка, baseline. Просмотр импортной формы не будет заявляться как проверенный настоящий import. Import/export, throughput/IPv6/внешние failures/RBAC/multi-instance/Telegram/Portal и другие внешние ограничения открыты. Правило пользователя создавать настоящие VPN объекты сохраняется. Локальный коммит без push.
|
||||
|
||||
## 12.5.64 — развёртывание и live приёмка мобильных WireGuard панелей (2026-10-08)
|
||||
|
||||
[Развёртывание](ux-ui/acceptance/deployed-bf43263-2026-10-08.json): frontendbf43263e43ae375651237e019fe1aae55e848308/version1.0.0-test.bf43263, backend3722fad healthy и не перезапускался. Чистый Git archive SHA256c42edf2983262b62bcc427f7e2922f1c6bf56754abe3b583be73fd71712bd074 совпал после передачи. Main-совместимый staging обновлён только тремя изменёнными WireGuard Sheets; lockfile/Dockerfile совпали. Docker build exit0, full Next TypeScript passed. Изменена только MMAPP_IMAGE_TAG, compose validation прошла, предыдущий frontend6a46fb1 образ оставлен для rollback. Push не выполнялся.
|
||||
|
||||
[Production UI и формы](ux-ui/acceptance/browser-wg-ui-mobile-bf43263-2026-10-08.json): собственная новая пара mm-acceptance-wg-ui-1791475047653, оба CHR × две темы × три панели(create/peer/import) ×1280/320px —24 live сочетания без HTTP mocks. Ширина320px на телефоне, create/peer448px и import512px наПК, footer buttons внутри панели и без обрезания, page overflow отсутствует, Escape закрывает каждую форму. Формы просматривались на реально созданной собственной WG паре; в визуальных снимках ключи не вводились. Импортная форма только открывалась и закрывалась: применение/preview импорта не проверены.
|
||||
|
||||
Основной UI lifecycle выполнен отдельно от просмотров форм: создание interfaces201/201 и peers201/201 через реальные формы, native поля/key generation/peer association подтверждены; disable/enable каждого CHR PATCH200×4 сохранили peers/IP; Ping3/3 на обоих устройствах до и после переключения. DELETE200/200 удалили interfaces/peers/IP до finish/fallback. MenuReopens0, JS/API errors0. [Native observer](ux-ui/acceptance/wg-ui-native-bf43263-2026-10-08.json): приватный baseline0600 на сервере, два Ping раунда passed, retries0, final state без own объектов, выбранный WG/peers/IP/routes/IPv4 Firewall baseline совпал. Эфемерный контейнер удалён; остались три основные службы. Audit revisions намеренно сохранены, DB controls до/после servers2/speedHistory9/retention14/migrations9 совпали.
|
||||
|
||||
СкриншотыCHR2/320px: [create dark](ux-ui/screens/wg-live-create-dark-bf43263-320-2026-10-08.png), [create light](ux-ui/screens/wg-live-create-light-bf43263-320-2026-10-08.png), [peer dark](ux-ui/screens/wg-live-peer-dark-bf43263-320-2026-10-08.png), [peer light](ux-ui/screens/wg-live-peer-light-bf43263-320-2026-10-08.png), [import dark](ux-ui/screens/wg-live-import-dark-bf43263-320-2026-10-08.png), [import light](ux-ui/screens/wg-live-import-light-bf43263-320-2026-10-08.png). Create dark/import light визуально просмотрены: панель и footer занимают доступную ширину, текст действий виден целиком. [Smoke](ux-ui/acceptance/deploy-browser-bf43263-2026-10-08.json): dashboard/servers/uptime/settings/filters/alerts200,320px fit, JS/API errors0.
|
||||
|
||||
Следующий12.5.65 — настоящий экспорт WireGuard без private keys на новой собственной паре: RSC/CONF, выбранный interface/peer и независимое сравнение параметров; ключи/конфиги с секретами в публичные отчёты не включать. Настоящий import roundtrip — отдельный блок. Throughput, IPv6, внешние failures/RBAC/multi-instance, Telegram/Portal и другие протоколы/интеграции остаются открытыми. Пользовательское правило настоящих VPN объектов сохраняется. Локальный коммит без push.
|
||||
@@ -1,6 +1,6 @@
|
||||
# Тестовый сервер UX/UI — 2026-10-08
|
||||
|
||||
Сервер161.104.46.222 предоставлен пользователем для временного тестирования с последующим удалением. Подготовка выполнена по структуре deploy/docker-compose.yml из main. Приложение собрано и запущено. Активный backend source3722fad329a68a8721ebfda8e044ab6cb5830cca/version1.0.0-test.3722fad healthy; frontend source6a46fb1e40291024202455460dfc233f05e9e5d5/version1.0.0-test.6a46fb1 обновлён в12.5.62.
|
||||
Сервер161.104.46.222 предоставлен пользователем для временного тестирования с последующим удалением. Подготовка выполнена по структуре deploy/docker-compose.yml из main. Приложение собрано и запущено. Активный backend source3722fad329a68a8721ebfda8e044ab6cb5830cca/version1.0.0-test.3722fad healthy; frontend sourcebf43263e43ae375651237e019fe1aae55e848308/version1.0.0-test.bf43263 обновлён в12.5.64.
|
||||
|
||||
| Параметр | Проверенное состояние |
|
||||
| --- | --- |
|
||||
@@ -497,3 +497,15 @@ Runtime backend/frontend3722fad, локальное меню ещё не раз
|
||||
Profile wireguard-links.spec.ts --grep импорт/создание сохраняет форму —5/5 passed: interface,interface DTO,peer, импорт без подтверждённого результата и pending/retry. Сохранение ввода, API ошибки/неподтверждённые ответы и ожидание результата сохранились. Scoped TypeScript выполнен после остановки Next, ESLint трёх изменённых компонентов и ReUI checklist passed. Полная регрессия не повторялась для трёх responsive class overrides.
|
||||
|
||||
Изменение локальное: удалённый runtime backend3722fad/frontend6a46fb1 healthy остаётся прежним. Следующий12.5.64 — frontend production Docker deploy и live мобильные create/peer/import панели на новой собственной WG паре; real UI lifecycle/связность и очистка, baseline. Просмотр импортной формы не будет заявляться как проверенный настоящий import. Import/export, throughput/IPv6/внешние failures/RBAC/multi-instance/Telegram/Portal и другие внешние ограничения открыты. Правило пользователя создавать настоящие VPN объекты сохраняется. Локальный коммит без push.
|
||||
|
||||
## 12.5.64 — развёртывание и live приёмка мобильных WireGuard панелей (2026-10-08)
|
||||
|
||||
[Развёртывание](ux-ui/acceptance/deployed-bf43263-2026-10-08.json): frontendbf43263e43ae375651237e019fe1aae55e848308/version1.0.0-test.bf43263, backend3722fad healthy и не перезапускался. Чистый Git archive SHA256c42edf2983262b62bcc427f7e2922f1c6bf56754abe3b583be73fd71712bd074 совпал после передачи. Main-совместимый staging обновлён только тремя изменёнными WireGuard Sheets; lockfile/Dockerfile совпали. Docker build exit0, full Next TypeScript passed. Изменена только MMAPP_IMAGE_TAG, compose validation прошла, предыдущий frontend6a46fb1 образ оставлен для rollback. Push не выполнялся.
|
||||
|
||||
[Production UI и формы](ux-ui/acceptance/browser-wg-ui-mobile-bf43263-2026-10-08.json): собственная новая пара mm-acceptance-wg-ui-1791475047653, оба CHR × две темы × три панели(create/peer/import) ×1280/320px —24 live сочетания без HTTP mocks. Ширина320px на телефоне, create/peer448px и import512px наПК, footer buttons внутри панели и без обрезания, page overflow отсутствует, Escape закрывает каждую форму. Формы просматривались на реально созданной собственной WG паре; в визуальных снимках ключи не вводились. Импортная форма только открывалась и закрывалась: применение/preview импорта не проверены.
|
||||
|
||||
Основной UI lifecycle выполнен отдельно от просмотров форм: создание interfaces201/201 и peers201/201 через реальные формы, native поля/key generation/peer association подтверждены; disable/enable каждого CHR PATCH200×4 сохранили peers/IP; Ping3/3 на обоих устройствах до и после переключения. DELETE200/200 удалили interfaces/peers/IP до finish/fallback. MenuReopens0, JS/API errors0. [Native observer](ux-ui/acceptance/wg-ui-native-bf43263-2026-10-08.json): приватный baseline0600 на сервере, два Ping раунда passed, retries0, final state без own объектов, выбранный WG/peers/IP/routes/IPv4 Firewall baseline совпал. Эфемерный контейнер удалён; остались три основные службы. Audit revisions намеренно сохранены, DB controls до/после servers2/speedHistory9/retention14/migrations9 совпали.
|
||||
|
||||
СкриншотыCHR2/320px: [create dark](ux-ui/screens/wg-live-create-dark-bf43263-320-2026-10-08.png), [create light](ux-ui/screens/wg-live-create-light-bf43263-320-2026-10-08.png), [peer dark](ux-ui/screens/wg-live-peer-dark-bf43263-320-2026-10-08.png), [peer light](ux-ui/screens/wg-live-peer-light-bf43263-320-2026-10-08.png), [import dark](ux-ui/screens/wg-live-import-dark-bf43263-320-2026-10-08.png), [import light](ux-ui/screens/wg-live-import-light-bf43263-320-2026-10-08.png). Create dark/import light визуально просмотрены: панель и footer занимают доступную ширину, текст действий виден целиком. [Smoke](ux-ui/acceptance/deploy-browser-bf43263-2026-10-08.json): dashboard/servers/uptime/settings/filters/alerts200,320px fit, JS/API errors0.
|
||||
|
||||
Следующий12.5.65 — настоящий экспорт WireGuard без private keys на новой собственной паре: RSC/CONF, выбранный interface/peer и независимое сравнение параметров; ключи/конфиги с секретами в публичные отчёты не включать. Настоящий import roundtrip — отдельный блок. Throughput, IPv6, внешние failures/RBAC/multi-instance, Telegram/Portal и другие протоколы/интеграции остаются открытыми. Пользовательское правило настоящих VPN объектов сохраняется. Локальный коммит без push.
|
||||
@@ -0,0 +1,314 @@
|
||||
{
|
||||
"date": "2026-10-08",
|
||||
"backendSource": "3722fad",
|
||||
"frontendSource": "bf43263",
|
||||
"name": "mm-acceptance-wg-ui-1791475047653",
|
||||
"httpMocks": false,
|
||||
"cases": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"createViaUi": true,
|
||||
"createReceipt": 201,
|
||||
"nativeInterfaceAddressAndKeyGeneration": true,
|
||||
"peerViaUi": true,
|
||||
"peerReceipt": 201,
|
||||
"nativePeerFields": true,
|
||||
"disableEnableViaUi": true,
|
||||
"nativeToggleAndDataPreserved": true,
|
||||
"deleteViaUi": true,
|
||||
"noNativeRemainders": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"createViaUi": true,
|
||||
"createReceipt": 201,
|
||||
"nativeInterfaceAddressAndKeyGeneration": true,
|
||||
"peerViaUi": true,
|
||||
"peerReceipt": 201,
|
||||
"nativePeerFields": true,
|
||||
"disableEnableViaUi": true,
|
||||
"nativeToggleAndDataPreserved": true,
|
||||
"deleteViaUi": true,
|
||||
"noNativeRemainders": true
|
||||
}
|
||||
],
|
||||
"layoutCases": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "dark",
|
||||
"kind": "create",
|
||||
"width": 1280,
|
||||
"sheetWidth": 448,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "dark",
|
||||
"kind": "create",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "dark",
|
||||
"kind": "peer",
|
||||
"width": 1280,
|
||||
"sheetWidth": 448,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "dark",
|
||||
"kind": "peer",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "dark",
|
||||
"kind": "import",
|
||||
"width": 1280,
|
||||
"sheetWidth": 512,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "dark",
|
||||
"kind": "import",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "light",
|
||||
"kind": "create",
|
||||
"width": 1280,
|
||||
"sheetWidth": 448,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "light",
|
||||
"kind": "create",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "light",
|
||||
"kind": "peer",
|
||||
"width": 1280,
|
||||
"sheetWidth": 448,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "light",
|
||||
"kind": "peer",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "light",
|
||||
"kind": "import",
|
||||
"width": 1280,
|
||||
"sheetWidth": 512,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 1,
|
||||
"theme": "light",
|
||||
"kind": "import",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "dark",
|
||||
"kind": "create",
|
||||
"width": 1280,
|
||||
"sheetWidth": 448,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "dark",
|
||||
"kind": "create",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "dark",
|
||||
"kind": "peer",
|
||||
"width": 1280,
|
||||
"sheetWidth": 448,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "dark",
|
||||
"kind": "peer",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "dark",
|
||||
"kind": "import",
|
||||
"width": 1280,
|
||||
"sheetWidth": 512,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "dark",
|
||||
"kind": "import",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "light",
|
||||
"kind": "create",
|
||||
"width": 1280,
|
||||
"sheetWidth": 448,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "light",
|
||||
"kind": "create",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "light",
|
||||
"kind": "peer",
|
||||
"width": 1280,
|
||||
"sheetWidth": 448,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "light",
|
||||
"kind": "peer",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "light",
|
||||
"kind": "import",
|
||||
"width": 1280,
|
||||
"sheetWidth": 512,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"theme": "light",
|
||||
"kind": "import",
|
||||
"width": 320,
|
||||
"sheetWidth": 320,
|
||||
"footerButtonsFit": true,
|
||||
"noPageOverflow": true
|
||||
}
|
||||
],
|
||||
"requests": [
|
||||
{
|
||||
"method": "POST",
|
||||
"path": "/api/wireguard/interfaces",
|
||||
"status": 201
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"path": "/api/wireguard/interfaces",
|
||||
"status": 201
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"path": "/api/wireguard/peers",
|
||||
"status": 201
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"path": "/api/wireguard/peers",
|
||||
"status": 201
|
||||
},
|
||||
{
|
||||
"method": "PATCH",
|
||||
"path": "/api/wireguard/interfaces/1/*C",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"method": "PATCH",
|
||||
"path": "/api/wireguard/interfaces/1/*C",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"method": "PATCH",
|
||||
"path": "/api/wireguard/interfaces/2/*8",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"method": "PATCH",
|
||||
"path": "/api/wireguard/interfaces/2/*8",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"method": "DELETE",
|
||||
"path": "/api/wireguard/interfaces/1/*C",
|
||||
"status": 200
|
||||
},
|
||||
{
|
||||
"method": "DELETE",
|
||||
"path": "/api/wireguard/interfaces/2/*8",
|
||||
"status": 200
|
||||
}
|
||||
],
|
||||
"pageErrors": [],
|
||||
"badApiResponses": [],
|
||||
"pingBeforeAndAfterToggle": true,
|
||||
"menuReopens": 0,
|
||||
"limits": [
|
||||
"Keys used in memory only, not persisted",
|
||||
"Create interface/peer, toggle, delete via real production UI",
|
||||
"Short handshake/ICMP; no export/import, throughput, failures or RBAC"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"date": "2026-10-08",
|
||||
"backendSource": "3722fad329a68a8721ebfda8e044ab6cb5830cca",
|
||||
"frontendSource": "bf43263e43ae375651237e019fe1aae55e848308",
|
||||
"httpMocks": false,
|
||||
"pages": [
|
||||
{
|
||||
"path": "/dashboard",
|
||||
"status": 200,
|
||||
"mobileFits": true
|
||||
},
|
||||
{
|
||||
"path": "/servers",
|
||||
"status": 200,
|
||||
"mobileFits": true
|
||||
},
|
||||
{
|
||||
"path": "/uptime?tab=speed",
|
||||
"status": 200,
|
||||
"mobileFits": true
|
||||
},
|
||||
{
|
||||
"path": "/settings",
|
||||
"status": 200,
|
||||
"mobileFits": true
|
||||
},
|
||||
{
|
||||
"path": "/filters",
|
||||
"status": 200,
|
||||
"mobileFits": true
|
||||
},
|
||||
{
|
||||
"path": "/alerts",
|
||||
"status": 200,
|
||||
"mobileFits": true
|
||||
}
|
||||
],
|
||||
"pageErrors": [],
|
||||
"badApiResponses": []
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"date": "2026-10-08",
|
||||
"frontendSource": "bf43263e43ae375651237e019fe1aae55e848308",
|
||||
"backendSource": "3722fad329a68a8721ebfda8e044ab6cb5830cca",
|
||||
"frontendImageId": "sha256:f7463365ad14d98df12f31197a8f76e8147136046cb4a43161270b4bd83587b0",
|
||||
"backendImageId": "sha256:766d07936321df58c1cfb76cbdc949737a44158e8d8aa65b59f391443221eeba",
|
||||
"frontendVersion": "1.0.0-test.bf43263",
|
||||
"backendHealthy": true,
|
||||
"health": {
|
||||
"status": "ok",
|
||||
"timestamp": "2026-10-08T15:58:00.348Z",
|
||||
"version": "1.0.0-test.3722fad",
|
||||
"eventLoopDelayMs": 20,
|
||||
"flowWorker": {
|
||||
"alive": false,
|
||||
"bound": false,
|
||||
"pendingSize": 0,
|
||||
"dropped": 0,
|
||||
"packetsReceived": 0
|
||||
}
|
||||
},
|
||||
"sourceArchiveSha256": "c42edf2983262b62bcc427f7e2922f1c6bf56754abe3b583be73fd71712bd074",
|
||||
"buildExit": 0,
|
||||
"productionTypeScriptPassed": true,
|
||||
"frontendOnlyRestart": true,
|
||||
"rollbackImageRetained": true,
|
||||
"controlBefore": {
|
||||
"servers": 2,
|
||||
"speedHistory": 9,
|
||||
"retentionDays": 14,
|
||||
"migrations": 9
|
||||
},
|
||||
"push": false,
|
||||
"controlAfter": {
|
||||
"servers": 2,
|
||||
"speedHistory": 9,
|
||||
"retentionDays": 14,
|
||||
"migrations": 9
|
||||
},
|
||||
"controlsUnchanged": true
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
{
|
||||
"date": "2026-10-08",
|
||||
"backendSource": "3722fad",
|
||||
"frontendSource": "bf43263",
|
||||
"name": "mm-acceptance-wg-ui-1791475047653",
|
||||
"listenPort": 51879,
|
||||
"subnet": "198.18.255.240/30",
|
||||
"realRouterOs": true,
|
||||
"pings": [
|
||||
{
|
||||
"round": 1,
|
||||
"results": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"received": 3,
|
||||
"summary": {
|
||||
"sent": "3",
|
||||
"received": "3",
|
||||
"packet-loss": "0",
|
||||
"avg-rtt": "55ms15us"
|
||||
}
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"received": 3,
|
||||
"summary": {
|
||||
"sent": "3",
|
||||
"received": "3",
|
||||
"packet-loss": "0",
|
||||
"avg-rtt": "55ms87us"
|
||||
}
|
||||
}
|
||||
],
|
||||
"passed": true
|
||||
},
|
||||
{
|
||||
"round": 2,
|
||||
"results": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"received": 3,
|
||||
"summary": {
|
||||
"sent": "3",
|
||||
"received": "3",
|
||||
"packet-loss": "0",
|
||||
"avg-rtt": "54ms990us"
|
||||
}
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"received": 3,
|
||||
"summary": {
|
||||
"sent": "3",
|
||||
"received": "3",
|
||||
"packet-loss": "0",
|
||||
"avg-rtt": "56ms906us"
|
||||
}
|
||||
}
|
||||
],
|
||||
"passed": true
|
||||
}
|
||||
],
|
||||
"cleanup": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"/interface/wireguard": true,
|
||||
"/interface/wireguard/peers": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/filter": true,
|
||||
"/ip/firewall/nat": true,
|
||||
"/ip/firewall/mangle": true
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"/interface/wireguard": true,
|
||||
"/interface/wireguard/peers": true,
|
||||
"/ip/address": true,
|
||||
"/ip/route": true,
|
||||
"/ip/firewall/filter": true,
|
||||
"/ip/firewall/nat": true,
|
||||
"/ip/firewall/mangle": true
|
||||
}
|
||||
],
|
||||
"uiCreatesOnly": true,
|
||||
"readRetries": [],
|
||||
"privateBaselineSaved": true,
|
||||
"nativePeerAssociationConfirmed": true,
|
||||
"connectedState": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"host": "194.226.121.150",
|
||||
"expectedAddress": "198.18.255.241/30",
|
||||
"interface": {
|
||||
"rosId": "*C",
|
||||
"appId": "1:*C",
|
||||
"name": "mm-acceptance-wg-ui-1791475047653",
|
||||
"listenPort": "51879",
|
||||
"mtu": "1420",
|
||||
"disabled": "false",
|
||||
"running": "true",
|
||||
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791475047653",
|
||||
"keyGenerated": true
|
||||
},
|
||||
"addresses": [
|
||||
"198.18.255.241/30"
|
||||
],
|
||||
"peers": [
|
||||
{
|
||||
"rosId": "*8",
|
||||
"allowedAddresses": "198.18.255.242/32",
|
||||
"endpoint": "104.165.244.7:51879",
|
||||
"keepalive": "5s",
|
||||
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791475047653",
|
||||
"disabled": "false",
|
||||
"handshake": "2s",
|
||||
"rx": "1604",
|
||||
"tx": "1696"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"host": "104.165.244.7",
|
||||
"expectedAddress": "198.18.255.242/30",
|
||||
"interface": {
|
||||
"rosId": "*8",
|
||||
"appId": "2:*8",
|
||||
"name": "mm-acceptance-wg-ui-1791475047653",
|
||||
"listenPort": "51879",
|
||||
"mtu": "1420",
|
||||
"disabled": "false",
|
||||
"running": "true",
|
||||
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791475047653",
|
||||
"keyGenerated": true
|
||||
},
|
||||
"addresses": [
|
||||
"198.18.255.242/30"
|
||||
],
|
||||
"peers": [
|
||||
{
|
||||
"rosId": "*5",
|
||||
"allowedAddresses": "198.18.255.241/32",
|
||||
"endpoint": "194.226.121.150:51879",
|
||||
"keepalive": "5s",
|
||||
"comment": "Temporary UX acceptance mm-acceptance-wg-ui-1791475047653",
|
||||
"disabled": "false",
|
||||
"handshake": "2s",
|
||||
"rx": "1548",
|
||||
"tx": "1604"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"afterBrowser": [
|
||||
{
|
||||
"serverId": 1,
|
||||
"host": "194.226.121.150",
|
||||
"expectedAddress": "198.18.255.241/30",
|
||||
"interface": null,
|
||||
"addresses": [],
|
||||
"peers": []
|
||||
},
|
||||
{
|
||||
"serverId": 2,
|
||||
"host": "104.165.244.7",
|
||||
"expectedAddress": "198.18.255.242/30",
|
||||
"interface": null,
|
||||
"addresses": [],
|
||||
"peers": []
|
||||
}
|
||||
],
|
||||
"limits": [
|
||||
"Only own WireGuard resources; no default route or firewall changes",
|
||||
"Public keys transferred to browser only in memory; no keys persisted in report",
|
||||
"Short handshake/ICMP, not throughput or failure/RBAC acceptance",
|
||||
"WireGuard revision audit retained"
|
||||
],
|
||||
"privateBaselineMode": "0600"
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
Reference in new issue
Block a user