Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gnome-shell for openSUSE:Factory 
checked in at 2026-05-13 17:19:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-shell (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-shell.new.1966 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-shell"

Wed May 13 17:19:29 2026 rev:289 rq:1352551 version:50.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-shell/gnome-shell.changes  2026-05-04 
12:49:52.312474624 +0200
+++ /work/SRC/openSUSE:Factory/.gnome-shell.new.1966/gnome-shell.changes        
2026-05-13 17:20:40.554626938 +0200
@@ -1,0 +2,6 @@
+Sun May  3 07:15:00 UTC 2026 - Hillwood Yang <[email protected]>
+
+- Add fix-ibus-engine-race-condition-on-unlock.patch, Fix IBus input failure
+  after screen unlock 
+  
+-------------------------------------------------------------------

New:
----
  fix-ibus-engine-race-condition-on-unlock.patch

----------(New B)----------
  New:
- Add fix-ibus-engine-race-condition-on-unlock.patch, Fix IBus input failure
  after screen unlock 
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-shell.spec ++++++
--- /var/tmp/diff_new_pack.uZj3nV/_old  2026-05-13 17:20:41.722675193 +0200
+++ /var/tmp/diff_new_pack.uZj3nV/_new  2026-05-13 17:20:41.726675359 +0200
@@ -38,6 +38,8 @@
 
 # PATCH-FIX-UPSTREAM gnome-shell-fix-cursor-on-hide-preedit.patch 
glgo#GNOME/gnome-shell!3318 [email protected] -- Correctly reset cursor when 
hide preedit
 Patch1:         gnome-shell-fix-cursor-on-hide-preedit.patch
+# PATCH-FIX-UPSTREAM fix-ibus-engine-race-condition-on-unlock.patch 
[email protected] glgo#GNOME/gnome-shell!4202 -- Delay IBus reload on 
unlock to prevent race conditions
+Patch2:         fix-ibus-engine-race-condition-on-unlock.patch
 
 # PATCH-FEATURE-OPENSUSE -- Do not ask to launch gnome-tour; openSUSE handles 
the logic in opensuse-welcome-launcher
 Patch100:       gnome-shell-no-gnome-tour.patch

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.uZj3nV/_old  2026-05-13 17:20:41.826679490 +0200
+++ /var/tmp/diff_new_pack.uZj3nV/_new  2026-05-13 17:20:41.834679821 +0200
@@ -1,6 +1,6 @@
-mtime: 1777218828
-commit: 57383ec06ef065b2330ba64c85069a7cda69c3806095a523cde20a2fa2da80cf
+mtime: 1777807523
+commit: 72a5246c077b4614e470d460d77d1a1d44ca8cd00cf42a8230722d853a2afd3c
 url: https://src.opensuse.org/GNOME/gnome-shell
-revision: 57383ec06ef065b2330ba64c85069a7cda69c3806095a523cde20a2fa2da80cf
+revision: 72a5246c077b4614e470d460d77d1a1d44ca8cd00cf42a8230722d853a2afd3c
 projectscmsync: https://src.opensuse.org/GNOME/_ObsPrj
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-05-03 13:25:23.000000000 +0200
@@ -0,0 +1,5 @@
+*.obscpio
+*.osc
+_build.*
+.pbuild
+osc-collab.*

++++++ fix-ibus-engine-race-condition-on-unlock.patch ++++++
>From 39677c790df829c27debd599ef61e35d72cc12ca Mon Sep 17 00:00:00 2001
From: Hillwood Yang <[email protected]>
Date: Wed, 29 Apr 2026 21:24:02 +0800
Subject: [PATCH] Fix IBus activation failure and source reset on unlock

In GNOME 49+, the focus transition during the transition from the lock
screen to the user session can cause IBus setEngine requests to be
cancelled by the DBus daemon. This leads to the input method becoming
unresponsive after unlock.

Additionally, a synchronous reload during this chaotic focus state often
causes the MRU (Most Recently Used) list to fail to restore correctly,
resulting in the input source being reset to the first default item.

This commit fixes these issues by:
1. Keeping the synchronous reload() at the top level to maintain GDM
   (Greeter) stability.
2. Introducing a 200ms delay specifically for user session unlocks
   (!Main.sessionMode.isGreeter) to re-trigger the activation of the
   last used input source once the focus is stable.

This ensures the input method is both functional and correctly selected
immediately after unlocking.
---
 js/ui/status/keyboard.js | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
index 4f7471ef5a..216863bc20 100644
--- a/js/ui/status/keyboard.js
+++ b/js/ui/status/keyboard.js
@@ -716,6 +716,9 @@ export class InputSourceManager extends 
Signals.EventEmitter {
         // the focus change caused by the switcher popup causing this purpose 
change.
         if (this._switcherPopup)
             return;
+
+        let isUnlock = false;
+
         if (purpose === IBus.InputPurpose.PASSWORD) {
             if (Object.keys(this._inputSources).length === 
Object.keys(this._ibusSources).length)
                 return;
@@ -728,8 +731,23 @@ export class InputSourceManager extends 
Signals.EventEmitter {
             if (!this._disableIBus)
                 return;
             this._disableIBus = false;
+            isUnlock = true;
         }
+
+        // Keep the synchronous reload at the top level.
+        // This is strictly required for the proper initialization of GDM 
(Greeter).
         this.reload();
+
+        // FIX: Retry activation after unlock to bypass the DBus CANCELLED 
race condition.
+        // This ensures the current input source is properly reactivated once 
focus is stable,
+        // preventing it from resetting to the first item in the list.
+        if (isUnlock && !Main.sessionMode.isGreeter) {
+            GLib.timeout_add(GLib.PRIORITY_DEFAULT, 200, () => {
+                if (this._mruSources && this._mruSources.length > 0)
+                    this._mruSources[0].activate(false);
+                return GLib.SOURCE_REMOVE;
+            });
+        }
     }
 
     _getNewInputSource(current) {
-- 
GitLab

Reply via email to