Closed Bug 1516799 Opened 5 years ago Closed 5 years ago

About:support is broken on android

Categories

(Firefox for Android Graveyard :: General, defect, P1)

Firefox 66
All
Android
defect

Tracking

(firefox64 unaffected, firefox65 unaffected, firefox66+ verified)

VERIFIED FIXED
Firefox 66
Tracking Status
firefox64 --- unaffected
firefox65 --- unaffected
firefox66 + verified

People

(Reporter: csheany, Assigned: Gijs)

References

Details

(Keywords: regression)

Attachments

(2 files)

User Agent: Mozilla/5.0 (Android 7.1.1; Tablet; rv:66.0) Gecko/66.0 Firefox/66.0

Steps to reproduce:

1. Open about:support


Actual results:

Elements are missing


Expected results:

To be determined
Blocks: 1507595
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(jaws)
Keywords: regression
OS: Unspecified → Android
Hardware: Unspecified → All
I thought it could be an issue with missing fallback to English, but it happens also in Italian, where I've already done the migration (and it works correctly on Desktop).

I've looked again at
https://hg.mozilla.org/mozilla-central/rev/c68ba2c62949

And I can't spot any glaring issue. 

But in my build, about:about is also not localized (it's in English, no strings missing), so there might be a larger problem with FTL and mobile builds.
I'm completely lost, since I don't know much about the build process or l10n registry.

en-US files:
resource:///localization/en-US/toolkit/en-US/toolkit has 4 folders, the /about folder has 10 files (including aboutSupport.ftl). So we should at least fall back, unless we're looking in a different path.

resource:///localization/it/toolkit/ has only one file (aboutAbout.ftl).

The structure of resource:///localization/ is also completely different from what I see on desktop.
Can't figure out how to do a local build in a descent amount of time, but yes, the apk contents are puzzling.
I've double checked Beta and Release, and I see the same unlocalized about:about and resource:/// structure, so it's not a regression (or, at least, not recent).
Chenxia, do you know about packaging for Android builds?
Flags: needinfo?(jaws) → needinfo?(liuche)
So to be clear, what's broken here? My en-US beta build has working strings on about:about, so it seems to me fluent is not completely broken. Is non-en-US broken? Something else?
Flags: needinfo?(francesco.lodolo)
When I visit "resource:///localization/en-US/toolkit/en-US/toolkit" on my Nightly Android build, I get a "file not found" error.

However, "resource:///localization/en-US/toolkit/" shows the four folders that comment #3 is referring to. Inside of the "about" folder there is an "aboutSupport.ftl" file.
(In reply to :Gijs (he/him) from comment #7)
> So to be clear, what's broken here? My en-US beta build has working strings
> on about:about, so it seems to me fluent is not completely broken. Is
> non-en-US broken? Something else?

* Build: we're not packaging all localized files. In the locale path there's only one file (aboutAbout.ftl), and it's in the wrong path as far as I can tell (it shouldn't be in the root). No trace of aboutSupport.ftl
* about:support it's not even loading en-US strings as fallback (like it happens for about:about). Not sure if there's something in the code causing that.

(In reply to (away Dec 24-26, Dec 31-Jan 1) Jared Wein [:jaws] (Regression Engineering Owner for 65) (please needinfo? me) from comment #8)
> When I visit "resource:///localization/en-US/toolkit/en-US/toolkit" on my
> Nightly Android build, I get a "file not found" error.

From my tests yesterday, you need the trailing slash.
Flags: needinfo?(francesco.lodolo)
(In reply to Francesco Lodolo [:flod] from comment #9)
> * Build: we're not packaging all localized files. In the locale path there's
> only one file (aboutAbout.ftl), and it's in the wrong path as far as I can
> tell (it shouldn't be in the root). No trace of aboutSupport.ftl

Correction: in Today's build from Play Store, aboutSupport.ftl is packaged together with aboutAbout.ftl
Trying also to NI zibi, in case he has ideas on what's going on.
Flags: needinfo?(gandalf)
The reason this doesn't work is because we reference brand.ftl which doesn't exist in Android:

```
+    <link rel="localization" href="branding/brand.ftl"/>
+    <link rel="localization" href="toolkit/about/aboutSupport.ftl"/>
```

aboutSupport.ftl gets properly loaded, but `branding/brand.ftl` only exists on desktop and gets packaged into browser's `omni.ja` (and in result FileSource).

Since Fennec only has a single omni.ja, I'm not sure how to approach it - the easiest way would be to ignore the fact that the GRE omni.ja is supposed to be app-independent, and just package https://searchfox.org/mozilla-central/source/mobile/android/branding/*/locales/en-US/brand.dtd into it just like we do for browser's brand.ftl:
https://searchfox.org/mozilla-central/source/browser/branding/official/locales/jar.mn
https://searchfox.org/mozilla-central/source/mobile/android/branding/official/locales/jar.mn
Flags: needinfo?(gandalf) → needinfo?(l10n)
(In reply to Zibi Braniecki [:gandalf][:zibi] from comment #14)
> The reason this doesn't work is because we reference brand.ftl which doesn't
> exist in Android:
> 
> ```
> +    <link rel="localization" href="branding/brand.ftl"/>
> +    <link rel="localization" href="toolkit/about/aboutSupport.ftl"/>
> ```
> 
> aboutSupport.ftl gets properly loaded, but `branding/brand.ftl` only exists
> on desktop and gets packaged into browser's `omni.ja` (and in result
> FileSource).
> 
> Since Fennec only has a single omni.ja, I'm not sure how to approach it -
> the easiest way would be to ignore the fact that the GRE omni.ja is supposed
> to be app-independent, and just package
> https://searchfox.org/mozilla-central/source/mobile/android/branding/*/
> locales/en-US/brand.dtd into it just like we do for browser's brand.ftl:
> https://searchfox.org/mozilla-central/source/browser/branding/official/
> locales/jar.mn
> https://searchfox.org/mozilla-central/source/mobile/android/branding/
> official/locales/jar.mn

FWIW, this doesn't seem to be sufficient. We also need to add a FileSource that actually maps to this part of omni.ja, which feels pretty yucky. From what I saw of L10nRegistry internals when looking at this, it seems there may be runtime overheads to this because we attempt to find any ftl file in any registered file source, which will involve lots of poking at bits of omni.ja that have nothing except the branding files. Presumably there is a better solution to this, but none was pointed out here...

Perhaps the alternative would be to find a way to package the branding file in the expected part of the existing "toolkit" FileSource.
Does this definitely affect beta and release?
Flags: qe-verify+
Priority: -- → P1
(In reply to Liz Henry (:lizzard) (PTO Dec 28) from comment #17)
> Does this definitely affect beta and release?

No, it only affects Nightly and mobile (page works fine on desktop).
Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
Attachment #9033956 - Attachment description: Bug 1516799 - strawman patch to add fluent branding on android, r?zbraniecki!,Pike! → Bug 1516799 - add fluent branding on fennec, r?zbraniecki!,Pike!
Summary: About:support is broken → About:support is broken on android
Pushed by gijskruitbosch@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/6c2796200711
add fluent branding on fennec, r=zbraniecki
Gijs, thanks for taking a stab at this, the landing looks OK. Let's see what the landing on central brings on the next nightly.

Clearing the pending needinfos.
Flags: needinfo?(liuche)
Flags: needinfo?(l10n)
https://hg.mozilla.org/mozilla-central/rev/6c2796200711
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 66
Latest Nightly (20190104093221) from Play Store has text, but it's in English. Filed bug 1517919 for that part.
Status: RESOLVED → VERIFIED
Verified as fixed on the latest version of Nightly 66.0a1 (2019-01-06) with Nexus 6P (Android 8.1.0). Due to that and the comment 23, I'll remove the qe-verify flag, thanks.
Flags: qe-verify+
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: