Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Glide doesn't work with input fields which are raw (e.g. Scarlett Notes check box) #1247

Closed
opusforlife2 opened this issue Sep 11, 2021 · 6 comments · Fixed by #1844
Closed
Labels
area: glide-typing Glide typing frontend / backend bug A bug report bug-confirmed A confirmed and reproducible bug report

Comments

@opusforlife2
Copy link

Short description

Glide typing works normally in an app I use (Scarlet Notes from F-Droid), but when I create a check box and try to swipe type a list item, it doesn't work. A trail appears, but no word does.

Steps to reproduce

  1. Open a new note in Scarlet Notes FD.
  2. Add a check box item.
  3. Try to glide/swipe a word.
  4. It doesn't work.

Environment information

  • FlorisBoard Version: 0.3.13
  • Install Source: F-Droid
  • Device: Xiaomi Mi 5
  • Android: 10 (LOS 17.1)
@opusforlife2 opusforlife2 added the bug A bug report label Sep 11, 2021
@patrickgold
Copy link
Member

Is this issue still reproducible in the latest 0.3.15-rc01 release?

@patrickgold patrickgold added needs more info Issue requires more information from poster area: glide-typing Glide typing frontend / backend labels Apr 5, 2022
@tsiflimagas
Copy link
Collaborator

Perhaps related to #1009. I can confirm that one is still not fixed in 0.3.15-rc01, and as I was curious, I tried checkboxes in Scarlet Notes and ascertained that it's not fixed there either.

@opusforlife2
Copy link
Author

Indeed. Just tried it out. Not fixed.

@patrickgold
Copy link
Member

Can still reproduce this issue in 0.3.16-beta02. The reason: Scarlet Notes has configured the check box text box incorrectly:

2022-05-12 18:32:02.746 10457-10457/dev.patrickgold.florisboard.debug I/FlorisImeService: onStartInputView() - restarting=false info=android.view.inputmethod.EditorInfo
    packageName: com.bijoysingh.quicknote
    ---
    inputType: class=0x00000000 variation=0x00000050 flags=(none)
    imeOptions: action=IME_ACTION_DONE flags=IME_FLAG_NAVIGATE_PREVIOUS
    privateImeOptions: (null)
    ---
    actionId: IME_ACTION_UNSPECIFIED
    actionLabel: (null)
    contentMimeTypes: []
    extras: (null)
    hintLocales: (null)
    hintText: Add Item…
    ---
    initialCapsMode: flags=CAP_MODE_WORDS
    initialSelStart: 0
    initialSelEnd: 0

This line is really important:

inputType: class=0x00000000 variation=0x00000050 flags=(none) - if an app reports 0x00000000 (aka NULL) as the input type, an IME must automatically assume that this editor is not a rich text editor and does only support very basic input. If the devs of Scarlet fix this issue then all keyboards will work better in this text box again. All their other text fields are correctly configured, thus glide works breaks only in the check boxes. Please forward this to the devs of Scarlet Notes, so they can fix this.

What I generally think though is that FlorisBoard's glide typing should still be able to provide words in a degraded form (with no context of surrounding words), as Gboard does it too. Will work on fixing this.

@patrickgold patrickgold added bug-confirmed A confirmed and reproducible bug report and removed needs more info Issue requires more information from poster labels May 12, 2022
@patrickgold patrickgold changed the title (App-specific?) Glide doesn't work with check box lists Glide doesn't work with input fields which are raw (e.g. Scarlett Notes check box) May 12, 2022
patrickgold added a commit that referenced this issue May 12, 2022
This applies to apps that report that they are "raw" but in fact they are rich. This new detection works by checking if the initial selection is valid, if so then we assume that the editor is rich.
@patrickgold
Copy link
Member

Above linked commit/PR fixes the issue. What I did is I changed the way I detect rich editors a bit, so the check box field (and other apps that have this exact same bug) is now detected as "rich" and glide typing works. Additionally for "real" raw editors (e.g. Termux) glide typing is now completely disabled, this means no glide trail that does nothing anymore. I cannot reliably provide a good glide typing experience for such terminal apps, because I am just missing too much info about surrounding symbols and text.

See also #1009, which is basically the same bug.

Will be released in 0.3.16-beta03. Thanks for reporting!

@opusforlife2
Copy link
Author

Awesome! It's great that you were able to add this kind of fault resistance to the app.

BTW:

Please forward this to the devs of Scarlet Notes, so they can fix this.

The app is sadly unmaintained, and has been for years.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: glide-typing Glide typing frontend / backend bug A bug report bug-confirmed A confirmed and reproducible bug report
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants