Skip to content

v1.19.1

Choose a tag to compare

@github-actions github-actions released this 10 Nov 07:05
· 41 commits to main since this release

v1.19.1 — 交互一致性修复 + 配置写入通道重建

修复

「自动切换」报错根除:此前页面报「ubus uci.apply 失败:[5]」——深入查证后确认这不是系统故障:错误码 5 是 uci.apply 在「没有待应用变更」时的正常返回(官方 LuCI 页面同样如此),根因是前端把这种正常语义当致命错误弹窗,且开关状态与配置值不同步时更易触发。本版把插件全部配置写入改走 uci 命令行通道(新增 netsteer-cfg 脚本,写入即落盘),链路更简单直接,同类误报一次根治。

「自动切换」开关并入智能模式:独立开关概念冗余——都叫智能模式了,不该再问"要不要自动"。现在智能模式开启即自动联动:检测到看视频/打游戏自动切到更合适的模式,闲时恢复均衡,您手动选的档位始终优先。场景卡里的说明文字即全部,无需理解第二个开关。

顺带修复:总开关关闭时联动不再拉起优化(此前"关闭"状态下场景切换可能把优化重新打开);智能模式页不再出现 "null" 文字(控件渲染缺陷)。

变更明细

  • 新增 netsteer-cfg:netsteer 配置统一写入脚本(uci set + commit 即时落盘,绕开异常的 ubus apply)
  • 前端 6 处配置写入全部切换到新通道(自动切换/识别排除表/设备加速/P2P 直通/自动调优标记/批量管理)
  • 场景联动默认开启(sense_linked 缺省 0→1),且总开关 off 时不接管
  • UI:删除「自动切换」独立卡片,智能场景卡新增一行联动说明

质量门

单测 440 项全绿(core 302 / cfg 18 / bulk 33 / sense 21 / tune 15 / qos-awk 9 / feed 11),e2e 16 项真机全绿,R5C 真机终装 + md5 对账通过。

Full Changelog: v1.19.0...v1.19.1


v1.19.1 — Interaction consistency fixes + config write path rebuild

Fixes

Root-cause fix for the "auto-switch" error: the page used to show "ubus uci.apply failed: [5]" — deep-dive verification confirmed this is NOT a system fault: code 5 is simply what uci.apply returns when there is nothing to apply (stock LuCI behaves the same). The real defect was our frontend treating that normal reply as a fatal error, made more likely by UI state drifting from the stored value. This release moves ALL plugin config writes to the uci command-line channel (new netsteer-cfg helper — write and commit immediately), a simpler and more direct path, eliminating this class of errors for good.

The "auto-switch" toggle is now part of Smart Mode: a separate toggle was conceptually redundant — Smart Mode should not ask whether to be smart. With Smart Mode on, scene linking is always active: when someone watches video or plays games the router switches to a better-suited profile automatically, and falls back when idle. Whatever profile you picked manually always wins. One line of explanation in the scene card is all there is — no second switch to understand.

Also fixed: scene linking no longer re-enables optimization while the master switch is off (previously a scene change could turn it back on); the Smart Mode page no longer renders a stray "null" text (a widget rendering defect).

Change details

  • New netsteer-cfg: unified config-write helper for netsteer (uci set + commit, effective immediately, bypasses the broken ubus apply)
  • All 6 frontend config writes migrated to the new channel (scene linking / detection exclude list / device boost / P2P passthrough / autotune flag / bulk devices)
  • Scene linking is now on by default (sense_linked default 0→1) and never takes over while the master switch is off
  • UI: removed the standalone "auto-switch" card; the Smart Scene card gained one line explaining the linking behavior

Quality gates

440 unit checks green (core 302 / cfg 18 / bulk 33 / sense 21 / tune 15 / qos-awk 9 / feed 11), 16 e2e checks green on the live router, R5C on-device install + md5 reconciliation passed.

Full Changelog: v1.19.0...v1.19.1


Download the .apk matching your device architecture (check /etc/apk/arch on the router).

Install (OpenWrt 24.10+/25.12):

apk add --allow-untrusted /tmp/luci-app-netsteer-*.apk

Built automatically by CI from this tag — unit tests + 4-arch build matrix.
Every package is verified with apk verify before it is attached.