Project

General

Profile

Bug #12547

Feature #5464: Revamp Greeter interface

Feature #8230: Greeter revamp: Phase 1

Selecting Language "English - x" results in the wrong keyboard layout for many values of x

Added by anonym over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Internationalization
Target version:
Start date:
05/16/2017
Due date:
% Done:

100%

Feature Branch:
bugfix/12547-wrong-language-to-keyboard
Type of work:
Code
Blueprint:
Starter:
Affected tool:
Greeter

Description

E.g. "English - Canada", "English - Hong Kong", "Enlish - Denmark" results in the keyboard layout "Cameroon Multilingual (qwerty)". It is quite similar to the normal English layouts, but differs on the rather important (English) key for single apostrophe (').


Related issues

Related to Tails - Bug #12638: Automatic language → keyboard selection is broken when selecting some languages Confirmed 06/04/2017

Associated revisions

Revision cbffba29 (diff)
Added by intrigeri over 2 years ago

Enable the bugfix-12547-wrong-language-to-keyboard APT overlay (refs: #12547).

Revision 77b67dad
Added by intrigeri over 2 years ago

Merge branch 'bugfix/12547-wrong-language-to-keyboard' into testing (Fix-committed: #12547).

History

#1 Updated by intrigeri over 2 years ago

  • Category set to Internationalization
  • Assignee set to alant
  • Target version changed from Tails_3.0~rc1 to Tails_3.0
  • Type of work changed from Research to Code

#2 Updated by intrigeri over 2 years ago

  • Parent task set to #8230

#3 Updated by alant over 2 years ago

  • Status changed from Confirmed to In Progress
  • Assignee changed from alant to intrigeri
  • % Done changed from 0 to 50
  • QA Check set to Ready for QA
  • Feature Branch set to bugfix/12547-wrong-language-to-keyboard

I implemented a new algorithm to select default layout for a given locale:

Try first the intersection between layouts matching language and country, then layouts matching language, then layouts matching country, then all layouts for language. Once the list of layouts is build, filter those with variant, then those not matching country then language.

If the language filtering approach fails, start again with a list of layouts matching country and filter them the same way. If there is still more than one match select an arbitrary layout matching the country.

If everything else fails fallback to us.

Please review!

#4 Updated by intrigeri over 2 years ago

  • % Done changed from 50 to 60

Code review passes, built + uploaded 1.0.0~rc2 to a topic branch in tails.git called the same as the one in greeter.git. Will now:

  • build + test an ISO manually
  • check that Jenkins doesn't spot any regression (although we don't exercise this code path much)
  • run directly affected and fragile automated tests (if any) manually

(Yeah, I'm growing more careful wrt. such changes a few days before our hard freeze.)

#5 Updated by intrigeri over 2 years ago

intrigeri wrote:

  • build + test an ISO manually

Looks good!

But since then Alan found a bug that affects some corner cases: selecting some languages (lang codes: ayc, bhb, brx, cmn, hak, hne, lij, lzh, mhr, nan, nhn, quz, sgs, shs, tcy, the, unm, wae, yue) confuses the algorithm, triggers an exception (invisibly to the user), so English (US) layout is picked by default, and then:

  • one can still choose their preferred keyboard layout by hand;
  • if one selects another language/region, then the previously set keyboard layout is not updated accordingly.

I don't think the resulting UX is problematic enough to make me review/merge/release/test yet another Greeter branch today, and I don't think it's a blocker for 3.0, so I'll file a dedicated ticket about this, and the fix might make its way in some 3.x release (or even 3.0 if time allows).

  • check that Jenkins doesn't spot any regression (although we don't exercise this code path much)

Waiting.

  • run directly affected and fragile automated tests (if any) manually

localization.feature passes.

#6 Updated by intrigeri over 2 years ago

  • Related to Bug #12638: Automatic language → keyboard selection is broken when selecting some languages added

#7 Updated by intrigeri over 2 years ago

  • Status changed from In Progress to Fix committed
  • % Done changed from 60 to 100

#8 Updated by intrigeri over 2 years ago

  • Assignee deleted (intrigeri)
  • QA Check changed from Ready for QA to Pass

#9 Updated by intrigeri over 2 years ago

  • Status changed from Fix committed to Resolved

Also available in: Atom PDF