Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

microG does not behave gracefully with invalid sessions of Google accounts #2731

Open
lucasmz-dev opened this issue Jan 5, 2025 · 2 comments

Comments

@lucasmz-dev
Copy link
Contributor

lucasmz-dev commented Jan 5, 2025

Describe the bug
When an user has a Google account logged in, if the session turns invalid (gets logged out remotely for example), many things break in microG and the user is not notified, only leaving the status of certain apps breaking as somewhat of a clue.

To Reproduce
Steps to reproduce the behavior:

  1. Log in using a Google account
  2. e.g. Google Maps works fine
  3. Log out the device out of the Google account remotely via the web online account page (account.google.com)
  4. Google Maps does not work properly anymore
  5. No notification or other indication that the logged in account isn't a valid session anymore

Expected behavior
microG should automatically detect when a Google account gets logged out and remove the account and potentially warn the user.

Screenshots
If applicable, add screenshots to help explain your problem.

System
Android Version: 14
Custom ROM: CalyxOS 5.14.2
microG version: 0.3.6

Additional context
I notice this as a issue every now and then in the Calyx channels.

@lucasmz-dev lucasmz-dev added the bug label Jan 5, 2025
@ale5000-git ale5000-git changed the title microG does not real gracefully with invalid sessions microG does not behave gracefully with invalid sessions of Google accounts Jan 5, 2025
@fynngodau
Copy link
Contributor

GMS' behavior is to show a notification, re-prompting the user to enter their password. I intended for this functionality to be added when I wrote this code:

Log.w(TAG, "Your account credentials have expired! Please remove the account, then sign in again.")
return null

…but then I didn't get around to implementing it. What is needed in that place is some kind of UI flow that first tells users to reauthenticate using a notification (in the background case) or directly open that page (in the foreground case). Also the background / foreground decision might still be optimized, as so far I only was able to test it for the enterprise account cryptauth flow, which won't occur for all different types of call.

@noaho
Copy link

noaho commented Jan 8, 2025

I just had this with Maps, was very confusing because I thought it was due to the latest signature checking changes, but it wasn't (my phone is Jan 2025 L4M build), but actually it was just because I updated my Google password. Maybe this could be a pinned topic?

@ale5000-git ale5000-git pinned this issue Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants