libnyanpasu / clash-nyanpasu

Clash Nyanpasu~(∠・ω< )⌒☆​
https://nyanpasu.elaina.moe
GNU General Public License v3.0
9.63k stars 601 forks source link

Portable 版本在 Win10 下无通知信息 #314

Closed zptan closed 10 months ago

zptan commented 10 months ago

复现步骤 / Step to reproduce

导入订阅URL

预期行为 / Expected behaviour

导入失败时弹出相应的错误信息

实际行为 / Actual Behaviour

默默失败

应用日志 / App logs

No response

备注 / Addition details

No response

Clash Nyapasu 版本号 / Clash Nyapasu

1.4.3,1.4.4-alpha+23ced3b

是否为 Pre-release / Is pre-release version

操作系统及版本 / OS version

Windows 10 22H2

自查步骤 / Verify steps

Miracle-Sakuno commented 10 months ago

请尽快删除你上传的订阅文件,里面包含你的节点信息。 节点流量可能会被人盗用,删除后尽快联系你的机场主重置。

greenhat616 commented 10 months ago

你是不是打开了勿扰模式,导致通知无法通知?

zptan commented 10 months ago

你是不是打开了勿扰模式,导致通知无法通知?

没开“勿扰”模式,我使用clash-verge能正常弹出错误提示

greenhat616 commented 10 months ago

无法复现,在不提供日记,且无任何其他条件补充的情况下,更倾向于系统设置问题。

你可以尝试右下角那个控制中心图标,展开来看看喵帕斯的通知是否在里面,在的话,那就是系统设置的问题了。

喵帕斯与 verge 的区别在于通知优先使用系统通知,在通知权限被拒绝的情况下使用网页的模态框进行通知。

Windows 10 上有个设置叫专注助手,这个选项等价于“勿扰模式”,你可以检查下这个选项有没有打开。

https://support.microsoft.com/zh-cn/windows/在特定时间关闭-windows-中的通知-81ed1b25-809b-741d-549c-7696474d15d3#ID0EDD=Windows_10

zptan commented 10 months ago

你可以尝试右下角那个控制中心图标,展开来看看喵帕斯的通知是否在里面,在的话,那就是系统设置的问题了。

确定没有打开静默模式

打开log看到error,但是这个error没有在软件界面上显示

2024-01-23 20:19:03 ERROR - the remote profile data is invalid yaml

BTW,我使用的是portable版本,解压后直接用的,没有经过安装

greenhat616 commented 10 months ago

你可以尝试右下角那个控制中心图标,展开来看看喵帕斯的通知是否在里面,在的话,那就是系统设置的问题了。

确定没有打开静默模式

打开log看到error,但是这个error没有在软件界面上显示

2024-01-23 20:19:03 ERROR - the remote profile data is invalid yaml

BTW,我使用的是portable版本,解压后直接用的,没有经过安装

确实有这个可能,稍晚我测试下 Portable 版本看看。通知权限可能需要通过注册表获取。

zptan commented 10 months ago

我使用clash-verge也是portable版本,能弹出错误信息

greenhat616 commented 10 months ago

我使用clash-verge也是portable版本,能弹出错误信息

原理不一样的,上面解释过技术细节了,我们用的通知方式是系统通知,和 ntqq 的是一样的。

greenhat616 commented 10 months ago

Portable 版本在干净的 Windows 10 下确实有这个问题。 Windows 11 上无法复现。

image

可能和这个问题有关系:https://learn.microsoft.com/en-us/answers/questions/159295/no-desktop-notifications-for-portable-apps-from-ne

等过几天忙完了,我再研究一下。目前你可以先使用安装版本测试一下。

greenhat616 commented 10 months ago

我先禁用 Portable 版本下使用系统 notification 吧。

greenhat616 commented 10 months ago

等这个编译完成后再试一下开发版:https://github.com/keiko233/clash-nyanpasu/actions/runs/7678682776

zptan commented 10 months ago

使用最新的开发版,我的配置连同profile都不显示了,看起来更新以后不读取C:\User\$user\.config下的配置了,回退到旧版本就可以了

@greenhat616 等这个变更在下个release生效,会有不少人发现自己的配置找不到了,-_-'''

greenhat616 commented 10 months ago

使用最新的开发版,我的配置连同profile都不显示了,看起来更新以后不读取C:\User\$user\.config下的配置了,回退到旧版本就可以了

@greenhat616 等这个变更在下个release生效,会有不少人发现自己的配置找不到了,-_-'''

之前那个就是 Bug…… 之前程序无法识别自己是以 Portable 运行的,所以会有这种奇奇怪怪的问题。 你换 Verge 也是这个逻辑。 好好想想为什么叫 Portable?Portable 的目的是丢 U 盘里可以随处携带。换句话说配置就该存在程序目录里,否则怎么满足随时插拔的需求。而且 Tauri Windows 下强依赖 Webview2,U 盘带来带去只要系统没有 Webview2 也就直接歇逼了,这也是为啥 Tauri 官方不做 Portable 的原因——这种 Portable 根本不纯粹。

你想直接使用用户目录下的配置,有两个方法: 1、直接使用安装版 —— 我们的程序是开源的,对于注册表的修改是透明可见的。像服务模式(说实话这东西我觉得 Portable 上就该砍掉,动注册表了),一键添加订阅(custom schema),你碰到的这个通知问题,全都是需要动注册表才能工作的特性 2、删除 Portable 版程序目录下的 .config/PORTABLE。然后你就可以欺骗程序,获得和安装版一致的功能。但是这种情况下出现的任何问题请不要提交 ISSUE。我们不会受理。