Erreurs de notification push dans /logs

Nous constatons l’erreur suivante qui remplit nos /logs assez fréquemment (de plusieurs dizaines à plusieurs centaines de fois par jour). Hormis le fait qu’elle semble liée aux notifications push, je ne sais pas exactement ce qui se passe ni si cela nécessite une attention particulière. Cela concerne la dernière version stable.

Échec de l'envoi de la notification push : hôte : fcm.googleapis.com, #<Net::HTTPForbidden 403 Forbidden readbody=true> body : la clé dans l'en-tête d'autorisation ne correspond pas à l'ID d'expéditeur utilisé pour abonner cet utilisateur. Veuillez vous assurer d'utiliser le bon ID d'expéditeur et la bonne clé de serveur depuis la console Firebase.

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’

2 « J'aime »

Même problème ici :confused:

Ce qui est intéressant, c’est que si nos membres désactivent puis réactivent les notifications push sur Android, cela fonctionne correctement pendant quelques jours, mais après, nous constatons de nombreux avertissements dans les journaux :arrow_down: et les notifications cessent de fonctionner.

Échec de l'envoi de la notification push : hôte : fcm.googleapis.com, #<Net::HTTPForbidden 403 Forbidden readbody=true>
corps :
la clé dans l'en-tête d'autorisation ne correspond pas à l'ID d'expéditeur utilisé pour s'abonner à cet utilisateur. Veuillez vous assurer d'utiliser le bon ID d'expéditeur et la clé de serveur depuis la console Firebase.
5 « J'aime »

Cela a bien fonctionné pour moi pendant deux semaines, puis après une nouvelle reconstruction, cela a cessé de fonctionner. Je pense donc que le processus de reconstruction de l’application en est la cause. Lorsque je mets à jour depuis la section administrateur, cela fonctionne parfaitement par la suite. Actuellement, la seule chose qui peut résoudre le problème des notifications push Android consiste à désactiver puis réactiver les membres. Cela fonctionnera jusqu’à la prochaine reconstruction.

Est-il possible que la reconstruction soit à l’origine de ce problème ?

1 « J'aime »

Oui, c’était le problème sur notre forum. À chaque fois que je reconstruisais l’application, les notifications push cessaient de fonctionner. Mais maintenant, cela semble être résolu sur notre forum. J’ai reconstruit pour la troisième fois et les notifications push fonctionnent toujours parfaitement. :heart_eyes: Je ne sais pas quel était le problème, mais merci beaucoup pour la correction ! :slightly_smiling_face:

1 « J'aime »