xiaorouji / openwrt-passwall

7.02k stars 2.62k forks source link

[Bug]: 规则管理-手动更新开关无效 #2806

Closed MkQtS closed 11 months ago

MkQtS commented 1 year ago

描述您遇到的bug

image

规则管理-手动更新开关无效,打开或关闭任意一项开关,点击保存并应用不能生效,查看配置文件发现相关条目并没有改变。

复现此Bug的步骤

  1. 进入luci后台 - passwall - 规则管理
  2. 关闭 “手动更新”中的chnroute6开关
  3. 点击保存并应用
  4. 提示”没有待应用的更改“,且刷新页面后chnroute6开关变回选中状态

您想要实现的目的

能够应用更改

日志信息

截图

No response

系统相关信息

Passwall 4.70-7

ImmortalWrt 23.05-SNAPSHOT

其他信息

No response

smallprogram commented 1 year ago

首先这部分控制的代码如下: https://github.com/xiaorouji/openwrt-passwall/blob/9fc778e1ca35be3358349d6e9f497d4d26723a23/luci-app-passwall/root/usr/share/passwall/rule_update.lua#L372-L400

看了一下调用rule_update.lua的地方都没有给第二个参数,所以执行的是else后边的代码

https://github.com/xiaorouji/openwrt-passwall/blob/9fc778e1ca35be3358349d6e9f497d4d26723a23/luci-app-passwall/root/usr/share/passwall/rule_update.lua#L393-L400

这段代码是从配置文件passwall中取global_rules下的各个配置信息,内容如下:

https://github.com/xiaorouji/openwrt-passwall/blob/9fc778e1ca35be3358349d6e9f497d4d26723a23/luci-app-passwall/root/usr/share/passwall/0_default_config#L56-L63

可以看到是写死的

前端代码 : https://github.com/xiaorouji/openwrt-passwall/blob/9fc778e1ca35be3358349d6e9f497d4d26723a23/luci-app-passwall/luasrc/view/passwall/rule/rule_version.htm#L1-L10

通过配置文件信息,这个chnroute6_update的input永远 "checked='checked'" ,所以就出现了你这个问题,开动你的大脑提个PR呗

github-actions[bot] commented 12 months ago

Stale Issue

MkQtS commented 12 months ago

Stale Issue

Stay.

smallprogram commented 12 months ago

其实没啥必要改

MkQtS commented 12 months ago

虽然这几个开关无关紧要,但既然给了 web 的开关(状态显示),却不能实际控制,还是有点遗憾。

我感觉应该把这页用 lua 重写,可惜不会。

github-actions[bot] commented 11 months ago

Stale Issue