Benachrichtigungen kommen wieder, auch nach dem Lesen [Private Topics plugin]

Hallo, ich verwende die Version 3.2.0.beta4-dev (selbst gehostet) und bei diesem Commit. Nach den Updates treten bei den Benutzern doppelte/dreifache Benachrichtigungen in der Benutzeroberfläche auf. (Ich spreche von der Discourse-Benutzeroberfläche, nicht von E-Mails usw.)

Auch nachdem Sie geklickt und gelesen haben, kommen die Benachrichtigungen manchmal zurück. Ich habe diese Probleme auch. Ich weiß nicht, wie ich das beheben oder hilfreiche Protokolle bereitstellen kann. Ich wollte dies vielleicht teilen, falls es sich um ein globales Problem oder ein Problem auf meiner Instanz handelt?

Ich vermute, das ist ein RAM-Problem. Wie viel RAM hat Ihre Discourse-Instanz?

Ich gehe davon aus, dass Sie „Discourse UI“ meinen?

Okay, aber dieser Server ist seit fast 2 Monaten aktiv, dieses Problem ist vorher nicht aufgetreten. Im Moment haben wir auf meinem Server 4 GB RAM und die Hälfte davon ist leer. 2 GB Swap sind ebenfalls leer.

Ich denke, vielleicht hat das Update es verursacht, aber vielleicht auch die Erweiterungen. Ich bin mir nicht sicher. Ich schätze, der nächste Schritt, den ich unternehmen werde, ist, alle Erweiterungen zu deaktivieren und zu sehen, ob es hilft.

Ja, ich habe ein Bild in meinen ersten Beitrag aufgenommen. Ich meine Discourse UI-Benachrichtigungen.

Ich habe eine Reihe von Erweiterungen deaktiviert und das Problem besteht weiterhin. Haben Sie Gedanken dazu oder ist es möglich, dass ich auf die Version 3.2.0.beta3-dev zurückstufen kann? Danke.

Hallo nochmal, ich weiß, dass niemand helfen muss und dies ein Community-Forum ist und ich natürlich kein zahlender Kunde bin, aber dieser Fehler frustriert mich und die Benutzer wirklich sehr. Wir haben vor 2 Monaten dank Discourse eine Community aufgebaut, in der wir 458 aktive monatliche Benutzer haben. Aber seit diesem Fehler (vor 20 Tagen) habe ich alles versucht, was ich kann. Es ist ziemlich schlecht für die Benutzererfahrung und jetzt versuche ich, Skripte zu finden, um zu Flarum oder einer anderen Forum-Plattform zu migrieren. Schauen Sie sich das an:

output

Benutzer erhalten immer wieder dieselbe Benachrichtigung. Sie erhalten Benachrichtigungen von vor 20 Tagen, 5 Tagen oder wann auch immer. Selbst wenn Sie alle Benachrichtigungen ablehnen, erhalten Sie nach ein paar Stunden dieselbe Benachrichtigung erneut und es gibt keine Möglichkeit, dies zu beheben!

Nochmal, ich weiß, wo ich stehe, dies ist eine Community-Plattform. Ich habe kein Recht, mich zu beschweren, aber wenn nach diesem Beitrag niemand hilft, auch wenn das bedeutet, dass alle unsere bisherigen Beiträge und Themen gelöscht werden (1,2 Tausend Themen und 12,7 Tausend Beiträge), müssen wir woanders hingehen…

Nur als Hinweis: Ich war ein Befürworter von Discourse. Ich habe Videos darüber auf meinem YouTube-Kanal erstellt. Türkische Gemeinschaften verwenden normalerweise veraltete Foren und ich hatte großartige Erfahrungen mit Discourse, also wollte ich, nachdem ich mein eigenes Forum eröffnet hatte, dass die Leute diese Software kennenlernen.

Wie auch immer, ich möchte wirklich nicht all die Lösungen und die Arbeit anderer Leute in unserem aktuellen Forum verlieren. Daher bitte ich Sie freundlich um Ihre Hilfe. Vielen Dank.

Nur aus Neugier, können Sie Gemeinsamkeiten zwischen den Beiträgen finden, die wiederholte Benachrichtigungen haben?

Soweit ich das verstehe, ist es für jeden Benutzer unterschiedlich. Aber sie wiederholen sich. Auf meinem Konto erhalte ich immer wieder dieselben Benachrichtigungen. Obwohl dies bei Beiträgen, die älter als 21 Tage sind, nicht vorkommt, für die wir ein Update 3.2.0beta4 durchgeführt haben und ich auch Erweiterungen zu unserem Forum hinzugefügt habe.

Anfangs dachte ich, die Erweiterungen hätten dies ausgelöst, also habe ich alle Erweiterungen deaktiviert, aber das Problem wurde dadurch nicht behoben. Nebenbei bemerkt, sollte ich sie vielleicht löschen und komplett neu aufbauen? Ich weiß es nicht.

Dann dachte ich, es läge an der beta4. Dann habe ich auf beta3 herabgestuft, wo wir das Problem nicht hatten, aber es bestand weiterhin.

Leider haben wir keine weiteren Berichte darüber erhalten, daher ist es schwierig, herauszufinden, was auf Ihrer Website vor sich geht. Haben Sie eine Standardinstallation?

Gibt es auf Ihrer /logs- oder /sidekiq-Seite Informationen, die mehr Aufschluss geben könnten?

Ja. Das Deaktivieren entfernt das problematische Teil möglicherweise nicht vollständig. Aber welche Plugins haben Sie kürzlich installiert? Wir können vielleicht feststellen, ob für eines Probleme gemeldet wurden.

Ja, ich verstehe, dass es schwer ist, den genauen Punkt zu finden. Deshalb hatte ich gehofft, dass es sich nach einiger Zeit von selbst erledigt, aber das war nicht der Fall.

Ich glaube, ich habe das gleiche Problem wie hier: Users getting notifictations from long ago

Ja, ich habe eine Standardinstallation, aber der einzige Unterschied ist, dass ich hinter Cloudflare stehe. Man könnte denken, das liegt an Cloudflare, aber vorher hatten wir ein solches Problem nicht. Ich glaube nicht, dass das wahrscheinlich ist.

Ich konnte nichts zu Benachrichtigungen finden, aber ich bin kein Experte auf diesem Gebiet. Lassen Sie mich daher einen kurzen Ausschnitt teilen, vielleicht fällt Ihrem Auge etwas auf.

Warnungen:


MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Fehler beim Senden der Push-Benachrichtigung: WebPush::Unauthorized : host: fcm.googleapis.com, #<Net::HTTPForbidden 403 Forbidden readbody=true> body: die VAPID-Anmeldedaten im Autorisierungsheader stimmen nicht
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Fehler beim Behandeln einer Ausnahme im Exception-App-Middleware: ArgumentError : Leere Liste von Attributen übergeben
Fehler beim Behandeln einer Ausnahme im Exception-App-Middleware: ArgumentError : Leere Liste von Attributen übergeben
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
DiscoTOC-Thema/Komponente wirft Fehler: TypeError: Cannot read properties of null (reading 'en')
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Fehler beim Behandeln einer Ausnahme im Exception-App-Middleware: ArgumentError : Leere Liste von Attributen übergeben
Fehler beim Senden der Push-Benachrichtigung: WebPush::Unauthorized : host: updates.push.services.mozilla.com, #<Net::HTTPUnauthorized 401 Unauthorized readbody=true> body: {"code":401,"errno":109,"error":"Unaut
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Fehler beim Behandeln einer Ausnahme im Exception-App-Middleware: ActiveRecord::RecordNotUnique : PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_topic_tags_on_topic_id_and_t
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Fehler bei der Verarbeitung einer entführten Antwort: EOFError : Ende der Datei erreicht
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
Hinweis zur Veraltung: `SiteSetting.anonymous_posting_min_trust_level` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.anonymous_posting_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/disc
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
Fehler beim Senden der Push-Benachrichtigung: WebPush::ResponseError : host: web.push.apple.com, #<Net::HTTPBadRequest 400 Bad Request readbody=true> body: {"reason":"VapidPkHashMismatch"}
discourse-gifs-Thema/Komponente wirft Fehler: TypeError: Cannot read properties of null (reading 'en')
DiscoTOC-Thema/Komponente wirft Fehler: TypeError: Cannot read properties of null (reading 'en')
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
Fehler beim Senden der Push-Benachrichtigung: WebPush::Unauthorized : host: updates.push.services.mozilla.com, #<Net::HTTPUnauthorized 401 Unauthorized readbody=true> body: {"code":401,"errno":109,"error":"Unaut
Sidekiq verbraucht zu viel Speicher (Verwendung: 558,27M) für 'btt.community', Neustart
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
Fehler beim Senden der Push-Benachrichtigung: WebPush::PushServiceError : host: updates.push.services.mozilla.com, #<Net::HTTPBadGateway 502 Bad Gateway readbody=true> body: {"code":502,"errno":903,"error":"Bad
Hinweis zur Veraltung: `SiteSetting.min_trust_level_for_here_mention` ist veraltet. Bitte verwenden Sie stattdessen `SiteSetting.here_mention_allowed_groups`. (Entfernung in Discourse 3.3) At /var/www/discourse/
Hinweis zur Veraltung: Jobs::Chat::NotifyMentioned wurde mit Argumentwerten in die Warteschlange gestellt, die nicht sauber nach/von JSON serialisiert werden können. Das bedeutet, dass der Job mit leicht abweichenden Werten ausgeführt wird als t
Hinweis zur Veraltung: Jobs::Chat::NotifyWatching wurde mit Argumentwerten in die Warteschlange gestellt, die nicht sauber nach/von JSON serialisiert werden können. Das bedeutet, dass der Job mit leicht abweichenden Werten ausgeführt wird als th
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-City.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-City.mmdb
MaxMindDB (/var/www/discourse/vendor/data/GeoLite2-ASN.mmdb) konnte nicht gefunden werden: No such file or directory @ rb_sysopen - /var/www/discourse/vendor/data/GeoLite2-ASN.mmdb
Hinweis zur Veraltung: Jobs::Chat::NotifyMentioned wurde mit Argumentwerten in die Warteschlange gestellt, die nicht sauber nach/von JSON serialisiert werden können. Das bedeutet, dass der Job mit leicht abweichenden Werten ausgeführt wird als t
Hinweis zur Veraltung: Jobs::Chat::NotifyWatching wurde mit Argumentwerten in die Warteschlange gestellt, die nicht sauber nach/von JSON serialisiert werden können. Das bedeutet, dass der Job mit leicht abweichenden Werten ausgeführt wird als th

Fehler:

Job-Ausnahme: Net::ReadTimeout
Job-Ausnahme: Net::ReadTimeout
Job-Ausnahme: Net::SMTPAuthenticationError
Job-Ausnahme: Net::SMTPAuthenticationError
Job-Ausnahme: Net::SMTPAuthenticationError
(google_oauth2) Authentifizierungsfehler! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF erkannt
Job-Ausnahme: Net::ReadTimeout
(github) Authentifizierungsfehler! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF erkannt
discord) Authentifizierungsfehler! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF erkannt
default: Fehler beim Herunterladen eines verlinkten Bildes (https://btt.community/uploads/default/optimized/2X/9/9394498c413ffd7cefbee2461a83d1a66b3b499c_2_690x388.jpeg) Beitrag: 10185 PG::UniqueViolation: ERROR: duplicat
Job-Ausnahme: ERROR: duplicate key value violates unique constraint "pg_type_typname_nsp_index" DETAIL: Key (typname, typnamespace)=(gamification_leaderboard_cache_1_all_time_1, 2200) already exist
(google_oauth2) Authentifizierungsfehler! invalid_credentials: OAuth2::Error, invalid_grant: Bad Request { "error": "invalid_grant", "error_description": "Bad Request" }
Job-Ausnahme: Net::ReadTimeout
Job-Ausnahme: Ende der Datei erreicht
(github) Authentifizierungsfehler! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF erkannt
(twitter) Authentifizierungsfehler! invalid_credentials: OAuth::Unauthorized, 401 Unauthorized
Job-Ausnahme: Net::SMTPAuthenticationError
Job-Ausnahme: Ende der Datei erreicht
(google_oauth2) Authentifizierungsfehler! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF erkannt
(google_oauth2) Authentifizierungsfehler! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF erkannt
Job-Ausnahme: Net::ReadTimeout
Job-Ausnahme: falsche Anzahl von Argumenten (0 übergeben, 1 erwartet)
Job-Ausnahme: Ende der Datei erreicht
Job-Ausnahme: falsche Anzahl von Argumenten (0 übergeben, 1 erwartet)
(discord) Authentifizierungsfehler! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF erkannt
Job-Ausnahme: Net::ReadTimeout
Job-Ausnahme: falsche Anzahl von Argumenten (0 übergeben, 1 erwartet)

Fatal:

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

Bei Sidekiq weiß ich nicht genau, wo ich suchen soll. Handhabt Sidekiq nicht E-Mails? Hat das etwas mit Benachrichtigungen zu tun?

Okay, ich werde versuchen, jedes einzelne davon zu deinstallieren und gleichzeitig neu aufzubauen.

Hier sind die Erweiterungen, die ich installiert habe, bevor dieses Problem begann (es begann am exakten Tag):

  • Wer ist online
  • Cakeday
  • Signatur
  • Adsense
  • ActivityPub (Ich habe dies vollständig gelöscht und neu aufgebaut, da ich es nicht deaktivieren konnte)

Als Theme-Komponente:

  • GIF

EDIT: Ich habe vergessen, noch ein paar weitere hinzuzufügen

  • Discourse Private Topics
  • Discourse Force Moderation

Ich könnte mich irren, aber das ist eine Theme-Komponente, oder?

Ja, das stimmt, es ist im Moment eine Themenkomponente, ich weiß nicht, was was ist, also habe ich sie trotzdem aufgenommen. :grinning_face_with_smiling_eyes:

Sidekiq kümmert sich um alle Hintergrundaufträge, einschließlich Benachrichtigungen. Sie haben dort eine eklektische Mischung von Fehlern :slight_smile: Ich glaube, ich erkenne ein paar, die inzwischen behoben wurden und daher nach einem Neuaufbau/Update nicht mehr auftreten sollten. Allerdings sehe ich:

Sidekiq verbraucht zu viel Speicher (verwendet: 558,27M)

Was es möglicherweise dazu zwingt, Aufträge erneut zu versuchen (einschließlich des erneuten Sendens von Benachrichtigungen). Könnten Sie auf diesen klicken und sehen, ob es weitere Informationen gibt?

Ich verstehe, wenn das der Fall ist, dann könnte das tatsächlich das Problem sein.

image

Auf der linken Seite ist die Anzahl, richtig? Es ist also 10 Mal passiert.

Hier sind alle Male, die es passiert ist:

8 Sep 6:55 pm
25 Sep 9:44 pm
4 Oct 9:53 pm
10 Nov 2:26 am (Problem begann am 9. November)
11 Nov 11:37 am
11 Nov 1:37 pm
23 Nov 6:43 pm
25 Nov 6:59 pm
So 7:32 Uhr
Mo 1:12 Uhr

Aber die Sache ist, wir haben 4 GB RAM und 2 GB SWAP, ich sehe nie, dass es mehr als das genutzt wird:

Und das Bild, das ich gerade aufgenommen habe, ist von jetzt. Vielleicht passiert das, wenn Benutzer Spitzenzeiten haben, oder wenn das nicht der Fall ist, muss ich dann den Schwellenwert von Sidekiq erhöhen?

INFO:

Sidekiq verbraucht zu viel Speicher (verwendet: 558,27 MB) für 'btt.community', Neustart

BACKTRACE:

config/unicorn.conf.rb:164:in `check_sidekiq_heartbeat'
config/unicorn.conf.rb:244:in `master_sleep'
unicorn-6.1.0/lib/unicorn/http_server.rb:295:in `join'
unicorn-6.1.0/bin/unicorn:128:in `<top (required)>'
/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `load'

/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'

env:

hostname	dc-app, [dc-discourse]
process_id	1215943
application_version	a55f924e279b45b81e69e720faeb38284aed90d4
time	Mo 1:12 Uhr

Ich weiß, das beweist nichts, aber ich habe jeden Tag mehrmals denselben Fehler[1] und nichts Ähnliches, was der OP erlebt, passiert bei mir.


  1. weil die Behebung zu anspruchsvoll und teuer erscheint ↩︎

Bei genauerer Betrachtung sehe ich auch einige Fehler, die damit zusammenhängen könnten:

Message (109 copies reported)

Deprecation notice: Jobs::Chat::NotifyMentioned wurde mit Argumentwerten enqueued, die sich nicht sauber in JSON serialisieren/deserialisieren lassen. Das bedeutet, dass der Job mit leicht anderen Werten ausgeführt wird als die, die an `enqueue` übergeben wurden. Argumentwerte sollten Strings, Booleans, Zahlen oder nil sein (oder Arrays/Hashes dieser Wertetypen). (veraltet seit Discourse 2.9) (Entfernung in Discourse 3.0)
Bei /var/www/discourse/plugins/chat/lib/chat/notifier.rb:355:in `notify_mentioned_users`

Backtrace

/var/www/discourse/lib/discourse.rb:1030:in `deprecate'
/var/www/discourse/app/jobs/base.rb:371:in `enqueue'
/var/www/discourse/plugins/chat/lib/chat/notifier.rb:355:in `notify_mentioned_users'
/var/www/discourse/plugins/chat/lib/chat/notifier.rb:78:in `notify_new'
/var/www/discourse/plugins/chat/app/jobs/regular/chat/process_message.rb:42:in `block in execute'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/plugins/chat/app/jobs/regular/chat/process_message.rb:7:in `execute'
Message (109 copies reported)

Deprecation notice: Jobs::Chat::NotifyWatching wurde mit Argumentwerten enqueued, die sich nicht sauber in JSON serialisieren/deserialisieren lassen. Das bedeutet, dass der Job mit leicht anderen Werten ausgeführt wird als die, die an `enqueue` übergeben wurden. Argumentwerte sollten Strings, Booleans, Zahlen oder nil sein (oder Arrays/Hashes dieser Wertetypen). (veraltet seit Discourse 2.9) (Entfernung in Discourse 3.0)
Bei /var/www/discourse/plugins/chat/lib/chat/notifier.rb:367:in `notify_watching_users`

Backtrace

/var/www/discourse/lib/discourse.rb:1030:in `deprecate'
/var/www/discourse/app/jobs/base.rb:371:in `enqueue'
/var/www/discourse/plugins/chat/lib/chat/notifier.rb:367:in `notify_watching_users'
/var/www/discourse/plugins/chat/lib/chat/notifier.rb:79:in `notify_new'
/var/www/discourse/plugins/chat/app/jobs/regular/chat/process_message.rb:42:in `block in execute'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/plugins/chat/app/jobs/regular/chat/process_message.rb:7:in `execute'
Message (29888 copies reported)

Job exception: wrong number of arguments (given 0, expected 1)


Backtrace

/var/www/discourse/plugins/discourse-private-topics/plugin.rb:20:in `get_filtered_category_ids'
/var/www/discourse/plugins/discourse-private-topics/plugin.rb:149:in `handle'
/var/www/discourse/plugins/discourse-follow/plugin.rb:131:in `block (2 levels) in activate!'
/var/www/discourse/lib/plugin/instance.rb:521:in `block in on'
/var/www/discourse/lib/discourse_event.rb:12:in `block in trigger'
/usr/local/lib/ruby/3.2.0/set.rb:511:in `each_key'
/usr/local/lib/ruby/3.2.0/set.rb:511:in `each'
/var/www/discourse/lib/discourse_event.rb:12:in `trigger'
/var/www/discourse/app/services/post_alerter.rb:205:in `after_save_post'
/var/www/discourse/app/jobs/regular/post_alert.rb:10:in `execute'

hostname	dc-app
process_id	190
application_version	95b7cbd8a13ec82003936ef9408ec83bc9f3c2ea
current_db	default
current_hostname	btt.community
job	Jobs::PostAlert
problem_db	default
time	We 1:55 pm

Wenn ich mir den Backtrace des 3. Fehlers ansehe, scheint er mit den Plugins discourse-private-topics und discourse-follow zusammenzuhängen. Ich bin darin kein Experte, wie gesagt, aber ich werde sie entfernen und von Grund auf neu erstellen…

Nachdem Plugins gelöscht und neu erstellt wurden, verschwand der 3. Fehler, aber die ersten beiden Deprecation Notices bestehen weiterhin.

Und das Problem ist nicht gelöst.

In Sidekiq sehe ich Dutzende von Jobs::PostAlert im Wiederholungsbereich. Ich vermute, deshalb kommen all diese Benachrichtigungen zurück. Aber warum sollte es überhaupt in die Wiederholungen gehen, wenn es den Alarm tatsächlich sendet?

Wie Sie sehen, gibt es 63 Seiten davon. Soll ich sie alle löschen?

EDIT:

Wenn ich mir den Fehler ansehe, scheint er von den Plugins discourse-private-topics und discourse-follow ausgelöst zu werden.

Und selbst als ich sie gelöscht habe, da sie im Wiederholungsbereich waren, hat Sidekiq diese Benachrichtigungen immer noch gesendet. Jetzt habe ich alle diese Wiederholungen gelöscht und hoffe, dass das Problem gelöst ist. Ich werde es aktualisieren.

Okay, das hat das Problem behoben. Also am Ende Job exception: wrong number of arguments (given 0, expected 1) wird dieses Problem entweder durch oder durch beide Plugins Private Topics Plugin und Discourse Follow verursacht. Vielleicht verursachen beide zusammen dieses Problem, ich weiß es nicht und ich glaube nicht, dass ich es herausfinden möchte. Ich bin hier ein wenig traumatisiert, nachdem ich mich 21 Tage lang mit diesem Problem beschäftigt habe. :grinning_face_with_smiling_eyes: Vielleicht möchten die Autoren dieses Plugins das wissen, also markiere ich sie hier: @sam @RGJ

Danke @JammyDodger @Firepup650

Ich denke, ich habe gelernt, wie man ein Discourse-Problem debuggt und nie mehr als 1 Plugin gleichzeitig installiert…

Vielen Dank, dass Sie dem auf den Grund gegangen sind! Es war tatsächlich ein Problem in meinem privaten Themen-Plugin, das nur auftrat, wenn auch das Follow-Plugin aktiviert war.

Ich habe eine Korrektur vorgenommen. Entschuldigen Sie die traumatisierende Erfahrung :wink:

Ausgezeichnetes Debugging. :clap: :slight_smile: Und danke für die schnelle Behebung @RGJ :rocket:

Da dies ein Problem mit einem nicht-#offiziellen Plugin war, werde ich es aus der #bug-Kategorie entfernen (werde es aber nicht mit Private Topics Plugin zusammenführen, da es dafür etwas zu groß ist).

Hoffentlich können Sie jetzt beide Plugins ohne Benachrichtigungsaufregung installieren. :crossed_fingers: