- backend: исправлена гонка данных (race condition) при старте роутера,
когда list_update пытался добавить элементы в nft-сеты, пока reload-firewall
ещё пересоздавал таблицу TachyonTable. Фаза применения nft теперь защищена
RELOAD_LOCK_DIR, что устраняет ошибку 'nft add element ... No such file or directory'
- backend: добавлены CLI-команды telegram_status, telegram_start, telegram_stop
в /usr/bin/tachyon для управления ботом из LuCI
- luci: добавлен виджет статуса Telegram-бота на вкладке настроек —
показывает состояние (запущен/остановлен с PID), кнопки Запустить/Остановить,
автообновление каждые 10 секунд без перезагрузки страницы
- frontend: пересобран main.js (yarn ci — 507 тестов прошли успешно)
- версия npm-пакета: 1.2.0
Resolves merge conflicts:
- install.sh, build.sh, .github/workflows/build.yml: Reverted to Dushnilin's versions to avoid installing SourceForge mirrors.
- fe-app-tachyon: Resolved type, formatting and copyOutbound conflicts, keeping both Dushnilin's custom features and ushan0v's frontend performance optimizations.
- backend: Kept Dushnilin's ucode refactorings, Telegram bot integration, and release repository URL (Dushnilin/tachyon) while merging updates.uc cache format v8 & persistent cache format v7.
- tests: Merged tests from both branches, preserving ucode -L wrappers for local test execution.
- Установщик (install.sh): внедрена верификация хешей sha256sums.txt, нормализована очерёдность бутстрапа ucode до языковых проверок.
- Сборщик (build.sh): добавлена автоматическая генерация sha256sums.txt для пакетов релиза.
- Бэкенд: права на honeypot FIFO ограничены до 0660 в watchdog.uc, исправлена опечатка в SUBNETS_TELEGRAM, удалён helpers.old.uc.
- Тесты бэкенда: написаны тесты для core_ip, core_url и config_connections.
- Фронтенд: реализовано автопереподключение WebSocket с экспоненциальным бэкоффом, проведена дедупликация виджетов и модальных окон в initController.ts, мигрирован CSS-префикс с fkp_ на tachyon_.
- Тесты фронтенда: добавлен initController.test.ts для тестирования загрузки дашборда.