diff --git a/docs/ux-ui-external-acceptance.md b/docs/ux-ui-external-acceptance.md index d96adbf9..c6f6103b 100644 --- a/docs/ux-ui-external-acceptance.md +++ b/docs/ux-ui-external-acceptance.md @@ -1,6 +1,6 @@ # UX/UI: протокол внешней приёмки 12.5 -Статус на2026-10-08: backend/frontend8782054, backend healthy. 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. PortalSSO, физический TCP disconnect, мультиэкземпляры и остальные ROS/Q/интеграции остаются открытыми. [Паспорт](ux-ui-test-server.md), [журнал](ux-ui-progress.md). +Статус на2026-10-08: backend/frontend8782054, backend healthy. 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). ## Паспорт стенда @@ -137,3 +137,7 @@ BGP-prefix evaluator, отдельное live GRE расписание и recove ## Browser speed context — 2026-10-08 12.5.24 [real browser/native](ux-ui/acceptance/browser-speed-context-2026-10-08.json): смена пары/длительности и удаление независимым HTTP-клиентом до native response; UI refresh/reload сохраняет новый контекст без старых скоростей, history done остаётся. Принятые native2/POST[200,200]/JS0/320fits, без HTTP/RouterOS-моков. Ещё один native command выполнен в подготовительном прогоне с неверным UI selector expectation; application auto retry отсутствует. Temporarycontainers/network/3018 закрыты, testprobe удалена; runtime8782054/основнаяhistory5 сохранены. Следующий12.5.25 — ROS-2 authentication failure. + +## Реальный отказ bandwidth-аутентификации — 2026-10-08 + +12.5.25 [native/API/browser evidence](ux-ui/acceptance/speed-auth-error-2026-10-08.json): authentication failed→HTTP502/русская UI-ошибка, history error/TXRXnull; probe previousTX42 сохранён. Native1/POST[502]/refresh/reload/320fits/JS0, без HTTP/RouterOS-моков. Тестовое имя изменялось только в выделенной app DB и восстановлено; RouterOS accounts не менялись. Temporarycontainers/network/3018 закрыты, testprobe удалена; основнаяhistory5/runtime8782054 сохранены. Подготовительный слишком длинныйuser отклонён по длине; accepted run отдельно. ROS-2 authentication failure принят; остальные native failures ещё открыты. Следующий12.5.26 — unreachable destination. diff --git a/docs/ux-ui-plan.md b/docs/ux-ui-plan.md index 3445fe75..14d79faa 100644 --- a/docs/ux-ui-plan.md +++ b/docs/ux-ui-plan.md @@ -1,12 +1,12 @@ # План реализации UX/UI по пятичасовым окнам -Актуальное продолжение 2026-10-08: 12.5.24 завершён — real browser/native подтвердил смену пары и длительности вторым клиентом и удаление пробы во время теста. После refresh/reload новый контекст без старого замера, history done с фактическим маршрутом сохранена; 320px/JS0/без автоповтора. Runtime8782054 исправен. Следующий12.5.25 — ROS-2: реальный отказ bandwidth-аутентификации, сохранение snapshot и согласованная error-история. Полный12.5 открыт. +Актуальное продолжение 2026-10-08: 12.5.25 завершён — реальный CHR authentication failed → HTTP502/понятная UI-ошибка/history error с null скоростями; предыдущий TX42 сохранён, native1/без автоповтора, refresh/reload/320px/JS0. Runtime8782054 сохранён. Следующий12.5.26 — ROS-2: недоступное назначение bandwidth-test и согласованность HTTP/UI/history. Полный12.5 открыт. Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-08. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат. ## Актуальная точка продолжения — 2026-10-08 -Этапы0–11 завершены в описанных локальных границах. Этап12 остаётся открытым. На161.104.46.222 развёрнуты backend/frontend8782054; два CHR подключены. PG backup/restore/rollback, single-instance quiescence, JWT/RBAC и browser restore приняты в границах журнала. PG-8 проверен с настоящими PG/native и введённой после COMMIT ошибкой подтверждения; новый browser UI сохраняет snapshot и сверяет историю. ROS-8/9 API/SQL/native приняты в описанных границах. Browser-смена пары/длительности и удаление во время native-теста приняты в12.5.24. Следующий12.5.25 — ROS-2: отказ bandwidth-аутентификации и сохранение результата/ошибки. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) сохраняют точные доказательства и ограничения. +Этапы0–11 завершены в описанных локальных границах. Этап12 остаётся открытым. На161.104.46.222 развёрнуты backend/frontend8782054; два CHR подключены. PG backup/restore/rollback, single-instance quiescence, JWT/RBAC и browser restore приняты в границах журнала. PG-8 проверен с настоящими PG/native и введённой после COMMIT ошибкой подтверждения; новый browser UI сохраняет snapshot и сверяет историю. ROS-8/9 API/SQL/native приняты в описанных границах. Browser-смена пары/длительности и удаление во время native-теста приняты в12.5.24. Реальный отказ bandwidth-аутентификации принят в12.5.25. Следующий12.5.26 — ROS-2: недоступное назначение и согласованность HTTP/UI/history. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) сохраняют точные доказательства и ограничения. Реальные pg_dump/pg_restore, PG rollback и остановка UDP worker требуют внешней приёмки. Датированные продолжения ниже — история; точный следующий шаг также указан в начале [журнала](ux-ui-progress.md). diff --git a/docs/ux-ui-progress.md b/docs/ux-ui-progress.md index d5d0bc41..5e9f08da 100644 --- a/docs/ux-ui-progress.md +++ b/docs/ux-ui-progress.md @@ -1,6 +1,6 @@ # UX/UI: журнал реализации -Актуальное продолжение 2026-10-08: 12.5.24 завершён — real browser/native подтвердил смену пары и длительности вторым клиентом и удаление пробы во время теста. После refresh/reload новый контекст без старого замера, history done с фактическим маршрутом сохранена; 320px/JS0/без автоповтора. Runtime8782054 исправен. Следующий12.5.25 — ROS-2: реальный отказ bandwidth-аутентификации, сохранение snapshot и согласованная error-история. Полный12.5 открыт. +Актуальное продолжение 2026-10-08: 12.5.25 завершён — реальный CHR authentication failed → HTTP502/понятная UI-ошибка/history error с null скоростями; предыдущий TX42 сохранён, native1/без автоповтора, refresh/reload/320px/JS0. Runtime8782054 сохранён. Следующий12.5.26 — ROS-2: недоступное назначение bandwidth-test и согласованность HTTP/UI/history. Полный12.5 открыт. Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md). @@ -34,6 +34,16 @@ | 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 | | 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в описанных границах:12.3.83,main1186/1186,context221/221. Этап остаётся в работе: стенд12.5.1–3 развёрнут,bootstrap/smoke проверены;остальные сценарии12.5 не выполнены. | +## 12.5.25 — реальный отказ bandwidth-аутентификации (2026-10-08) + +[Real API/native/browser evidence](ux-ui/acceptance/speed-auth-error-2026-10-08.json): production8782054, выделенная БД mmapp_acceptance_20261007, изолированная Docker network/SSH3018. Только в app DB временно изменён username назначения2 на несуществующий тестовый; исходное значение сохранено в памяти и восстановлено при штатном завершении. Учётные записи и конфигурация RouterOS не менялись. Scheduler admission закрыт только внутри isolated backend. Guard подтвердил выделенную БД до команды; предыдущий TX42 был явно подготовлен как DB fixture. + +Реальный POST /tool/bandwidth-test со стороны CHR1 вернул statuses connecting/connecting/authentication failed. Backend отказалHTTP502 с русской подписью «RouterOS отклонил авторизацию bandwidth-test»; это обычная ошибка native test, не persistence unknown. UI показал ту же ошибку, локальная строка error. Независимые API/SQL подтвердили одну history error для фактической пары1→2/TCP/transmit3, TX/RXnull; probe lastStatuserror, предыдущий lastTx42 сохранён/RXnull. [Снимок ошибки320px](ux-ui/screens/speed-auth-error-real-320.png). + +После «Обновить» и reload история error сохранена; nativeCalls1/POST[502], автоповтора нет, JSerrors0/320px fits. HTTP/RouterOS-моков нет. Подготовительный запрос с чрезмерно длинным тестовым именем был отклонён RouterOSHTTP400 по длинеuser до целевого сценария; после исправления fixture выполнен отдельный принятый прогон. Это ручная валидация, не retry продукта. + +Temporaryfrontend/backend/network удалены,3018туннель закрыт, fixtureprobe удалена. В выделенной БД username назначения восстановлен и проверен без вывода секрета; основная история5 сохранена, runtime8782054 исправен. Продуктовый код не менялся, build/deployment не выполнялся. ROS-2 authentication failure принят; unreachable/busy/disconnect/abort и PortalSSO остаются открытыми. Следующий12.5.26 — недоступное назначение bandwidth-test и проверка HTTP/UI/history. План/паспорт/протокол обновлены; локальный коммит без push. + ## 12.5.24 — browser speed при изменении контекста вторым клиентом (2026-10-08) [Real browser evidence](ux-ui/acceptance/browser-speed-context-2026-10-08.json): production backend/frontend8782054, выделенная БД mmapp_acceptance_20261007, изолированная Docker network и SSH3018. Guard до операции проверил имя БД. Первый browser context использовал настоящую кнопку «Запустить» в uptime speed; независимый второй context отправлял реальные HTTP PUT каталога. HTTP/RouterOS-моков нет. Scheduler admission закрыт только в isolated backend, чтобы сохранение каталога не запускало фоновый speed job. diff --git a/docs/ux-ui-stage-12.md b/docs/ux-ui-stage-12.md index 3e87381c..c1b0b5bf 100644 --- a/docs/ux-ui-stage-12.md +++ b/docs/ux-ui-stage-12.md @@ -1,6 +1,6 @@ # Этап 12: итоговая приёмка UX/UI -Актуальное продолжение 2026-10-08: 12.5.24 завершён — real browser/native подтвердил смену пары и длительности вторым клиентом и удаление пробы во время теста. После refresh/reload новый контекст без старого замера, history done с фактическим маршрутом сохранена; 320px/JS0/без автоповтора. Runtime8782054 исправен. Следующий12.5.25 — ROS-2: реальный отказ bandwidth-аутентификации, сохранение snapshot и согласованная error-история. Полный12.5 открыт. +Актуальное продолжение 2026-10-08: 12.5.25 завершён — реальный CHR authentication failed → HTTP502/понятная UI-ошибка/history error с null скоростями; предыдущий TX42 сохранён, native1/без автоповтора, refresh/reload/320px/JS0. Runtime8782054 сохранён. Следующий12.5.26 — ROS-2: недоступное назначение bandwidth-test и согласованность HTTP/UI/history. Полный12.5 открыт. План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push. @@ -1208,3 +1208,13 @@ ROS-8/9 приняты в перечисленных API/SQL/native границ Temporaryfrontend/backend/network удалены,3018туннель закрыт, fixtureprobe удалена; history сохранена только в выделенной БД. Основной backend healthy/version1.0.0-test.8782054, история5 без изменений, основной SSH-туннель сохранён. Browser ROS-8/9 принят в этих двух сценариях; второй клиент менял каталог через HTTP, не через форму редактирования. Полная матрица поздней смены каждого поля, PortalSSO и multi-instance остаются открытыми. Следующий12.5.25 — ROS-2: реальный отказ bandwidth-аутентификации и проверка snapshot/error history в выделенной БД, без изменения учётных записей RouterOS. План, паспорт и протокол обновлены; локальный коммит без push. + +## 12.5.25 — реальный отказ bandwidth-аутентификации (2026-10-08) + +[Real API/native/browser evidence](ux-ui/acceptance/speed-auth-error-2026-10-08.json): production8782054, выделенная БД mmapp_acceptance_20261007, изолированная Docker network/SSH3018. Только в app DB временно изменён username назначения2 на несуществующий тестовый; исходное значение сохранено в памяти и восстановлено при штатном завершении. Учётные записи и конфигурация RouterOS не менялись. Scheduler admission закрыт только внутри isolated backend. Guard подтвердил выделенную БД до команды; предыдущий TX42 был явно подготовлен как DB fixture. + +Реальный POST /tool/bandwidth-test со стороны CHR1 вернул statuses connecting/connecting/authentication failed. Backend отказалHTTP502 с русской подписью «RouterOS отклонил авторизацию bandwidth-test»; это обычная ошибка native test, не persistence unknown. UI показал ту же ошибку, локальная строка error. Независимые API/SQL подтвердили одну history error для фактической пары1→2/TCP/transmit3, TX/RXnull; probe lastStatuserror, предыдущий lastTx42 сохранён/RXnull. [Снимок ошибки320px](ux-ui/screens/speed-auth-error-real-320.png). + +После «Обновить» и reload история error сохранена; nativeCalls1/POST[502], автоповтора нет, JSerrors0/320px fits. HTTP/RouterOS-моков нет. Подготовительный запрос с чрезмерно длинным тестовым именем был отклонён RouterOSHTTP400 по длинеuser до целевого сценария; после исправления fixture выполнен отдельный принятый прогон. Это ручная валидация, не retry продукта. + +Temporaryfrontend/backend/network удалены,3018туннель закрыт, fixtureprobe удалена. В выделенной БД username назначения восстановлен и проверен без вывода секрета; основная история5 сохранена, runtime8782054 исправен. Продуктовый код не менялся, build/deployment не выполнялся. ROS-2 authentication failure принят; unreachable/busy/disconnect/abort и PortalSSO остаются открытыми. Следующий12.5.26 — недоступное назначение bandwidth-test и проверка HTTP/UI/history. План/паспорт/протокол обновлены; локальный коммит без push. diff --git a/docs/ux-ui-test-server.md b/docs/ux-ui-test-server.md index 83df7dca..d6232df2 100644 --- a/docs/ux-ui-test-server.md +++ b/docs/ux-ui-test-server.md @@ -145,3 +145,7 @@ ssh -N -L 3000:127.0.0.1:3000 -L 8000:127.0.0.1:8000 root@161.104.46.222 ## Browser speed context — 2026-10-08 12.5.24 [real browser/native](ux-ui/acceptance/browser-speed-context-2026-10-08.json): смена пары/длительности и удаление независимым HTTP-клиентом до native response; UI refresh/reload сохраняет новый контекст без старых скоростей, history done остаётся. Принятые native2/POST[200,200]/JS0/320fits, без HTTP/RouterOS-моков. Ещё один native command выполнен в подготовительном прогоне с неверным UI selector expectation; application auto retry отсутствует. Temporarycontainers/network/3018 закрыты, testprobe удалена; runtime8782054/основнаяhistory5 сохранены. Следующий12.5.25 — ROS-2 authentication failure. + +## Реальный отказ bandwidth-аутентификации — 2026-10-08 + +12.5.25 [native/API/browser evidence](ux-ui/acceptance/speed-auth-error-2026-10-08.json): authentication failed→HTTP502/русская UI-ошибка, history error/TXRXnull; probe previousTX42 сохранён. Native1/POST[502]/refresh/reload/320fits/JS0, без HTTP/RouterOS-моков. Тестовое имя изменялось только в выделенной app DB и восстановлено; RouterOS accounts не менялись. Temporarycontainers/network/3018 закрыты, testprobe удалена; основнаяhistory5/runtime8782054 сохранены. Подготовительный слишком длинныйuser отклонён по длине; accepted run отдельно. ROS-2 authentication failure принят; остальные native failures ещё открыты. Следующий12.5.26 — unreachable destination. diff --git a/docs/ux-ui/acceptance/speed-auth-error-2026-10-08.json b/docs/ux-ui/acceptance/speed-auth-error-2026-10-08.json new file mode 100644 index 00000000..855e1a78 --- /dev/null +++ b/docs/ux-ui/acceptance/speed-auth-error-2026-10-08.json @@ -0,0 +1,72 @@ +{ + "date": "2026-10-08", + "source": "8782054078304f36cc611876af2d17f87b857f60", + "database": "mmapp_acceptance_20261007", + "httpMocks": false, + "routerOsMocks": false, + "nativeStatuses": [ + "connecting", + "connecting", + "authentication failed" + ], + "httpStatus": 502, + "errorMessage": "RouterOS отклонил авторизацию bandwidth-test", + "runId": "speed-1791426554357", + "snapshot": { + "lastStatus": "error", + "previousTxPreserved": true, + "rx": null + }, + "history": { + "id": "speed-1791426554357", + "probeId": "acceptance-browser-auth", + "srcServerId": "1", + "dstServerId": "2", + "srcInterface": "", + "dstInterface": "", + "protocol": "tcp", + "direction": "transmit", + "durationSec": 3, + "txAvgMbps": null, + "rxAvgMbps": null, + "status": "error", + "error": "RouterOS отклонил авторизацию bandwidth-test", + "createdAt": "2026-10-08T02:29:14.961Z", + "srcAddress": null, + "dstAddress": null, + "srcInterfaceAddress": null, + "dstInterfaceAddress": null, + "afterBtPing": { + "rttMs": null, + "lossPct": null, + "error": null + } + }, + "uiErrorVisible": true, + "reloadPreserved": true, + "mobileFits": true, + "nativeCalls": 1, + "postStatuses": [ + 502 + ], + "pageErrors": [], + "limits": [ + "Destination username changed only in isolated application database, RouterOS account untouched", + "Previous TX42 seeded as DB fixture", + "Auth false on SSH-only test stand, Portal SSO not covered", + "Only authentication failure; unreachable/busy/disconnect/abort pending" + ], + "exploration": { + "preparatoryRequestRejectedForUsernameLength": true, + "acceptedMatrixCommands": 1, + "automaticRetry": false + }, + "cleanup": { + "destinationUsernameRestored": true, + "testProbeRemoved": true, + "temporaryContainersAndNetworkRemoved": true, + "tunnel3018Closed": true, + "mainHistoryCountUnchanged": 5, + "mainVersion": "1.0.0-test.8782054" + } +} diff --git a/docs/ux-ui/screens/speed-auth-error-real-320.png b/docs/ux-ui/screens/speed-auth-error-real-320.png new file mode 100644 index 00000000..dd76ce41 Binary files /dev/null and b/docs/ux-ui/screens/speed-auth-error-real-320.png differ