loginDialog: Show session menu button when in IN_PROGRESS status

Commit c8bb45b added a new IN_PROGRESS status that replaces FAILED
while the user is still allowed to retry authentication.

We need to account for it when updating the visibility of the
session menu button, otherwise the button disappears after
entering a wrong password.

Fixes: c8bb45b41c ("gdm: Limit verification cancellations to be conform to allowed-failures")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5784
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3638>
This commit is contained in:
Florian Müllner 2025-02-13 14:11:04 +01:00 committed by Bruce Leidl
parent 51db9f3f9b
commit c9c6b46afc

View File

@ -1035,8 +1035,12 @@ export const LoginDialog = GObject.registerClass({
}
_shouldShowSessionMenuButton() {
if (this._authPrompt.verificationStatus !== AuthPrompt.AuthPromptStatus.VERIFYING &&
this._authPrompt.verificationStatus !== AuthPrompt.AuthPromptStatus.VERIFICATION_FAILED)
const visibleStatuses = [
AuthPrompt.AuthPromptStatus.VERIFYING,
AuthPrompt.AuthPromptStatus.VERIFICATION_FAILED,
AuthPrompt.AuthPromptStatus.VERIFICATION_IN_PROGRESS,
];
if (!visibleStatuses.includes(this._authPrompt.verificationStatus))
return false;
if (this._user && this._user.is_loaded && this._user.is_logged_in())