gnome-shell/0002-post-changes-for-passwordless-gdm-backport.patch
Joan Torres Lopez c77fc69648
Update passwordless GDM work to be in sync with upstream MR
This re-adds missing functions required by some third party extensions.

Resolves: https://redhat.atlassian.net/browse/RHEL-179819
2026-06-09 10:22:00 +02:00

164 lines
5.9 KiB
Diff

From 5b24694b73b58a77db1e017d2c97bfc673236572 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 2 Jun 2026 11:43:10 +0200
Subject: [PATCH] Change inputWell by this
In this version inputWell doesn't exist yet.
---
js/gdm/authPrompt.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index e511b3881..3f2765f9c 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -196,7 +196,7 @@ export const AuthPrompt = GObject.registerClass({
},
});
});
- this._inputWell.add_child(this._authList);
+ this.add_child(this._authList);
// Use an insensitive button for the auth list title
// to get the same style as the auth list buttons
@@ -315,7 +315,7 @@ export const AuthPrompt = GObject.registerClass({
}
});
this._webLoginDialog.connect('loading', () => this.emit('loading', this._webLoginDialog.isLoading));
- this._inputWell.add_child(this._webLoginDialog);
+ this.add_child(this._webLoginDialog);
// center elements inside _mainBox between the cancel
// button on the left and this spacer on the right
--
2.54.0
From 848071303afba7aa58486b643e5631a0d75d40b9 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 2 Jun 2026 12:07:45 +0200
Subject: [PATCH] Use Object.keys(this._sections) instead of
this._sections.keys()
---
js/gdm/authMenuButton.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/gdm/authMenuButton.js b/js/gdm/authMenuButton.js
index cbc1d7676..6a697cbc2 100644
--- a/js/gdm/authMenuButton.js
+++ b/js/gdm/authMenuButton.js
@@ -252,7 +252,7 @@ export class AuthMenuButton extends St.Button {
this._items.delete(itemKey);
});
- this._sections.keys().forEach(sectionName => {
+ Object.keys(this._sections).forEach(sectionName => {
const itemsInSection = this._findItems({sectionName});
if (itemsInSection.length === 0) {
const section = this._sections.get(sectionName);
--
2.54.0
From 8a987a7b32a1e3edbb04f9a9ff3077fac7d6a151 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 2 Jun 2026 12:52:09 +0200
Subject: [PATCH] Don't use _once timeout variants
---
js/gdm/authServices.js | 7 +++++--
js/gdm/authServicesLegacy.js | 3 ++-
js/gdm/authServicesSSSDSwitchable.js | 3 ++-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/js/gdm/authServices.js b/js/gdm/authServices.js
index 2726d960a..410f0bc16 100644
--- a/js/gdm/authServices.js
+++ b/js/gdm/authServices.js
@@ -260,8 +260,11 @@ export class AuthServices extends GObject.Object {
_waitPendingMessages() {
const cancellable = this._cancellable;
- const timeoutId = GLib.timeout_add_seconds_once(GLib.PRIORITY_DEFAULT, 10,
- () => cancellable.cancel());
+ const timeoutId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 10,
+ () => {
+ cancellable.cancel();
+ return GLib.SOURCE_REMOVE;
+ });
const {promise, resolve, reject} = Promise.withResolvers();
const task = Gio.Task.new(this, cancellable, () => {
diff --git a/js/gdm/authServicesLegacy.js b/js/gdm/authServicesLegacy.js
index 132c5307c..7b5739f14 100644
--- a/js/gdm/authServicesLegacy.js
+++ b/js/gdm/authServicesLegacy.js
@@ -118,12 +118,13 @@ export class AuthServicesLegacy extends AuthServices {
this._fingerprintReadyTimeoutId !== 0)
return;
- this._fingerprintReadyTimeoutId = GLib.timeout_add_once(
+ this._fingerprintReadyTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
FINGERPRINT_READY_TIMEOUT_MS,
() => {
this._fingerprintReadyTimeoutId = 0;
this._setFingerprintReady(true);
+ return GLib.SOURCE_REMOVE;
});
}
diff --git a/js/gdm/authServicesSSSDSwitchable.js b/js/gdm/authServicesSSSDSwitchable.js
index 4c8eb1ae1..f98c86e09 100644
--- a/js/gdm/authServicesSSSDSwitchable.js
+++ b/js/gdm/authServicesSSSDSwitchable.js
@@ -197,7 +197,7 @@ export class AuthServicesSSSDSwitchable extends AuthServices {
if (!timeout)
return;
- this._webLoginTimeoutId = GLib.timeout_add_seconds_once(GLib.PRIORITY_DEFAULT,
+ this._webLoginTimeoutId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT,
timeout, () => {
if (this._selectedMechanism?.role !== Constants.WEB_LOGIN_ROLE_NAME)
webLoginMechanism.needsRefresh = true;
@@ -205,6 +205,7 @@ export class AuthServicesSSSDSwitchable extends AuthServices {
this.emit('reset', {softReset: true});
this._webLoginTimeoutId = 0;
+ return GLib.SOURCE_REMOVE;
});
}
--
2.54.0
From 0198f88dc153e80041ab32fb20f6294e1440a77d Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 9 Jun 2026 09:57:09 +0200
Subject: [PATCH] authServices: Use alternative to Promise.withResolvers()
It doesn't exist in this version
---
js/gdm/authServices.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/js/gdm/authServices.js b/js/gdm/authServices.js
index 410f0bc16..fbea348fe 100644
--- a/js/gdm/authServices.js
+++ b/js/gdm/authServices.js
@@ -266,7 +266,11 @@ export class AuthServices extends GObject.Object {
return GLib.SOURCE_REMOVE;
});
- const {promise, resolve, reject} = Promise.withResolvers();
+ let resolve, reject;
+ const promise = new Promise((res, rej) => {
+ resolve = res;
+ reject = rej;
+ });
const task = Gio.Task.new(this, cancellable, () => {
try {
const res = task.propagate_boolean();
--
2.54.0