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
+11
View File
@@ -85,6 +85,12 @@
сборку — vue-i18n молча отдаёт сам ключ, и оператор видит `error.code.min_length`
вместо фразы.
Совпадения ключей недостаточно: строки компилируются как Vue I18n message
format только при переводе. Специальные символы (`@`, `$`, `{}`, `|`) нельзя
вставлять в текст как произвольные данные. Динамический набор знаков передаётся
через named interpolation, а builder переводит каждую leaf-строку RU/EN и
считает ошибкой как исключение, так и compiler diagnostics в `console.error`.
**Состояние сессии** сообщается кодами `unauthorized`, `session_expired`,
`token_invalid`, `account_disabled` при `code = 50401`. Панель по ним
показывает диалог и возвращает на форму входа.
@@ -132,6 +138,11 @@
продукт: в таблицу пиров ведут две двери, и они не имеют права требовать
разного.
Frontend-зеркало границ, regex и человекочитаемого набора находится в одном
модуле `constants/peer.ts` и сверяется с Go-контрактом тестом. Пунктуация
`!@#$%^&*()_+-=` попадает в подсказку как значение `{punctuation}`, а не как
часть синтаксиса message format.
---
## 4. Таблицы журнала