LightAPIs / Gloria-X

提供定时执行 javascript 脚本任务的功能,以实现检测网页变化或进行论坛签到等自动化工作,并完成通知聚合。 Provides the function of performing the JavaScript script task to implement automated work such as detection web page changes or forum check-in, and complete the notification aggregation.
MIT License
16 stars 1 forks source link

定时推送通知推送时间不准和一些其他问题/建议 #13

Closed Teemwu closed 9 months ago

Teemwu commented 10 months ago

感谢作者的扩展,在使用过程中遇到以下几个问题:

  1. 定时 5 分钟间隔,正常应该每 5 分钟收到一个通知,但实际没有通知或者通知会很久推送一次
  2. 不管设不设置“隐式推送”,都没有收到系统通知提示,希望可以能有系统通知
  3. 任务修改标题后通知记录里的对应 tab 没有改变名称,而是另外新建了一个 tab,希望增加唯一id进行判断,而不是根据名称进行新增

其他一些建议:

  1. 扩展图标增加未读通知条数显示,这样不用打开扩展就能知道有多少待处理的通知了
  2. “通知记录”每个tab都希望增加未读条数显示,不然消息太多不好处理
LightAPIs commented 10 months ago

关于问题

  1. 定时器理论上是准时的,但如果任务中所连接的网站(包括通知所需加载的图标及图片)在使用本地网络访问较慢时,应该会延迟一些;但若通知比预期到达时间要多出很多,甚至还出现没有通知的情况,也许与任务代码本身相关(比如 commit 了空内容或者是没有"新"内容)?
  2. 通知方式是调用了浏览器的 notifications API,所以是否由系统通知是由浏览器决定的。若没有使用系统通知,也许是由于使用一些便携版的浏览器或者有在浏览器中禁用 chrome://flags/#enable-system-notifications
  3. 这是由于起初是故意拆分任务和通知记录的(因为我当初想允许多个任务能通过同名的方式"聚集"在一起),所以现在想再将它们关联起来很麻烦了 😅

关于建议

  1. 目前插件设置里有这个功能吧。
  2. 应该能实现,但是考虑到此插件未来能否在 Chrome Manifest-V3 下"存活"的不确定性,我近期应该是不会花时间处理 🤕
Teemwu commented 9 months ago

好的,感谢回复。下面是我的测试代码:

(async () => {
    const data = await fetch('https://www.okx.com/priapi/v3/b2c/deposit/quotedPrice?side=buy&quoteCurrency=CNY&baseCurrency=USDT', {method: 'GET'}).then(res => res.json());
    return {
      title: '欧意 USDT 价格',
      message: `价格:${data.data[0].price}`, 
      url: `https://www.okx.com/cn/buy-usdt`
    };
})().then(commit);
image

关于问题

  1. 可能确实是没有“新”内容不更新,不过第一次创建任务的时候,第一次内容应该是“新”的,但是也是没有在设置的时间推送,如下图:

    image image image
  2. 使用的是 macOS 正式版本的 chrome,chrome 版本:120.0.6099.129(正式版本) (x86_64) macOS 版本:14.1.2 (23B92)。系统我是允许通知的,只是一直没有收到系统通知,浏览器设置如下:

    image image image

关于建议

  1. 测试有效,感谢。
  2. 哈哈,另外加一个建议,现在看了下最少是设置一分钟间隔,可是有很多场景需要按秒来的。
LightAPIs commented 9 months ago

好的,感谢回复。下面是我的测试代码: ...

关于问题

  1. 这在两种任务的区别有提及,在创建任务后,任务首先会立即执行一次,并将此次结果缓存至 STAGES 中,故等首次时间到达时若运行结果不变,自然不会有通知。
  2. 我想我一开始理解错你的问题,以为你指的是有通知但通知非系统原生样式。所以你遇到问题是无法弹出桌面级通知?你有确认过"系统偏好设置"→"通知与专注模式"中允许 Google Chrome 通知吗?其次如果在一个允许通知权限的网站中打开发者工具,在控制台中运行以下代码时能弹出桌面通知吗?
new Notification('Notification title', {
  icon: 'https://www.baidu.com/favicon.ico',
  body: 'Hello world!',
});

关于建议

因为设计是使本插件所导出的任务能够导入至 Gloria 中,所以任务的间隔时间与 Gloria 中是一样的。不过 Gloria 基本确定不再维护下去,所以若之后该项目能继续进行下去的话,再考虑修改间隔时间的最小值吧。

Teemwu commented 9 months ago

好的,解决并且了解了,感谢感谢。