Firefox for Android product announcements are delivered in the wrong language to end-users

RESOLVED FIXED

Status

--
major
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: aaronmt, Unassigned)

Tracking

unspecified
ARM
Android
Points:
---
Bug Flags:
in-testsuite ?

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
The latest round of product announcements (08/27+) fired off to older Firefox Beta users are currently being delivered to users in the wrong language.

I just installed Firefox Beta 23.0 Beta 6, a couple minutes later I received a message in an entirely different language.

Catlee reported a user receiving a message in Japanese. I received mine in German.

Suggestion: Expire the latest product announcement until this is fixed.
(Reporter)

Comment 1

5 years ago
Created attachment 796832 [details]
Firefox Beta - Announcement in DE (System - English)
(Reporter)

Updated

5 years ago
Severity: normal → major
(Reporter)

Updated

5 years ago
Flags: in-testsuite?
Gonna shuffle this over the wall until/unless we find evidence that the client is sending the wrong locale string...
Component: Product Announcements → Server: Product Announcements Campaign Manager
Product: Android Background Services → Mozilla Services
(Reporter)

Comment 3

5 years ago
https://campaigns.services.mozilla.com/announce/1/android/beta/23.0/armeabi-v7a

{"announcements": [{"url": "https://campaigns.services.mozilla.com/redirect/1/1vek1MmOS", "text": "Jetzt updaten f\u00fcr einen verbesserten Reader", "id": 137761283100, "title": "Neue Firefox Funktionen"}]}
Note that the client uses

      return Locale.getDefault();

which is a standard Android/Java call:

---
Returns the user's preferred locale. This may have been overridden for this process with setDefault.

Since the user's locale changes dynamically, avoid caching this value. Instead, use this method to look it up for each use.
---

The only way this would screw up is if some other piece of code is calling Locale.setDefault. We only do that in Firefox here:

        Locale locale = Locale.getDefault();
...
        if (locale.toString().equalsIgnoreCase("zh_hk")) {
            locale = Locale.TRADITIONAL_CHINESE;
            Locale.setDefault(locale);
        }
...
        Locale.setDefault(locale);


which should be completely fine.
(In reply to Aaron Train [:aaronmt] from comment #3)
> https://campaigns.services.mozilla.com/announce/1/android/beta/23.0/armeabi-
> v7a
> 
> {"announcements": [{"url":
> "https://campaigns.services.mozilla.com/redirect/1/1vek1MmOS", "text":
> "Jetzt updaten f\u00fcr einen verbesserten Reader", "id": 137761283100,
> "title": "Neue Firefox Funktionen"}]}

Yeah, definitely server-side, then. My Accept-Language:

  en-US,en;q=0.5

and I got the same output.
perhaps the server is caching responses for other languages?
Hi, this is probably related to server side caching. When we push the latest version of CM it'd actually be fixed. 

To add the updated statistics gathering we don't cache HTTP 200 responses. Only the 204 responses which generally has a blank body anyways. 

I'm going to be spinning up a staging system for QA and if they approve that we'll push it live.
(In reply to Ben Wong [:mostlygeek] from comment #7)
> Hi, this is probably related to server side caching. When we push the latest
> version of CM it'd actually be fixed. 

Perhaps you need to add

  Vary: accept-language

to the response headers? I don't see that in the responses CM is serving.
(Reporter)

Updated

5 years ago
Duplicate of this bug: 910709

Comment 11

5 years ago
FYI, I'm also seeing this problem. I've gotten messages in English, Spanish and what I think is Japanese so far. (Using Firefox Beta.)
I pushed out a new version of Campaign Manager this morning as it seems it was an emergency to get this out. It appears to be working fine now. The stats are going up for the different language versions so it seems that different languages are getting served correctly.
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
tracking-fennec: ? → ---
(In reply to Ben Wong [:mostlygeek] from comment #12)
> I pushed out a new version of Campaign Manager this morning as it seems it
> was an emergency to get this out. It appears to be working fine now. The
> stats are going up for the different language versions so it seems that
> different languages are getting served correctly.

I got a notification this morning at ~9:25 am PT on my samsung Galaxy s3, which was definitely non-English .On-tapping the notification it took me to this url : https://play.google.com/store/apps/details?id=org.mozilla.firefox_beta .

Happy to file a new Bug if you want me to, let me know.
:bajaj new servers went live at about 10:23am PDT.

Comment 15

5 years ago
Hi All,

I wanted to confirm that I am now on this bug. Also I began blasting today to V22 and older on the new servers. 

Note that the campaign manager (new servers) now doesn't save old copy making it more laborsome to blast in different languages to multiple versions. If we can bring back that feature, that would be great. 

JM
You need to log in before you can comment on or make changes to this bug.