Signal-android: Push notifications / Play Services detection with microG broken since face blur update

Created on 6 Jun 2020  Â·  11Comments  Â·  Source: signalapp/Signal-Android


Bug description

Push notifications when using microG in place of Google's Play Services, which was working perfectly previously, is now broken since the face blur update. I believe this is due to the addition and/or update of relevant Google Firebase libraries, for example https://github.com/signalapp/Signal-Android/commit/c8dd4e5254c0771b2a1925df408ed9d360c68f84#diff-39e7d8c00954e920b98e7636f0ac30b2R287. It's possible that the upgrade or addition of the ML libraries changed the higher level detection of Play Services to return an error, or a "needs update" status or similar, breaking push notification functionality where it was previously known to work well.

I realise microG isn't an official development target of yours at all, however given that Signal likely attracts a disproportionate number of microG users relative to other projects, if it turns out to be relatively low lift to roll-back or otherwise rework the capability detection, perhaps a fix for this can be considered.

Steps to reproduce

  • Set up a phone with a working install of microG, showing as connected in the Google Cloud Messaging menu.
  • Install the latest Signal release.

Actual result: Play Services detection fails and the app falls back to the much less efficient polling service.
Expected result: Perhaps a warning about lack of face blurring capability (if this is the case), but functioning push notifications.

Most helpful comment

Works on 4.60.9.6401. Doesn't work on 4.61.6.6471.
Edit: Confirmed on a second device. GCM registration must have got broken in 4.61.
Edit2: I've built and tried commits between 4.61.3 and 4.61.4. OP is right. The culprit is c8dd4e5254c0771b2a1925df408ed9d360c68f84.

All 11 comments

After a quick test, face blurring functionality actually appears to work fine, so it appears it's just push notifications affected here.

Can reproduce on v4.62.4.6522. Not exactly sure on the last working version but as OP says it was before face blur update.

Works on 4.60.9.6401. Doesn't work on 4.61.6.6471.
Edit: Confirmed on a second device. GCM registration must have got broken in 4.61.
Edit2: I've built and tried commits between 4.61.3 and 4.61.4. OP is right. The culprit is c8dd4e5254c0771b2a1925df408ed9d360c68f84.

I have the same problem with a fresh install of a custom ROM with no Google Apps. microG is installed and working for every other apps, except Signal and Telegram X. Both were working when registered in GCM through microG before my reinstallation, so I'm not sure from which version Google Play Services detection got broken.

Doesn't work for me neither on a freshly installed custom ROM (Lineage OS 17.1 on a Samsung Galaxy S10e) while 9 other apps successfully registered within microg GCM.

Edit: A Pull Request Fix FCM registration for apps using firebase >= 20.1.1 was submitted to microg GsmCore 17 days ago, but the fact that the latest commit in master is more than 6 months old is a bit worrisome...

Ran into this issue today on a LineageOS/MicroG install. This is clearly an issue with signal since every other GCM application I've tried has worked fine. As @ybea pointed out, this works totally fine in signal 4.60.9.x

There was nothing wrong with Signal after all. PR linked by @jbleonesio explains it. Provided solution works with the latest version (4.65.2). Let's hope it will be merged soon. For the time being.

I think the issue can be closed.

Yeah, and as a rule: Signal supports devices that do not have Play Services. We fallback to a persistent websocket in that case. If you choose to fake Play Services, you're on your own. There's just no world where we can build Signal to use Play Services, but in a way where we cater to the various quirks of replacement implementations. If your Play Services replacement isn't working, please file the issue with them :)

I can confirm that the PR is indeed fixing the problem but you may have to reinstall your apps to make them registering to push notifications.
Here is the documentation to build microg : https://github.com/microg/android_packages_apps_GmsCore/wiki/Building

We should have the APP working without play services or even microG! this mine

microG 2.11 fixes this issue : https://github.com/microg/android_packages_apps_GmsCore/releases/tag/v0.2.11.202414

You may have to go to _Settings > Advanced_ and deactivate/reactivate Signal calls and messages (or equivalent)

Was this page helpful?
0 / 5 - 0 ratings