fix(push): accept Google's jmt17.google.com push endpoints

Chrome on Android increasingly hands out push subscriptions on
jmt17.google.com, which the push service allowlist did not know, so
turning push on failed with a 400. The host is added as an exact entry,
next to the two FCM hosts.

Closes #2939
This commit is contained in:
Maurice
2026-11-01 22:51:27 +01:00
parent 1625a10424
commit 327ebc354f
2 changed files with 5 additions and 0 deletions
@@ -13,6 +13,8 @@ export const PUSH_SERVICE_HOSTS: readonly string[] = [
// Chrome, Edge on Android, and every Chromium browser that uses Google's push.
'fcm.googleapis.com',
'android.googleapis.com',
// Google's newer push host, which Chrome on Android hands out more and more (#2939).
'jmt17.google.com',
// Firefox (autopush).
'updates.push.services.mozilla.com',
'push.services.mozilla.com',
@@ -74,6 +74,7 @@ describe('checkPushEndpoint / checkPushSubscription', () => {
for (const endpoint of [
FCM,
'https://android.googleapis.com/gcm/send/x',
'https://jmt17.google.com/fcm/send/x',
'https://updates.push.services.mozilla.com/wpush/v2/gAAAA',
'https://push.services.mozilla.com/wpush/v1/x',
'https://web.push.apple.com/QGx9',
@@ -111,6 +112,8 @@ describe('checkPushEndpoint / checkPushSubscription', () => {
'https://example.com/push',
'https://127.0.0.1/push',
'https://fcm.googleapis.com.evil.test/x',
'https://jmt17.google.com.evil.test/x',
'https://google.com/fcm/send/x',
'https://evilnotify.windows.com/x',
'https://.notify.windows.com/x',
'https://push.apple.com/x',