gnome-shell/js/ui/status
Carlos Garnacho 9c262ad7bf status: Ignore prior single-element lists updating input sources MRU
Consider the existing input sources MRU only valid if it contained
more than one element to pick from. Fixes the following situation
with initial-setup sessions:

- Initial setup Session starts, with several input sources already
  configured ("us" between them)
- InputSourceManager initializes, only the default "us" keymap is
  available
- MRU list is constructed, "us" is picked
- InputSourceManager catches up with session configuration, the
  other extra sources are added
- MRU list is reconstructed, "us" is already the most recent
- Session ends up with "us" picked, regardless of its position in
  the list, and no MRU existing prior to startup

If we consider the intermediate single-element MRU list invalid,
it is still possible to pick the best default source between all
the configured ones (the one that was put first in the list,
basically), after initialization is complete.

But also, it is unnecessary to have if there is a single source to
pick from. After the sources list has two elements or more, the
MRU list will become effective and preserved during changes to
the available sources.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5873
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2495>
2022-10-18 18:38:27 +00:00
..
accessibility.js js: Use templates for non-translatable strings 2022-02-12 12:29:52 +00:00
autoRotate.js status/autoRotate: Port to quick settings 2022-08-02 16:05:28 +00:00
bluetooth.js bluetooth: Remove unused 'had-bluetooth-devices-setup' setting 2022-09-17 18:24:15 +00:00
brightness.js status/brightness: Port to quick settings 2022-08-03 12:41:05 +00:00
darkMode.js status/darkMode: Add dark mode toggle 2022-08-02 16:05:28 +00:00
dwellClick.js cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
keyboard.js status: Ignore prior single-element lists updating input sources MRU 2022-10-18 18:38:27 +00:00
location.js status/location: Use better indicator icon 2022-08-19 09:44:57 +00:00
network.js status/network: Stop using radio-mode for VPN items 2022-08-30 15:43:11 +00:00
nightLight.js status/nightLight: Hide when unsupported 2022-08-18 15:40:49 +00:00
powerProfiles.js cleanup: Minimize deep_unpack() usage 2022-08-10 10:29:24 +00:00
remoteAccess.js status/remoteAccess: Move to quick settings 2022-08-02 16:05:28 +00:00
rfkill.js cleanup: Use deepUnpack() intead of deep_unpack() 2022-08-10 10:29:24 +00:00
system.js status/system: Add context to a11y label 2022-09-14 22:07:06 +00:00
thunderbolt.js cleanup: Minimize deep_unpack() usage 2022-08-10 10:29:24 +00:00
volume.js status/volume: Include origin in device names 2022-10-03 18:37:07 +02:00