fix(certificates): подтверждать результат продления и исключить выключенные серверы
This commit is contained in:
1 parent
0563dd7cbd
commit
3d23ae4be4
16 files changed
+428
-155
No files matched your search
+14
-2
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-14: 251 — форма выпуска раскрывает включение www-ssl/api-ssl и DNS A-sync, trust-store switches имеют доступные имена. Общий адаптер ReUI Stepper исправляет ARIA/уникальные ID в сертификатах, серверах и бэкапах без правок vendor/styles/motion. 69 unique E2E, TypeScript/lint/build passed; live PC/mobile keyboard/scoped axe4 violations0, writes0. Backend249/frontend ux-certificates251. Следующий252 — disabled/strict-ID guards сертификатов и достоверность результата renewal; реальное renewal ещё открыто. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-14: 252 — сертификаты используют strict-ID/enabled guards; renewal больше не объявляет failed/pending успешным и не подменяет неизвестный срок нулём. Восемь профильных scripts и 39 API/SQL checks прошли, own DB/role удалены. Backend ux-certificates252/frontend ux-certificates251 healthy, source526/dist1080 matched. Реальный Portal/read1440/390: оба CHR без ошибок, writes0. Следующий253 — подготовка реальной повторной выдачи/renewal и безопасного сравнения сертификата/TLS; эта приёмка ещё открыта. Этап12.5 открыт.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
|
||||
|
||||
@@ -36,7 +36,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–236 завершены в записанных scopes, этап открыт. Runtime backend ux-backup234/frontend ux-routing218; backend25/UI52 и дополнительные SQL/UDP222 прошли. |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная12.3.83; внешняя12.5 открыта, завершённые блоки1–252 в записанных scopes. Runtime backend ux-certificates252/frontend ux-certificates251. Общая регрессия249 и профиль сертификатов252 прошли; реальный renewal остаётся открытым. |
|
||||
|
||||
## 12.5.252 — выключенные серверы и достоверность результата renewal (2026-10-14)
|
||||
|
||||
Общий getter сертификатов теперь использует parseDbServerId и SQL enabled=true: numeric prefix/небезопасные ID не доходят до БД, выключенные серверы не возвращаются. Executor повторно отклоняет disabled перед DNS/native вызовами. Renewal использует каноническое наблюдаемое состояние вместо legacy expiry=0: неизвестный срок/статус пропускается, ошибка чтения/неоднозначное имя не запускает выпуск. После runner читается свежая запись задачи и проверяются id/server/name/source/domains/keyType/trustStore; renewed увеличивается только при status=done и step=done. Failed даёт error, queued/running и неподтверждённый результат не дают успеха. Local singleflight сохраняется; атомарная защита нескольких backend не заявляется.
|
||||
|
||||
Factory collector позволяет отдельно проверить зависимости без RouterOS/CA. test:certificates включает восемь scripts; новый набор покрывает done/failed/pending, missing/disabled, неизвестный срок, offline/malformed/ambiguous, выключенные настройки, активную задачу, неправильный контекст результата и конкурентный запуск. Executor включает11 сценариев. Локально и в acceptance image профиль прошёл; contracts/backend build, scoped ESLint и diff-check прошли. Полная регрессия249 не повторялась для ограниченного изменения сертификатов.
|
||||
|
||||
Расширенный network-disabled-server harness выполнен на собственной SQL БД с отдельной ограниченной ролью:39 API/SQL checks для home-router/jump-host/exit-node, включая certificates issue404/no job и state200/empty, zero RouterOS contacts. Enabled positive control и bigint IDs above int32/MAX_SAFE_INTEGER прошли без округления. После теста контейнер/БД/роль удалены, отсутствие подтверждено. Это выполняет ранее пропущенную152 ветку в текущем scope; monthly149/IPv6 UDP-worker144 этим тестом не покрыты. [Проверки](ux-ui/acceptance/certificates252-regression.json).
|
||||
|
||||
Production backend ux-certificates252 развёрнут, healthy; source526 и compiled1080 совпали с локальным снимком. Frontend ux-certificates251 и PostgreSQL/Portal сохранены. [Deployment](ux-ui/acceptance/certificates252-deployment.json). Настоящий Portal/read без mocks: certificate state и renew settings200, оба CHR без ошибки чтения;1440/390 без overflow/JS errors/API writes. Первый запуск Edge не стартовал внутри filesystem sandbox; повтор с разрешённым доступом прошёл, это не дефект приложения. [Live UI](ux-ui/acceptance/certificates252-live-ui.json).
|
||||
|
||||
Новых сертификатов, ACME orders, DNS записей, настроек устройств не создавали; native пароли не менялись. Успех fixtures доказывает счётчик/guards, не реальное продление/замену ключа/CA revoke. Следующий253: подготовить конкретную повторную выдачу собственного mmt-домена, сравнение leaf fingerprint и доверенного TLS до/после, восстановление исходных SSL/certs/files/settings/DNS. Выполнение с повторным назначением SSL требует отдельного согласования конкретного сценария; разрешение250 покрывало тот уже очищенный тест.
|
||||
|
||||
## 12.5.251 — понятные последствия выпуска и доступные мастера ReUI (2026-10-14)
|
||||
|
||||
|
||||
Reference in new issue
Block a user