Push-Benachrichtigungsfehler in /logs

Wir sehen den folgenden Fehler relativ häufig in unseren /logs (Dutzende bis Hunderte Mal pro Tag). Abgesehen davon, dass es mit Push-Benachrichtigungen zusammenhängt, weiß ich nicht genau, was passiert und ob dies Aufmerksamkeit erfordert? Dies geschieht mit der neuesten stable-Version.

Fehler beim Senden der Push-Benachrichtigung: host: fcm.googleapis.com, #<Net::HTTPForbidden 403 Forbidden readbody=true> body: Der Schlüssel im Autorisierungsheader entspricht nicht der Sender-ID, mit der dieser Benutzer abonniert wurde. Stellen Sie sicher, dass Sie die korrekte Sender-ID und den korrekten Server-Schlüssel aus der Firebase-Konsole verwenden.

Backtrace

webpush-1.0.0/lib/webpush/request.rb:165:in verify_response' webpush-1.0.0/lib/webpush/request.rb:32:in perform’
webpush-1.0.0/lib/webpush.rb:44:in payload_send' /var/www/discourse/app/services/push_notification_pusher.rb:79:in send_notification’
/var/www/discourse/app/services/push_notification_pusher.rb:25:in block in push' activerecord-6.0.3.1/lib/active_record/relation/delegation.rb:87:in each’
activerecord-6.0.3.1/lib/active_record/relation/delegation.rb:87:in each' /var/www/discourse/app/services/push_notification_pusher.rb:23:in push’
/var/www/discourse/app/jobs/regular/send_push_notification.rb:7:in execute' /var/www/discourse/app/jobs/base.rb:232:in block (2 levels) in perform’
rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:68:in with_connection' /var/www/discourse/app/jobs/base.rb:221:in block in perform’
/var/www/discourse/app/jobs/base.rb:217:in each' /var/www/discourse/app/jobs/base.rb:217:in perform’
sidekiq-6.0.7/lib/sidekiq/processor.rb:196:in execute_job' sidekiq-6.0.7/lib/sidekiq/processor.rb:164:in block (2 levels) in process’
sidekiq-6.0.7/lib/sidekiq/middleware/chain.rb:138:in block in invoke' /var/www/discourse/lib/sidekiq/pausable.rb:138:in call’
sidekiq-6.0.7/lib/sidekiq/middleware/chain.rb:140:in block in invoke' sidekiq-6.0.7/lib/sidekiq/middleware/chain.rb:143:in invoke’
sidekiq-6.0.7/lib/sidekiq/processor.rb:163:in block in process' sidekiq-6.0.7/lib/sidekiq/processor.rb:136:in block (6 levels) in dispatch’
sidekiq-6.0.7/lib/sidekiq/job_retry.rb:111:in local' sidekiq-6.0.7/lib/sidekiq/processor.rb:135:in block (5 levels) in dispatch’
sidekiq-6.0.7/lib/sidekiq.rb:37:in block in <module:Sidekiq>' sidekiq-6.0.7/lib/sidekiq/processor.rb:131:in block (4 levels) in dispatch’
sidekiq-6.0.7/lib/sidekiq/processor.rb:257:in stats' sidekiq-6.0.7/lib/sidekiq/processor.rb:126:in block (3 levels) in dispatch’
sidekiq-6.0.7/lib/sidekiq/job_logger.rb:13:in call' sidekiq-6.0.7/lib/sidekiq/processor.rb:125:in block (2 levels) in dispatch’
sidekiq-6.0.7/lib/sidekiq/job_retry.rb:78:in global' sidekiq-6.0.7/lib/sidekiq/processor.rb:124:in block in dispatch’
sidekiq-6.0.7/lib/sidekiq/logger.rb:10:in with' sidekiq-6.0.7/lib/sidekiq/job_logger.rb:33:in prepare’
sidekiq-6.0.7/lib/sidekiq/processor.rb:123:in dispatch' sidekiq-6.0.7/lib/sidekiq/processor.rb:162:in process’
sidekiq-6.0.7/lib/sidekiq/processor.rb:78:in process_one' sidekiq-6.0.7/lib/sidekiq/processor.rb:68:in run’
sidekiq-6.0.7/lib/sidekiq/util.rb:15:in watchdog' sidekiq-6.0.7/lib/sidekiq/util.rb:24:in block in safe_thread’

Das gleiche Problem hier :confused:

Das Interessante ist: Wenn unsere Mitglieder die Push-Benachrichtigungen auf Android deaktivieren und erneut aktivieren, funktioniert es einige Tage lang einwandfrei. Danach erhalten wir jedoch viele Warnungen in den Logs :arrow_down: und die Benachrichtigungen funktionieren nicht mehr.

Fehler beim Senden der Push-Benachrichtigung: host: fcm.googleapis.com, #<Net::HTTPForbidden 403 Forbidden readbody=true>
body:
Der Schlüssel im Autorisierungs-Header entspricht nicht der Sender-ID, mit der dieser Benutzer abonniert wurde. Stellen Sie sicher, dass Sie die richtige Sender-ID und den richtigen Serverschlüssel aus der Firebase-Konsole verwenden.

Bei mir hat es nun zwei Wochen gut funktioniert, aber nach einem erneuten Build funktioniert es nicht mehr. Ich denke, dass dies irgendwie durch den Rebuild-Prozess der App verursacht wird. Wenn ich im Admin-Bereich ein Upgrade durchführe, funktioniert es danach einwandfrei. Der einzige Weg, um die Android-Benachrichtigungen wiederherzustellen, besteht darin, dass die Mitglieder die Funktion deaktivieren und erneut aktivieren. Dann funktioniert es bis zum nächsten Build.

Könnte es sein, dass der Build dieses Problem verursacht?

Ja, das war das Problem auf unserem Forum. Jedes Mal, wenn ich die App neu aufgebaut habe, haben die Push-Benachrichtigungen nicht mehr funktioniert. Aber jetzt scheint es auf unserem Forum gelöst zu sein. Ich habe zum dritten Mal neu aufgebaut und die Push-Benachrichtigungen funktionieren immer noch großartig. :heart_eyes: Ich weiß nicht, was das Problem war, aber vielen Dank für die Reparatur! :slightly_smiling_face: