Public bug reported: With Chromium backspaces generated by ibus-engine-keyman get lost.
For apps like Chromium that don't support surrounding text, ibus-engine- keyman generates a backspace to delete a character from the context. However, it appears that the version of `im-ibus.so` included in the gnome-42-2204 snap package is too old and has a bug so that it appears that Chromium would support surrounding text. Newer ibus versions have this bug fixed. Note: to properly work with apps that don't support surrounding text, the version of ibus-engine-keyman included in the Ubuntu repos (Keyman 17) requires a patched version of ibus that didn't make it to the Ubuntu repos. It can be installed from https://launchpad.net/~keymanapp/+archive/ubuntu/keyman. Alternatively, the upcoming Keyman 18 no longer needs a patched ibus and can be installed from https://launchpad.net/~keymanapp/+archive/ubuntu/keyman- beta. To reproduce: - install the beta version of Keyman 18 from https://launchpad.net/~keymanapp/+archive/ubuntu/keyman-beta, or Keyman 17 from the Ubuntu repos and the patched ibus from https://launchpad.net/~keymanapp/+archive/ubuntu/keyman - install the "IPA (SIL)" keyboard from https://keyman.com/keyboards/sil_ipa by running: `km-package-install -p sil_ipa` - open Chromium - switch to the "Undetermined (IPA (SIL))" keyboard - in a input field in Chromium, type n> Expected output: ŋ Actual outputː nŋ (What's happening: after receiving the ">" keypress, ibus-engine-keyman checks if the app that has the focus supports surrounding text. If it does, it calls `ibus_engine_delete_surrounding_text` to delete the "n", otherwise generates a backspace to delete the "n". This is followed by outputting "ŋ". Since the im-ibus.so available in the Chromium snap package contains a bug, ibus-engine-keyman gets the information that Chromium supports surrounding text. However, Chromium doesn't implement that and so doesn't actually delete the character. Ibus has already fixed the bug, but that isn't yet available in the Chromium/gnome-42-2204 snap package) See issues in Ibus and Keyman: - https://github.com/keymanapp/keyman/issues/13133 - https://github.com/ibus/ibus/issues/2539, particularly comment https://github.com/ibus/ibus/issues/2539#issuecomment-1816649698 Additional information: 0. uname -a; type -a chromium Linux ubuntu24.10 6.11.0-18-generic #18-Ubuntu SMP PREEMPT_DYNAMIC Fri Feb 7 22:34:25 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux chromium is /snap/bin/chromium 1. /snap/bin/chromium --enable-logging=stderr. update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/local/share/doc /usr/local/share/doc none bind,ro 0 0): cannot open directory "/usr/local/share": permission denied update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/gimp/2.0/help /usr/share/gimp/2.0/help none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/gimp/2.0/help" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/gtk-doc /usr/share/gtk-doc none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/gtk-doc" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/javascript /usr/share/javascript none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/javascript" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/libreoffice/help /usr/share/libreoffice/help none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/libreoffice/help" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/sphinx_rtd_theme /usr/share/sphinx_rtd_theme none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/sphinx_rtd_theme" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/xubuntu-docs /usr/share/xubuntu-docs none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/xubuntu-docs" because it would affect the host in "/var/lib/snapd" [0220/174807.016918:ERROR:logging_chrome.cc(214)] Invalid logging destination: stderr. [0220/174807.078015:ERROR:logging_chrome.cc(214)] Invalid logging destination: stderr. [0220/174807.079203:ERROR:logging_chrome.cc(214)] Invalid logging destination: stderr. Gtk-Message: 17:48:07.210: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it. (chrome:3747): Gtk-WARNING **: 17:48:07.289: GTK+ module /snap/chromium/3040/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded. GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported. Gtk-Message: 17:48:07.289: Failed to load module "canberra-gtk-module" (chrome:3747): Gtk-WARNING **: 17:48:07.290: GTK+ module /snap/chromium/3040/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded. GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported. Gtk-Message: 17:48:07.290: Failed to load module "canberra-gtk-module" [0220/174807.451311:ERROR:logging_chrome.cc(214)] Invalid logging destination: stderr. [3747:3747:0220/174822.091864:ERROR:new_tab_page_handler.cc(1306)] NewTabPage loaded into a non-browser-tab context 2. snap info chromium; snap connections chromium name: chromium summary: Chromium web browser, open-source version of Chrome publisher: Canonical✓ store-url: https://snapcraft.io/chromium contact: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bugs?field.tag=snap license: unset description: | An open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. commands: - chromium.chromedriver - chromium services: chromium.daemon: simple, disabled, inactive snap-id: XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R tracking: latest/stable/core24-lp2072395 refresh-date: today at 12:09 CET channels: latest/stable: 133.0.6943.53 2025-02-10 (3040) 185MB - latest/candidate: 133.0.6943.98 2025-02-15 (3043) 185MB - latest/beta: 133.0.6943.35 2025-01-31 (3037) 184MB - latest/edge: 133.0.6905.0 2025-01-15 (3024) 186MB - installed: 133.0.6943.53 (3040) 185MB - Interface Plug Slot Notes audio-playback chromium:audio-playback :audio-playback - audio-record chromium:audio-record :audio-record - bluez chromium:bluez :bluez - browser-support chromium:browser-sandbox :browser-support - camera chromium:camera :camera - content chromium:foo-install-cups - - content[gnome-42-2204] chromium:gnome-42-2204 gnome-42-2204:gnome-42-2204 - content[gtk-3-themes] chromium:gtk-3-themes gtk-common-themes:gtk-3-themes - content[icon-themes] chromium:icon-themes gtk-common-themes:icon-themes - content[sound-themes] chromium:sound-themes gtk-common-themes:sound-themes - cups chromium:cups cups:cups - desktop chromium:desktop :desktop - desktop-legacy chromium:desktop-legacy :desktop-legacy - gsettings chromium:gsettings :gsettings - hardware-observe chromium:hardware-observe :hardware-observe - hidraw chromium:hidraw - - home chromium:home :home - joystick chromium:joystick :joystick - mount-observe chromium:mount-observe - - mpris - chromium:mpris - network chromium:network :network - network-bind chromium:network-bind :network-bind - network-manager chromium:network-manager - - opengl chromium:opengl :opengl - password-manager-service chromium:password-manager-service - - pcscd chromium:pcscd - - personal-files chromium:chromium-config :personal-files - personal-files chromium:dot-local-share-applications :personal-files - personal-files chromium:dot-local-share-icons :personal-files - pulseaudio chromium:pulseaudio - - raw-usb chromium:raw-usb - - removable-media chromium:removable-media :removable-media - screen-inhibit-control chromium:screen-inhibit-control :screen-inhibit-control - system-files chromium:etc-chromium-browser-policies :system-files - system-packages-doc chromium:system-packages-doc :system-packages-doc - u2f-devices chromium:u2f-devices :u2f-devices - unity7 chromium:unity7 :unity7 - upower-observe chromium:upower-observe :upower-observe - wayland chromium:wayland :wayland - x11 chromium:x11 :x11 - ** Affects: chromium-browser (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2098989 Title: Chromium looses keystrokes with ibus-engine-keyman Status in chromium-browser package in Ubuntu: New Bug description: With Chromium backspaces generated by ibus-engine-keyman get lost. For apps like Chromium that don't support surrounding text, ibus- engine-keyman generates a backspace to delete a character from the context. However, it appears that the version of `im-ibus.so` included in the gnome-42-2204 snap package is too old and has a bug so that it appears that Chromium would support surrounding text. Newer ibus versions have this bug fixed. Note: to properly work with apps that don't support surrounding text, the version of ibus-engine-keyman included in the Ubuntu repos (Keyman 17) requires a patched version of ibus that didn't make it to the Ubuntu repos. It can be installed from https://launchpad.net/~keymanapp/+archive/ubuntu/keyman. Alternatively, the upcoming Keyman 18 no longer needs a patched ibus and can be installed from https://launchpad.net/~keymanapp/+archive/ubuntu/keyman-beta. To reproduce: - install the beta version of Keyman 18 from https://launchpad.net/~keymanapp/+archive/ubuntu/keyman-beta, or Keyman 17 from the Ubuntu repos and the patched ibus from https://launchpad.net/~keymanapp/+archive/ubuntu/keyman - install the "IPA (SIL)" keyboard from https://keyman.com/keyboards/sil_ipa by running: `km-package-install -p sil_ipa` - open Chromium - switch to the "Undetermined (IPA (SIL))" keyboard - in a input field in Chromium, type n> Expected output: ŋ Actual outputː nŋ (What's happening: after receiving the ">" keypress, ibus-engine- keyman checks if the app that has the focus supports surrounding text. If it does, it calls `ibus_engine_delete_surrounding_text` to delete the "n", otherwise generates a backspace to delete the "n". This is followed by outputting "ŋ". Since the im-ibus.so available in the Chromium snap package contains a bug, ibus-engine-keyman gets the information that Chromium supports surrounding text. However, Chromium doesn't implement that and so doesn't actually delete the character. Ibus has already fixed the bug, but that isn't yet available in the Chromium/gnome-42-2204 snap package) See issues in Ibus and Keyman: - https://github.com/keymanapp/keyman/issues/13133 - https://github.com/ibus/ibus/issues/2539, particularly comment https://github.com/ibus/ibus/issues/2539#issuecomment-1816649698 Additional information: 0. uname -a; type -a chromium Linux ubuntu24.10 6.11.0-18-generic #18-Ubuntu SMP PREEMPT_DYNAMIC Fri Feb 7 22:34:25 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux chromium is /snap/bin/chromium 1. /snap/bin/chromium --enable-logging=stderr. update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/local/share/doc /usr/local/share/doc none bind,ro 0 0): cannot open directory "/usr/local/share": permission denied update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/gimp/2.0/help /usr/share/gimp/2.0/help none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/gimp/2.0/help" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/gtk-doc /usr/share/gtk-doc none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/gtk-doc" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/javascript /usr/share/javascript none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/javascript" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/libreoffice/help /usr/share/libreoffice/help none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/libreoffice/help" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/sphinx_rtd_theme /usr/share/sphinx_rtd_theme none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/sphinx_rtd_theme" because it would affect the host in "/var/lib/snapd" update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/xubuntu-docs /usr/share/xubuntu-docs none bind,ro 0 0): cannot write to "/var/lib/snapd/hostfs/usr/share/xubuntu-docs" because it would affect the host in "/var/lib/snapd" [0220/174807.016918:ERROR:logging_chrome.cc(214)] Invalid logging destination: stderr. [0220/174807.078015:ERROR:logging_chrome.cc(214)] Invalid logging destination: stderr. [0220/174807.079203:ERROR:logging_chrome.cc(214)] Invalid logging destination: stderr. Gtk-Message: 17:48:07.210: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it. (chrome:3747): Gtk-WARNING **: 17:48:07.289: GTK+ module /snap/chromium/3040/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded. GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported. Gtk-Message: 17:48:07.289: Failed to load module "canberra-gtk-module" (chrome:3747): Gtk-WARNING **: 17:48:07.290: GTK+ module /snap/chromium/3040/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded. GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported. Gtk-Message: 17:48:07.290: Failed to load module "canberra-gtk-module" [0220/174807.451311:ERROR:logging_chrome.cc(214)] Invalid logging destination: stderr. [3747:3747:0220/174822.091864:ERROR:new_tab_page_handler.cc(1306)] NewTabPage loaded into a non-browser-tab context 2. snap info chromium; snap connections chromium name: chromium summary: Chromium web browser, open-source version of Chrome publisher: Canonical✓ store-url: https://snapcraft.io/chromium contact: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bugs?field.tag=snap license: unset description: | An open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. commands: - chromium.chromedriver - chromium services: chromium.daemon: simple, disabled, inactive snap-id: XKEcBqPM06H1Z7zGOdG5fbICuf8NWK5R tracking: latest/stable/core24-lp2072395 refresh-date: today at 12:09 CET channels: latest/stable: 133.0.6943.53 2025-02-10 (3040) 185MB - latest/candidate: 133.0.6943.98 2025-02-15 (3043) 185MB - latest/beta: 133.0.6943.35 2025-01-31 (3037) 184MB - latest/edge: 133.0.6905.0 2025-01-15 (3024) 186MB - installed: 133.0.6943.53 (3040) 185MB - Interface Plug Slot Notes audio-playback chromium:audio-playback :audio-playback - audio-record chromium:audio-record :audio-record - bluez chromium:bluez :bluez - browser-support chromium:browser-sandbox :browser-support - camera chromium:camera :camera - content chromium:foo-install-cups - - content[gnome-42-2204] chromium:gnome-42-2204 gnome-42-2204:gnome-42-2204 - content[gtk-3-themes] chromium:gtk-3-themes gtk-common-themes:gtk-3-themes - content[icon-themes] chromium:icon-themes gtk-common-themes:icon-themes - content[sound-themes] chromium:sound-themes gtk-common-themes:sound-themes - cups chromium:cups cups:cups - desktop chromium:desktop :desktop - desktop-legacy chromium:desktop-legacy :desktop-legacy - gsettings chromium:gsettings :gsettings - hardware-observe chromium:hardware-observe :hardware-observe - hidraw chromium:hidraw - - home chromium:home :home - joystick chromium:joystick :joystick - mount-observe chromium:mount-observe - - mpris - chromium:mpris - network chromium:network :network - network-bind chromium:network-bind :network-bind - network-manager chromium:network-manager - - opengl chromium:opengl :opengl - password-manager-service chromium:password-manager-service - - pcscd chromium:pcscd - - personal-files chromium:chromium-config :personal-files - personal-files chromium:dot-local-share-applications :personal-files - personal-files chromium:dot-local-share-icons :personal-files - pulseaudio chromium:pulseaudio - - raw-usb chromium:raw-usb - - removable-media chromium:removable-media :removable-media - screen-inhibit-control chromium:screen-inhibit-control :screen-inhibit-control - system-files chromium:etc-chromium-browser-policies :system-files - system-packages-doc chromium:system-packages-doc :system-packages-doc - u2f-devices chromium:u2f-devices :u2f-devices - unity7 chromium:unity7 :unity7 - upower-observe chromium:upower-observe :upower-observe - wayland chromium:wayland :wayland - x11 chromium:x11 :x11 - To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2098989/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp

