Closed Bug 1764535 Opened 2 years ago Closed 2 years ago

[New users] The “about:welcome” page is broken on Firefox AR locale if the Central Kurdish OS language is set

Categories

(Firefox :: Messaging System, defect, P1)

Desktop
Unspecified
defect

Tracking

()

VERIFIED FIXED
101 Branch
Iteration:
101.1 - April 4 - April 15
Tracking Status
firefox-esr91 --- unaffected
firefox99 --- wontfix
firefox100 + verified
firefox101 --- verified

People

(Reporter: srosu, Assigned: Mardak)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(2 files)

[Affected versions]:

  • Firefox Beta 100.0b5 (Build ID: 20220412185818)

[Affected Platforms]:

  • Windows 10 x64
  • Ubuntu 20.04 x64

[Prerequisites]:

  • Have the latest Firefox Beta 100 browser, ar locale installed/extracted.
  • Have the OS language set to Central Kurdish.
  • Have a new Firefox profile.

[Steps to reproduce]:

  1. Open the Firefox browser with the profile from prerequisites.
  2. Observe the “about:welcome” page.

[Expected result]:

  • The “about:welcome” page is correctly displayed.

[Actual result]:

  • The “about:welcome” page is broken and contains only the background image.

[Notes]:

  • This issue is not reproducible on Nightly builds.
  • I didn’t manage to reproduce this issue on macOS.
  • This issue is still reproducible after restarting the browser.
  • Attached is a screen recording of the issue: link.

Any idea what could be causing comment 0? I can't seem to reproduce the issue as per attached setting OS language to central kurdish and using Firefox ar 100b5 build. The screen recording shows an about:welcome without text and console with error:

Error: Expected a LangPack to install. LangPackMatcher.jsm:110:11

But maybe that's not totally relevant as the page seems to render okay for me (ar doesn't have many onboarding strings translated).

Flags: needinfo?(gtatum)

I don't have the full context on the testing environment, but ckb is a nightly only locale (together with another bunch).

Such locale wouldn't be available in Beta/Release/ESR, only in Nightly.

Oh actually, seems like my screenshot wasn't a totally brand new profile as it seems to have switched to he at some point. A new profile does start showing "100 Thank Yous" in rtl then disappears, so it seems like there's some language negotiation asyncness that might be causing some issue?

gregtatum, setting a breakpoint for what useLanguageSwitcher returns:
https://searchfox.org/mozilla-central/rev/d34f9713ae128a3138c2b70d8041a535f1049d19/browser/components/newtab/content-src/aboutwelcome/components/LanguageSwitcher.jsx#123-126

null
before-installation
3 screens

{appDisplayName: null, others null}
before-installation
3 screens

{appDisplayName: null, others null}
installing
3 screens

{appDisplayName: null, others null}
installation-error
3 screens

[Tracking Requested - why for this release]: gregtatum, could you confirm if this could potentially break for any new user that might have an OS language different from the Firefox locale?

Assignee: nobody → edilee
Iteration: --- → 101.2 - April 18 - April 29
Priority: -- → P1
Regressed by: 1755519

Skipping past the react stuff and just directly doing browser console:

> data = ChromeUtils.import("resource://gre/modules/LangPackMatcher.jsm").LangPackMatcher.getAppAndSystemLocaleInfo()

Object {​
appLocale: Object { baseName: "ar", language: "ar", region: undefined }
appLocaleRaw: "ar"
canLiveReload: false
displayNames: Object { systemLanguage: "الكرديّة (Arab)", appLanguage: "العربية" }
matchType: "language-mismatch"
systemLocale: Object { baseName: "ku-Arab", language: "ku", region: undefined }
systemLocaleRaw: "ku-Arab"
​}

> await ChromeUtils.import("resource://gre/modules/LangPackMatcher.jsm").LangPackMatcher.negotiateLangPackForLanguageMismatch(data)

Object { langPack: null, langPackDisplayName: null }

I'm not entirely sure when "language-mismatch" also results in a null negotiated langpack… I'm guessing it's because there's a mismatch and Firefox knows there's no available langpack?

Set release status flags based on info from the regressing bug 1755519

The behavior was behind a pref that was flipped by default on in 100 with bug 62174, so most users on 99 won't run into the issue.

The condition for the failure requires differing ltr/rtl directions of Firefox and OS languages as well as not having a negotiated lang pack, which might be limited to ckb if Firefox is ltr and if rtl then various locales, e.g., ku, that there's no Firefox langpack. I'm not sure how large that population would be, but the new user experience of getting a large non-functional screen is not great, so probably still wants 100 uplift.

So with an en-US build, the bug should be triggered by setting the following then opening about:welcome:

  • intl.multilingual.aboutWelcome.systemLocaleOverride = ckb
  • intl.multilingual.aboutWelcome.languageMismatchEnabled = true

Or the other way around with a rtl build (ar, ckb, fa, he, ur):

  • intl.multilingual.aboutWelcome.systemLocaleOverride = ku (or any locale that Firefox doesn't know about, e.g., aa, or unknown ones, e.g., zz)
  • intl.multilingual.aboutWelcome.languageMismatchEnabled = true
Flags: needinfo?(gtatum)
Iteration: 101.2 - April 18 - April 29 → 101.1 - April 4 - April 15
Keywords: regression
Pushed by elee@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f88eb6ce6cfb
The “about:welcome” page is broken on Firefox AR locale if the Central Kurdish OS language is set r=gregtatum
Regressions: 1764681

Maybe this isn't common enough to uplift? I believe looking at the Firefox release locales, 99.98% of OS locale usage is covered.

Here's some more common locales that I don't think Firefox handles:
und Unknown
lb Luxembourgish
mn Mongolian
am Amharic
fo Faroese
ml Malayalam
fil Filipino
mi Maori
aa Afar
gsw Alsatian
as Assamese
prs Dari
ang Old English
haw Hawaiian
sw Kiswahili
ku Kurdish
tt Tatar
ky Kyrgyz
or Oriya
cv Chuvash

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 101 Branch

Could you verify if it's broken on a previous nightly if you set intl.multilingual.aboutWelcome.languageMismatchEnabled? I also seem to be able to reproduce the issue on macOS setting the OS language to "کوردیی ناوەندی Kurdish, Sorani" and running en-US Firefox.

Flags: needinfo?(srosu)

I also managed to reproduce this issue using Firefox Nightly 101.0a1 (Build ID: 20220413215253) ar locale and Central Kurdish OS language.
Also, I can confirm that I’m reproducing this issue on macOS 11.6 using Firefox Beta 100.0b5 en-US build and "کوردیی ناوەندی Kurdish, Sorani" OS language, but I’m not reproducing it using Firefox Beta ar locale.

Flags: needinfo?(srosu)
Has Regression Range: --- → yes
Has Regression Range: yes → ---
Has Regression Range: --- → yes

Nightly 101 build 20220414092955 should have this fixed (comment 13)

Comment on attachment 9272183 [details]
Bug 1764535 - The “about:welcome” page is broken on Firefox AR locale if the Central Kurdish OS language is set r?gregtatum

Beta/Release Uplift Approval Request

  • User impact if declined: New users installing Firefox 100 will only see the background image on about:welcome. This should only affect a small percentage of users who have Firefox locale that differs from the OS locale where the text direction differs and Firefox can't find a langpack, e.g., Central Kurdish, Luxembourgish, Mongolian.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: See comment 0, comment 10
  • List of other uplifts needed: none
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Small logic change to check if a screen exists before trying to remove.
  • String changes made/needed: none
Attachment #9272183 - Flags: approval-mozilla-beta?
Flags: qe-verify+
QA Whiteboard: [qa-triaged]

I‘ve verified this issue using the latest Firefox Nightly 101.0a1 ar/en-US build (Build ID: 20220414214512) on Windows 10 x64, macOS 11.6, and Ubuntu 20.04.

  • The “about:welcome” page is correctly loaded on Firefox ar/en-US locale if the Central Kurdish/ "کوردیی ناوەندی Kurdish, Sorani" OS language is set.
Status: RESOLVED → VERIFIED

:mardak any concerns with the failures in the regressing bug 1764681 before we decide to uplift this?

Flags: needinfo?(edilee)

This should still be good to uplift.

That tier 2 test-verify failure started failing that way with bug 1762297 https://hg.mozilla.org/mozilla-central/rev/8b9431c3a1bf77e0f854d785715051540910179d But it probably actually started failing (with a different message "Language selection declined") since the initial landing bug 1755519.

It looks like it's a testing-specific failure of how the test is written and not of the actual functionality.

Flags: needinfo?(edilee)
No longer regressions: 1764681

Comment on attachment 9272183 [details]
Bug 1764535 - The “about:welcome” page is broken on Firefox AR locale if the Central Kurdish OS language is set r?gregtatum

Approved for 100.0b7

Attachment #9272183 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

I‘ve verified this issue using Firefox Beta 100.0b7 (Build ID: 20220417185951) on Windows 10 x64, macOS 11.6, and Ubuntu 20.04.

  • The “about:welcome” page is correctly loaded on Firefox ar/en-US locale if the Central Kurdish/ "کوردیی ناوەندی Kurdish, Sorani" OS language is set.
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: