choosing a keyboard auto completed word should append a space

RESOLVED FIXED

Status

Firefox OS
Gaia::Keyboard
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: emorley, Assigned: ralin)

Tracking

({feature, foxfood})

unspecified
feature, foxfood

Firefox Tracking Flags

(b2g-v2.2 affected, b2g-master verified)

Details

(Whiteboard: [bzlite])

Attachments

(5 attachments)

User-Agent: Mozilla/5.0 (Mobile; rv:41.0) Gecko/41.0 Firefox/41.0

1) in a text field type "th"
2) in the auto complete word suggestions list choose the suggestion of "the"
3) type "foo"

expected:
text field contains the string "the foo"

actual:
text field contains the string "thefoo", since no space character was appended after the auto-conplete suggestion was picked. 

This is a noticable ux regression for anyone coming from the stock android keyboard or swype/swiftkey
CC'ing Candice since she mentioned the same bug yesterday
Keywords: foxfood
Duplicate of this bug: 1177673
Duplicate of this bug: 1178580
Component: Gaia::Feedback → Gaia::Keyboard
Keywords: dogfood
QA Whiteboard: [foxfood-triage]
Keywords: qawanted
Created attachment 8631992 [details]
Flame_v2.2.3gp

This issue can be repro on latest Flame v2.2 & master and Nexus v2.2 & master by the STR in Comment 0.

Results:
Text field contains the string "thefoo", instead of "the foo".

Attachment: Flame_v2.2.3gp & logcat0226.txt
Rate: 7/7

Device: Flame v2.2 (affected)
Build ID               20150709162504
Gaia Revision          84d0c76370dcd3d25813b00de55194730884355b
Gaia Date              2015-07-09 13:09:14
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/e002005dc994
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150709.202124
Firmware Date          Thu Jul  9 20:21:35 EDT 2015
Bootloader             L1TC000118D0

Device: Flame master (affected)
Build ID               20150709160207
Gaia Revision          bdddfe1ebb796e2bc1c048d5c4e0f97f3d06f98b
Gaia Date              2015-07-09 11:58:52
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/adfdc7f29ba7
Gecko Version          42.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150709.193215
Firmware Date          Thu Jul  9 19:32:27 EDT 2015
Bootloader             L1TC000118D0

Device: Nexus5 v2.2 (affected)
Build ID               20150709162504
Gaia Revision          84d0c76370dcd3d25813b00de55194730884355b
Gaia Date              2015-07-09 13:09:14
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/e002005dc994
Gecko Version          37.0
Device Name            hammerhead
Firmware(Release)      5.1
Firmware(Incremental)  eng.cltbld.20150709.205934
Firmware Date          Thu Jul  9 20:59:53 EDT 2015
Bootloader             HHZ12f

Device: Nexus5 master (affected)
Build ID               20150709160207
Gaia Revision          bdddfe1ebb796e2bc1c048d5c4e0f97f3d06f98b
Gaia Date              2015-07-09 11:58:52
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/adfdc7f29ba7
Gecko Version          42.0a1
Device Name            hammerhead
Firmware(Release)      5.1
Firmware(Incremental)  eng.cltbld.20150709.191337
Firmware Date          Thu Jul  9 19:13:55 EDT 2015
Bootloader             HHZ12f
Created attachment 8631993 [details]
logcat0226.txt
QA Whiteboard: [foxfood-triage] → [foxfood-triage][MGSEI-Triage+]
status-b2g-v2.2: --- → affected
status-b2g-master: --- → affected
Keywords: qawanted
Duplicate of this bug: 1187321
Hi Fred,
Can you help to dispatch this issue?
Flags: needinfo?(gasolin)

Comment 8

2 years ago
@harly please help forward the UX request to the right person.
Flags: needinfo?(gasolin) → needinfo?(hhsu)

Comment 9

2 years ago
Ni Tori, our UX designer for keyboard :)
Flags: needinfo?(hhsu) → needinfo?(tchen)
I thought we already implemented this, but Tori should say whether or not this is the correct behavior.
Keywords: feature
(In reply to Tim Guan-tin Chien [:timdream] (please needinfo) from comment #10)
> I thought we already implemented this, but Tori should say whether or not
> this is the correct behavior.

We only do so for punctuation ... that said, this feature can be easily done by changing this line

https://github.com/mozilla-b2g/gaia/blob/ddceb5a6ec7b8664ffd0d9147c213838d52e08d1/apps/keyboard/js/imes/latin/latin.js#L578

Ray, could you help? Please also go through all languages that use latin.js and make sure we don't do this for languages that don't separate words with space (maybe with a property on the layout file).
Assignee: nobody → ralin
Status: NEW → ASSIGNED
Flags: needinfo?(ralin)
(Assignee)

Comment 12

2 years ago
No problem, I'll take care of it. Thanks.
Flags: needinfo?(tchen)
Flags: needinfo?(ralin)
(Assignee)

Comment 13

2 years ago
Created attachment 8698770 [details]
KeyboardLayouts.xlsx

I sorted out the language layouts' data in our keyboard app. It seems that all latin related languages use space to separate words. Do we need to add new property on these files or just append a space after "newWord"?

Thanks,
Created attachment 8699311 [details] [review]
[gaia] raylin:1177658-autocomplete-append-space > mozilla-b2g:master
(Assignee)

Comment 15

2 years ago
Comment on attachment 8699311 [details] [review]
[gaia] raylin:1177658-autocomplete-append-space > mozilla-b2g:master

Hi,

After the discussion with UX, we chose the deliver the same experience as iOS does. That is, move caret forward immediately when suggestion is selected. 

I simply add a suffix after newWord in select function, then fix Gij behaviors. 

The considerations about suggestion:
1. backspace revert: can revert to correct word
2. disabled-auto-correction: removed because of suffix 
3. auto/fix punctuation: works fine

Thanks,
Attachment #8699311 - Flags: review?(timdream)
Comment on attachment 8699311 [details] [review]
[gaia] raylin:1177658-autocomplete-append-space > mozilla-b2g:master

Please remove the dead code and it's comment.
Attachment #8699311 - Flags: review?(timdream) → review+
(Assignee)

Comment 17

2 years ago
https://github.com/mozilla-b2g/gaia/commit/b1017d93e47399b208c991266e6d6f158c0904a9

further explain: 
Two-space: As suggestion appends space now, user won't able to tap two spaces in short time to place period. Instead, user just directly tap period, then auto-punctuation function will help to meet the same criteria.
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
Created attachment 8701713 [details]
Verified_master.3gp

This bug has been verified as "pass" on the latest build of Aries kk master & Flame KK master by the STR in comment 0.
Actual results: The text field contains the string "the foo".

See attachment: Verified_master.3gp
Reproduce rate: 0/10

Device: Flame KK master 512mb( Pass )
Build ID               20151223030206
Gaia Revision          94cc99aac11339e297da186ec7153ca4ae9ab8cd
Gaia Date              2015-12-23 06:07:52
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/35b211eaad1fa828064514c547057e4400e24459
Gecko Version          46.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20151223.075116
Firmware Date          Wed Dec 23 07:51:28 EST 2015
Firmware Version       v18D v4
Bootloader             L1TC000118D0

Device: Aries KK master ( Pass )
Build ID               20151223121756
Gaia Revision          94cc99aac11339e297da186ec7153ca4ae9ab8cd
Gaia Date              2015-12-23 06:07:52
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/35b211eaad1fa828064514c547057e4400e24459
Gecko Version          46.0a1
Device Name            aries
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.worker.20151223.113503
Firmware Date          Wed Dec 23 11:35:11 UTC 2015
Bootloader             s1
status-b2g-master: affected → verified
You need to log in before you can comment on or make changes to this bug.