d devhelper

← All errors

Data problem

StandardError

{ "error": { "code": 403, "message": "SenderId mismatch", "status": "PERMISSION_DENIED", "details": [ { "@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError", "errorCode": "SENDER_ID_MISMATCH" } ] } }

ChatMessageProcessJob@sendbird_process_messages2 events · 0 users first seen 57 d agolast seen 12 h ago

In one line

FCM rejected an Android push with SENDER_ID_MISMATCH, which usually means a device token was issued for a different Firebase project than the one used to send it. The code only reports this to Bugsnag as a warning.

Checked against the code

What happened

  • Android.send_notification got a 403 SENDER_ID_MISMATCH from FCM and reported it through Bugsnag.notify (a deliberate call, android.rb:29-31).
  • It only fires for statuses other than 200 and 404, so it is a warning and does not fail the job.
  • There were only 13 events in 57 days, so this affects a few devices and is not a systemic outage.
  • The likely cause is a stale or wrong-project token: the token was registered under a different Firebase project, or the brand_name picks the wrong credentials.

What to do next

  1. Query Shows the oldest Android devices, which are the likely stale tokens. Check whether the failing users are members or staff.
    SELECT d.id, d.user_id, d.platform, d.updated_at, u.member FROM devices d JOIN users u ON u.id = d.user_id WHERE d.platform <> 'ios' ORDER BY d.updated_at ASC LIMIT 50;
  2. Check Check the Bugsnag events for which user, brand or device was involved. Then confirm the Firebase credentials for that brand match the project the app was built with.

Queries are shown, never run. Check them before using them on production.

Ask a follow-up

Continues the same session, so it still remembers the error and the code it read.

Enter to send · Shift+Enter for a new line
Analysed 1 h ago · claude-sonnet-5-5 · $0.04