关注类别不会导致推送通知

当我将一个类别设置为“watching first post”(“您将收到这些类别中每个新主题的第一个帖子的通知”)时,当类别中创建主题时,我会收到手机推送通知,并且还会收到后续回复的推送通知。

但是,当类别设置为“watching”(“您将收到所有新帖子和主题的通知”)时,我不会收到推送通知。

检查 code,我发现一个条件 NOTIFIABLE_TYPES.include?(type)

NOTIFIABLE_TYPES 包括 watching_first_postposted,但不包括 watching_category_or_tag

这是故意的吗?我一直认为“watching”是“watching first post”的超集?

(相似/相关:Watching First Post does not send push notifications这个 更改)

编辑:我目前正在运行几个我自己在使用的论坛,其中有一个已修补的版本添加了 watching_category_or_tag,并且将 push notification time window mins 设置为 0,我的用户体验从“一般”变成了“很棒”。所以如果这不是一个 bug,请将其视为一个功能请求 :wink:

8 个赞

我已合并 一个提交,该提交将 watching_category_or_tag 添加到了 NOTIFIABLE_TYPES 中,正如您所概述的那样!感谢您的错误报告和解决方案 :chefs_kiss:

7 个赞

感谢 @markvanlan!!

… 我刚发现这还需要一个区域设置字符串 en.discourse_push_notifications.popup.watching_category_or_tag

1 个赞

哦,抓得好,当然类型与翻译相关!但是……我很好奇哪个文本最好。watching_first_post 的文本如下。我想知道翻译是否应该是“X 创建了一个新帖子”,而不是“X 创建了一个新主题”,因为它可能是一个新主题,但更有可能是回复。

要使字符串更花哨,我们将不得不修改 PushNotificationPusher。现在,我将创建一个 PR 来实现我的建议,然后我们可以跟进改进。

watching_first_post: '%{username} 创建了一个新主题“%{topic}” - %{site_title}'
watching_category_or_tag: '%{username} 创建了一个新帖子“%{topic}” - %{site_title}'

编辑:已添加包含翻译的提交。我明天会跟进,看看如何提供更丰富的体验,直接链接到帖子,并附有关于与之关联的类别或标签的说明。FIX: Add translation for new push notification (#24203) · discourse/discourse@1d96b0a · GitHub

4 个赞

我刚刚推送了另一个提交,对推送通知文本进行了一些改进。来自PR描述:

现在对于新的主题,它将显示:

username 创建了新主题 “标题在此!” - Marks' Discourse

对于新的帖子

username 在 “标题在此!” 中发帖 - Marks' Discourse


在深入研究代码后,要让文本显示“X 在 Y 类别/标签中发布了新主题”将是一个巨大的改动。这是朝着正确方向迈出的一大步,如果将来需要,我们可以进行更复杂的更改。

再次感谢 @RGJ

3 个赞

此主题已在 13 小时后自动关闭。不再允许回复。