即使已读,通知仍重复出现 [Private Topics plugin]

是的,我明白这很难 pinpoint。所以我曾希望过一段时间它会自动消失,但它并没有。

我认为我遇到了和这个问题一样的情况:Users getting notifictations from long ago

是的,我使用的是标准安装,唯一的区别是我位于 Cloudflare 之后。您可能认为这是 Cloudflare 导致的,但在此之前我们从未遇到过此类问题。我不认为这很可能是原因。

我找不到与通知相关的任何内容,但我不是这方面的专家,所以让我分享一些日志片段,也许您能从中发现些什么。

警告:


MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
发送推送通知失败:WebPush::Unauthorized : 主机:fcm.googleapis.com, #<Net::HTTPForbidden 403 Forbidden readbody=true> 正文:授权头中的 VAPID 凭据不匹配
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
异常应用中间件处理异常失败:ArgumentError : 传递了空属性列表
异常应用中间件处理异常失败:ArgumentError : 传递了空属性列表
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
DiscoTOC 主题/组件抛出错误:TypeError: Cannot read properties of null (reading 'en')
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
异常应用中间件处理异常失败:ArgumentError : 传递了空属性列表
发送推送通知失败:WebPush::Unauthorized : 主机:updates.push.services.mozilla.com, #<Net::HTTPUnauthorized 401 Unauthorized readbody=true> 正文:{"code":401,"errno":109,"error":"Unaut
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
异常应用中间件处理异常失败:ActiveRecord::RecordNotUnique : PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_topic_tags_on_topic_id_and_t
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
处理劫持响应失败:EOFError : 到达文件末尾
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
弃用通知:`SiteSetting.anonymous_posting_min_trust_level` 已被弃用。请改用 `SiteSetting.anonymous_posting_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/disc
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
发送推送通知失败:WebPush::ResponseError : 主机:web.push.apple.com, #<Net::HTTPBadRequest 400 Bad Request readbody=true> 正文:{"reason":"VapidPkHashMismatch"}
discourse-gifs 主题/组件抛出错误:TypeError: Cannot read properties of null (reading 'en')
DiscoTOC 主题/组件抛出错误:TypeError: Cannot read properties of null (reading 'en')
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
发送推送通知失败:WebPush::Unauthorized : 主机:updates.push.services.mozilla.com, #<Net::HTTPUnauthorized 401 Unauthorized readbody=true> 正文:{"code":401,"errno":109,"error":"Unaut
Sidekiq 消耗过多内存(使用:558.27M)用于 'btt.community',正在重启
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
发送推送通知失败:WebPush::PushServiceError : 主机:updates.push.services.mozilla.com, #<Net::HTTPBadGateway 502 Bad Gateway readbody=true> 正文:{"code":502,"errno":903,"error":"Bad
弃用通知:`SiteSetting.min_trust_level_for_here_mention` 已被弃用。请改用 `SiteSetting.here_mention_allowed_groups`。(将在 Discourse 3.3 中移除)位于 /var/www/discourse/
弃用通知:Jobs::Chat::NotifyMentioned 被入队时携带的参数值无法干净地序列化为 JSON。这意味着该任务将以略有不同的值运行。
弃用通知:Jobs::Chat::NotifyWatching 被入队时携带的参数值无法干净地序列化为 JSON。这意味着该任务将以略有不同的值运行。
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) 未找到:No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
弃用通知:Jobs::Chat::NotifyMentioned 被入队时携带的参数值无法干净地序列化为 JSON。这意味着该任务将以略有不同的值运行。
弃用通知:Jobs::Chat::NotifyWatching 被入队时携带的参数值无法干净地序列化为 JSON。这意味着该任务将以略有不同的值运行。

错误:

作业异常:Net::ReadTimeout
作业异常:Net::ReadTimeout
作业异常:Net::SMTPAuthenticationError
作业异常:Net::SMTPAuthenticationError
作业异常:Net::SMTPAuthenticationError
(google_oauth2) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | 检测到 CSRF
作业异常:Net::ReadTimeout
(github) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | 检测到 CSRF
(discord) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | 检测到 CSRF
default: 无法拉取热链接图像 (https://btt.community/uploads/default/optimized/2X/9/9394498c413ffd7cefbee2461a83d1a66b3b499c_2_690x388.jpeg) 帖子:10185 PG::UniqueViolation: ERROR: duplicat
作业异常:ERROR: duplicate key value violates unique constraint "pg_type_typname_nsp_index" DETAIL: Key (typname, typnamespace)=(gamification_leaderboard_cache_1_all_time_1, 2200) 已存在
(google_oauth2) 认证失败!invalid_credentials: OAuth2::Error, invalid_grant: Bad Request { "error": "invalid_grant", "error_description": "Bad Request" }
作业异常:Net::ReadTimeout
作业异常:到达文件末尾
(github) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | 检测到 CSRF
(twitter) 认证失败!invalid_credentials: OAuth::Unauthorized, 401 Unauthorized
作业异常:Net::SMTPAuthenticationError
作业异常:到达文件末尾
(google_oauth2) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | 检测到 CSRF
(google_oauth2) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | 检测到 CSRF
作业异常:Net::ReadTimeout
作业异常:参数数量错误(给定 0,预期 1)
作业异常:到达文件末尾
作业异常:参数数量错误(给定 0,预期 1)
(discord) 认证失败!csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | 检测到 CSRF
作业异常:Net::ReadTimeout
作业异常:参数数量错误(给定 0,预期 1)

致命错误:

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "categories" does not exist LINE 1: SELECT "categories"."id" FROM "categories" LEFT JOIN categor...
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "user_auth_tokens" does not exist LINE 1: SELECT "user_auth_tokens".* FROM "user_auth_tokens" WHERE ((...
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "user_auth_tokens" does not exist LINE 1: SELECT "user_auth_tokens".* FROM "user_auth_tokens" WHERE ((...
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "user_auth_tokens" does not exist LINE 1: SELECT "user_auth_tokens".* FROM "user_auth_tokens" WHERE ((...
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "user_auth_tokens" does not exist LINE 1: SELECT "user_auth_tokens".* FROM "user_auth_tokens" WHERE ((...
Regexp::TimeoutError (regexp match timeout) lib/crawler_detection.rb:38:in `match?' lib/crawler_detection.rb:38:in `crawler?' lib/middleware/anonymous_cache.rb:129:in `is_crawler?' (eval):2:in `__comp
ActiveRecord::StatementInvalid (PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block ) lib/post_action_creator.rb:295:in `rescue in creat
NoMethodError (undefined method `title' for nil:NilClass) app/models/reviewable_queued_post.rb:166:in `perform_revise_and_reject_post' app/models/reviewable.rb:331:in `public_send' app/models/reviewab
ArgumentError (Empty list of attributes passed) lib/plugin/instance.rb:522:in `block in on' lib/discourse_event.rb:12:in `block in trigger' lib/discourse_event.rb:12:in `trigger' app/models/post_mover
ArgumentError (Empty list of attributes passed) lib/plugin/instance.rb:522:in `block in on' lib/discourse_event.rb:12:in `block in trigger' lib/discourse_event.rb:12:in `trigger' app/models/post_mover
ArgumentError (Empty list of attributes passed) lib/plugin/instance.rb:522:in `block in on' lib/discourse_event.rb:12:in `block in trigger' lib/discourse_event.rb:12:in `trigger' app/models/post_mover
NoMethodError (undefined method `title' for nil:NilClass) app/models/reviewable_queued_post.rb:166:in `perform_revise_and_reject_post' app/models/reviewable.rb:331:in `public_send' app/models/reviewab
ArgumentError (Empty list of attributes passed) lib/plugin/instance.rb:522:in `block in on' lib/discourse_event.rb:12:in `block in trigger' lib/discourse_event.rb:12:in `trigger' app/models/post_mover
ArgumentError (Empty list of attributes passed) lib/plugin/instance.rb:522:in `block in on' lib/discourse_event.rb:12:in `block in trigger' lib/discourse_event.rb:12:in `trigger' app/models/post_mover
ArgumentError (Empty list of attributes passed) lib/plugin/instance.rb:522:in `block in on' lib/discourse_event.rb:12:in `block in trigger' lib/discourse_event.rb:12:in `trigger' app/models/post_mover
ArgumentError (Empty list of attributes passed) lib/plugin/instance.rb:522:in `block in on' lib/discourse_event.rb:12:in `block in trigger' lib/discourse_event.rb:12:in `trigger' app/models/post_mover
NoMethodError (undefined method `title' for nil:NilClass) app/models/reviewable_queued_post.rb:166:in `perform_revise_and_reject_post' app/models/reviewable.rb:331:in `public_send' app/models/reviewab
NoMethodError (undefined method `title' for nil:NilClass) app/models/reviewable_queued_post.rb:166:in `perform_revise_and_reject_post' app/models/reviewable.rb:331:in `public_send' app/models/reviewab
ArgumentError (Empty list of attributes passed) lib/plugin/instance.rb:521:in `block in on' lib/discourse_event.rb:12:in `block in trigger' lib/discourse_event.rb:12:in `trigger' app/models/post_mover
ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_topic_tags_on_topic_id_and_tag_id" DETAIL: Key (topic_id, tag_id)=(2907, 1) already e

关于 Sidekiq,我不确定具体该查看哪里。Sidekiq 不是处理电子邮件的吗?它与通知有关吗?

好的,我会尝试卸载每一个插件并在此期间重新构建。

以下是我在此问题开始之前安装的扩展(问题正好从那一天开始):

  • Who’s Online
  • Cakeday
  • Signature
  • Adsense
  • ActivityPub(由于无法禁用,我已完全删除并重新构建)

作为主题组件:

  • GIF

编辑:我忘记添加另外几个

  • Discourse Private Topics
  • Discourse Force Moderation