keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
402 stars 112 forks source link

bug(android): when switching keyboards, backspace can sometimes stop working properly #11435

Open LornaSIL opened 6 months ago

LornaSIL commented 6 months ago

Describe the bug

Sometimes, when I type in one script and then switch keyboards to another script, the backspace key gets stuck and will not backspace. This only happens when I hold the backspace key down to delete a bunch of characters. If I just hit the backspace once, it doesn't get stuck.

However, I cannot reliably reproduce the issue, so I do not yet know what triggers this behavior.

Reproduce the bug

  1. Open Keyman Beta 17.0.322-beta
  2. Change keyboards to sil_euro_latin
  3. Type some text with perhaps a space
  4. Switch keyboards to an Arabic script keyboard like afghan_turkmen
  5. Type some arabic script text. Perhaps type an enter or switch layers, press and hold the backspace key.

Expected behavior

I expect a bunch of characters to get deleted. Often it just doesn't move. If I think type backspace once, I can then press and hold and it will backspace.

Related issues

No response

Keyman apps

Keyman version

17.0.322-beta

Operating system

Android 14

Device

Samsung S21 5G

Target application

No response

Browser

No response

Keyboard name

sil_euro_latin and afghan_turkmen

Keyboard version

3.0.2 and 2.0

Language name

No response

Additional context

I have two recordings which I will try to upload.

This first one I was not talking. The backspace worked fine as I typed Arabic script. At the very end it got stuck. It's too big to upload so here's the link.

This second one I tried to talk through what was happening.

https://github.com/keymanapp/keyman/assets/7071907/ce94fb92-7d2e-47bb-b36e-2ec0405236b7

I don't know how to reproduce this, if I figure it out, I will submit more information.

mcdurdin commented 6 months ago

@jahorton this sounds like a context desync on keyboard switch.

LornaSIL commented 6 months ago

Here's another video https://drive.google.com/file/d/1-FTcNJ4JG2EyTxn5ABRaxzOv-isRfeDH/view?usp=drivesdk

On Mon, May 13, 2024, 7:40 PM Marc Durdin @.***> wrote:

@jahorton https://github.com/jahorton this sounds like a context desync on keyboard switch.

— Reply to this email directly, view it on GitHub https://github.com/keymanapp/keyman/issues/11435#issuecomment-2109060546, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABV6RI4CAPAYCY5QKRISHATZCFMO7AVCNFSM6AAAAABHU2UDWKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBZGA3DANJUGY . You are receiving this because you authored the thread.Message ID: @.***>

mcdurdin commented 6 months ago

@LornaSIL thank you for the report -- that's lots of helpful detail, hopefully will give us enough to track down the cause.

jahorton commented 5 months ago

I am unable to find any correlated Sentry issues for 17.0.322-beta. Granted, there wasn't a report of any error notices, but I felt it wise to check anyway. We have been seeing a few selection-related events come in despite the recent fixes, and I was wondering if those might be related. (Those can affect context synchronization.)

jahorton commented 5 months ago

This only happens when I hold the backspace key down to delete a bunch of characters.

This part seems fairly significant - it suggests there's something off within the keyboard's gesture engine.

We have had a few gesture-related fixes land recently; does this still occur with the latest version of Keyman for Android?

How often does it seem to occur? Like, 1 in 5 times, 1 in 20... ? I'm not having success so far when trying to reproduce this, but I'm wondering if it might just be a matter of persistence on my end.

LornaSIL commented 5 months ago

I'm on 17.0.326. I tried it tonight and it happened again several times, but I can't reliably make it happen. It's not always when I switch keyboards either. I'm sorry I can't give enough info to make it helpful.

On Mon, Jun 10, 2024, 9:29 PM Joshua Horton @.***> wrote:

This only happens when I hold the backspace key down to delete a bunch of characters.

This part seems fairly significant - it suggests there's something off within the keyboard's gesture engine.

We have had a few gesture-related fixes land recently; does this still occur with the latest version of Keyman for Android?

How often does it seem to occur? Like, 1 in 5 times, 1 in 20... ? I'm not having success so far when trying to reproduce this, but I'm wondering if it might just be a matter of persistence on my end.

— Reply to this email directly, view it on GitHub https://github.com/keymanapp/keyman/issues/11435#issuecomment-2159653820, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABV6RI4BFECRGPXW7T3G4X3ZGZOHRAVCNFSM6AAAAABHU2UDWKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJZGY2TGOBSGA . You are receiving this because you were mentioned.Message ID: @.***>