You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Numeric FCM senders currently receive a wp: subtype, which returned HTTP 404 in the LinkedIn Local investigation. Use a plain UUID for those senders and keep the existing Web Push format. Preserve previously issued extension-format registrations, propagate registration errors, and use the incoming category when AppID is absent.
Google registration and cleanup passed for LinkedIn, Messenger, Google Voice and Viber. Real encrypted Messenger and incoming Voice messages reached the updated receiver with plain UUID registrations. Build, vet and CI pass. The full Beeper client delivery check is still in progress.
Numeric FCM sender IDs (project numbers) were being registered as WebPush subscriptions (X-subtype=wp:<uuid>), which Google rejects. This PR registers numeric senders with a plain UUID subtype instead (dropping the wp: prefix), reads the push category as a fallback for MessageEvent.AppID when a push carries no subtype, and makes registration/unregistration surface failures explicitly instead of silently returning empty credentials. The change is scoped to three files; the WebPush path for non-numeric senders is unchanged from main. (An earlier revision of this PR also added a full Android application registration path with Firebase Installations; that has since been reverted.)
gcm.go: NewGCMAppID returns a plain UUID for numeric senders and wp:<UUID> otherwise; setGCMAppID sets app=org.chromium.linux + X-subtype=<appID> (with a leftover branch that would use app=<id> for a 32-char Chromium extension id); a new parseGCMResponse centralizes error handling (non-200 status, Error= body via the typed GCMError, and a missing register token), and unregister now confirms via a token or deleted == appID. The instance-id form field is also fixed from appId to lowercase appid.
events.go: newMessageEvent falls back to data.GetCategory() when the subtype-derived AppID is empty.
errors.go: adds the GCMError string type and the exported ErrGCMDeviceRegistration (PHONE_REGISTRATION_ERROR) constant.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Numeric FCM senders currently receive a
wp:subtype, which returned HTTP 404 in the LinkedIn Local investigation. Use a plain UUID for those senders and keep the existing Web Push format. Preserve previously issued extension-format registrations, propagate registration errors, and use the incoming category when AppID is absent.Google registration and cleanup passed for LinkedIn, Messenger, Google Voice and Viber. Real encrypted Messenger and incoming Voice messages reached the updated receiver with plain UUID registrations. Build, vet and CI pass. The full Beeper client delivery check is still in progress.
Related: beeper/hungryserv#588.