chore(test): подтвердить смену speed-контекста вторым клиентом в браузере

This commit is contained in:
Denozordec committed 2026-10-08 09:24:45 +07:00
1 parent 01061b4406
commit c0a32e8ed2
6 files changed
+137 -5

No files matched your search

+5 -1
View File
@@ -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 race открыт. 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. PortalSSO, физический TCP disconnect, мультиэкземпляры и остальные ROS/Q/интеграции остаются открытыми. [Паспорт](ux-ui-test-server.md), [журнал](ux-ui-progress.md).
## Паспорт стенда
@@ -133,3 +133,7 @@ BGP-prefix evaluator, отдельное live GRE расписание и recove
## Real speed context — 2026-10-08
12.5.23 [ROS-8/9 API/SQL/native evidence](ux-ui/acceptance/speed-context-2026-10-08.json): семь preflight409/bandwidth0, enable/reorder сохраняют fixture0; три TCPtransmit3s теста при late change/delete/row lock. Фактическая history done сохранена без stale probe association, новый snapshot null. Scheduler admission закрыт в isolated process до fixture setup; основной backend8782054healthy/история5 сохранены, testprobes0/containerудалён. Browser race и multi-instance открыты. Следующий12.5.24 — browser-смена контекста вторым клиентом.
## 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.
+2 -2
View File
@@ -1,12 +1,12 @@
# План реализации UX/UI по пятичасовым окнам
Актуальное продолжение 2026-10-08: 12.5.23 завершён — ROS-8/9 проверены на реальном PG/native в выделенной БД: семь preflight409 без bandwidth-команды, zero/enable/reorder, поздняя смена и удаление пробы, два писателя под row lock. История фактического запуска сохранена без stale probe association; новый snapshot неизвестен. Runtime8782054 healthy. Следующий12.5.24 — browser-сценарий изменения speed-контекста вторым клиентом во время теста. Полный12.5 открыт.
Актуальное продолжение 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 открыт.
Общий план проекта 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 приняты в описанных границах. Следующий12.5.24 — browser-смена контекста вторым клиентом во время native-теста. [Протокол](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. Следующий12.5.25 — ROS-2: отказ bandwidth-аутентификации и сохранение результата/ошибки. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) сохраняют точные доказательства и ограничения.
Реальные pg_dump/pg_restore, PG rollback и остановка UDP worker требуют внешней приёмки. Датированные продолжения ниже — история; точный следующий шаг также указан в начале [журнала](ux-ui-progress.md).
+13 -1
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-08: 12.5.23 завершён — ROS-8/9 проверены на реальном PG/native в выделенной БД: семь preflight409 без bandwidth-команды, zero/enable/reorder, поздняя смена и удаление пробы, два писателя под row lock. История фактического запуска сохранена без stale probe association; новый snapshot неизвестен. Runtime8782054 healthy. Следующий12.5.24 — browser-сценарий изменения speed-контекста вторым клиентом во время теста. Полный12.5 открыт.
Актуальное продолжение 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 открыт.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -34,6 +34,18 @@
| 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.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.
Два принятых сценария: смена пары1→2 на2→1 и длительности3→4; удаление пробы. Второй клиент завершил изменение до получения native response (проверено счётчиком/finished в wrapper, который возвращает настоящий RouterOS ответ). В обоих случаях исходный CHR1→CHR2 TCP transmit3s завершилсяHTTP200; history done сохранила фактическую пару и длительность3, probeIdnull. После «Обновить» новая карточка показывала4s без прежнего значения Мбит/с; после удаления показано «Нет speed-проб», история остаётся. Reload сохранил оба результата,320px fits. Принятая матрица: nativeCalls2, POSTstatuses[200,200], JSerrors0, автоповтора нет.
Первый подготовительный прогон выполнил ещё одну короткую команду, затем тест отказал из-за неверного ожидания подписи «Последний запуск: —», которой в текущей карточке нет. Исправлено ожидание harness: отсутствие старого замера. Это ручной повтор валидации; всего на временном стенде три native commands, два в принятой матрице. Продуктовый код не менялся, новый build/deployment не требовался. Значения TX2938.274608/2769.82096 и RXnull — функциональная проверка, не benchmark.
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.23 — реальный конфликт speed-контекста и конкурентные записи (2026-10-08)
[Evidence ROS-8/9](ux-ui/acceptance/speed-context-2026-10-08.json): актуальный backend image/source8782054, PostgreSQL18.6/mmapp_acceptance_20261007, реальные HTTP PUT/POST и CHR1→CHR2. HTTP/RouterOS ответы не подменялись; wrapper только считал bandwidth-команды и отмечал их начало/окончание. Перед fixture setup проверены имя выделенной БД и отсутствие проб.
+13 -1
View File
@@ -1,6 +1,6 @@
# Этап 12: итоговая приёмка UX/UI
Актуальное продолжение 2026-10-08: 12.5.23 завершён — ROS-8/9 проверены на реальном PG/native в выделенной БД: семь preflight409 без bandwidth-команды, zero/enable/reorder, поздняя смена и удаление пробы, два писателя под row lock. История фактического запуска сохранена без stale probe association; новый snapshot неизвестен. Runtime8782054 healthy. Следующий12.5.24 — browser-сценарий изменения speed-контекста вторым клиентом во время теста. Полный12.5 открыт.
Актуальное продолжение 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 открыт.
План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push.
@@ -1196,3 +1196,15 @@ PG-8 browser unknown/reconciliation принят в этих границах. P
После принятой матрицы удалены временные пробы, count0; контейнер завершён и удалён --rm, locks освобождены, scheduler/listener/background/pool штатно закрыты. Исторические результаты остались только в выделенной БД. Основной backend8782054healthy/version1.0.0-test.8782054 и пять записей основной speed-истории сохранены. Продуктовый код не менялся; повторная сборка не требовалась.
ROS-8/9 приняты в перечисленных API/SQL/native границах: отдельные поля проверены preflight, поздняя смена объединяет параметры, row lock — один backend. Browser race, каждый поздний параметр по отдельности и multi-instance не проверены. Следующий12.5.24 — browser-сценарий смены speed-контекста вторым клиентом во время теста. Полный12.5 открыт; план/паспорт/протокол обновлены, локальный коммит без 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.
Два принятых сценария: смена пары1→2 на2→1 и длительности3→4; удаление пробы. Второй клиент завершил изменение до получения native response (проверено счётчиком/finished в wrapper, который возвращает настоящий RouterOS ответ). В обоих случаях исходный CHR1→CHR2 TCP transmit3s завершилсяHTTP200; history done сохранила фактическую пару и длительность3, probeIdnull. После «Обновить» новая карточка показывала4s без прежнего значения Мбит/с; после удаления показано «Нет speed-проб», история остаётся. Reload сохранил оба результата,320px fits. Принятая матрица: nativeCalls2, POSTstatuses[200,200], JSerrors0, автоповтора нет.
Первый подготовительный прогон выполнил ещё одну короткую команду, затем тест отказал из-за неверного ожидания подписи «Последний запуск: —», которой в текущей карточке нет. Исправлено ожидание harness: отсутствие старого замера. Это ручной повтор валидации; всего на временном стенде три native commands, два в принятой матрице. Продуктовый код не менялся, новый build/deployment не требовался. Значения TX2938.274608/2769.82096 и RXnull — функциональная проверка, не benchmark.
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.
+4
View File
@@ -141,3 +141,7 @@ ssh -N -L 3000:127.0.0.1:3000 -L 8000:127.0.0.1:8000 root@161.104.46.222
## Real speed context — 2026-10-08
12.5.23 [ROS-8/9 API/SQL/native evidence](ux-ui/acceptance/speed-context-2026-10-08.json): семь preflight409/bandwidth0, enable/reorder сохраняют fixture0; три TCPtransmit3s теста при late change/delete/row lock. Фактическая history done сохранена без stale probe association, новый snapshot null. Scheduler admission закрыт в isolated process до fixture setup; основной backend8782054healthy/история5 сохранены, testprobes0/containerудалён. Browser race и multi-instance открыты. Следующий12.5.24 — browser-смена контекста вторым клиентом.
## 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.
@@ -0,0 +1,100 @@
{
"date": "2026-10-08",
"source": "8782054078304f36cc611876af2d17f87b857f60",
"database": "mmapp_acceptance_20261007",
"httpMocks": false,
"routerOsMocks": false,
"cases": [
{
"case": "change",
"status": 200,
"mutationBeforeNativeResponse": true,
"actualHistory": {
"id": "speed-1791426153788",
"probeId": null,
"srcServerId": "1",
"dstServerId": "2",
"srcInterface": "",
"dstInterface": "",
"protocol": "tcp",
"direction": "transmit",
"durationSec": 3,
"txAvgMbps": 2938.2746079999997,
"rxAvgMbps": null,
"status": "done",
"error": null,
"createdAt": "2026-10-08T02:22:39.377Z",
"srcAddress": "194.226.121.150",
"dstAddress": "104.165.244.7",
"srcInterfaceAddress": null,
"dstInterfaceAddress": null,
"afterBtPing": {
"rttMs": 53,
"lossPct": 0,
"error": null
}
},
"newContextNotOverwritten": true,
"reloadPreserved": true,
"mobileFits": true
},
{
"case": "delete",
"status": 200,
"mutationBeforeNativeResponse": true,
"actualHistory": {
"id": "speed-1791426165523",
"probeId": null,
"srcServerId": "1",
"dstServerId": "2",
"srcInterface": "",
"dstInterface": "",
"protocol": "tcp",
"direction": "transmit",
"durationSec": 3,
"txAvgMbps": 2769.82096,
"rxAvgMbps": null,
"status": "done",
"error": null,
"createdAt": "2026-10-08T02:22:51.142Z",
"srcAddress": "194.226.121.150",
"dstAddress": "104.165.244.7",
"srcInterfaceAddress": null,
"dstInterfaceAddress": null,
"afterBtPing": {
"rttMs": 53,
"lossPct": 0,
"error": null
}
},
"newContextNotOverwritten": true,
"reloadPreserved": true,
"mobileFits": true
}
],
"nativeCalls": 2,
"postStatuses": [
200,
200
],
"pageErrors": [],
"limits": [
"First client uses UI; independent second browser context uses real HTTP PUT",
"Scheduler admission paused in isolated backend only",
"Two short real CHR TCP transmit3s tests; not benchmark",
"Auth false, no Portal SSO or multi-instance proof"
],
"exploration": {
"nativeCallsBeforeAcceptedMatrix": 1,
"totalNativeCallsOnTemporaryStand": 3,
"reason": "Initial test expected a caption absent from current UI; corrected assertion verifies absence of old measurement. Manual validation rerun, no application automatic retry."
},
"cleanup": {
"testProbeRemoved": true,
"temporaryContainersAndNetworkRemoved": true,
"temporaryTunnel3018Closed": true,
"mainHistoryCountUnchanged": 5,
"mainVersion": "1.0.0-test.8782054",
"mainHealth": "ok"
}
}