3x-ui/web/controller
Aleksei Sidorenko 29fa28bf75 fix(tgbot): resolve client creation race conditions and localization bugs
- Refactored Telegram bot client creation state to use a concurrent-safe map (\clientStates map[int64]*ClientState\), replacing package-level global variables. This prevents data races when multiple administrators interact with the bot simultaneously.
- Fixed hardcoded English strings in \BuildInboundClientDataMessage\ by utilizing the \	.I18nBot()\ localization wrapper.
- Implemented \UpdateBotLocalizer\ to dynamically refresh the bot's language whenever the \	gLang\ setting is updated in the web panel, eliminating the need for a service restart.
- Synchronized missing translation keys for \Sub ID\ and \Flow\ across all non-English/Russian localization files to prevent missing interface elements.
2026-05-13 00:25:35 +03:00
..
api.go v3 2026-05-10 02:13:42 +02:00
base.go v3 2026-05-10 02:13:42 +02:00
custom_geo.go v3 2026-05-10 02:13:42 +02:00
dist.go feat(inbounds): add sub/client link endpoints; hide panel version on login 2026-05-11 15:03:47 +02:00
inbound.go feat(inbounds): add sub/client link endpoints; hide panel version on login 2026-05-11 15:03:47 +02:00
index.go v3 2026-05-10 02:13:42 +02:00
login_limiter.go Implement CSRF protection and security hardening across the application (#4179) 2026-05-07 23:36:11 +02:00
login_limiter_test.go refactor(websocket): split controller into service + thin controller 2026-05-08 00:00:44 +02:00
node.go feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
server.go feat(panel): xray metrics dashboard with observatory probe history 2026-05-12 02:17:45 +02:00
setting.go fix(tgbot): resolve client creation race conditions and localization bugs 2026-05-13 00:25:35 +03:00
util.go v3 2026-05-10 02:13:42 +02:00
websocket.go v3 2026-05-10 02:13:42 +02:00
xray_setting.go feat(xray/outbounds): TCP probe mode + Test All + timing breakdown 2026-05-11 04:17:23 +02:00
xui.go feat(panel): in-panel API documentation page 2026-05-11 13:57:42 +02:00