Gmscore: Steam App can't register for push notifications

Created on 23 Mar 2019  路  13Comments  路  Source: microg/GmsCore

steam.log
I noticed some time ago that Steam won't show any push notifications anymore. I checked MicroG and it showed as "Not Registered". I tried steps from https://github.com/microg/android_packages_apps_GmsCore/issues/284#issuecomment-276404599 to make it re-register but it didn't help. I then completely uninstalled it and re-installed it without success. Please find the log of the first launch after the installation attached. At first I thought it was related to Steam switching from GCM to FCM, but then I saw this in the logs:

GCM W GCM SDK is deprecated, com.valvesoftware.android.steam.community should update to use FCM

Any ideas how to make it work again?

PS:
LOS 14.1-20180129
MicroG 0.2.6.13280

鈽侊笍 Cloud / Push Messaging

Most helpful comment

I did a bunch of debugging and I think I narrowed down the problem. I think this is fixed with https://github.com/voidstarstar/android_packages_apps_GmsCore/commit/6db51501c150571cdb61c6cc5659e28763152dbe. I don't know why, but it looks like the delete flag is being set during registration. I assume this flag is meant to be set when an app is unregistered. It seems like Steam is still able to unregister with this change, but that doesn't mean there won't be any unintended negative side effects, however. This bug likely affects other apps as well.

Side note: It seems like there's a lot of duplicate code for registering and unregistering with GCM. I'm not sure why, but I'm guessing much of this can be removed and refactored. I think better documentation of the code might help the community contribute more.

All 13 comments

I see the line ProviderInstallerImpl: yep, i should do something with Security here..., directly above the quoted GCM output, but #635 doesn't seem to fix this issue.

I did a bunch of debugging and I think I narrowed down the problem. I think this is fixed with https://github.com/voidstarstar/android_packages_apps_GmsCore/commit/6db51501c150571cdb61c6cc5659e28763152dbe. I don't know why, but it looks like the delete flag is being set during registration. I assume this flag is meant to be set when an app is unregistered. It seems like Steam is still able to unregister with this change, but that doesn't mean there won't be any unintended negative side effects, however. This bug likely affects other apps as well.

Side note: It seems like there's a lot of duplicate code for registering and unregistering with GCM. I'm not sure why, but I'm guessing much of this can be removed and refactored. I think better documentation of the code might help the community contribute more.

@voidstarstar thank you! are you going to merge this change in?

We can ask Chris to merge it in his fork and we will test it then.
@Nanolx would you be so kind to make it for us?
Again :)

@Torvin I think this definitely needs more testing first. I can't help but think that this delete flag was added for a reason, so simply ignoring it in my patch is probably not the "correct" way to fix this bug. I suspect that this might break unregistering certain apps (specifically lines 93-100).

@Vavun I'm still trying to figure out what collateral damage this patch causes (and confirm that it actually fixes this issue), so just be warned that it's definitely not production ready yet. I can also provide a compiled temporary version for testing in case this is too experimental for his fork.

@voidstarstar hmm...
I just remembered one thing: try to turn on flight mode (or just turn off the internet completely) and then try manually unregister any app.
Check logcat then. What is the problem ? Or it's normal ?
This does not apply to the current problem but still.

@Vavun Good idea. I just checked with a few apps and they all appear to successfully unregister only when connected to the internet.

(When they were unregistered manually, some apps were also unable to re-register without being reinstalled first, but this might be an unrelated bug.)

@voidstarstar The fact that some apps can only re-register after being reinstalled is unrelated to the delete flag. This bug already exists from day one of microG. Or better said: It's no microG bug at all.

@DPTJKKVH Thanks for confirming. That's what I suspected, but I wasn't completely sure. So it sounds like this patch doesn't have any known negative side effects so far.

Steam now successfully registers after updating microG to version 0.2.7.17455-mapbox. I hope it's not a coincidence, so I'm closing this for now.

@Torvin Were you using the same problematic version of the Steam app when you tested it again?

I could be wrong, but I didn't think anything changed in the latest version of microG that should have fixed this. I never created a PR for my patch above (since I wasn't very confident it was a good solution), so it isn't merged in to the latest version.

I guess you're right. It's a newer version of Steam and their changelog lists Update push notification service.

Ok, thanks for the update. If the issue comes back in a future Steam version or if another app has the same issue, then I might take another look at a possible cause, but for now it sounds like it's temporarily resolved.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ghost picture ghost  路  4Comments

patrickdrd picture patrickdrd  路  5Comments

Trumeet picture Trumeet  路  3Comments

n76 picture n76  路  6Comments

Riamse picture Riamse  路  5Comments