Dushnilin
66ffb50a1a
feat: add Telegram API connection test button to settings
...
Runs 7-step diagnostic: token check, sing-box running, port 4534
listening, DNS resolution, direct IPv4 API, proxy API, send test
message. Shows green/red indicators with actionable advice for each.
2026-08-20 21:56:12 +03:00
Dushnilin
b53b93786a
chore: sync locales after adding enable_rag and warp_proxy_section
2026-08-20 19:48:24 +03:00
Dushnilin
2a87db172b
fix: add missing enable_rag and warp_proxy_section to LuCI settings form
...
The custom renderAdvancedSettings panel was never connected to the UI.
Added enable_rag checkbox to AI tab and warp_proxy_section dropdown
to Advanced tab in the standard LuCI settings.js form.
Also fixed warp_proxy_section load function to use map data instead of
uci.sections() which returns an array (for...in iterated indices).
Added Russian translations for new strings.
2026-08-20 19:39:39 +03:00
Dushnilin
162171e692
fix: remove hardcoded 192.168.2.1, add WARP proxy section, simplify dashboard
...
warp_generator.uc:
- Replace hardcoded 192.168.2.1:9090 with dynamic Clash API URL
(reads /etc/sing-box/config.json external_controller)
- Add warp_proxy_section UCI option for registration proxy routing
- Reduce curl timeouts: connect 3s, max 8s (was 6s/12s)
- Only try socks5 proxy if it's actually reachable (2s probe)
- Total worst-case: 4 direct attempts (32s) vs old 8 attempts (96s)
renderSections.ts:
- Revert connection node display from latency numbers to simple
'Connected' / 'Not connected' (user: 'какой нахуй там пинг')
renderAdvancedSettings.ts:
- Add WARP Proxy Section text input (UCI: warp_proxy_section)
- Section name for WARP registration proxy routing
UCI config:
- Add warp_proxy_section option (commented out by default)
623 tests pass
2026-08-20 10:51:12 +03:00
Dushnilin
1137e96b0d
de-AI phase 3: inline redundant variables and null checks
...
TypeScript:
- getDashboardSections.ts: value === undefined || value === null -> value == null
- renderAdvancedSettings.ts: remove redundant Boolean() on boolean
ucode (10 inlined variables):
- helpers.uc: inline trailing_dot
- runtime.uc: inline ping_ok, enable_watchdog
- nft/apply.uc: inline rtmtu_ok, qos_enabled
- byedpi/runtime.uc: inline matched
- api.uc: inline deleted, added
- subscription.uc: inline has_source_markers
- watchdog.uc: inline is_healthy
522 frontend tests pass
2026-08-19 22:38:26 +03:00
Dushnilin
4094a41b5d
de-AI: remove AI comments and boolean theater across TypeScript + ucode
2026-08-19 18:15:35 +03:00
Dushnilin
0964b79171
fix(ai-chat): fix AI Chat and Assistant to work with LM Studio
...
- Fix response parsing: check report field, not just message
- Pass user query text to LLM instead of ignoring it
- Append user question to diagnostic prompt with system context
- Increase timeout to 120s for LM Studio responses
- Add command_status_from_args to core/common.uc exports
Closes #38
2026-08-19 15:57:42 +03:00
Dushnilin
a161ae4845
feat(subscription): добавлена поддержка пользовательских заголовков устройства и генератор HWID
2026-08-18 14:40:25 +03:00
Dushnilin
5fc9dda229
fix(i18n): fix corrupted Bad WAN Russian translation string
2026-08-18 12:55:14 +03:00
Dushnilin
e325ac0092
feat(settings): add manual list update button to LuCI settings tab
2026-08-18 12:54:21 +03:00
Dushnilin
e695da1fb7
feat(parental): добавить поддержку фильтрации как по IP, так и по MAC-адресам
2026-08-17 21:52:28 +03:00
Dushnilin
7a9c87622e
fix(parental): исправить рендеринг ячеек таблицы через cfgvalue/textvalue в form.DummyValue
2026-08-17 21:42:48 +03:00
Dushnilin
b435d965ed
fix(parental): исправление отображения HTML-тегов в таблице и кнопок действий
2026-08-17 20:38:16 +03:00
Dushnilin
1f116e571d
feat: родительский контроль по расписанию, мультивыбор секций, перехват DNS и обновление локализации (1.2.86)
2026-08-17 20:34:42 +03:00
Dushnilin
c35380200f
fix(tailscale, ai): исправить скрытие полей Tailscale-сервера и добавить готовый пресет провайдера OpenRouter
2026-08-17 11:18:36 +03:00
Dushnilin
bca948947e
fix(updates): предотвратить повторные модальные окна и добавить активную проверку готовности сервисов роутера перед перезагрузкой страницы
2026-08-17 10:27:16 +03:00
Dushnilin
beb132690e
fix(server): добавить валидатор validatePositiveInteger для полей MTU и Keepalive сервера AWG
2026-08-16 20:35:23 +03:00
Dushnilin
9b5707982c
feat(servers): полная поддержка генератора конфигураций AmneziaWG, QR-кода, скачивания .conf и расширенных настроек сервера
2026-08-16 19:37:14 +03:00
Dushnilin
1062982070
fix(ui): отображение всех условий маршрутизации (списки сообщества, IP, устройства, порты) для секций AWG, WARP и расширенных прокси
2026-08-16 17:50:58 +03:00
Dushnilin
5adda4bba7
fix(i18n,watchdog): полная актуализация русской локализации интерфейса и исправление детекции WAN в Watchdog
2026-08-16 16:01:37 +03:00
Dushnilin
91c7d5f8ee
fix(updates): стабильный диалог установки, сохранение баннеров и логов без паразитных автозакрытий
2026-08-15 20:07:21 +03:00
Dushnilin
d2a4243aa2
feat(ui): постоянная кнопка аварийного возврата прямого интернета в окне AI Doctor и действиях диагностики
2026-08-15 19:24:44 +03:00
Dushnilin
528bc7b9db
feat(doctor): расширенная офлайн-диагностика (NTP, conntrack, deadlock, MTU) и аварийный возврат интернета
2026-08-15 17:18:23 +03:00
Dushnilin
56e847eceb
fix(ui): корректный выбор сервера в модальных окнах и скрытие недоступного выбора для URLTest
2026-08-15 16:18:34 +03:00
Dushnilin
381ae6580c
fix(dashboard): fix URLTest details modal layout and server selection actions
2026-08-15 13:27:06 +03:00
Dushnilin
95a209adc9
feat(dashboard): show active server on URLTest cards and allow manual server selection with reset to auto
2026-08-15 13:00:39 +03:00
Dushnilin
e0828eb53a
fix(diagnostics): fix false-positive sing-box DNS check on busybox nslookup and auto-fetch LAN clients in support report
2026-08-15 12:12:59 +03:00
Dushnilin
3c5108b26b
fix(i18n): translate all AI Doctor and LAN inspector strings to Russian and fix diagnostic banner status logic
2026-08-15 12:00:28 +03:00
Dushnilin
01cb9e8285
fix(updates): auto-complete modal and trigger reload when Tachyon update finishes in log
2026-08-15 11:17:54 +03:00
Dushnilin
57c04c71e8
feat(doctor): add 1-click anonymized support report and LAN device inspector
2026-08-15 10:05:09 +03:00
Dushnilin
315cf63238
Сделать интерфейс ИИ-Доктора нативным и лаконичным по стандартам LuCI
2026-08-15 09:49:43 +03:00
Dushnilin
c8d02a917e
Улучшение ИИ-Доктора: экспертная скриптовая система диагностики и самовосстановления
2026-08-15 09:48:40 +03:00
Dushnilin
1e406c3e06
fix(updates): предотвратить повторное открытие и зависание модального окна обновления
...
- Исключить повторное открытие окна прогресса для уже завершенных задач (handledComponentJobs)
- Актуализировать состояние фоновых задач в get_ui_state и нормализовать таймаут stale PID
- Исправить определение WAN интерфейса в event_controller во избежание ложного перезапуска (#31 )
- Улучшить сверку версий при самообновлении
2026-08-15 09:23:07 +03:00
Dushnilin
d6c4f81daf
Revert "refactor(ui): диагностика и AI-чат на нативных LuCI CSS классах"
...
This reverts commit e1c6a9aba8 .
2026-08-14 21:52:55 +03:00
Dushnilin
e1c6a9aba8
refactor(ui): диагностика и AI-чат на нативных LuCI CSS классах
2026-08-14 17:30:45 +03:00
Dushnilin
af541bc4bd
fix(updates): log as primary modal content + fix ru.po regression
...
The progress modal showed fake step indicators that auto-advanced on a timer, hiding the real operation log behind a small panel. Now the modal is just header + full-size log (350px) + action buttons. Steps, progress bar, and status message removed; updateStep/updateStatus become no-ops.\n\ngenerate-po.js silently dropped every ru.po entry not present in calls.json, wiping ~100 manual translations. It now preserves existing entries. All empty msgstr filled (operation log, port validation, restore).\n\nStyles: removed step/progress bar CSS, enlarged log panel, modal max-width 640px.
2026-08-14 14:46:51 +03:00
Dushnilin
8ecc3ee685
feat(updates): live operation log with page lock in progress modal
...
The progress modal faked its steps on a timer because the worker only wrote to syslog. Now every updates_log line is appended to <job>.log (UPDATES_JOB_LOG), the running state advertises log_path, the log survives job completion until the TTL sweep, and the new component_action_log CLI mode serves it from a byte offset. The UI polls it into a monospace panel with auto-scroll, exposes a Copy log button, and the modal cannot be closed while the job runs (only the disabled progress button is shown).
2026-08-14 13:20:33 +03:00
Dushnilin
85ce7f98c7
feat(snapshots): сохранение и восстановление рабочих конфигов из расширенных настроек
2026-08-14 11:36:48 +03:00
Dushnilin
65b216b6a2
feat(p2p): поле портов торрент-клиента для изоляции P2P (issue #31 )
2026-08-14 09:46:15 +03:00
Dushnilin
7bd373c392
fix(diagnostics): убрать крокозябры в Глобальной проверке и разорвать цикл повторных фиксов AI Doctor (issue #31 )
2026-08-14 09:31:31 +03:00
Dushnilin
2f6941b102
fix(updates): не вешать окно обновления при неизменной версии и мёртвом RPC (issue #31 )
2026-08-13 23:11:44 +03:00
Dushnilin
4bc68d7e8e
fix(build): пересобрать main.js с фиксом завершения self-update (issue #31 )
2026-08-13 22:51:56 +03:00
Dushnilin
ac3fbc90fc
fix(watchdog): не перезапускать WAN по одиночному сбою пробы (issue #31 )
2026-08-13 21:24:43 +03:00
Dushnilin
305e14d44e
feat(reset): кнопка сброса настроек в LuCI и дефолтное состояние при чистой установке
...
- новый модуль service/reset.uc (режим reset-settings, флаг no-start): остановка сервиса, чистка runtime/кэшей, сохранение tailscale, запись дефолтного конфига
2026-08-13 21:06:39 +03:00
Dushnilin
9b4767a5af
fix(tests): убрать повторную декларацию seen_domains и добавить ключ локализации
2026-08-13 09:07:55 +03:00
Dushnilin
443a62ece7
feat(ui): явные русские названия категорий и элементов интерфейса в окне проверки доступности
2026-08-13 08:38:11 +03:00
Dushnilin
715a7fee5c
refactor(ui): замена сетки кнопок фильтров на компактный выпадающий список в окне проверки
2026-08-13 08:35:56 +03:00
Dushnilin
657c80da79
feat(ui): привести окно проверки доступности сервисов к нативному стилю LuCI и нормализовать наименования
2026-08-13 08:32:31 +03:00
Dushnilin
8724f82d1a
feat(ui): добавить кнопку установки при наличии обновления и исправить зависание окна установки
2026-08-13 08:05:43 +03:00
Dushnilin
901c4ea1c1
Fix progress modal hang during self-update by lowering settle delay and status refresh interval
2026-08-12 14:34:38 +03:00