- Fix#52: Watchdog proxy restart on single URL failure:
* Validate failure against secondary independent probe URL before declaring proxy down
* Skip restart when direct WAN is also degraded or down (!direct_ok)
* Implement 120s cooldown between automated proxy restarts
* Fix Telegram notification to accurately state 'Перезапуск sing-box' instead of 'Перезапуск роутера'
- Fix#51: Telegram bot spamming WAN up/down notifications:
* Filter hotplug events strictly by badwan_monitored_interfaces (defaults to wan)
* Add atomic directory lock with debounce delay and real ubus state query
* Prevent repeated notifications when interface state has not transitioned
- Feat: 2-VPN deadlock elimination & self-download subscription proxy:
* Isolate unbootstrapped dependent subscription sections on initial boot (deferred_sections)
* Allow self-download proxy target for subscriptions with explicit UI hint '(текущее правило при активности)'
* Enable automatic local proxy fallback for subscription refresh when direct WAN download fails while sing-box is active
* Add regression test in tests/subscription_bootstrap_deadlock.sh
- Fix: Parental control quota enforcement:
* Correct route rule filtering when daily quota minutes are exhausted without a fixed time interval
- i18n & Version bump:
* Bump fe-app-tachyon to 1.3.26 and update Russian PO/POT translations
- wget: remove -t flag incompatible with BusyBox 25.12+, add curl-first fallback
in download_to_file() with wget as fallback
- startup/reload speedup (5 improvements):
- cut sing-box verification timeout from 45 iterations to 15
- remove redundant second stability wait for sing-box process
- batch requirement check + runtime validation into single ucode fork
- replace dnsmasq full restart with procd reload (config-conditional bounce)
- move telegram and watchdog runtime start to background
- telegram: fix "API failure" spam - empty result[] from getUpdates is now
treated as a successful idle poll, not an error that triggers backoff
- watchdog SmartDetect: extract domain from proxy and VPN URLs for DNS
health check, use real domains (google.com/example.com) instead of
provider-specific endpoints that trigger false alerts
- tests: new invariants for wget -t prohibition, telegram empty-result
handling, DNS apply reload-vs-restart, and combined validation mode ownership