We propose extending our openQA test coverage to better validate keyboard configuration flows that are not fully testable upstream, especially scenarios specific to live images. Additionally, multi-architecture (multi-arch) testing for these cases is still missing and should be considered in future test expansions.
Metadata Update from @lruzicka: - Custom field story_points adjusted to 5
Lukas is working on this on the keyboard_layout_webui branch.
Passes at https://openqa.stg.fedoraproject.org/tests/5316650#details
Fixed in https://pagure.io/fedora-qa/os-autoinst-distri-fedora/pull-request/424
@kkoukiou
"Verify that installation is blocked and a warning is displayed."
Why? Why is this done? I can see that it is done, but the commit that introduces it does not explain why, nor does the bug report it links to.
Having more than one layout configured is standard for multiple languages, most notably Russian. If you give people a 'configure keyboard layout' button you must assume some of them will use it to configure a two layout, one-ASCII-capable one-not-ASCII-capable configuration.
What problem does it cause for anaconda if the user configures two layouts?
See also https://bugzilla.redhat.com/show_bug.cgi?id=2402430 .
@adamwill Thanks for raising this. The reason we limit Workstation WebUI installs to a single keyboard layout is that GNOME doesn’t currently provide an API to detect layout changes. If multiple layouts are configured, users could switch them with keyboard shortcuts and the installer wouldn’t notice. That could lead the user writing a password in one layout, and the installer configuring a different layout for the target system.
How it works right now, is that we detect layout changes when the user opens GNOME Settings and the installer window loses and regains focus. [1] Without an API for layout changes [2] we had to restrict it to one layout during installation to avoid unpredictable behavior.
Sorry this wasn’t explained in the commit - it was a hectic time around the F42 release and we rushed it through.
[1] https://github.com/rhinstaller/anaconda-webui/blob/9f2d63956a16aa89cc5caee9745df15df3007fa1/src/components/localization/Keyboard.jsx#L133
[2] https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7761
Metadata Update from @adamwill: - Assignee reset
Metadata Update from @adamwill: - Issue assigned to adamwill
since we're probably going with my PR, assigning to me.
This is addressed as far as currently possible in https://pagure.io/fedora-qa/os-autoinst-distri-fedora/pull-request/442 . It does not test switched layouts yet because the current webui implementation simply doesn't handle them; once https://github.com/rhinstaller/anaconda-webui/pull/1044 lands, hopefully, we'll be able to test that properly.
Metadata Update from @adamwill: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
oh, I didn't implement the 'make sure we show an error if you pick two layouts' thing as I don't think it makes any sense, we need to allow multiple layouts, and there's the in-progress PR to allow it. Once that PR is finalized we can add a check for "we don't allow progress if no ASCII-capable layout is configured" or something.
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/quality/os-autoinst-distri-fedora/issues/388
Please continue any further discussion there.