Closed Bug 1137021 Opened 9 years ago Closed 9 years ago

[RTL][Input Management] Special characters appear far left in fields designed to take URLs and Email addresses, in Rocketbar, Messaging, Email, Contacts, and Calendar apps.

Categories

(Firefox OS Graveyard :: Gaia::System::Browser Chrome, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:2.2+, b2g-v2.2 verified, b2g-master verified)

VERIFIED FIXED
2.2 S8 (20mar)
blocking-b2g 2.2+
Tracking Status
b2g-v2.2 --- verified
b2g-master --- verified

People

(Reporter: ychung, Assigned: tedders1)

References

()

Details

(Whiteboard: [3.0-Daily-Testing] [systemsfe])

Attachments

(5 files, 1 obsolete file)

Description:
When the user enters a special character (e.g. ".", "/", ":", "@"), it appear at the far left side first before the user enters any other non-special character. For example, when the user types in an email address, instead of "abc@" it displays "@abc". When the user enters a URL, too, the slash first appears at the beginning of the URL instead of the far right side, until a non-special character is entered.

This issue seems to occur in multiple input fields, such as the Email field on Add contact screen in Contacts, but NOT in the note field. In Calendar, this error does not occur when adding a new event, but DOES occur when the user tries to add a Yahoo or a Caldav account.

Repro Steps:
1) Update a Flame to 20150225010244.
2) Set the device language in Arabic under Settings > Language.
3) Tap the rocket bar, and start typing a URL, such as "https://www.mozilla.org".

Actual:
The special character appears on the far left side of the text.

Expected:
The special character appears on the far right as the user types in the field.

Environmental Variables:
Device: Flame 3.0 (KK, 319mb, full flash)
Build ID: 20150225010244
Gaia: f6bfd854fe4746f21bc006eac145365e85f98808
Gecko: 0a8b3b67715a
Gonk: e7c90613521145db090dd24147afd5ceb5703190
Version: 39.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0

Repro frequency: 10/10
See attached: screenshot, logcat, video clip
http://youtu.be/f2DG8ObiBFA
This issue also reproduces on Flame 2.2.

Result: Special characters appear at the beginning in multiple areas when the user enters.

Device: Flame 2.2 (KK, 319mb, full flash)
Build ID: 20150225002505
Gaia: ca64f2fe145909f31af266b1730874051ba76c78
Gecko: 16804008c29f
Gonk: e7c90613521145db090dd24147afd5ceb5703190
Version: 37.0 (2.2)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
QA Whiteboard: [QAnalyst-Triage?][rtl-impact]
Flags: needinfo?(ktucker)
Attached image SlashInURL.png
This seems like pretty bad behavior so nominating this 2.2?
blocking-b2g: --- → 2.2?
QA Whiteboard: [QAnalyst-Triage?][rtl-impact] → [QAnalyst-Triage+][rtl-impact]
Flags: needinfo?(ktucker)
Adding P1 since it's not blocking yet, in case this can help it get more immediate attention. thanks
(also, adding Kaze to get this on his radar)
Priority: -- → P1
Triage: This is not a bug but a behavior of Unicode Bidirectional Algorithm. 

The behavior is quirky but there is nothing to fix here unless we want to argue we don't follow that behavior. REOPEN if disagree.
Status: NEW → RESOLVED
blocking-b2g: 2.2? → ---
Closed: 9 years ago
Resolution: --- → WONTFIX
Johnny, can you shed some light on the BDA issues we're seeing here? This doesn't happen in all URLs.
Flags: needinfo?(jst)
Simon Montagu is probably the best person to help clarify this stuff.
Flags: needinfo?(jst) → needinfo?(smontagu)
Comment 5 is correct as far as it goes -- it's normal when entering left-to-right text in a right-to-left field or vice versa that neutral characters like "/" or "." etc. jump to the wrong side of the text when entered and then jump back to the expected position after entering another directional character.

However I don't agree that there's no way to fix it -- there are solutions which will work some or most of the time. 

If an input field is always going to be used for URLs you can give it "direction: ltr" in CSS (we did this for desktop Firefox in bug 157607).

For a field like the rocket bar that will be used sometimes for URLs and sometimes for search test I suggest using "unicode-bidi: plaintext" for automatic directional depending on the first strong directional character entered -- in fact I would recommend making that the default for all input fields (FTR, that or something equivalent is the behaviour on my Android phone with English Arabic and Hebrew installed)
Flags: needinfo?(smontagu)
Reopening per comment 8. Re-nominating as well so this goes through general 2.2 triage decision.
Please note this looks really bad and in this particular case, it is a screen often used. thanks!
Status: RESOLVED → REOPENED
blocking-b2g: --- → 2.2?
Resolution: WONTFIX → ---
Based on Comment 8 , this work belongs to system fe
Component: Gaia::System::Input Mgmt → Gaia::Browser
Whiteboard: [3.0-Daily-Testing] → [3.0-Daily-Testing] [systemsfe]
Blocking as team agrees this poor experience is really bad
blocking-b2g: 2.2? → 2.2+
Assignee: nobody → tclancy
Target Milestone: --- → 2.2 S8 (20mar)
Attached file Bug 1137021 fix (obsolete) —
Attachment #8577164 - Flags: review?(kgrandon)
Attachment #8577164 - Attachment is obsolete: true
Attachment #8577164 - Flags: review?(kgrandon)
Attachment #8576868 - Flags: review?(kgrandon)
Blocks: 1137715
Comment on attachment 8576868 [details] [review]
[gaia] tedders1:bug-1137021-fix > mozilla-b2g:master

This attribute was just added by :gmarty in bug 1137715. I'd like to go ahead and redirect/delegate the review to him to make sure that he is aware of the change. Thanks!
Attachment #8576868 - Flags: review?(kgrandon) → review?(gmarty)
Test case has been added in moztrap:
https://moztrap.mozilla.org/manage/case/15445/
Flags: in-moztrap+
Comment on attachment 8576868 [details] [review]
[gaia] tedders1:bug-1137021-fix > mozilla-b2g:master

Thanks Kevin.
Every day that passes makes me realise how hard is RTL!
Attachment #8576868 - Flags: review?(gmarty) → review+
Keywords: checkin-needed
Autolander could not locate a review from a user within the suggested reviewer list. Either the patch author or the reviewer should be in the suggested reviewer list.
Kevin, I think I need you to r+ this too so that Autolander is happy.
Flags: needinfo?(kgrandon)
Comment on attachment 8576868 [details] [review]
[gaia] tedders1:bug-1137021-fix > mozilla-b2g:master

R+ stamping this based on Gmarty's review. Thanks!
Flags: needinfo?(kgrandon)
Attachment #8576868 - Flags: review+
Component: Gaia::Browser → Gaia::System::Browser Chrome
Keywords: checkin-needed
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
Please request Gaia v2.2 on this when you get a chance.
Flags: needinfo?(tclancy)
Issue still reproduces in 3.0 on Flame

Special characters appear to right of cursor when typing in text fields with an English keyboard and the language set to Arabic. Tested this with web addresses and email addresses as well as random combinations of characters (e.g. http://www.abc.com, abc@def.com, r;a,n!d&o(m), etc.) in Rocketbar, Email, Messages, Contacts, and Calendar (new event and adding Yahoo account.)

In email body field the issue still occurs, if user types "http:" the text will appear as ":http". This only occurs in the body field when composing a new message, all other fields (i.e. "to:", "cc:", "bcc:", and "subject:") show the string with the special character on the right.
	
This issue does not occur in the body field while composing an SMS however. Leading to an odd discrepancy between email body behavior and messages body behavior.
	
Device: Flame 3.0
Build ID: 20150317073344
Gaia: 738987bd80b0ddb4ccf853855388c2627e19dcc1
Gecko: 008b3f65a7e0
Gonk: b83fc73de7b64594cd74b33e498bf08332b5d87b
Version: 39.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0
QA Whiteboard: [QAnalyst-Triage+][rtl-impact] → [QAnalyst-Triage?][rtl-impact][failed-verification]
Flags: needinfo?(ktucker)
Hi Brogan,

Is the email body field the only place you see this still? Or are there any other places?

The email body field wasn't mentioned in the initial bug report, so I didn't check it.
Flags: needinfo?(bzumwalt)
I was unable to get the issue to reproduce in any other area except for the email body.

Areas I checked:

- Rocketbar
- Email log-in page fields
- Email composition fields (to, cc, bcc, subject, and body)
- Messages fields (recipient and body)
- Contacts (edit contact page fields)
- Calendar (all fields on create event page and add caldav account page)
Flags: needinfo?(bzumwalt)
QA Whiteboard: [QAnalyst-Triage?][rtl-impact][failed-verification] → [QAnalyst-Triage+][rtl-impact][failed-verification]
Flags: needinfo?(ktucker)
Attached video video.MP4
This issue has been verified successfully on Flame 3.0, when input a website in rocket bar, the special character appears on the far right as the user types in the field.
See attachment:video.MP4
Rate:0/5

Flame 3.0 build: pass
Build ID               20150317073344
Gaia Revision          738987bd80b0ddb4ccf853855388c2627e19dcc1
Gaia Date              2015-03-17 02:27:51
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/008b3f65a7e0
Gecko Version          39.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150317.111450
Firmware Date          Tue Mar 17 11:15:00 EDT 2015
Bootloader             L1TC000118D0
QA Whiteboard: [QAnalyst-Triage+][rtl-impact][failed-verification] → [QAnalyst-Triage+][rtl-impact][failed-verification][MGSEI-Triage+]
We can't fix all places in one bug. In some places this is expected, in some other places this is wrong and we need to accordingly add some markup and/or CSS.

Therefore please file a separate bug for the other issues you're seeing. It would make sense to change this bug's title to show what has been fixed here too.
I agree that the email body should be a separate Bugzilla ticket.

For both technical reasons and from a user perspective, the email body is a slightly different issue from the others.

Also, it wasn't listed in the original description for this bug.

Brogan, please file a different bug for the email body, and CC me so I can take it.
Flags: needinfo?(bzumwalt)
Summary: [RTL][Input Management] Special characters appear far left in multiple areas → [RTL][Input Management] Special characters appear far left in fields designed to take URLs and Email addresses, in Rocketbar, Messaging, Email, Contacts, and Calendar apps.
Comment on attachment 8576868 [details] [review]
[gaia] tedders1:bug-1137021-fix > mozilla-b2g:master

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #):
RTL support (Bug 1064539)

[User impact] if declined:
Possibly confusing layout of characters and cursor movement while typing URLs and email addresses, and while typing search terms in Rocketbar.

[Testing completed]:
Green gaia-try run: https://treeherder.mozilla.org/#/jobs?repo=gaia-try&revision=14fa9c106a9b

[Risk to taking this patch] (and alternatives if risky):
None foreseen.

[String changes made]:
None
Flags: needinfo?(tclancy)
Attachment #8576868 - Flags: approval-gaia-v2.2?(fabrice)
Attachment #8576868 - Flags: approval-gaia-v2.2?(fabrice) → approval-gaia-v2.2+
See Also: → 1144814
Created bug 1144814
QA Whiteboard: [QAnalyst-Triage+][rtl-impact][failed-verification][MGSEI-Triage+] → [QAnalyst-Triage?][rtl-impact][failed-verification][MGSEI-Triage+]
Flags: needinfo?(bzumwalt)
Attached video verify_video.MP4
This issue has been verified successfully on Flame 2.2, the special character appears on the far right as the user types in the field in Rocketbar, Message, Email, Contacts, and Calendar apps.
See attachment:verify_video.MP4
Rate:0/5

Flame 2.2 build: pass
Build ID               20150322002503
Gaia Revision          44c62060581fde8de1e12e94cf55e9673b401a47
Gaia Date              2015-03-20 19:05:17
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/e6140a32902a
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150322.043216
Firmware Date          Sun Mar 22 04:32:27 EDT 2015
Bootloader             L1TC000118D0
Status: RESOLVED → VERIFIED
Keywords: verifyme
QA Whiteboard: [QAnalyst-Triage?][rtl-impact][failed-verification][MGSEI-Triage+] → [QAnalyst-Triage?][rtl-impact][MGSEI-Triage+]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: