fix(rc5): harden frontend runtime and diagnostics

This commit is contained in:
2026-09-08 05:22:06 +05:00
parent 079094591b
commit b7e478f014
26 changed files with 707 additions and 169 deletions
+23
View File
@@ -8,6 +8,29 @@
## [Unreleased]
Runtime-разбор RC4 закрыл три дефекта панели и один связанный риск
сопровождения. Набор знаков имени пира больше не хранится как сырой `@` внутри
message format: общий frontend-контракт передаёт его в RU/EN-подсказку через
named interpolation и сверяется с Go-константами. Builder после frozen install
компилирует реальным `vue-i18n` каждую строку обоих словарей, перехватывая как
исключения, так и compiler diagnostics в `console.error`; удалить этот gate и
при этом получить `tests_gate=true` нельзя. Сам `vue-i18n` переведён с
неподдерживаемой ветки 9.14.5 на поддерживаемую 11.4.10.
Попутный аудит package manager устранил ложную декларацию security overrides:
pnpm предупреждал, что больше не читает настройки из поля `pnpm` в
`package.json`. Правила перенесены в `apps/frontend/pnpm-workspace.yaml`, то
есть теперь не только сохранены в старом lock-файле, но и действительно
участвуют в следующем разрешении графа.
Dashboard использует `value` у `el-radio-button` вместо deprecated-семантики
«`label` как значение», а общий frontend-контракт запрещает вернуть старый API
в любом Vue-компоненте. ENV-redaction теперь имеет одно точное исключение для
диагностического boolean `HY2XS_FORCE_PASSWORD_CHANGE`: корректное значение
`true`/`false` видно в bundle, но другое значение либо совпадение по
префиксу/суффиксу исключения не даёт, и пароли, токены, секреты Hysteria и
credentials продолжают заменяться на `<redacted>`.
По результатам runtime-проверки RC3 login smoke приведён к реальному HTTP
контуру панели: positive и negative пробы используют один helper с wire-полем
`pass`, явным `HY2XS-Installer/1.0` User-Agent и строгим разбором JSON envelope.