guardian / mobile-n10n

n10n for nOTIFICATIOn
Apache License 2.0
26 stars 4 forks source link

LIVE-6160 Upgrade firebase to v9.2.0 #1206

Closed waisingyiu closed 8 months ago

waisingyiu commented 8 months ago

What does this change?

Google is going to discontinue some of its legacy Firebase Cloud Messaging (FCM) APIs and some of them are being used by our notification service.

We do not invoke the APIs directly. These APIs are REST APIs where clients have to make HTTP requests directly to the FCM server endpoints. Instead, we interact with FCM servers via the Firebase Admin SDK, which provides a programming interface over the REST API.

To migrate from the old APIs being discontinued, we need to upgrade the Firebase Admin SDK to version 9.2.0, and replace our deprecated API call with the new APIs. (Firebase Admin Java SDK Release Notes ). Specifically we may have to replace our sendMulticastAsync with the new sendEachForMulticastAysnc API. The new API does not allow more than 500 devices to send in one invocation.

This PR upgrades the firebase to version 9.2.0

How to test

The change was verified on CODE where we was able to send notifications successfully.

However, we cannot verify its performance on CODE. The changes were in the API call which does the actual operation of sending notifications to real devices. To check the performance impact, we can only run it as an experiment on PROD which has more than 1 million subscribed users.

How can we measure success?

We expect the performance to be comparable to that before the upgrade.

Have we considered potential risks?

The new API may have negative impact on the performance.

github-actions[bot] commented 8 months ago

Deploy build 4277 of mobile-n10n:registration to CODE

All deployment options - [Deploy build 4277 of `mobile-n10n:registration` to CODE](https://riffraff.gutools.co.uk/deployment/deployAgain?project=mobile-n10n%3Aregistration&build=4277&stage=CODE&updateStrategy=MostlyHarmless&action=deploy) - [Deploy parts of build 4277 to CODE by previewing it first](https://riffraff.gutools.co.uk/preview/yaml?project=mobile-n10n%3Aregistration&build=4277&stage=CODE&updateStrategy=MostlyHarmless) - [What's on CODE right now?](https://riffraff.gutools.co.uk/deployment/history?projectName=mobile-n10n%3Aregistration&stage=CODE)

From guardian/actions-riff-raff.

github-actions[bot] commented 8 months ago

Deploy build 4309 of mobile-n10n:notificationworkerlambda to CODE

All deployment options - [Deploy build 4309 of `mobile-n10n:notificationworkerlambda` to CODE](https://riffraff.gutools.co.uk/deployment/deployAgain?project=mobile-n10n%3Anotificationworkerlambda&build=4309&stage=CODE&updateStrategy=MostlyHarmless&action=deploy) - [Deploy parts of build 4309 to CODE by previewing it first](https://riffraff.gutools.co.uk/preview/yaml?project=mobile-n10n%3Anotificationworkerlambda&build=4309&stage=CODE&updateStrategy=MostlyHarmless) - [What's on CODE right now?](https://riffraff.gutools.co.uk/deployment/history?projectName=mobile-n10n%3Anotificationworkerlambda&stage=CODE)

From guardian/actions-riff-raff.