#1146833 OSK unfolds way too often as gtk4 sends too many text_input.enable() events

Package:
libgtk-4-1
Source:
libgtk-4-1
Description:
GTK graphical user interface library
Submitter:
Guido Günther
Date:
2026-10-01 12:51:01 UTC
Severity:
normal
Tags:
#1146833#5
Date:
2026-09-06 07:36:38 UTC
From:
To:
gtk 4.23.1 (and later) sends zwp_text_input_v3#57.enable() enable events
not only when focusing input fields (like GtkEntry) but also when
e.g. touching in the demo selection in gtk4-demo (and many other
places):

[3397846.921] {Default Queue}  -> zwp_text_input_v3#57.enable()
[3397846.965] {Default Queue}  -> zwp_text_input_v3#57.set_surrounding_text("", 0, 0)
[3397846.979] {Default Queue}  -> zwp_text_input_v3#57.set_text_change_cause(1)
[3397847.111] {Default Queue}  -> zwp_text_input_v3#57.set_content_type(0, 0)
[3397847.146] {Default Queue}  -> zwp_text_input_v3#57.set_cursor_rectangle(0, 0, 0, 0)

This leads to the OSK unfolding on each enable (in e.g. Phosh) making
the apps mostly unusable.

The text-input protocol bound is still version 1 though:
[3566470.552] {Default Queue} wl_registry#2.global(25, "zwp_text_input_manager_v3", 1)
This does not happen in older GTK4 versions like 4.22.4

As this makes using any GTK4 app on touch systems mostly impossible to
use, I picked a severe severity to keep it out of testing for the moment
(please adjust as appropriate). I hope to get around to look into a fix
soon.

Upstream reference:

https://gitlab.gnome.org/GNOME/gtk/-/work_items/8349

Cheers,
 -- Guido

#1146833#12
Date:
2026-09-07 10:56:30 UTC
From:
To:
Thank you for letting us know about that bug.

There is another critical bug that is caused by the IM context changes. See
https://gitlab.gnome.org/GNOME/gtk/-/work_items/8341 which is tracked
in Debian as
https://bugs.debian.org/1146841

Jeremy Bícha

#1146833#17
Date:
2026-09-18 16:26:30 UTC
From:
To:
Hi,

In Phosh we can work around this by adding minimal text-input 3.2
support (thus making GTK use that).

I've also found another issue that could be RC:

https://gitlab.gnome.org/GNOME/gtk/-/work_items/8419

which makes text-input via OSK impossible in about any app
using a text field with word-completion enabled. I can file that
separately if it helps. Workaround here is to disable text prediction.

Cheers,
 -- Guido

#1146833#22
Date:
2026-09-18 16:44:15 UTC
From:
To:
What version of ibus do you have installed? Have you logged out and
logged back in since installing that version of ibus?

If you are using ibus 1.5.35~beta2-1, what input method are you using?
I was unable to reproduce the issue with ibus-typing-booster.

Thank you,
Jeremy Bícha

#1146833#27
Date:
2026-09-18 16:55:56 UTC
From:
To:
Hi,

There's no ibus in use here. This is phosh with on screen keyboard.
Cheers,
 -- Guido

#1146833#32
Date:
2026-09-18 17:10:21 UTC
From:
To:
If you're able to work around these issues in Phosh, that could allow
us to let gtk4 4.24 into Testing. I am unaware of any remaining
blockers except these issues that affect Phosh.

Thank you,
Jeremy Bícha

#1146833#37
Date:
2026-09-18 18:03:03 UTC
From:
To:
Hi,

Not yet. As noted we have a workaround for one of them but not yet
for the one that surfaced regarding preedit. I'll keep you posted,
we want to get these fixed soon anyway as flatpaks will also start
using gtk 4.24.

Cheers,
 -- Guido

#1146833#42
Date:
2026-09-18 18:06:31 UTC
From:
To:
Hi,
out too often" but not yet for the broken preedit one. I
would assume that both affect other input-methods as well. I'll let you
know once we made progress there.
Cheers,
 -- Guido

#1146833#47
Date:
2026-09-19 08:12:40 UTC
From:
To:
Hi,

I have a patch here now:

https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/10392

That plus a phoc update would get us into a state where text input is
possible again on phones.

Cheers,
 -- Guido

#1146833#52
Date:
2026-09-19 08:43:04 UTC
From:
To:
No problem. The only input method I tried was ibus, specifically
ibus-typing-booster and that worked.
phoc like I did for ibus? If so, what version should I use? 0.57.0-2~
or will there be a new upstream release?

Thank you,
Jeremy Bícha

#1146833#57
Date:
2026-09-19 10:07:18 UTC
From:
To:
Hi,

That would be great but maybe we wait for some upstream feedback? I hope
it's the correct approach (we've fixed similar issues like this before)
but it would be good to be certain so that we don't break other input
methods.

Yes please, you can use 0.58~, I'll tag an upstream release. Downside is
that we need to bundle wlroots in phoc for that as we're depending on
not yet merged wlroots MRs

https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/5458

for the compositor side workaround for this issue.

Cheers,
 -- Guido

#1146833#62
Date:
2026-09-21 13:07:31 UTC
From:
To:
Hi,

I've now uploaded 0.58~alpha1 to unstable that works around this leaving

https://gitlab.gnome.org/GNOME/gtk/-/work_items/8419

as the last critical issue¹ which (as far as I can tell) needs a GTK side
fix:

https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/10392

I think with that cherry-picked GTK 4.24 looks o.k. to migrate to testing
for touch devices. (sorry for holding things up here btw).

https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/10395 fixes another
regression but it's not release critical, maybe we can cherry-pick that
once/if merged upstream.

Cheers,
 -- Guido

1) It affects the default config (text prediction enabled)

#1146833#67
Date:
2026-09-21 13:23:01 UTC
From:
To:
I don't see any replies on those yet, but I want to cherry-pick those
2 merge requests into Debian Unstable now. The new major gtk4 release
is a kind of small transition so I'd like to finish getting it into
Testing.

Thank you,
Jeremy Bícha

#1146833#70
Date:
2026-09-21 13:31:27 UTC
From:
To:
Hello,

Bug #1146833 in gtk4 reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/gnome-team/gtk4/-/commit/057e85823eecbbb3fdd8c42df4ef1117dd12f3d3
------------------------------------------------------------------------
Cherry-pick 3 proposed patches from Guido Günther

to fix preedit and screen keyboard regressions seen in Phosh

Closes: #1146833

Gbp-Dch: Full
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1146833

#1146833#77
Date:
2026-09-21 16:16:41 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
gtk4, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1146833@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jeremy Bícha <jbicha@ubuntu.com> (supplier of updated gtk4 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 21 Sep 2026 17:23:49 +0200
Source: gtk4
Built-For-Profiles: derivative.ubuntu noudeb
Architecture: source
Version: 4.24.0+ds-2
Distribution: unstable
Urgency: medium
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Changed-By: Jeremy Bícha <jbicha@ubuntu.com>
Closes: 1146833
Changes:
 gtk4 (4.24.0+ds-2) unstable; urgency=medium
 .
   * Cherry-pick 3 proposed patches from Guido Günther
     to fix preedit and screen keyboard regressions seen in Phosh
     (Closes: #1146833)
   * Add Breaks: phoc << 0.58~alpha since that version was updated
     to adapt to changes in input method handling introduced in gtk 4.23.2
Checksums-Sha1:
 35dbaedcf799dab3478faebd5ccf05b01ec7aa79 4608 gtk4_4.24.0+ds-2.dsc
 390b4f754702f9432db59a14c1f3026d67c2a972 4006056 gtk4_4.24.0+ds-2.debian.tar.xz
 8ebd1fef12c44e1adae6f9a263d00a68c9ca9a8c 13066 gtk4_4.24.0+ds-2_source.buildinfo
Checksums-Sha256:
 a258c904d79990e7d89754f343878e475b7dc13ef73d96c08b8e13dee899cfae 4608 gtk4_4.24.0+ds-2.dsc
 5debb908afcdff906a244f38fb8b2338961a5fdda843b2d1ac8516d214d09b42 4006056 gtk4_4.24.0+ds-2.debian.tar.xz
 3a30974b65a69b98f8539c5d6beb1534535d2bf0cd1cc6bdb6420e9b81bbf6f1 13066 gtk4_4.24.0+ds-2_source.buildinfo
Files:
 a710da5a0f72d7de0e93638406d9d06c 4608 libs optional gtk4_4.24.0+ds-2.dsc
 4796a4a0181ef2d86880df59fc7aa1d3 4006056 libs optional gtk4_4.24.0+ds-2.debian.tar.xz
 310e0b6a6ecb58a45cce65fd79997c78 13066 libs optional gtk4_4.24.0+ds-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEETQvhLw5HdtiqzpaW5mx3Wuv+bH0FAmqxTH4ACgkQ5mx3Wuv+
bH1RaA/+P6LhX6iz2SCA5Fy5OfXkUIEH3GJ/AkQCPLUwUkJ/EaD3kL04VgCvENG5
tB2Sw57vOBI60bEz4QC+dWWeVIkeQT/DazJNygkzlGDv/PsHtYp6H8M6ibanMnyC
IFRYp/t9uQs2SErzeoKlH0lYirJab44kAGiWzcUZ4mqDcbGQC/cUC23xqaN1anp0
oGL60KQhSAYhAdp3G4C/bdsB7flUjSCg5tyIfXl+ONv/ROvndUCUD6Z2DFVKGiv+
sa+CIZKrmO+l7uhy7pUVxS6wKcM8L1uVDUdpdJ3uaCJ9hZt9SfaPmBNXLhpVNoWt
AfiP5twDc9j+obPvOUtCUTwxwWowBFvZUFJYpc5O4XSGeLso0sCoDQm18+6kxzen
LCiwxsJ06Kg8WS6GXFoEK+Rp7fJWdx7uy7Rv/4OsRJxZhehjZsNbETizgAizhsCn
jK5vEbqRe3qMY3lIc/z3+/R5e7erh1z0Zi3qQYd7AHfrBAWCb70iJaJPb00+G3jj
5bOzuaB3ZBsPiTM+VV36jOmUd/mMj9GaCS4+t1d1prN8E3YQWNoVZ/w9bmAiZFMk
EGJS/ZoxT/YCBwZTszgq69KX4IBgnxSQ5LuB+VwX7DkSutD5qL5d8UQvs02NFaNI
lOmNfIKLLfu3Mqe/+2uLuLVOEHGXC47bUHofnW6RMcjODvVHB0o=
=kkx4
-----END PGP SIGNATURE-----

#1146833#82
Date:
2026-10-01 12:49:11 UTC
From:
To:
Hi,

Just as update:

- https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/10392 was merged
  without changes
- https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/10395 is reviewed
  and upstream wants a slightly different structure but the
  functionality remains the same.

Cheers,
 -- Guido