chore(test): развернуть и проверить пояснение повтора на стенде
This commit is contained in:
1 parent
b55588f29b
commit
1d6f2d598c
10 files changed
+198
-10
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# UX/UI: протокол внешней приёмки 12.5
|
||||
|
||||
Статус на2026-10-08: backend8782054/frontendf194e72, 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).
|
||||
Статус на2026-10-08: backend8782054/frontendb55588f, backend healthy. 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).
|
||||
|
||||
## Паспорт стенда
|
||||
|
||||
@@ -263,3 +263,13 @@ GET outbox: anonymous, неверные issuer/signature, expired и malformed
|
||||
Применён skill ReUI и MCP get_audit_checklist: композиция, установленные primitives, base-nova и semantic tokens сохранены; новых API/стилей/компонентов нет. Ошибка объявляется существующим role=alert, реальные секреты не добавлены; подтверждение риска и управление фокусом покрыты профильными тестами. Изменение пока локальное, удалённый frontend остаётсяf194e72.
|
||||
|
||||
Следующий12.5.45 — production Docker build нового frontend, обновление тестового стенда и повтор сценария HTTP500 после COMMIT на отдельной БД. Локальный коммит без push.
|
||||
|
||||
## 12.5.45 — production frontend с пояснением неизвестного исхода (2026-10-08)
|
||||
|
||||
[Развёртывание](ux-ui/acceptance/deployed-frontend-b55588f-2026-10-08.json): чистый frontend Git archive из b55588f29be0de02639bc795801e55b89f03aad7, SHA256 f18be60c1dc8c581e26040003d2c655ee2ae1da73044d761b166ac10dca71a7e совпал после передачи. Docker context повторяет frontend staging main workflow, workspaces ограничены packages; production build, полный TypeScript-check внутри образа и export завершились с exit0. Образ mmapp-test/frontend:ux-b55588f, imageId sha256:c3ce5aa8a3dbed7eaab23178cecbce2b2c1a27c31678590b54bc27db5820e5b1; исходный frontendf194e72 сохранён для отката. .env изменён только MMAPP_IMAGE_TAG, backend8782054 прежний и healthy, frontend опубликован исключительно127.0.0.1:3000. Git/image push не выполнялся.
|
||||
|
||||
[Повтор реального browser retry](ux-ui/acceptance/browser-outbox-retry-b55588f-2026-10-08.json): новый production frontend и прежний backend на отдельной PostgreSQL БД, без browser HTTP mocks. POST200/500, второй ответ потерян управляемым исключением после фактического COMMIT. Новый текст прямо в диалоге объясняет неподтверждённый исход и необходимость проверки; checkbox/форма/блокировка сохранены. Обе fixture pending/version1/retry_count0; история0, Telegram calls0. Refresh/reload сохраняют checkpoint, явная проверка снимает его без нового POST. Панель/диалог320px помещаются, JS errors0. [Диалог](ux-ui/screens/outbox-retry-explained-real-320-2026-10-08.png) и [checkpoint](ux-ui/screens/outbox-retry-checkpoint-b55588f-real-320-2026-10-08.png) просмотрены.
|
||||
|
||||
[Smoke основной схемы](ux-ui/acceptance/deploy-browser-b55588f-2026-10-08.json): dashboard, servers, uptime speed, settings, filters, alerts возвращают200,320px fit, JS errors0/API errors0. Независимый контроль основной БД до/после совпадает: servers2/enabled2, speedHistory9, retention14, migrations9. Новые native тесты или сообщения не запускались. Тестовые контейнеры/сеть/туннель3018 удалены, backend fixture завершился exit0, независимый SQL подтвердил ноль его outbox-строк. Основной туннель3000 сохранён.
|
||||
|
||||
Границы: управляемый HTTP500 после COMMIT вместо физического сетевого разрыва; синтетические записи и AUTH_REQUIRED=false в изолированном browser стенде. Реальные Telegram доставка/чат, Portal SSO и multi-instance остаются отдельной приёмкой. Уточнены текущие версии и устаревшая сводка плана/паспорта, исторические записи сохранены. Следующий12.5.46 — браузерные права очереди с настоящими JWT. Локальный коммит без push.
|
||||
+3
-3
@@ -1,14 +1,14 @@
|
||||
# План реализации UX/UI по пятичасовым окнам
|
||||
|
||||
Актуальное продолжение 2026-10-08: 12.5.44 уточнил ошибку неизвестного исхода в диалоге Telegram retry: пояснение блокировки и необходимости проверки очереди/чата видно сразу вместе с деталями API. Подтверждённые отказы сохраняют прежнее поведение. Playwright8/8, scoped typecheck и lint passed, ReUI checklist проверен. Следующий 12.5.45 — сборка/развёртывание frontend и повтор реального HTTP/PG сценария. Пока runtime backend8782054/frontendf194e72 прежний; 12.5 открыт.
|
||||
Актуальное продолжение 2026-10-08: 12.5.45 собрал и развернул frontendb55588f с пояснением неподтверждённого retry. Production build/full TypeScript passed; реальные browser HTTP/PG POST200/500, checkpoint/reload/320px passed; шесть основных экранов без JS/API ошибок. Backend8782054 и контрольные данные основной БД сохранены. Следующий12.5.46 — браузерные права очереди с настоящими JWT. Telegram доставка, Portal SSO и другие внешние ограничения остаются открытыми.
|
||||
|
||||
Общий план проекта 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. Реальный отказ bandwidth-аутентификации принят в12.5.25. 12.5.26 обнаружил и локально исправил30s timeout Next proxy. Исправленный frontendaa7dbdf развёрнут и проверен в12.5.27; backend8782054 прежний. ROS-3 reverse2→1/native-afterping принят в12.5.28; forward timeout открыт. Форма frontendf194e72 проверена без моков и развёрнута в12.5.29. Read-only диагностика12.5.30 не установила причину. 12.5.31 выявил текущий отказ авторизацииCHR2 вCLI/REST/SSH. В12.5.32 пользователь восстановил доступCHR2; dashboard/native1→2 passed, блокировка снята. TCP receive/both подтверждены после восстановлениядоступа в12.5.33; UDP transmit3s/API/history/UI подтверждены в12.5.34; Q-6productionenqueue/PG race принят в12.5.35; Q-4 realHTTP/PG race принят в12.5.36; Q-1productionclaim/PG/interceptedsender принят в12.5.37; 12.5.38 подтвердил SQL settlement rollback и сохранение sent после ошибки подтверждения COMMIT; 12.5.39 подтвердил unknown/processing без автоматического повтора при неопределённом ответе; 12.5.40 подтвердил задержку повтора и failed после исчерпания попыток при явном отказе; 12.5.41 подтвердил браузерные состояния очереди на HTTP/PG; 12.5.42 подтвердил production JWT/RBAC очереди на PostgreSQL; 12.5.43 подтвердил браузерный retry и checkpoint при потере HTTP receipt; 12.5.44 добавил ясное пояснение в диалоге, проверено локально; следующий 12.5.45 — production frontend build/deploy и реальная HTTP/PG проверка. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) сохраняют точные доказательства и ограничения.
|
||||
Этапы0–11 завершены в описанных локальных границах. Этап12 открыт. На тестовом сервере161.104.46.222 работают backend8782054/frontendb55588f и два 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 — браузерные права очереди с настоящими JWT. Реальная Telegram доставка, Portal SSO, физический TCP disconnect, multi-instance и остальные профильные сетевые сценарии остаются открытыми. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) содержат доказательства и ограничения.
|
||||
|
||||
Реальные pg_dump/pg_restore, PG rollback и остановка UDP worker требуют внешней приёмки. Датированные продолжения ниже — история; точный следующий шаг также указан в начале [журнала](ux-ui-progress.md).
|
||||
Выполненные внешние сценарии не заменяют приёмку оставшихся интеграций и условий эксплуатации. Датированные продолжения ниже — история; точный следующий шаг указан в начале [журнала](ux-ui-progress.md).
|
||||
|
||||
## Цель и обязательные требования
|
||||
|
||||
|
||||
+12
-2
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-08: 12.5.44 уточнил ошибку неизвестного исхода в диалоге Telegram retry: пояснение блокировки и необходимости проверки очереди/чата видно сразу вместе с деталями API. Подтверждённые отказы сохраняют прежнее поведение. Playwright8/8, scoped typecheck и lint passed, ReUI checklist проверен. Следующий 12.5.45 — сборка/развёртывание frontend и повтор реального HTTP/PG сценария. Пока runtime backend8782054/frontendf194e72 прежний; 12.5 открыт.
|
||||
Актуальное продолжение 2026-10-08: 12.5.45 собрал и развернул frontendb55588f с пояснением неподтверждённого retry. Production build/full TypeScript passed; реальные browser HTTP/PG POST200/500, checkpoint/reload/320px passed; шесть основных экранов без JS/API ошибок. Backend8782054 и контрольные данные основной БД сохранены. Следующий12.5.46 — браузерные права очереди с настоящими JWT. Telegram доставка, Portal SSO и другие внешние ограничения остаются открытыми.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
|
||||
|
||||
@@ -32,7 +32,17 @@
|
||||
| 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,main1186/1186,context221/221. Этап остаётся в работе: стенд12.5.1–3 развёрнут,bootstrap/smoke проверены;остальные сценарии12.5 не выполнены. |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–45 и ограничения ниже. Runtime backend8782054/frontendb55588f. |
|
||||
|
||||
## 12.5.45 — production frontend с пояснением неизвестного исхода (2026-10-08)
|
||||
|
||||
[Развёртывание](ux-ui/acceptance/deployed-frontend-b55588f-2026-10-08.json): чистый frontend Git archive из b55588f29be0de02639bc795801e55b89f03aad7, SHA256 f18be60c1dc8c581e26040003d2c655ee2ae1da73044d761b166ac10dca71a7e совпал после передачи. Docker context повторяет frontend staging main workflow, workspaces ограничены packages; production build, полный TypeScript-check внутри образа и export завершились с exit0. Образ mmapp-test/frontend:ux-b55588f, imageId sha256:c3ce5aa8a3dbed7eaab23178cecbce2b2c1a27c31678590b54bc27db5820e5b1; исходный frontendf194e72 сохранён для отката. .env изменён только MMAPP_IMAGE_TAG, backend8782054 прежний и healthy, frontend опубликован исключительно127.0.0.1:3000. Git/image push не выполнялся.
|
||||
|
||||
[Повтор реального browser retry](ux-ui/acceptance/browser-outbox-retry-b55588f-2026-10-08.json): новый production frontend и прежний backend на отдельной PostgreSQL БД, без browser HTTP mocks. POST200/500, второй ответ потерян управляемым исключением после фактического COMMIT. Новый текст прямо в диалоге объясняет неподтверждённый исход и необходимость проверки; checkbox/форма/блокировка сохранены. Обе fixture pending/version1/retry_count0; история0, Telegram calls0. Refresh/reload сохраняют checkpoint, явная проверка снимает его без нового POST. Панель/диалог320px помещаются, JS errors0. [Диалог](ux-ui/screens/outbox-retry-explained-real-320-2026-10-08.png) и [checkpoint](ux-ui/screens/outbox-retry-checkpoint-b55588f-real-320-2026-10-08.png) просмотрены.
|
||||
|
||||
[Smoke основной схемы](ux-ui/acceptance/deploy-browser-b55588f-2026-10-08.json): dashboard, servers, uptime speed, settings, filters, alerts возвращают200,320px fit, JS errors0/API errors0. Независимый контроль основной БД до/после совпадает: servers2/enabled2, speedHistory9, retention14, migrations9. Новые native тесты или сообщения не запускались. Тестовые контейнеры/сеть/туннель3018 удалены, backend fixture завершился exit0, независимый SQL подтвердил ноль его outbox-строк. Основной туннель3000 сохранён.
|
||||
|
||||
Границы: управляемый HTTP500 после COMMIT вместо физического сетевого разрыва; синтетические записи и AUTH_REQUIRED=false в изолированном browser стенде. Реальные Telegram доставка/чат, Portal SSO и multi-instance остаются отдельной приёмкой. Уточнены текущие версии и устаревшая сводка плана/паспорта, исторические записи сохранены. Следующий12.5.46 — браузерные права очереди с настоящими JWT. Локальный коммит без push.
|
||||
|
||||
## 12.5.44 — понятное пояснение неподтверждённого повтора в диалоге (2026-10-08)
|
||||
|
||||
|
||||
+11
-1
@@ -1,6 +1,6 @@
|
||||
# Этап 12: итоговая приёмка UX/UI
|
||||
|
||||
Актуальное продолжение 2026-10-08: 12.5.44 уточнил ошибку неизвестного исхода в диалоге Telegram retry: пояснение блокировки и необходимости проверки очереди/чата видно сразу вместе с деталями API. Подтверждённые отказы сохраняют прежнее поведение. Playwright8/8, scoped typecheck и lint passed, ReUI checklist проверен. Следующий 12.5.45 — сборка/развёртывание frontend и повтор реального HTTP/PG сценария. Пока runtime backend8782054/frontendf194e72 прежний; 12.5 открыт.
|
||||
Актуальное продолжение 2026-10-08: 12.5.45 собрал и развернул frontendb55588f с пояснением неподтверждённого retry. Production build/full TypeScript passed; реальные browser HTTP/PG POST200/500, checkpoint/reload/320px passed; шесть основных экранов без JS/API ошибок. Backend8782054 и контрольные данные основной БД сохранены. Следующий12.5.46 — браузерные права очереди с настоящими JWT. Telegram доставка, Portal SSO и другие внешние ограничения остаются открытыми.
|
||||
|
||||
План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push.
|
||||
|
||||
@@ -1428,3 +1428,13 @@ GET outbox: anonymous, неверные issuer/signature, expired и malformed
|
||||
Применён skill ReUI и MCP get_audit_checklist: композиция, установленные primitives, base-nova и semantic tokens сохранены; новых API/стилей/компонентов нет. Ошибка объявляется существующим role=alert, реальные секреты не добавлены; подтверждение риска и управление фокусом покрыты профильными тестами. Изменение пока локальное, удалённый frontend остаётсяf194e72.
|
||||
|
||||
Следующий12.5.45 — production Docker build нового frontend, обновление тестового стенда и повтор сценария HTTP500 после COMMIT на отдельной БД. Локальный коммит без push.
|
||||
|
||||
## 12.5.45 — production frontend с пояснением неизвестного исхода (2026-10-08)
|
||||
|
||||
[Развёртывание](ux-ui/acceptance/deployed-frontend-b55588f-2026-10-08.json): чистый frontend Git archive из b55588f29be0de02639bc795801e55b89f03aad7, SHA256 f18be60c1dc8c581e26040003d2c655ee2ae1da73044d761b166ac10dca71a7e совпал после передачи. Docker context повторяет frontend staging main workflow, workspaces ограничены packages; production build, полный TypeScript-check внутри образа и export завершились с exit0. Образ mmapp-test/frontend:ux-b55588f, imageId sha256:c3ce5aa8a3dbed7eaab23178cecbce2b2c1a27c31678590b54bc27db5820e5b1; исходный frontendf194e72 сохранён для отката. .env изменён только MMAPP_IMAGE_TAG, backend8782054 прежний и healthy, frontend опубликован исключительно127.0.0.1:3000. Git/image push не выполнялся.
|
||||
|
||||
[Повтор реального browser retry](ux-ui/acceptance/browser-outbox-retry-b55588f-2026-10-08.json): новый production frontend и прежний backend на отдельной PostgreSQL БД, без browser HTTP mocks. POST200/500, второй ответ потерян управляемым исключением после фактического COMMIT. Новый текст прямо в диалоге объясняет неподтверждённый исход и необходимость проверки; checkbox/форма/блокировка сохранены. Обе fixture pending/version1/retry_count0; история0, Telegram calls0. Refresh/reload сохраняют checkpoint, явная проверка снимает его без нового POST. Панель/диалог320px помещаются, JS errors0. [Диалог](ux-ui/screens/outbox-retry-explained-real-320-2026-10-08.png) и [checkpoint](ux-ui/screens/outbox-retry-checkpoint-b55588f-real-320-2026-10-08.png) просмотрены.
|
||||
|
||||
[Smoke основной схемы](ux-ui/acceptance/deploy-browser-b55588f-2026-10-08.json): dashboard, servers, uptime speed, settings, filters, alerts возвращают200,320px fit, JS errors0/API errors0. Независимый контроль основной БД до/после совпадает: servers2/enabled2, speedHistory9, retention14, migrations9. Новые native тесты или сообщения не запускались. Тестовые контейнеры/сеть/туннель3018 удалены, backend fixture завершился exit0, независимый SQL подтвердил ноль его outbox-строк. Основной туннель3000 сохранён.
|
||||
|
||||
Границы: управляемый HTTP500 после COMMIT вместо физического сетевого разрыва; синтетические записи и AUTH_REQUIRED=false в изолированном browser стенде. Реальные Telegram доставка/чат, Portal SSO и multi-instance остаются отдельной приёмкой. Уточнены текущие версии и устаревшая сводка плана/паспорта, исторические записи сохранены. Следующий12.5.46 — браузерные права очереди с настоящими JWT. Локальный коммит без push.
|
||||
@@ -1,6 +1,6 @@
|
||||
# Тестовый сервер UX/UI — 2026-10-08
|
||||
|
||||
Сервер161.104.46.222 предоставлен пользователем для временного тестирования с последующим удалением. Подготовка выполнена по структуре deploy/docker-compose.yml из main. Приложение собрано и запущено. Активный backend source8782054078304f36cc611876af2d17f87b857f60/version1.0.0-test.8782054 healthy. Frontend sourcef194e7269b1e0276f257b3fda28413958907a503/version1.0.0-test.f194e72 обновлён в12.5.29.
|
||||
Сервер161.104.46.222 предоставлен пользователем для временного тестирования с последующим удалением. Подготовка выполнена по структуре deploy/docker-compose.yml из main. Приложение собрано и запущено. Активный backend source8782054078304f36cc611876af2d17f87b857f60/version1.0.0-test.8782054 healthy. Frontend sourceb55588f29be0de02639bc795801e55b89f03aad7/version1.0.0-test.b55588f обновлён в12.5.45.
|
||||
|
||||
| Параметр | Проверенное состояние |
|
||||
| --- | --- |
|
||||
@@ -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-8782054 и mmapp-test/frontend:ux-f194e72;запущены |
|
||||
| Образы приложения | mmapp-test/backend:ux-8782054 и mmapp-test/frontend:ux-b55588f;запущены |
|
||||
|
||||
Compose SHA256:3052bd6ab5d9865f97605cebfb5ff27a4410cd3357b81153a65a87fb7c92582f. OptionalBACKEND_IMAGE_TAG позволяетобновлятьbackendотдельно. Локальный и удалённый файлы совпали. Шаблоны: [Compose](../deploy/docker-compose.test.yml), [env без секретов](../deploy/env.test.example).
|
||||
|
||||
@@ -47,7 +47,7 @@ ssh -N -L 3000:127.0.0.1:3000 -L 8000:127.0.0.1:8000 [email protected]
|
||||
|
||||
[Первый smoke](ux-ui/acceptance/test-server-smoke-2026-10-07.json) обнаружил PostgreSQL timestamp в outer sampledAt Internet path. Исправлено producer ISO преобразование,без ослабленияfrontend. [Итоговый smoke](ux-ui/acceptance/test-server-smoke-fixed-2026-10-07.json):3экрана200,54чтенияAPI200,безJSerrors,320px fits,Internet path подтверждён. HTTP-моков нет. Первое повторное ожидание подписи свежести исправлено раскрытием штатного блока;ошибка данных послеpatch отсутствует. [Дашборд320px](ux-ui/screens/test-server-dashboard-320-2026-10-07.png) просмотрен.
|
||||
|
||||
Активные image IDs:
|
||||
Image IDs при первом smoke12.5.3 (исторический снимок):
|
||||
|
||||
- backend: sha256:57878e320b7272edcc6efe1f6f5c140295510c85cb79b8ca12a900f7654cd917
|
||||
- frontend: sha256:bfba2785b33a72965a029a3692178ba69c80eca75a12934c1dcc04c7970db53f
|
||||
@@ -271,3 +271,13 @@ GET outbox: anonymous, неверные issuer/signature, expired и malformed
|
||||
Применён skill ReUI и MCP get_audit_checklist: композиция, установленные primitives, base-nova и semantic tokens сохранены; новых API/стилей/компонентов нет. Ошибка объявляется существующим role=alert, реальные секреты не добавлены; подтверждение риска и управление фокусом покрыты профильными тестами. Изменение пока локальное, удалённый frontend остаётсяf194e72.
|
||||
|
||||
Следующий12.5.45 — production Docker build нового frontend, обновление тестового стенда и повтор сценария HTTP500 после COMMIT на отдельной БД. Локальный коммит без push.
|
||||
|
||||
## 12.5.45 — production frontend с пояснением неизвестного исхода (2026-10-08)
|
||||
|
||||
[Развёртывание](ux-ui/acceptance/deployed-frontend-b55588f-2026-10-08.json): чистый frontend Git archive из b55588f29be0de02639bc795801e55b89f03aad7, SHA256 f18be60c1dc8c581e26040003d2c655ee2ae1da73044d761b166ac10dca71a7e совпал после передачи. Docker context повторяет frontend staging main workflow, workspaces ограничены packages; production build, полный TypeScript-check внутри образа и export завершились с exit0. Образ mmapp-test/frontend:ux-b55588f, imageId sha256:c3ce5aa8a3dbed7eaab23178cecbce2b2c1a27c31678590b54bc27db5820e5b1; исходный frontendf194e72 сохранён для отката. .env изменён только MMAPP_IMAGE_TAG, backend8782054 прежний и healthy, frontend опубликован исключительно127.0.0.1:3000. Git/image push не выполнялся.
|
||||
|
||||
[Повтор реального browser retry](ux-ui/acceptance/browser-outbox-retry-b55588f-2026-10-08.json): новый production frontend и прежний backend на отдельной PostgreSQL БД, без browser HTTP mocks. POST200/500, второй ответ потерян управляемым исключением после фактического COMMIT. Новый текст прямо в диалоге объясняет неподтверждённый исход и необходимость проверки; checkbox/форма/блокировка сохранены. Обе fixture pending/version1/retry_count0; история0, Telegram calls0. Refresh/reload сохраняют checkpoint, явная проверка снимает его без нового POST. Панель/диалог320px помещаются, JS errors0. [Диалог](ux-ui/screens/outbox-retry-explained-real-320-2026-10-08.png) и [checkpoint](ux-ui/screens/outbox-retry-checkpoint-b55588f-real-320-2026-10-08.png) просмотрены.
|
||||
|
||||
[Smoke основной схемы](ux-ui/acceptance/deploy-browser-b55588f-2026-10-08.json): dashboard, servers, uptime speed, settings, filters, alerts возвращают200,320px fit, JS errors0/API errors0. Независимый контроль основной БД до/после совпадает: servers2/enabled2, speedHistory9, retention14, migrations9. Новые native тесты или сообщения не запускались. Тестовые контейнеры/сеть/туннель3018 удалены, backend fixture завершился exit0, независимый SQL подтвердил ноль его outbox-строк. Основной туннель3000 сохранён.
|
||||
|
||||
Границы: управляемый HTTP500 после COMMIT вместо физического сетевого разрыва; синтетические записи и AUTH_REQUIRED=false в изолированном browser стенде. Реальные Telegram доставка/чат, Portal SSO и multi-instance остаются отдельной приёмкой. Уточнены текущие версии и устаревшая сводка плана/паспорта, исторические записи сохранены. Следующий12.5.46 — браузерные права очереди с настоящими JWT. Локальный коммит без push.
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"date": "2026-10-08",
|
||||
"backendSource": "8782054",
|
||||
"frontendSource": "b55588f",
|
||||
"database": "mmapp_acceptance_20261007",
|
||||
"browserHttpMocks": false,
|
||||
"sqlFixture": true,
|
||||
"posts": [
|
||||
{
|
||||
"status": 200,
|
||||
"body": {
|
||||
"expectedVersion": 0,
|
||||
"acknowledgedDuplicateRisk": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"status": 500,
|
||||
"body": {
|
||||
"expectedVersion": 0,
|
||||
"acknowledgedDuplicateRisk": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"confirmedQueueCaptionDoesNotClaimDelivery": true,
|
||||
"unconfirmedReceipt": {
|
||||
"httpStatus": 500,
|
||||
"actualCommittedRows": [
|
||||
{
|
||||
"id": "acceptance-browser-retry-1791445074699-confirmed",
|
||||
"status": "pending",
|
||||
"resolution_version": 1,
|
||||
"retry_count": 0
|
||||
},
|
||||
{
|
||||
"id": "acceptance-browser-retry-1791445074699-unconfirmed",
|
||||
"status": "pending",
|
||||
"resolution_version": 1,
|
||||
"retry_count": 0
|
||||
}
|
||||
],
|
||||
"dialogPreserved": true,
|
||||
"riskCheckboxPreserved": true,
|
||||
"retryDisabled": true,
|
||||
"checkpointSurvivesRefreshAndReload": true,
|
||||
"explicitReviewClearsCheckpointWithoutPost": true,
|
||||
"unknownOutcomeExplainedInsideDialog": true
|
||||
},
|
||||
"historyRows": 0,
|
||||
"externalSenderCalls": 0,
|
||||
"retryPosts": 2,
|
||||
"lostReceipts": 1,
|
||||
"mobileFits": true,
|
||||
"mobileDialogFits": true,
|
||||
"pageErrors": [],
|
||||
"limits": [
|
||||
"Synthetic queue rows; scheduler stopped; no real Telegram send or chat check",
|
||||
"Backend wrapper throws after actual retry transaction committed: real HTTP500, not physical network disconnect",
|
||||
"Auth false on isolated loopback stand; Portal SSO not tested"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"date": "2026-10-08",
|
||||
"backendSource": "8782054078304f36cc611876af2d17f87b857f60",
|
||||
"frontendSource": "b55588f29be0de02639bc795801e55b89f03aad7",
|
||||
"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,48 @@
|
||||
{
|
||||
"date": "2026-10-08",
|
||||
"frontendSource": "b55588f29be0de02639bc795801e55b89f03aad7",
|
||||
"backendSource": "8782054078304f36cc611876af2d17f87b857f60",
|
||||
"frontendImage": "mmapp-test/frontend:ux-b55588f",
|
||||
"frontendImageId": "sha256:c3ce5aa8a3dbed7eaab23178cecbce2b2c1a27c31678590b54bc27db5820e5b1",
|
||||
"backendImageId": "sha256:7862c9b40a934914110da58a814d3b4770e923016b87f36f9252f8050961e79a",
|
||||
"backendHealthy": true,
|
||||
"health": {
|
||||
"status": "ok",
|
||||
"timestamp": "2026-10-08T07:39:25.082Z",
|
||||
"version": "1.0.0-test.8782054",
|
||||
"eventLoopDelayMs": 20,
|
||||
"flowWorker": {
|
||||
"alive": false,
|
||||
"bound": false,
|
||||
"pendingSize": 0,
|
||||
"dropped": 0,
|
||||
"packetsReceived": 0
|
||||
}
|
||||
},
|
||||
"controlBefore": {
|
||||
"servers": 2,
|
||||
"enabledServers": 2,
|
||||
"speedHistory": 9,
|
||||
"retentionDays": 14,
|
||||
"migrations": 9
|
||||
},
|
||||
"controlAfter": {
|
||||
"servers": 2,
|
||||
"enabledServers": 2,
|
||||
"speedHistory": 9,
|
||||
"retentionDays": 14,
|
||||
"migrations": 9
|
||||
},
|
||||
"controlsUnchanged": true,
|
||||
"frontendPorts": {
|
||||
"3000/tcp": [
|
||||
{
|
||||
"HostIp": "127.0.0.1",
|
||||
"HostPort": "3000"
|
||||
}
|
||||
]
|
||||
},
|
||||
"buildExit": 0,
|
||||
"sourceArchiveSha256": "f18be60c1dc8c581e26040003d2c655ee2ae1da73044d761b166ac10dca71a7e",
|
||||
"push": false
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 37 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
Reference in new issue
Block a user