Updates

A sender service written in Go is now relying on a new version of FCM protocol and requires an update.

Since new protocol has its own requirements, we need to update related services that prepare data for the sender as well.

Risks

The main risk here is a compatibility with response delivery reports which are sent to the production amazon cluster.

We expect to have new error codes coming within response reports and we need to make sure that it will not break old ones.

It will probably require some changes on amazon side as well (e.g. directory-events-api)

An additional script might also come in handy to clean messages container from old data after directory messages update will be released.

from itertools import product
 
from apps.messages.models import FirebaseSpamMessages, FirebaseMessages
 
for spam, firebase_app in product([True, False], ['04a4177e-d2a0-4372-bd59-0a417597e5a3']):
    print(f"Clearing messages container for {firebase_app} ({'spam' if spam else 'regular'})")
    container = FirebaseSpamMessages(firebase_app=firebase_app) if spam else FirebaseMessages(firebase_app=firebase_app)
    container.reset()
 

Update plan

Update map

deployment render all [[templates/items/deployment]] where page = @page.name

Problems during deployment