From 8cfd4c969ba5e8126234585b1656d905266299dd Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 28 Apr 2021 10:42:14 -0400 Subject: [PATCH] gdm: Flip canRetry boolean to doneTrying on verification failure This commit flips a boolean in the verification failed handler to make things easier to read. It also moves the retry logic to the bottom where it makes more logical sense. Part-of: --- js/gdm/util.js | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/js/gdm/util.js b/js/gdm/util.js index 1ee84acde..cb70c285f 100644 --- a/js/gdm/util.js +++ b/js/gdm/util.js @@ -685,29 +685,18 @@ var ShellUserVerifier = class { (this._reauthOnly || this._failCounter < this.allowedFailures); } - _verificationFailed(serviceName, retry) { + _verificationFailed(serviceName, shouldRetry) { // For Not Listed / enterprise logins, immediately reset // the dialog // Otherwise, when in login mode we allow ALLOWED_FAILURES attempts. // After that, we go back to the welcome screen. - - const canRetry = retry && this._canRetry(); - this._disconnectSignals(); + this._filterServiceMessages(serviceName, MessageType.ERROR); - if (canRetry) { - if (!this.hasPendingMessages) { - this._retry(serviceName); - } else { - const cancellable = this._cancellable; - let signalId = this.connect('no-more-messages', () => { - this.disconnect(signalId); - if (!cancellable.is_cancelled()) - this._retry(serviceName); - }); - } - } else { + const doneTrying = !shouldRetry || !this._canRetry(); + + if (doneTrying) { // eslint-disable-next-line no-lonely-if if (!this.hasPendingMessages) { this._cancelAndReset(); @@ -721,7 +710,18 @@ var ShellUserVerifier = class { } } - this.emit('verification-failed', serviceName, canRetry); + this.emit('verification-failed', serviceName, !doneTrying); + + if (!this.hasPendingMessages) { + this._retry(serviceName); + } else { + const cancellable = this._cancellable; + let signalId = this.connect('no-more-messages', () => { + this.disconnect(signalId); + if (!cancellable.is_cancelled()) + this._retry(serviceName); + }); + } } _onServiceUnavailable(_client, serviceName, errorMessage) {