brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
17.42k stars 2.25k forks source link

[Sync v2] FCM invalidation integration #11118

Open darkdh opened 4 years ago

darkdh commented 4 years ago

https://chromium.googlesource.com/chromium/src/+/master/components/invalidation/impl/README.md

We currently replies on periodic polling (60s), that will have many meaning sync cycles and also causing issue like https://github.com/brave/brave-browser/issues/11116

Client need to get FCM related config setup so it can register itself to FCM server with interested topics(Sync Types) Server will receive instance ID(invalidator_client_id) from client in sync.proto and it need to send notification to FCM server with instance IDs if some sync types have new data or when first time setup. And then Client will only receive notification of enabled sync types from FCM server. When receiving it, client will do a poll and nudge for the types in notification.

shadow1349 commented 3 years ago

I'm not sure why, but blocking FCM has also broken Firebase Callable Functions in Angular. Here's a comment I made for it:

https://github.com/angular/angularfire/issues/2475#issuecomment-711099922

I don't think there is much the Angular team can do to fix it since it seems the issue is on Brave itself. Now my whole app is broken in Brave since I rely on callable functions.