keyboard layout flickers and hides on gmail

Bug #1377755 reported by Bill Filler on 2014-10-06
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Undecided
Unassigned
Oxide
High
Olivier Tilloy
1.2
High
Olivier Tilloy
ubuntu-keyboard
Fix Released
High
Michael Sheldon
ubuntu-keyboard (Ubuntu)
High
Unassigned
ubuntu-keyboard (Ubuntu RTM)
High
Unassigned

Bug Description

build 83 rtm-proposed on krillin

1) Run the gmail webapp and compose a new message
2) The "To:" field has focus and the keyboard is showing (url layout with @ and .com key)
3) Tap in "CC:" field

Expected results:
keyboard stays visible with same url layout

Actual results:
keyboard switches to normal layout, then switches to url layout, then disappears

4) Tap in the "Bcc:" field and no keyboard is shown, Tap back in To: or CC: field and no keyboard is shown
5) Tap in Subject field and keyboard shown in normal layout
6) Now when switch to to, cc, or bc it works, but normal layout shown first then changes to url layout

Expected Result:
- if new layout is same as existing layout it shouldnt' first switch back to default layout
- keyboard should not be disappearing

Related branches

Bill Filler (bfiller) wrote :

additionally, when the normal layout is shown, the word ribbon is shown and this disappears when it switches to url layout which makes the display flicker.

Changed in ubuntu-keyboard:
importance: Undecided → High
assignee: nobody → Michael Sheldon (michael-sheldon)
tags: added: rtm14
Olivier Tilloy (osomon) wrote :

I can reliably reproduce with a bare oxide WebView pointing to http://gmail.com (and with the user agent set to "Mozilla/5.0 (Linux; Ubuntu 14.04 like Android 4.4) AppleWebKit/537.36 Chromium/35.0.1870.2 Mobile Safari").

Changed in oxide:
status: New → Confirmed
Victor Tuson Palau (vtuson) wrote :

how can this not be critical?

Joe Odukoya (jodukoya) wrote :

This needs to be reclassified as Critical please.

Changed in ubuntu-keyboard:
importance: High → Critical
Olivier Tilloy (osomon) on 2014-10-07
Changed in oxide:
importance: Undecided → Critical
assignee: nobody → Olivier Tilloy (osomon)
Olivier Tilloy (osomon) wrote :

I instrumented oxide, and this is what I’m observing when switching the focus from the To: field to the Cc: field:

    OnTextInputStateChanged(): input type changes from EMAIL to NONE
    OnFocusedNodeChanged(): focus changes to non-editable node (probably the parent of both fields), OSK is requested to hide
    OnFocusedNodeChanged(): focus changes to an editable node (probably the Cc: field)
    OnTextInputStateChanged(): input type changes from NONE to EMAIL
    OnTextInputStateChanged(): OSK is requested to show

At this point the OSK has been requested to show, but it remains hidden, so it looks like it might be a bug in the OSK itself (if I tap again on the Cc: field, the OSK pops up, and I’m seeing no oxide state change).

Then if I give focus to the Bcc: field, the OSK reappears (contrary to the bug description), and here is the sequence of oxide events:

    OnTextInputStateChanged(): input type changes from EMAIL to NONE
    OnFocusedNodeChanged(): focus changes to another editable node (probably the Bcc: field)
    OnTextInputStateChanged(): input type changes from NONE to EMAIL
    OnTextInputStateChanged(): OSK is requested to show

The sequence of events in both cases looks correct.

Maybe we could try and make OnTextInputStateChanged() a bit more clever so as to not update the input method (and as a side effect the current layout) when the input type changes to NONE (as in this case either the OSK will be requested to hide, or the input type is going to change again).

David Barth (dbarth) wrote :

How can that be critical? The workaround is obvious: you re-click the field, and everything is back to normal. This is not a show stopper, it doesn't break the functionality of Gmail. This is UX polish.

.

Olivier Tilloy (osomon) on 2014-10-08
Changed in oxide:
status: Confirmed → In Progress
Olivier Tilloy (osomon) wrote :

Downgrading to "High" per David’s comment. This is not a crash, and there is an easy, reliable and obvious workaround.

Note that we have a fix for the keyboard disappearing (not for the layout flickering yet, the issue might lie in ubuntu-keyboard).

Changed in oxide:
importance: Critical → High
Changed in ubuntu-keyboard:
importance: Critical → High
Olivier Tilloy (osomon) wrote :

Regarding the flickering of the layouts: it seems that when requested to hide, the OSK queries the application for input hints (Qt::ImHints). At this point (when the first field has been unfocused, but the second one hasn’t received focus yet) the text input type has been reset, so oxide returns Qt::ImhNone, and as a consequence the layout is briefly reset to the default one.
Then the second field gets the focus, the OSK is requested to show again, and it queries the application for input hints, and oxide returns Qt::ImhEmailCharactersOnly.

It seems to me that we could avoid that by preventing the OSK from querying the application for input hints when it’s been requested to hide. What’s the point of changing the layout if the keyboard is going to hide anyway?

Changed in ubuntu-keyboard:
status: New → Confirmed
Olivier Tilloy (osomon) on 2014-10-09
Changed in oxide:
status: In Progress → Fix Released
Changed in oxide:
milestone: none → branch-1.3

I've created a fix for the keyboard that prevents it querying for IME hints when hiding, however oxide still briefly reports incorrect IME hints when switching between fields without hiding, so I've opened an additional bug to track that: https://bugs.launchpad.net/oxide/+bug/1381083

Bill Filler (bfiller) on 2014-11-14
Changed in ubuntu-keyboard (Ubuntu):
importance: Undecided → High
Changed in ubuntu-keyboard (Ubuntu RTM):
importance: Undecided → High
Bill Filler (bfiller) on 2014-11-18
Changed in ubuntu-keyboard:
status: Confirmed → In Progress
Changed in ubuntu-keyboard (Ubuntu):
status: New → In Progress
Changed in ubuntu-keyboard:
status: In Progress → Fix Released
Changed in ubuntu-keyboard (Ubuntu):
status: In Progress → Fix Released
Bill Filler (bfiller) on 2015-01-21
Changed in ubuntu-keyboard (Ubuntu RTM):
status: New → Fix Released
Changed in canonical-devices-system-image:
milestone: none → ww05-2015
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers