Closed Bug 1706499 Opened 3 years ago Closed 3 years ago

Typing character isn't inserted at cursor position with GBoard after modifying github issue number (#xxxx)

Categories

(GeckoView :: IME, defect, P1)

Unspecified
All

Tracking

(firefox89 fixed, firefox90 verified)

RESOLVED FIXED
90 Branch
Tracking Status
firefox89 --- fixed
firefox90 --- verified

People

(Reporter: m_kato, Assigned: m_kato)

References

Details

(Whiteboard: [geckoview:m90])

Attachments

(1 file)

From https://github.com/mozilla-mobile/fenix/issues/18923

This seems to occur on the latest version of GBoard. (I cannot reproduce this on the latest emulator image of Android 7 and Android 11)

Steps to reproduce

  1. go to ticket #18989
  2. enter edit mode on the initial comment
  3. place the cursor after the word "reduced" and type "All OK."
  4. then go to the start and delete the last digit from the displayed ticket number and then pick the same ticket number from the pop-up
  5. then go place the cursor to after "All OK" and start typing

Result

The cursor jumps back to just after the ticket number and everything I type follows this
Expected behavior

The cursor doesn't jump and everything I type follows "All OK."

Summary: Typed character isn't inserted at cursor position with GBoard after modifying github issue number (#xxxx) → Typing character isn't inserted at cursor position with GBoard after modifying github issue number (#xxxx)

When tapping panel (step 4), GBloard seems to call InputConnection.closeConnection without endBatchEdit call. So batch count is broken until focus is lost then taken...

Priority: -- → P1
Whiteboard: [geckoview:m90]

The latest version of GBoard seems to call InputConnection.closeConnection
without calling InputConnection.endBatchEdit. Since we recycle
InputConnection object, we have to reset batch edit count on
closeConnection.

Also there is no way to write GV-junit and mochitests because we cannot check
whether current text transaction is batch mode or not.

Pushed by m_kato@ga2.so-net.ne.jp:
https://hg.mozilla.org/integration/autoland/rev/8141e79fd68b
Reset batch edit count on InputConnection.closeConnection. r=geckoview-reviewers,agi
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch

Comment on attachment 9218262 [details]
Bug 1706499 - Reset batch edit count on InputConnection.closeConnection.

Beta/Release Uplift Approval Request

  • User impact if declined: This occurs on github.com's comment textbox. After editing text into #<number>, when user types any character, this character isn't inserted at caret position.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: See https://github.com/mozilla-mobile/fenix/issues/18923#issuecomment-818674977
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Low. Reset internal flag when InputConnection (this is an object for IME control) is closed.
  • String changes made/needed: no
Attachment #9218262 - Flags: approval-mozilla-beta?
Flags: qe-verify+
QA Whiteboard: [qa-triaged]

Comment on attachment 9218262 [details]
Bug 1706499 - Reset batch edit count on InputConnection.closeConnection.

Evaluated as low risk and has a couple of duplicates filed, approved for 89 beta 9, thanks.

Attachment #9218262 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Verified as fixed on Firefox Preview Nightly 90.0a1 5/7 using a OnePlus Nord N10 (Android 10).

Flags: qe-verify+

Moving some cursor and key event bugs to the new GeckoView::IME component.

Component: General → IME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: