Добавляет zh-CN, fa, ar, tr, uk, be, vi, uz локали (81 ключ, идентичная
структура) к существующим en/ru; ToggleLanguge.tsx переделан из
бинарного ru/en тумблера в выпадающий список всех 10 языков.
TelegramWeb.tsx был полностью на захардкоженном русском несмотря на импорт
useTranslation — переведён на i18n-ключи. rtlLanguages.ts выносит список
RTL-языков в отдельный .ts-файл (именованный импорт из .js падал на
allowJs). App.tsx реактивно переключает document.dir/lang при смене языка.
Логические CSS-свойства (ps-/pe-/start-/end-/border-e) вместо физических
в badge/button/dialog/select и BurgerMenu — Flexbox иначе визуально
переворачивает детей под dir=rtl, ломая анимацию бургер-меню.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Прокидываем sni (decoy-хост) по обновлённому UDL через весь стек:
guest-js -> Tauri-команда -> desktop/mobile -> Kotlin spawnSession.
Список серверов пока статичный (backend еще не отдает sni), но логика
похода в реальный /api/v1/nodes оставлена под флагом на будущее.
- Бандлим wintun.dll в Windows-инсталлятор через bundle.resources в
tauri.windows.conf.json - раньше он копировался только для
локального cargo run/tauri dev, но не попадал в NSIS/MSI.
- Чиним падение мобильной сборки: гитигнорённые UniFFI Kotlin-биндинги
отстали от обновленного UDL (не хватало параметра sni).
- Флаги стран - локальные SVG вместо react-country-flag в CDN-режиме:
тот бился об CSP и не грузился офлайн.
- Добавляем дерево README.md по структуре проекта и точечные
комментарии в неочевидных местах кода.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>