AlmaLinux changes: Use AlmaLinux icon as activities button

Use unbranded illustrations

Fix Firefox desktop filename in favorites
This commit is contained in:
Eduard Abdullin 2026-08-20 01:45:36 +00:00 committed by root
commit a2cd5f88d1
2 changed files with 253 additions and 142 deletions

View File

@ -1,7 +1,7 @@
From e2dd023ba86cd60da2482ff603c9fc2f255d4c95 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 2 Oct 2025 10:59:57 +0200
Subject: [PATCH 01/72] style: Add common login dialog button styles to avoid
Subject: [PATCH 01/73] style: Add common login dialog button styles to avoid
duplication
This will be used in next commits, when new login buttons are added.
@ -88,7 +88,7 @@ index b661e93c8..6cca1e28e 100644
From 0b2bbfa722ca1ccddf97fa0464ee3bf16bfa0243 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 16:37:08 +0100
Subject: [PATCH 02/72] unlockDialog: Vertically center dialog using fixed
Subject: [PATCH 02/73] unlockDialog: Vertically center dialog using fixed
height
Position the topY of the content based on a fixed prompt height estimation.
@ -167,7 +167,7 @@ index 63ba591ee..a014095bb 100644
From 650c4f52cbb1f55ac96c55f131f7172615a0a7dd Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 16:38:04 +0100
Subject: [PATCH 03/72] unlockDialog: Fix username reuse on reset
Subject: [PATCH 03/73] unlockDialog: Fix username reuse on reset
The condition was checking for PROVIDE_USERNAME specifically, but
should also handle REUSE_USERNAME. Check for not DONT_PROVIDE_USERNAME
@ -198,7 +198,7 @@ index a014095bb..420dae4c6 100644
From d41d517a601756d8f2b3f886beaea17ae112af38 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 16:38:54 +0100
Subject: [PATCH 04/72] unlockDialog: Wait for authPrompt destruction before
Subject: [PATCH 04/73] unlockDialog: Wait for authPrompt destruction before
switching VT
When switching to another user, wait until authPrompt is destroyed
@ -231,7 +231,7 @@ index 420dae4c6..7a02f68ee 100644
From 7ce5fb94b4e9580e6944c0f03c18dcf8e260f5da Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 5 Feb 2026 18:55:38 +0100
Subject: [PATCH 05/72] authPrompt: Use destructured object for
Subject: [PATCH 05/73] authPrompt: Use destructured object for
updateSensitivity
Replace the boolean parameter with a destructured object to make
@ -370,7 +370,7 @@ index 7a02f68ee..85e469fb8 100644
From 1eb143ebb879ce44ba8488573366d6633f52320a Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 16:47:22 +0100
Subject: [PATCH 06/72] authPrompt: Use array-based widget lookup in
Subject: [PATCH 06/73] authPrompt: Use array-based widget lookup in
updateSensitivity
Replace the if/else widget selection with array-based lookup to
@ -408,7 +408,7 @@ index 526dcdbaa..7967b60a8 100644
From a2ee935e74e0b98d726fb39506fa45896f011eb3 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 10 Mar 2026 17:10:58 +0100
Subject: [PATCH 07/72] authPrompt: Generalize _fadeInChoiceList to accept any
Subject: [PATCH 07/73] authPrompt: Generalize _fadeInChoiceList to accept any
element
Rename to _fadeInElement and take the element as a parameter,
@ -468,7 +468,7 @@ index 7967b60a8..f00f5844b 100644
From 6e9c414d417f719fa9cc625a4d6764a895360444 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 9 Feb 2024 09:02:25 -0500
Subject: [PATCH 08/72] authPrompt: Fade out input buttons/entry after
Subject: [PATCH 08/73] authPrompt: Fade out input buttons/entry after
verification
It's nice to just see the user image and post login messages
@ -557,7 +557,7 @@ index 9f76464ad..7992cadb4 100644
From 21755147844867edfa97c9a9fb945a9913aa2e62 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 21 Jan 2026 14:23:34 +0100
Subject: [PATCH 09/72] authPrompt: Don't reset preemptiveAnswer when
Subject: [PATCH 09/73] authPrompt: Don't reset preemptiveAnswer when
VERIFICATION_IN_PROGRESS
PreemptiveAnswer wasn't being used in the case where verification is in
@ -592,7 +592,7 @@ index 6dc8e2ebc..309fb8981 100644
From f3484a67fa4beb3291e3b5e9229554b5f112eaca Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 17:05:32 +0100
Subject: [PATCH 10/72] style: Increase hint-text left margin
Subject: [PATCH 10/73] style: Increase hint-text left margin
The cursor was overlapping the hint-text, making it difficult to read.
Increase the left margin to ensure proper readability.
@ -621,7 +621,7 @@ index 41e10f766..5a45e86d6 100644
From 6530992b790dd18b6e8d44cbed6a0c6d70125d54 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Mon, 16 Feb 2026 16:05:17 +0100
Subject: [PATCH 11/72] authPrompt: Use connectObject for userVerifier signals
Subject: [PATCH 11/73] authPrompt: Use connectObject for userVerifier signals
This allows cleanly disconnecting all signals at once when the
authPrompt is destroyed, preventing potential issues from stale
@ -713,7 +713,7 @@ index 309fb8981..2e247d913 100644
From 9ff8d9da8f10d003ffa53a2cbf23d20483f696b1 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 17:09:44 +0100
Subject: [PATCH 12/72] authPrompt: Group animation constants together
Subject: [PATCH 12/73] authPrompt: Group animation constants together
Move all animation-related constants together near the top of the
file to follow the style of the rest of the codebase.
@ -742,7 +742,7 @@ index 2e247d913..edd30e3fa 100644
From 5113cca1b7092f56ab98d810725a8b833c308f4f Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 17:20:34 +0100
Subject: [PATCH 13/72] authPrompt: Update entry layout based on mockups
Subject: [PATCH 13/73] authPrompt: Update entry layout based on mockups
Implement the new authentication prompt layout based on the design
mockups at:
@ -977,7 +977,7 @@ index edd30e3fa..ec4a63a0e 100644
From 644167912b2de5e54643159ca4d9c13d94a274ca Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 17:41:48 +0100
Subject: [PATCH 14/72] authPrompt: Fade in _entryArea instead of abruptly
Subject: [PATCH 14/73] authPrompt: Fade in _entryArea instead of abruptly
showing it
To support the new fade-in flow, the _entryArea is now hidden by default.
@ -1055,7 +1055,7 @@ index 7992cadb4..13605b7a4 100644
From 25ae256231f865c53b370f53cc53fb21bebaade4 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 17:36:08 +0100
Subject: [PATCH 15/72] authPrompt: Show entry area when displaying message
Subject: [PATCH 15/73] authPrompt: Show entry area when displaying message
Since entryArea is hidden by default, we must explicitly make it
visible when showing a message if no other widgets are visible.
@ -1094,7 +1094,7 @@ index e8825246d..b4b1b4524 100644
From f591e498218a34424147491fcf5f03ec534c3aa6 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 19 May 2026 10:21:50 +0200
Subject: [PATCH 16/72] authPrompt: Add loading signal
Subject: [PATCH 16/73] authPrompt: Add loading signal
The signal indicates when the prompt is busy showing the spinner, so other
components can adjust their UI accordingly.
@ -1172,7 +1172,7 @@ index b4b1b4524..6ba29d1f4 100644
From 96b6c98978c709613fae0871ef4e1729ac1e9f79 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 19 May 2026 10:24:38 +0200
Subject: [PATCH 17/72] authPrompt: Don't delay spinner
Subject: [PATCH 17/73] authPrompt: Don't delay spinner
We currently animate the spinner with a delay.
This animation is intended to create a seamless transition of one icon
@ -1222,7 +1222,7 @@ index 6ba29d1f4..881aae715 100644
From 7087b1823f601daf13aaf6e06ce36e05465dacaf Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 17:28:54 +0100
Subject: [PATCH 18/72] authPrompt: Simplify some code
Subject: [PATCH 18/73] authPrompt: Simplify some code
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4306>
---
@ -1372,7 +1372,7 @@ index 881aae715..e3b8df559 100644
From dfb1247b4779a4cb085cb865ecc2a47a1ae672c0 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 26 May 2026 16:48:43 +0200
Subject: [PATCH 19/72] authPrompt: Ensure this._message is always visible
Subject: [PATCH 19/73] authPrompt: Ensure this._message is always visible
this._message visibility is updated with opacity property.
This way authPrompt layout isn't modified so all elements stay on the
@ -1411,7 +1411,7 @@ index e3b8df559..5518c9c03 100644
From c2b84b38e09c0c6a3c795ccd30d2e6159151bfed Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 10 Mar 2026 18:32:48 +0100
Subject: [PATCH 20/72] authPrompt: Skip reset after successful verification
Subject: [PATCH 20/73] authPrompt: Skip reset after successful verification
Don't reset the prompt if verification has already succeeded.
@ -1441,7 +1441,7 @@ index 5518c9c03..02dd296f1 100644
From e0596d49377f639a8868e66fd15961766699f22c Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 6 Feb 2024 13:06:32 -0500
Subject: [PATCH 21/72] authPrompt: Parameterize reset function
Subject: [PATCH 21/73] authPrompt: Parameterize reset function
In the future, userVerifier will request a partial reset where
some state is carried over or explicitly specified.
@ -1548,7 +1548,7 @@ index 02dd296f1..911b1f969 100644
From 6fe14f86ec91dd28ba4b0a73704b043ea36ee60f Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 19 May 2026 15:18:23 +0200
Subject: [PATCH 22/72] authPrompt: Remove this.stopSpinnning() in reset
Subject: [PATCH 22/73] authPrompt: Remove this.stopSpinnning() in reset
It's already in this.clear() which is called from reset.
@ -1576,7 +1576,7 @@ index 911b1f969..6e1c20f3b 100644
From 12aa1f7cccb8934e011b6e2fec6605ee285bd0ca Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 21 Apr 2026 13:06:57 +0200
Subject: [PATCH 23/72] authPrompt: Ensure hint_text in entries is cleared
Subject: [PATCH 23/73] authPrompt: Ensure hint_text in entries is cleared
There can be cases when a new authentication is started after a reset,
but hint_text isn't cleared, displaying the hint from previous authentication.
@ -1608,7 +1608,7 @@ index 6e1c20f3b..e8c02f475 100644
From 3997c46217b221662c7b7bc85cbaf3196f7406d3 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Fri, 3 Jul 2026 13:06:26 +0200
Subject: [PATCH 24/72] authPrompt: Separate user and entry updates
Subject: [PATCH 24/73] authPrompt: Separate user and entry updates
setUser(null) triggers _updateEntry(false), swapping the password
entry for the text entry, only for _updateEntry(true) right after
@ -1686,7 +1686,7 @@ index 13605b7a4..2bfaf25f8 100644
From 3c5a63ef9f3bf14f992ee399b01bac2d9738f3aa Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 12 Feb 2026 16:56:48 +0100
Subject: [PATCH 25/72] authPrompt: Rename BeginRequestType to ResetType
Subject: [PATCH 25/73] authPrompt: Rename BeginRequestType to ResetType
The enum is emitted with the 'reset' signal and describes the type
of reset being performed, so ResetType is a clearer name.
@ -1796,7 +1796,7 @@ index 85e469fb8..980353fe1 100644
From 758ba0bd1e39d1a907d7c5f2af5d48134233a450 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 11 Feb 2026 16:11:59 +0100
Subject: [PATCH 26/72] unlockDialog: Use isprint() instead of isgraph() for
Subject: [PATCH 26/73] unlockDialog: Use isprint() instead of isgraph() for
preemptive input
isgraph() returns true for printable characters except space, while
@ -1828,7 +1828,7 @@ index 980353fe1..b0f51e533 100644
From 4eba654ea5b6509107479b247de429e9fd2e37ce Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 21 Jan 2026 14:34:11 +0100
Subject: [PATCH 27/72] authPrompt: Capture preemptive input before entry is
Subject: [PATCH 27/73] authPrompt: Capture preemptive input before entry is
sensitive
The previous changes made the entry invisible and insensitive until
@ -1985,7 +1985,7 @@ index b0f51e533..100990acc 100644
From f366644aef20288e5adee6524a0e1f255556dfd7 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 10 Feb 2026 18:51:41 +0100
Subject: [PATCH 28/72] authPrompt: On verificationFailed allow a
Subject: [PATCH 28/73] authPrompt: On verificationFailed allow a
preemptiveInput
There's a time window between the verification failing and a new
@ -2032,7 +2032,7 @@ index 4b9d3961e..7dc432ba0 100644
From 145ad91b2a1c33a5830fe378df2cc861ff91e2e6 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 30 Sep 2025 17:43:22 +0200
Subject: [PATCH 29/72] authPrompt: Update authList style
Subject: [PATCH 29/73] authPrompt: Update authList style
Make the AuthListItem buttons a bit bigger and more rounded.
@ -2533,7 +2533,7 @@ index 4b0f763f0..b71251458 100644
From a3e973b0f8374a8da6dc427f8538335c1877bf99 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 8 Oct 2025 18:48:07 +0200
Subject: [PATCH 30/72] authPrompt: Let back button go back to step 1 instead
Subject: [PATCH 30/73] authPrompt: Let back button go back to step 1 instead
of full reset
There can be some auth methods that would require multiple steps. In the
@ -2660,7 +2660,7 @@ index 24ac39d5e..80ef3182f 100644
From 26864bbe9e89e118f4a403cd31fb4ea6e22bf8d5 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Mon, 20 Oct 2025 17:24:40 +0200
Subject: [PATCH 31/72] loginDialog: Vertically center authPrompt using fixed
Subject: [PATCH 31/73] loginDialog: Vertically center authPrompt using fixed
height
Use a fixed estimated height for centering so the position stays
@ -2729,7 +2729,7 @@ index 9355eef45..b098891c4 100644
From 6a76eea20af043c00d0ae766e9f669c6897d654e Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 12 Nov 2024 14:26:30 -0500
Subject: [PATCH 32/72] data: Add fingerprint and vcard icons
Subject: [PATCH 32/73] data: Add fingerprint and vcard icons
Fingerprint icon will be used to inform when it's being run un the
background.
@ -2822,7 +2822,7 @@ index 000000000..1694f2364
From 4f5ac0c62d500b7fc3c3d498c958accd2f22f7f8 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Mon, 18 Aug 2025 12:30:50 +0200
Subject: [PATCH 33/72] gdm: Extract authentication service and role constants
Subject: [PATCH 33/73] gdm: Extract authentication service and role constants
to constants.js
Create a dedicated const.js module to centralize GDM authentication-related
@ -3019,7 +3019,7 @@ index e5e6167f1..041365e5d 100644
From 08ce990483708391e0608a2d84621c06b89c414f Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 11 Mar 2026 11:41:40 +0100
Subject: [PATCH 34/72] gdm/util: Add helper functions to get future mechanisms
Subject: [PATCH 34/73] gdm/util: Add helper functions to get future mechanisms
metadata
1. isSelectable() to detect when a mechanism is selectable or runs in
@ -3085,7 +3085,7 @@ index 0c8ce34d3..f0b99a0ff 100644
From c94bdcc0a865dddb40c894df3c7544685eb1a224 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 6 Feb 2024 11:04:20 -0500
Subject: [PATCH 35/72] gdm: Add new AuthMenuButton control
Subject: [PATCH 35/73] gdm: Add new AuthMenuButton control
The latest login screen designs show a new "Login Options" menu in the
corner for session selection and login methods.
@ -3721,7 +3721,7 @@ index 041365e5d..d8820876a 100644
From eb4ada47d1754d8d7bbef06d6cbbec9ecb9b5290 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 6 Feb 2024 11:11:32 -0500
Subject: [PATCH 36/72] loginDialog: Port sessions menu over to AuthMenuButton
Subject: [PATCH 36/73] loginDialog: Port sessions menu over to AuthMenuButton
Now that AuthMenuButton exists, we should use it.
@ -4044,7 +4044,7 @@ index b098891c4..92c6aeb67 100644
From 8d5a2dbffebe6438c3972f7b958c280c7aa437d1 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 6 Feb 2024 13:40:26 -0500
Subject: [PATCH 37/72] loginDialog: Add login options menu to AuthMenuButton
Subject: [PATCH 37/73] loginDialog: Add login options menu to AuthMenuButton
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -4229,7 +4229,7 @@ index f0b99a0ff..8681cfd1d 100644
From ce010332fe9c5c7a2162f3b6fa13cbde1337e915 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Fri, 3 Jul 2026 13:54:39 +0200
Subject: [PATCH 38/72] loginDialog: Restore bottom button group on reset
Subject: [PATCH 38/73] loginDialog: Restore bottom button group on reset
The bottom button group is hidden on verification complete,
but there might be more authentication attempts that need
@ -4288,7 +4288,7 @@ index bbbb1f6b7..e0cd0555a 100644
From c59820c4ce37c60d345c2e8ec9d6eb250ae19e55 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 6 Feb 2024 13:41:39 -0500
Subject: [PATCH 39/72] unlockDialog: Add _authMenuButton and
Subject: [PATCH 39/73] unlockDialog: Add _authMenuButton and
_authIndicatorButton
_authMenuButton is used to select an available auth mechanism from the
@ -4589,7 +4589,7 @@ index 100990acc..d54d21093 100644
From c7ebc76a0d0992e99a526176f4b811cfba65d8be Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 3 Dec 2024 07:39:32 -0500
Subject: [PATCH 40/72] unlockDialog: Update hint text based on mockup
Subject: [PATCH 40/73] unlockDialog: Update hint text based on mockup
This considers future mechanisms which might be the default ones, i.e.
smartcard and passkey. And have special hint texts.
@ -4646,7 +4646,7 @@ index d54d21093..38d7b97c4 100644
From 3ab9dac3fdf5accfdcf5a032365facb52a5a368d Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 14 Oct 2025 19:19:15 +0200
Subject: [PATCH 41/72] gdm/util: Increase time of messages based on new
Subject: [PATCH 41/73] gdm/util: Increase time of messages based on new
environment variable
called 'GDM_MESSAGE_TIME_MULTIPLIER'. This is used for testing
@ -4689,7 +4689,7 @@ index 8681cfd1d..28de988f3 100644
From b33a170b13fac927de596af74c8c620c11b7b475 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Mon, 15 Sep 2025 17:13:17 +0200
Subject: [PATCH 42/72] gdm/util: Allow null _hold and don't recreate dummy
Subject: [PATCH 42/73] gdm/util: Allow null _hold and don't recreate dummy
holds
_hold property is used to inform the caller of begin method (authPrompt)
@ -4812,7 +4812,7 @@ index 28de988f3..53b4094e0 100644
From 6b1702852b3982518edec5998d5bb457d956125a Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 20 Aug 2025 10:54:33 +0200
Subject: [PATCH 43/72] gdm: Add FingerprintManager
Subject: [PATCH 43/73] gdm: Add FingerprintManager
Move fingerprint bits to new fingerprintManager class.
@ -5245,7 +5245,7 @@ index d8820876a..50e0b179a 100644
From 920955f9a545cdc8b7e73a96529773ca3a320fa3 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 23 Sep 2025 16:45:59 +0200
Subject: [PATCH 44/72] gdm: Add PasskeyDeviceManager
Subject: [PATCH 44/73] gdm: Add PasskeyDeviceManager
This utility will be used in the next commits, when passkey authentication
is implemented, to detect when a passkey has been inserted or removed.
@ -5367,7 +5367,7 @@ index f8f98d487..c3c51aa2d 100644
From 7552b0a502fd53960abdba0c406fcccf2d92c1b7 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 19 May 2026 20:33:29 +0200
Subject: [PATCH 45/72] gdm: Move smartcardManager.js to gdm
Subject: [PATCH 45/73] gdm: Move smartcardManager.js to gdm
This is a gdm component and was in misc. Move it here, where the
other *manager.js siblings are.
@ -5451,7 +5451,7 @@ index 44b871502..e42b2974a 100644
From 3794844d91b3cc09c271e46594a854ad680c5e84 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 10 Mar 2026 14:27:50 +0100
Subject: [PATCH 46/72] gdm/smartcardManager: Skip login_token aliases to avoid
Subject: [PATCH 46/73] gdm/smartcardManager: Skip login_token aliases to avoid
duplicate events
Tokens with '/login_token' paths are aliases mirroring already
@ -5486,7 +5486,7 @@ index 21b28ea45..98f762d7d 100644
From 5852ce77fcb1acdcab159bcf58c06b3468318af6 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Mon, 18 Aug 2025 12:08:21 +0200
Subject: [PATCH 47/72] gdm: Add AuthServices
Subject: [PATCH 47/73] gdm: Add AuthServices
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -7605,7 +7605,7 @@ index ee0829c96..7f534c75f 100644
From de131589214b56519ef95cf271cfa65abb7dff0f Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Mon, 16 Feb 2026 12:21:54 +0100
Subject: [PATCH 48/72] gdm: Add fingerprint ready state to delay showing icon
Subject: [PATCH 48/73] gdm: Add fingerprint ready state to delay showing icon
Fingerprint mechanism now has a ready state that controls when it
appears in the authentication UI. When fingerprint authentication
@ -7730,7 +7730,7 @@ index ac2dcfb44..1c1cce1e4 100644
From 96d18ce5e9ae7a40ffa705c146b2c6dc96ff1edb Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 6 Feb 2024 14:09:34 -0500
Subject: [PATCH 49/72] gdm: Add authServicesSSSDSwitchable
Subject: [PATCH 49/73] gdm: Add authServicesSSSDSwitchable
This new authService child is used by SSSD to control multiple authentication
mechanisms from a single PAM conversation using 'gdm-switchable-auth'
@ -8190,7 +8190,7 @@ index 7f534c75f..f0e1aed6e 100644
From 2d3da8d24fae0f4ca5f7a2144812bfa03b32ac8f Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 12 Nov 2025 17:25:33 +0100
Subject: [PATCH 50/72] authServicesSSSDSwitchable: Allow resetting expired
Subject: [PATCH 50/73] authServicesSSSDSwitchable: Allow resetting expired
password
JSON protocol can't inform when a password is expired, so it's needed to
@ -8274,7 +8274,7 @@ index 04e97b076..e8b2e9620 100644
From 56a6a27a8d9c24f8a9726201104515ad9de60767 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 21 Aug 2025 22:25:02 +0200
Subject: [PATCH 51/72] gdm: Allow starting authServicesLegacy as fallback
Subject: [PATCH 51/73] gdm: Allow starting authServicesLegacy as fallback
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -8603,7 +8603,7 @@ index ef0d0b506..5d062d5f8 100644
From f03ee0604da0ac35e95a805dcebdab9bb9d93204 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Wed, 11 Feb 2026 03:36:54 +0100
Subject: [PATCH 52/72] ui/qrCode: Add a QR Code widget
Subject: [PATCH 52/73] ui/qrCode: Add a QR Code widget
The widget can only have a squared size that is picked using the maximum
between the provided width ad height properties, using the minimum of
@ -8827,7 +8827,7 @@ index 000000000..caf0999f3
From 184692b0d7657a74bc5902df8662a475ef7e900d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Mon, 20 Jul 2026 19:47:32 +0200
Subject: [PATCH 53/72] authPrompt: Support show button
Subject: [PATCH 53/73] authPrompt: Support show button
Add a new button to mainBox. It will be used in the next commits to allow the
authPrompt to just display one single button to proceed with the next
@ -9020,7 +9020,7 @@ index f0e1aed6e..fc90886d5 100644
From de105ed9631e458d0d6b028483953e0eddbc6c2b Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 6 Feb 2024 14:18:24 -0500
Subject: [PATCH 54/72] gdm: Add support for Web Login in
Subject: [PATCH 54/73] gdm: Add support for Web Login in
authServicesSSSDSwitchable
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@ -9860,7 +9860,7 @@ index fc90886d5..08c23cbff 100644
From 0ce7bee2c37f8d8384040a350a15421146c29bd7 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 14 Jan 2025 07:31:59 -0500
Subject: [PATCH 55/72] gdm: Add support for Smartcard in
Subject: [PATCH 55/73] gdm: Add support for Smartcard in
authServicesSSSDSwitchable
This allows selecting smartcard as a login method.
@ -10028,7 +10028,7 @@ index a321f4489..668637db0 100644
From e9ee7182088bbfcc9c17ab1dc43d8f4e771e0a69 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Mon, 15 Sep 2025 16:36:42 +0200
Subject: [PATCH 56/72] gdm: Add support for Passkey in
Subject: [PATCH 56/73] gdm: Add support for Passkey in
authServicesSSSDSwitchable
This allows selecting passkey authentication mechanism.
@ -10267,7 +10267,7 @@ index 84cd0fb08..d8d825da6 100644
From 4eab7036fecf0ace0f787e5ecb017fa890c32069 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 8 Jul 2026 20:01:04 +0200
Subject: [PATCH 57/72] gdm/util: Generalize authServices orchestration
Subject: [PATCH 57/73] gdm/util: Generalize authServices orchestration
Replace hardcoded _authServicesSSSDSwitchable and _authServicesLegacy
fields with a priority-ordered AuthServicesClasses registry. Adding a
@ -10665,7 +10665,7 @@ index 578c6a692..4b1099a6e 100644
From b63bc27b1d5e9c7b0a062a6c5511682451a131e6 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Sun, 19 Jul 2026 13:31:48 +0200
Subject: [PATCH 58/72] gdm: Fix auth roles enablement by settings
Subject: [PATCH 58/73] gdm: Fix auth roles enablement by settings
Don't use passkey and web login settings for role filtering. Settings
are only meant for enabling or disabling services not individual roles.
@ -10963,7 +10963,7 @@ index 4b1099a6e..be24ceeaf 100644
From fbee5d5f08dc3554fa55c236367bf10a2a7d051e Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Sun, 19 Jul 2026 15:25:00 +0200
Subject: [PATCH 59/72] gdm: Centralize role properties in authServices base
Subject: [PATCH 59/73] gdm: Centralize role properties in authServices base
class
Move role-specific knowledge out of external callers and into a
@ -11241,7 +11241,7 @@ index d8d825da6..68331934d 100644
From ec6e84452785b8c6ed5fad7c279768247d69500a Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Sun, 19 Jul 2026 15:35:40 +0200
Subject: [PATCH 60/72] gdm: Rename passkeyDeviceManager to fido2TokenManager
Subject: [PATCH 60/73] gdm: Rename passkeyDeviceManager to fido2TokenManager
The hardware device manager monitors FIDO2 tokens via udev, which
is not specific to the passkey authentication role. Rename to
@ -11507,7 +11507,7 @@ index ced2f28e2..7d5f4b039 100644
From 7e8207cf5d88a031fefcfd49bbfbcf950b23d5e2 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Mon, 20 Jul 2026 19:28:48 +0200
Subject: [PATCH 61/72] gdm: Move device setups to authServices subclasses
Subject: [PATCH 61/73] gdm: Move device setups to authServices subclasses
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3212>
---
@ -11771,7 +11771,7 @@ index ecba7d87a..d261d0012 100644
From ef9af59674e59b0693d03792eded0a8a22fb4817 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Mon, 20 Jul 2026 20:02:22 +0200
Subject: [PATCH 62/72] gdm: Remove constants module and add wiggle parameter
Subject: [PATCH 62/73] gdm: Remove constants module and add wiggle parameter
to message flow
Delete constants.js and move its contents closer to where they are used:
@ -12421,7 +12421,7 @@ index 7d5f4b039..0359f6028 100644
From f75b16958b106fde5b8131cd96e778a18868423a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Wed, 11 Sep 2024 02:09:57 +0200
Subject: [PATCH 63/72] gdm: Bind cancel button visibility to
Subject: [PATCH 63/73] gdm: Bind cancel button visibility to
verification-status
It's depending on it, and the status may change during the execution so
@ -12579,7 +12579,7 @@ index d02ad45bc..095dad3e7 100644
From f36287ae58f2fd95c0fc594869aa30d5d812ae0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Sun, 26 Jul 2026 07:44:07 +0200
Subject: [PATCH 64/72] gdm/authServices: Make it possible for a service to
Subject: [PATCH 64/73] gdm/authServices: Make it possible for a service to
handle the cancel button
A service may behave differently when a cancel button is pressed, so let
@ -12665,7 +12665,7 @@ index 2821f2bb0..c0025f608 100644
From 9a6101faa37d24f3a5e84a65e66abc311b3ab8fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Sun, 26 Jul 2026 07:45:12 +0200
Subject: [PATCH 65/72] gdm/authServicesSSSDSwitchable: Implement intelligent
Subject: [PATCH 65/73] gdm/authServicesSSSDSwitchable: Implement intelligent
cancel handling
Override cancelRequested() to handle Escape/cancel based on the current
@ -12938,7 +12938,7 @@ index cb5a62f05..439cf6a77 100644
From ebeb68b4772f9dea3c0d945a663c5cab5f085acc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Sun, 26 Jul 2026 07:56:47 +0200
Subject: [PATCH 66/72] gdm/authServicesSSSDSwitchable: Disable the mechanisms
Subject: [PATCH 66/73] gdm/authServicesSSSDSwitchable: Disable the mechanisms
on service unavailable
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3212>
@ -12972,7 +12972,7 @@ index 439cf6a77..7286ec78c 100644
From f967fdd1cb3e4f15608ee9988463a801840fa2e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Sun, 26 Jul 2026 07:58:52 +0200
Subject: [PATCH 67/72] gdm/authServicesSSSDSwitchable: Handle errors setting
Subject: [PATCH 67/73] gdm/authServicesSSSDSwitchable: Handle errors setting
the not found state
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3212>
@ -13010,7 +13010,7 @@ index 7286ec78c..3b462ad44 100644
From 245780b7e7d129114ae4b6343325e717f99d1dbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Sun, 26 Jul 2026 08:02:46 +0200
Subject: [PATCH 68/72] gdm/util: Allow an auth service to have multiple
Subject: [PATCH 68/73] gdm/util: Allow an auth service to have multiple
mechanisms per role
Each mechanism could actually define the role multiple times, but we
@ -13049,7 +13049,7 @@ index c0025f608..d51330391 100644
From 1d998c1aa99d2a8552fbc1635f7f95fc87c721ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Mon, 27 Jul 2026 03:04:24 +0200
Subject: [PATCH 69/72] gdm: Rename util into userVerifier
Subject: [PATCH 69/73] gdm: Rename util into userVerifier
We've been abusing of util.js long enough, it's a too generic name for
something that for many years is actually the core of the shell user
@ -14377,7 +14377,7 @@ index 08c23cbff..34be91f7c 100644
From 3148a2e59122e1e438dcb30c3d8163b9834722fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Sun, 26 Jul 2026 10:40:09 +0200
Subject: [PATCH 70/72] gdm: Move userVerifier settings and utilities to proper
Subject: [PATCH 70/73] gdm: Move userVerifier settings and utilities to proper
files
Leave to util only utility features, while settings keys and schemas are
@ -14741,7 +14741,7 @@ index 271b6c0e4..daff41d6a 100644
From 61350a0680e649b18bb49b96bab45eb1c0a143b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net>
Date: Sun, 26 Jul 2026 10:06:35 +0200
Subject: [PATCH 71/72] gdm/authServices: Use per-request callbacks to handle
Subject: [PATCH 71/73] gdm/authServices: Use per-request callbacks to handle
services queries
In the design previous to this change, we may end up handling a query
@ -15184,7 +15184,7 @@ index 1087020fd..d68df6fb4 100644
From 90b5a933b33b8d53bd76bfe02523bc040436762a Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Tue, 28 Jul 2026 16:39:32 +0200
Subject: [PATCH 72/72] gdm/userVerifier: Add driver service to constrain
Subject: [PATCH 72/73] gdm/userVerifier: Add driver service to constrain
active auth services
Add setDriverService() to allow callers to restrict which
@ -15261,3 +15261,94 @@ index d68df6fb4..6c63a313d 100644
--
2.55.0
From 868175a6d10a45463bf48c97e9599331d0fdd823 Mon Sep 17 00:00:00 2001
From: Adrian Vovk <adrianvovk@gmail.com>
Date: Thu, 13 Aug 2026 14:45:53 -0400
Subject: [PATCH 73/73] gdm/userVerifier: Fix mechanisms-changed race
Starting with GDM e760c8e4, GDM will return an error from
BeginVerification() whenever `gdm-switchable-auth` is unavailable.
This would cause AuthServicesSSSDSwitchable to emit `mechanisms-changed`
during ShellUserVerifier.begin(). The signal would cause a chain of
events that leads to ShellUserVerifier.cancel() being called inside of
that same call stack. In response to this, GDM will send us a reset
signal. Meanwhile, the call stack would move on and try to call
BeginVerification() for AuthServicesLegacy.
In the unhappy case, we'd receive the reset signal before
BeginVerification() is done, which completely de-syncs gnome-shell's and
GDM's views of what's going on. Ultimately the password box would never
appear. gnome-shell would kick the user right back into the user list,
but GDM would think that gdm-password is currently ongoing.
The fix is to delay the propagation of `mechanisms-changed` until we're
done with BeginVerification() for all available auth services.
Closes: https://gitlab.gnome.org/GNOME/gdm/-/work_items/1089
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4336>
---
js/gdm/userVerifier.js | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/js/gdm/userVerifier.js b/js/gdm/userVerifier.js
index 6c63a313d..39acb5183 100644
--- a/js/gdm/userVerifier.js
+++ b/js/gdm/userVerifier.js
@@ -62,6 +62,9 @@ export class ShellUserVerifier extends Signals.EventEmitter {
this._authServices = [];
this._driverService = null;
+ this._beginPromise = null;
+ this._redistributingRoles = false;
+
this._messageQueue = [];
this._messageQueueTimeoutId = 0;
@@ -86,6 +89,9 @@ export class ShellUserVerifier extends Signals.EventEmitter {
this._cancellable?.cancel();
this._cancellable = new Gio.Cancellable();
+ const {promise, resolve} = Promise.withResolvers();
+ this._beginPromise = promise;
+
try {
const proxies = await this._getUserVerifierProxies(userName, this._cancellable);
this._setUserVerifier(proxies.userVerifier);
@@ -100,6 +106,9 @@ export class ShellUserVerifier extends Signals.EventEmitter {
logErrorUnlessCancelled(e);
}
+ resolve();
+ this._beginPromise = null;
+
hold?.release();
}
@@ -402,7 +411,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
'reset', (_, args) => this.emit('reset', args),
'show-choice-list', (_, args) => this.emit('show-choice-list', args),
'show-button', (_, args) => this.emit('show-button', args),
- 'mechanisms-changed', () => this._onMechanismsChanged(),
+ 'mechanisms-changed', () => this._onMechanismsChanged().catch(logError),
'web-login', (_, args) => this.emit('web-login', args),
this);
});
@@ -436,10 +445,12 @@ export class ShellUserVerifier extends Signals.EventEmitter {
this._redistributingRoles = false;
}
- _onMechanismsChanged() {
+ async _onMechanismsChanged() {
if (this._redistributingRoles)
return;
+ await this._beginPromise;
+
this._redistributeRoles();
// Collect mechanisms from all authServices in priority order,
--
2.55.0

View File

@ -1,4 +1,4 @@
From bc94cdc84421125da2dcc5fc3d627a475bd565cc Mon Sep 17 00:00:00 2001
From f7f01405f58fe832422dabeffe889f0614307181 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 01/13] Use Object.keys(this._sections) instead of
@ -9,7 +9,7 @@ Subject: [PATCH 01/13] Use Object.keys(this._sections) instead of
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/gdm/authMenuButton.js b/js/gdm/authMenuButton.js
index 5aaa45fd3..e2c516585 100644
index 5aaa45fd36..e2c5165852 100644
--- a/js/gdm/authMenuButton.js
+++ b/js/gdm/authMenuButton.js
@@ -252,7 +252,7 @@ export class AuthMenuButton extends St.Button {
@ -22,10 +22,10 @@ index 5aaa45fd3..e2c516585 100644
if (itemsInSection.length === 0) {
const section = this._sections.get(sectionName);
--
2.55.0
2.51.0
From e1e99c9b443a60cf176d21b8538fc7f1ebd8ed65 Mon Sep 17 00:00:00 2001
From 983b6c2ebf1eb87d37dd9150ab7af8fb1d022d43 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 02/13] Don't use _once timeout variants
@ -37,7 +37,7 @@ Subject: [PATCH 02/13] Don't use _once timeout variants
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/js/gdm/authServices.js b/js/gdm/authServices.js
index d0f7659a5..e13d4106e 100644
index d0f7659a55..e13d4106ef 100644
--- a/js/gdm/authServices.js
+++ b/js/gdm/authServices.js
@@ -283,8 +283,11 @@ export class AuthServices extends GObject.Object {
@ -55,7 +55,7 @@ index d0f7659a5..e13d4106e 100644
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 77f9cece6..0e5c525de 100644
index 77f9cece60..0e5c525de3 100644
--- a/js/gdm/authServicesLegacy.js
+++ b/js/gdm/authServicesLegacy.js
@@ -132,12 +132,13 @@ export class AuthServicesLegacy extends AuthServices {
@ -74,7 +74,7 @@ index 77f9cece6..0e5c525de 100644
}
diff --git a/js/gdm/authServicesSSSDSwitchable.js b/js/gdm/authServicesSSSDSwitchable.js
index cf6a4e1fb..0271d98f2 100644
index cf6a4e1fbf..0271d98f26 100644
--- a/js/gdm/authServicesSSSDSwitchable.js
+++ b/js/gdm/authServicesSSSDSwitchable.js
@@ -287,7 +287,7 @@ export class AuthServicesSSSDSwitchable extends AuthServices {
@ -95,10 +95,10 @@ index cf6a4e1fb..0271d98f2 100644
}
--
2.55.0
2.51.0
From 9927abed68a443ee9f00ddcc5e4c48187a3c70da Mon Sep 17 00:00:00 2001
From b156daeca2500b994ec1465cfcf7afab11b0fab6 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 03/13] gdm: Use alternative to Promise.withResolvers()
@ -106,10 +106,11 @@ Subject: [PATCH 03/13] gdm: Use alternative to Promise.withResolvers()
It doesn't exist in this version
---
js/gdm/authServices.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
js/gdm/userVerifier.js | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/js/gdm/authServices.js b/js/gdm/authServices.js
index e13d4106e..e5cf21c96 100644
index e13d4106ef..e5cf21c96e 100644
--- a/js/gdm/authServices.js
+++ b/js/gdm/authServices.js
@@ -289,7 +289,11 @@ export class AuthServices extends GObject.Object {
@ -125,11 +126,28 @@ index e13d4106e..e5cf21c96 100644
const task = Gio.Task.new(this, cancellable, () => {
try {
const res = task.propagate_boolean();
diff --git a/js/gdm/userVerifier.js b/js/gdm/userVerifier.js
index 39acb5183a..31e091f956 100644
--- a/js/gdm/userVerifier.js
+++ b/js/gdm/userVerifier.js
@@ -89,7 +89,11 @@ export class ShellUserVerifier extends Signals.EventEmitter {
this._cancellable?.cancel();
this._cancellable = new Gio.Cancellable();
- const {promise, resolve} = Promise.withResolvers();
+ let resolve, reject;
+ const promise = new Promise((res, rej) => {
+ resolve = res;
+ reject = rej;
+ });
this._beginPromise = promise;
try {
--
2.55.0
2.51.0
From 8b06c49cb2e31b26cbf155bae0795fb7c0d7d6f6 Mon Sep 17 00:00:00 2001
From 94ff87f62fdd269bd81f803f0f66da676132cfeb Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 6 Aug 2026 23:58:46 +0200
Subject: [PATCH 04/13] gdm: Use old ButtonMask enum
@ -143,7 +161,7 @@ In this version it still used as ONE, TWO and THREE
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/js/gdm/authList.js b/js/gdm/authList.js
index 81c204e7f..8e035da91 100644
index 81c204e7f6..8e035da91d 100644
--- a/js/gdm/authList.js
+++ b/js/gdm/authList.js
@@ -70,7 +70,7 @@ class ItemIcon extends St.Button {
@ -156,7 +174,7 @@ index 81c204e7f..8e035da91 100644
});
diff --git a/js/gdm/authMenuButton.js b/js/gdm/authMenuButton.js
index e2c516585..ca9a0b9d1 100644
index e2c5165852..ca9a0b9d1a 100644
--- a/js/gdm/authMenuButton.js
+++ b/js/gdm/authMenuButton.js
@@ -149,7 +149,7 @@ export class AuthMenuButton extends St.Button {
@ -169,7 +187,7 @@ index e2c516585..ca9a0b9d1 100644
this.bind_property('reactive',
this, 'can-focus',
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index 4c1697f08..31addc47f 100644
index 4c1697f087..31addc47f5 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -291,7 +291,7 @@ export const AuthPrompt = GObject.registerClass({
@ -182,7 +200,7 @@ index 4c1697f08..31addc47f 100644
x_align: Clutter.ActorAlign.CENTER,
x_expand: true,
diff --git a/js/gdm/webLogin.js b/js/gdm/webLogin.js
index 3b6496296..34c371b8d 100644
index 3b64962969..34c371b8dd 100644
--- a/js/gdm/webLogin.js
+++ b/js/gdm/webLogin.js
@@ -200,7 +200,7 @@ export class WebLoginDialog extends St.Widget {
@ -195,10 +213,10 @@ index 3b6496296..34c371b8d 100644
text: b.label,
style_class: 'login-button-label',
--
2.55.0
2.51.0
From 4373ce16c8653c523fcca8879915254aa76d21d0 Mon Sep 17 00:00:00 2001
From 7c156534f109607595e5993dc4a562382c93939d Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Fri, 7 Aug 2026 11:42:37 +0200
Subject: [PATCH 05/13] style: Fix color styles to adapt when on light-mode
@ -210,7 +228,7 @@ Subject: [PATCH 05/13] style: Fix color styles to adapt when on light-mode
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/data/theme/gnome-shell-sass/widgets/_login-lock.scss b/data/theme/gnome-shell-sass/widgets/_login-lock.scss
index 04f24a789..fbcb4d20f 100644
index 04f24a7891..fbcb4d20f4 100644
--- a/data/theme/gnome-shell-sass/widgets/_login-lock.scss
+++ b/data/theme/gnome-shell-sass/widgets/_login-lock.scss
@@ -92,12 +92,12 @@ $_gdm_dialog_width: 25em;
@ -245,7 +263,7 @@ index 04f24a789..fbcb4d20f 100644
}
}
diff --git a/data/theme/gnome-shell-sass/widgets/_qr-code.scss b/data/theme/gnome-shell-sass/widgets/_qr-code.scss
index da04425bd..98ecf7b0f 100644
index da04425bd6..98ecf7b0fc 100644
--- a/data/theme/gnome-shell-sass/widgets/_qr-code.scss
+++ b/data/theme/gnome-shell-sass/widgets/_qr-code.scss
@@ -6,6 +6,7 @@
@ -257,10 +275,10 @@ index da04425bd..98ecf7b0f 100644
background-color: $system_fg_color;
border-color: $system_fg_color;
--
2.55.0
2.51.0
From 3745870fd893ae84cde12f4a84e4bd9b2ea65762 Mon Sep 17 00:00:00 2001
From a1e0261eef0e1a395de5efdf077eda4a1b29b35f Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 12 Aug 2026 12:37:41 +0200
Subject: [PATCH 06/13] gdm: Restore util.js and misc/smartcardManager.js as
@ -281,7 +299,7 @@ location, to keep the old import paths and names working.
create mode 100644 js/misc/smartcardManager.js
diff --git a/js/gdm/util.js b/js/gdm/util.js
index 10f9131d9..d9a7e2239 100644
index 10f9131d9c..d9a7e22394 100644
--- a/js/gdm/util.js
+++ b/js/gdm/util.js
@@ -3,6 +3,27 @@ import Clutter from 'gi://Clutter';
@ -313,7 +331,7 @@ index 10f9131d9..d9a7e2239 100644
/**
diff --git a/js/js-resources.gresource.xml b/js/js-resources.gresource.xml
index daff41d6a..a1c0e6e3c 100644
index daff41d6a8..a1c0e6e3cd 100644
--- a/js/js-resources.gresource.xml
+++ b/js/js-resources.gresource.xml
@@ -50,6 +50,7 @@
@ -326,7 +344,7 @@ index daff41d6a..a1c0e6e3c 100644
<file>misc/util.js</file>
diff --git a/js/misc/smartcardManager.js b/js/misc/smartcardManager.js
new file mode 100644
index 000000000..df62ec048
index 0000000000..df62ec0486
--- /dev/null
+++ b/js/misc/smartcardManager.js
@@ -0,0 +1,3 @@
@ -334,10 +352,10 @@ index 000000000..df62ec048
+// before being moved to gdm/smartcardManager.js.
+export {getSmartcardManager} from '../gdm/smartcardManager.js';
--
2.55.0
2.51.0
From bd1327dfb48dc9533d6e9055e6a42f0c1c1024bf Mon Sep 17 00:00:00 2001
From ef73a7550be27511a20fcb101f5f531b9ac1ec9c Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 12 Aug 2026 12:37:50 +0200
Subject: [PATCH 07/13] authPrompt: Restore BeginRequestType as alias for
@ -351,7 +369,7 @@ AuthPrompt.BeginRequestType keep working.
1 file changed, 3 insertions(+)
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index 31addc47f..4f7ceb86c 100644
index 31addc47f5..4f7ceb86c9 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -44,6 +44,9 @@ export const ResetType = {
@ -365,10 +383,10 @@ index 31addc47f..4f7ceb86c 100644
Signals: {
'cancelled': {},
--
2.55.0
2.51.0
From e5d4b76c4de043cb26f88065e623028970a5e1af Mon Sep 17 00:00:00 2001
From d012d9218d045193abf2172727a97084f0845156 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 12 Aug 2026 12:38:25 +0200
Subject: [PATCH 08/13] Revert "gdm/authServices: Use per-request callbacks to
@ -391,7 +409,7 @@ safety the callback pattern added.
5 files changed, 79 insertions(+), 117 deletions(-)
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index 4f7ceb86c..bbf6c4e4e 100644
index 4f7ceb86c9..bbf6c4e4ea 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -194,7 +194,20 @@ export const AuthPrompt = GObject.registerClass({
@ -551,7 +569,7 @@ index 4f7ceb86c..bbf6c4e4e 100644
if (element.visible)
return;
diff --git a/js/gdm/authServices.js b/js/gdm/authServices.js
index e5cf21c96..e5c60e1d7 100644
index e5cf21c96e..e5c60e1d79 100644
--- a/js/gdm/authServices.js
+++ b/js/gdm/authServices.js
@@ -81,7 +81,6 @@ export class AuthServices extends GObject.Object {
@ -597,7 +615,7 @@ index e5cf21c96..e5c60e1d7 100644
_handleSelectMechanism() {
diff --git a/js/gdm/authServicesLegacy.js b/js/gdm/authServicesLegacy.js
index 0e5c525de..f257b55fc 100644
index 0e5c525de3..f257b55fcd 100644
--- a/js/gdm/authServicesLegacy.js
+++ b/js/gdm/authServicesLegacy.js
@@ -77,6 +77,14 @@ export class AuthServicesLegacy extends AuthServices {
@ -665,7 +683,7 @@ index 0e5c525de..f257b55fc 100644
_handleGetCredentialManagerServices() {
diff --git a/js/gdm/authServicesSSSDSwitchable.js b/js/gdm/authServicesSSSDSwitchable.js
index 0271d98f2..3a81b99c2 100644
index 0271d98f26..3a81b99c20 100644
--- a/js/gdm/authServicesSSSDSwitchable.js
+++ b/js/gdm/authServicesSSSDSwitchable.js
@@ -74,6 +74,23 @@ export class AuthServicesSSSDSwitchable extends AuthServices {
@ -766,10 +784,10 @@ index 0271d98f2..3a81b99c2 100644
if (pinAttempts <= 3 && pinAttempts > 0) {
const message = _('You have %d attempts left. If the passkey gets locked, you may not able to access your account.').format(pinAttempts);
diff --git a/js/gdm/userVerifier.js b/js/gdm/userVerifier.js
index 6c63a313d..116c4ae1d 100644
index 31e091f956..5be510fddb 100644
--- a/js/gdm/userVerifier.js
+++ b/js/gdm/userVerifier.js
@@ -180,6 +180,18 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -193,6 +193,18 @@ export class ShellUserVerifier extends Signals.EventEmitter {
this._settings = null;
}
@ -788,7 +806,7 @@ index 6c63a313d..116c4ae1d 100644
addCredentialManager(serviceName, credentialManager) {
this._authServices.forEach(s => s.addCredentialManager(serviceName, credentialManager));
}
@@ -464,14 +476,14 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -479,14 +491,14 @@ export class ShellUserVerifier extends Signals.EventEmitter {
async _waitPendingMessages({task}) {
try {
@ -806,10 +824,10 @@ index 6c63a313d..116c4ae1d 100644
return Promise.resolve();
--
2.55.0
2.51.0
From 3aae4d78f1432281589ff688d799c582bf80156b Mon Sep 17 00:00:00 2001
From 8f0317ea07d585f96b5419f192a9883c17cdd70b Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 12 Aug 2026 12:40:53 +0200
Subject: [PATCH 09/13] gdm: Restore positional signal signatures on
@ -831,7 +849,7 @@ handlers simply ignore.
2 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index bbf6c4e4e..97129ca00 100644
index bbf6c4e4ea..97129ca00e 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -98,13 +98,17 @@ export const AuthPrompt = GObject.registerClass({
@ -857,10 +875,10 @@ index bbf6c4e4e..97129ca00 100644
'reset', (_, args) => this._onReset(args),
this);
diff --git a/js/gdm/userVerifier.js b/js/gdm/userVerifier.js
index 116c4ae1d..e5d3a1835 100644
index 5be510fddb..2c48992ad8 100644
--- a/js/gdm/userVerifier.js
+++ b/js/gdm/userVerifier.js
@@ -242,11 +242,11 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -255,11 +255,11 @@ export class ShellUserVerifier extends Signals.EventEmitter {
const message = this.currentMessage;
delete this._currentMessageExtraInterval;
@ -877,7 +895,7 @@ index 116c4ae1d..e5d3a1835 100644
this._messageQueueTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
message.interval + (this._currentMessageExtraInterval | 0), () => {
@@ -299,7 +299,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -312,7 +312,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
this._messageQueueTimeoutId = 0;
}
@ -886,7 +904,7 @@ index 116c4ae1d..e5d3a1835 100644
}
_reportInitError(initError) {
@@ -404,7 +404,8 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -417,7 +417,8 @@ export class ShellUserVerifier extends Signals.EventEmitter {
_connectAuthServices() {
this._authServices.forEach(authServices => {
authServices.connectObject(
@ -896,7 +914,7 @@ index 116c4ae1d..e5d3a1835 100644
'queue-message', (_, args) => this._queueMessage(args),
'queue-priority-message', (_, args) => this._queuePriorityMessage(args),
'wait-pending-messages', (_, args) => this._waitPendingMessages(args),
@@ -412,7 +413,8 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -425,7 +426,8 @@ export class ShellUserVerifier extends Signals.EventEmitter {
'verification-failed', (_, args) => this._verificationFailed(args),
'verification-complete', () => this.emit('verification-complete'),
'reset', (_, args) => this.emit('reset', args),
@ -904,9 +922,9 @@ index 116c4ae1d..e5d3a1835 100644
+ 'show-choice-list', (_, args) =>
+ this.emit('show-choice-list', args.serviceName, args.promptMessage, args.choiceList),
'show-button', (_, args) => this.emit('show-button', args),
'mechanisms-changed', () => this._onMechanismsChanged(),
'mechanisms-changed', () => this._onMechanismsChanged().catch(logError),
'web-login', (_, args) => this.emit('web-login', args),
@@ -422,7 +424,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -435,7 +437,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
_verificationFailed({serviceName, canRetry}) {
this._filterServiceMessages({serviceName, messageType: MessageType.ERROR});
@ -916,10 +934,10 @@ index 116c4ae1d..e5d3a1835 100644
get selectedMechanism() {
--
2.55.0
2.51.0
From 9c61a84b465df3bd0c83bbc6e3be5db811b5d04e Mon Sep 17 00:00:00 2001
From 0985b55763c8a646a13620210596e11b0febb250 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 12 Aug 2026 12:42:29 +0200
Subject: [PATCH 10/13] gdm: Add backward-compatible property and method shims
@ -941,7 +959,7 @@ with a TypeError.
2 files changed, 69 insertions(+)
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index 97129ca00..d062cdc4b 100644
index 97129ca00e..d062cdc4bf 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -923,6 +923,14 @@ export const AuthPrompt = GObject.registerClass({
@ -960,10 +978,10 @@ index 97129ca00..d062cdc4b 100644
this._preemptiveInput = false;
this._preemptiveAnswer = null;
diff --git a/js/gdm/userVerifier.js b/js/gdm/userVerifier.js
index e5d3a1835..2e863cb8b 100644
index 2c48992ad8..9ea3e0d5dd 100644
--- a/js/gdm/userVerifier.js
+++ b/js/gdm/userVerifier.js
@@ -65,6 +65,9 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -68,6 +68,9 @@ export class ShellUserVerifier extends Signals.EventEmitter {
this._messageQueue = [];
this._messageQueueTimeoutId = 0;
@ -973,7 +991,7 @@ index e5d3a1835..2e863cb8b 100644
this._settings = new Gio.Settings({schema_id: LOGIN_SCREEN_SCHEMA});
this._settings.connect('changed', () => this._onSettingsChanged());
this._updateAuthServices();
@@ -82,9 +85,21 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -85,9 +88,21 @@ export class ShellUserVerifier extends Signals.EventEmitter {
return this._messageQueue ? this._messageQueue[0] : null;
}
@ -993,9 +1011,9 @@ index e5d3a1835..2e863cb8b 100644
this._cancellable = new Gio.Cancellable();
+ this.reauthenticating = false;
try {
const proxies = await this._getUserVerifierProxies(userName, this._cancellable);
@@ -114,6 +129,51 @@ export class ShellUserVerifier extends Signals.EventEmitter {
let resolve, reject;
const promise = new Promise((res, rej) => {
@@ -127,6 +142,51 @@ export class ShellUserVerifier extends Signals.EventEmitter {
return this._authServices.some(s => s.needsUsername());
}
@ -1047,7 +1065,7 @@ index e5d3a1835..2e863cb8b 100644
setDriverService(serviceName) {
if (this._driverService === serviceName)
return;
@@ -322,6 +382,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -335,6 +395,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
try {
proxies.userVerifier = await this._client.open_reauthentication_channel(
userName, cancellable);
@ -1056,10 +1074,10 @@ index e5d3a1835..2e863cb8b 100644
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
throw e;
--
2.55.0
2.51.0
From 173fd8c7d0ace6b253df40d7db1260d0b202b17e Mon Sep 17 00:00:00 2001
From b3c321a84563b780fb1bb033cd5f54ba90cdfc91 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 12 Aug 2026 13:08:48 +0200
Subject: [PATCH 11/13] authPrompt: updateSensitivity() signature
@ -1075,7 +1093,7 @@ silently getting undefined out of the {sensitive} destructuring.
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js
index d062cdc4b..8d4de6bde 100644
index d062cdc4bf..8d4de6bde0 100644
--- a/js/gdm/authPrompt.js
+++ b/js/gdm/authPrompt.js
@@ -783,7 +783,11 @@ export const AuthPrompt = GObject.registerClass({
@ -1092,10 +1110,10 @@ index d062cdc4b..8d4de6bde 100644
return;
--
2.55.0
2.51.0
From f3ee5bfd61b258f90fcfda784bac7e99194a89a5 Mon Sep 17 00:00:00 2001
From 9f275a3f2e44b453097f6fb18116dcbe5b30ee06 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Wed, 12 Aug 2026 17:08:36 +0200
Subject: [PATCH 12/13] gdm/userVerifier: needsUsername should use every
@ -1107,10 +1125,10 @@ false.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/gdm/userVerifier.js b/js/gdm/userVerifier.js
index 2e863cb8b..e0a85c693 100644
index 9ea3e0d5dd..c5f9572955 100644
--- a/js/gdm/userVerifier.js
+++ b/js/gdm/userVerifier.js
@@ -126,7 +126,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
@@ -139,7 +139,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
}
needsUsername() {
@ -1120,12 +1138,14 @@ index 2e863cb8b..e0a85c693 100644
/**
--
2.55.0
2.51.0
From 8423550279da7eb204a8c0ddf4d2a94165a82fd7 Mon Sep 17 00:00:00 2001
From e7d5a37ccdae946a28acb2a9a3ccf1301dd0a7d6 Mon Sep 17 00:00:00 2001
From: Joan Torres Lopez <joantolo@redhat.com>
Date: Thu, 13 Aug 2026 13:18:41 +0200
Subject: [PATCH 13/13] gdm/authServicesLegacy: Fix credentialManagers authentication
Subject: [PATCH 13/13] gdm/authServicesLegacy: Fix credentialManagers
authentication
There were a few guards to ensure authentication only works for
the selectedMechanism, however for credentialManagers, the selectedMechanism
@ -1136,7 +1156,7 @@ Bypass those guards only for credentialManagers.
1 file changed, 30 insertions(+), 14 deletions(-)
diff --git a/js/gdm/authServicesLegacy.js b/js/gdm/authServicesLegacy.js
index f257b55fc..b7592c065 100644
index f257b55fcd..b7592c0656 100644
--- a/js/gdm/authServicesLegacy.js
+++ b/js/gdm/authServicesLegacy.js
@@ -258,17 +258,12 @@ export class AuthServicesLegacy extends AuthServices {
@ -1222,5 +1242,5 @@ index f257b55fc..b7592c065 100644
if (this._credentialManagers[serviceName])
return;
--
2.55.0
2.51.0