Skip to content

NodeFlow 2.3.0 - #24

Merged
SHOKOVprod merged 6 commits into
mainfrom
release-2.3.0
Oct 15, 2026
Merged

SHOKOVprod merged 6 commits into
mainfrom
release-2.3.0

Conversation

@SHOKOVprod

Copy link
Copy Markdown
Contributor

NodeFlow 2.3.0

Panel 2.3.0 · Node Agent 2.3.0 · HAProxy renderer v21

Английский интерфейс с переключателем языка, README на английском и стабильные коды ошибок в API. Миграций нет. Спасибо @ANHELL404 (#21, #23).

Новое

  • Английский интерфейс. Панель переведена на английский (локализации ru/en). Язык переключается в боковой панели и на странице входа; справка по директивам HAProxy тоже доступна на английском.
  • README на английском — README.en.md и английские заметки к релизам 2.2.0 и 2.3.0.
  • Стабильные коды в API. Ошибки копирования маршрутов, применения шаблонов и сообщения линтера HAProxy теперь содержат error_code и message_key с message_params; заметка о сборке из маршрутов — note_key (built_from_routes). Поле message на русском сохранено для совместимости.
  • copy_suffix — параметр копирования маршрута, задающий суффикс имени копии.

Исправления

Обновление

  • Миграций нет.
  • Код Agent не менялся — изменён только bootstrap-скрипт, который отдаёт Panel. Обновлять Agent на существующих нодах необязательно; новые установки сразу получают исправленный скрипт.

SHOKOVprod and others added 6 commits October 15, 2026 04:25
The per-node result kept only Russian text, so the UI could not localize it.
Add error_code (route_copy_failed, node_not_found, advanced_config_active,
*_requires_agent_*); the error text stays for older clients.
- Typed dictionaries src/locales/ru.ts (source of keys) and en.ts, t()/useT
  with interpolation and Intl.PluralRules plurals, no new dependency.
- Language from localStorage nodeflow.lang, then navigator.languages, ru
  fallback; switcher in the sidebar and on the sign-in card.
- Intl dates/numbers and byte/bitrate units follow the UI language.
- API errors: known error.code values are localized, unknown codes keep the
  server message; route copy results use error_code.
- Translated: app shell, sign-in, nodes overview, node detail, routes table,
  route editor with validation messages, copy and template dialogs.
- tests/i18n.test.ts: identical keys, matching placeholders, plurals,
  language detection, error-code mapping.
LintIssue gains message_key and params (Russian message kept); the
'Собрано' revision note gets metadata note_key; route copy accepts an
optional copy_suffix so the UI can localize ' (копия)'.
Add node wizard, settings, HAProxy config page and linters, traffic,
HAProxy directive docs (haproxyDocs.en.ts), 65 API error codes, demo
fixtures, mobile route table labels. 1428 keys in each dictionary.
Co-authored-by: ANHELL <275190042+ANHELL404@users.noreply.github.com>
@SHOKOVprod
SHOKOVprod merged commit 1b4d780 into main Oct 15, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant