fix(build): гейт ACME описывал снятую архитектуру панели

Приёмка требовала, чтобы страница Hysteria содержала жёсткий список ACME
DNS-провайдеров (cloudflare … vultr) и не содержала удалённого upstream
namedotcom. Это имело смысл, пока панель ПРЕДЛАГАЛА выбор провайдера: список в
UI был вторым экземпляром upstream-реестра и мог от него отстать — ровно так
namedotcom и пришлось выпиливать вручную.

После перевода страницы в read-only диагностику реестра нет и быть не должно:
имя провайдера читается из фактического конфига и показывается как есть, поэтому
новый upstream-провайдер отображается без правок панели. Возврат списка ради
прохождения grep-а создал бы фиктивный реестр, существующий только для гейта.

Гейт проверяет действующий контракт: провайдер приходит строкой и рисуется как
значение, параметры DNS отдаются только именами, селектора на странице нет.
Проверено положительно и на трёх нарушениях (провайдер перестал показываться,
на странице появился селектор, тип стал перечислением) — гейт падает на каждом.

Контрактный тест панели дополнен обратной проверкой: ни одно из восьми имён
провайдеров не должно встречаться в исходнике страницы. Та же формулировка
поправлена в матрице приёмки.

Дополнительно прогнаны целиком все восемь функций приёмки, которым не нужен
распакованный пакет: других устаревших утверждений нет.
This commit is contained in:
2026-09-03 23:07:19 +05:00
parent 7d486af712
commit 82e5ca40cc
5 changed files with 98 additions and 10 deletions
+17
View File
@@ -364,6 +364,23 @@ Hysteria-интеграции с официальной документацие
тестом с настоящими сокетами, а гейт приёмки запрещает возврат `IsLoopback()`
и требует негативного случая в тестах.
### Исправлено — устаревшие утверждения приёмки
- **Гейт «frontend ACME registry matches current upstream» описывал снятую
архитектуру.** Он требовал, чтобы страница Hysteria содержала жёсткий список
ACME DNS-провайдеров (`cloudflare``vultr`) и не содержала удалённого
upstream `namedotcom`. Это имело смысл, пока панель ПРЕДЛАГАЛА выбор
провайдера: список в UI был вторым экземпляром upstream-реестра и мог от него
отстать. После перевода страницы в read-only диагностику реестра нет и быть не
должно — имя провайдера читается из фактического конфига и показывается как
есть, поэтому новый upstream-провайдер отображается без правок панели.
Возврат списка ради прохождения grep'а создал бы фиктивный реестр,
существующий только для гейта, поэтому исправлен гейт: он проверяет
действующий контракт (провайдер приходит строкой и рисуется как значение,
параметры DNS — только именами, селектора на странице нет). То же утверждение
поправлено в матрице приёмки, а контрактный тест панели теперь требует
ОТСУТСТВИЯ всех восьми имён провайдеров в исходнике страницы.
### Исправлено — зависимости frontend
- **`browserslist@4.21.11` содержал high-advisory** (уязвимы `<= 4.28.6`) и