Skip to content

fix(web): support autocorrection of transposed text - #16450

Open
jahorton wants to merge 5 commits into
masterfrom
fix/web/support-transposition-autocorrect
Open

fix(web): support autocorrection of transposed text#16450
jahorton wants to merge 5 commits into
masterfrom
fix/web/support-transposition-autocorrect

Conversation

@jahorton

@jahorton jahorton commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Fixes: #16398
Fixes: #16399
Fixes: #12311

Note: will not handle transpositions that cross token boundaries.

Also note: major changes will be needed for epic/boundary-correction, as it will discontinue use of the LegacyQuotientSpur type.

Build-bot: skip release:web,android,ios

User Testing

TEST_TEH: Using Keyman for Android, type teh and verify that the shows up as a suggestion and is autoselected.

TEST_TEHRE: Using Keyman for Android, type tehre and verify that there shows up as a suggestion and is autoselected.

TEST_FREI: Using Keyman for Android, type frei and verify that friend shows up as a suggestion. (Autoselection is not expected here.)

Fixes: #16398
Fixes: #12311

Note:  will not handle transpositions that cross token boundaries.
Also note:  major changes will be needed for epic/boundary-correction, as it will discontinue use of the LegacyQuotientSpur type.

Build-bot: skip release:web,android,ios
@keymanapp-test-bot keymanapp-test-bot Bot added the user-test-missing User tests have not yet been defined for the PR label Aug 27, 2026
@github-project-automation github-project-automation Bot moved this to Todo in Keyman Aug 27, 2026
@keymanapp-test-bot

keymanapp-test-bot Bot commented Aug 27, 2026

Copy link
Copy Markdown

User Test Results

Test specification and instructions

Retesting Template
Test-bot: retest TEST_TEH

Test Artifacts

@keymanapp-test-bot keymanapp-test-bot Bot added this to the A19S36 milestone Aug 27, 2026
@keymanapp-test-bot keymanapp-test-bot Bot added has-user-test user-test-required User tests have not been completed and removed user-test-missing User tests have not yet been defined for the PR labels Aug 27, 2026
@jahorton jahorton linked an issue Aug 27, 2026 that may be closed by this pull request
@keyman-server keyman-server modified the milestones: A19S36, B19S1 Aug 30, 2026
Co-authored-by: Marc Durdin <marc@durdin.net>
@Meng-Heng

Copy link
Copy Markdown
Contributor

Test Specs

  1. Keyman for Android v19.0.272-alpha-test-16450
  2. Pixel 3a XL API 28, Android 9.0
  3. EuroLatin (SIL) keyboard is used for this test with its lexical model.

Test Results

  • TEST_TEH (FAILED):
  1. Type teh
  2. FAILED: rehab shows up
  3. Click Enter to go to a new line
  4. Type teh
  5. VERIFIED: the shows up as a suggestion and is autoselected.
Screen.Recording.2026-09-01.at.11.25.01.in.the.morning.mov
  • TEST_TEHRE (PASSED):
  1. type tehre
  2. VERIFIED: there shows up as a suggestion and is autoselected.
  • TEST_FREI (PASSED):
  1. type frei
  2. VERIFIED: friend shows up as a suggestion, not autoselected.
  3. The autoselected word is freight.

@keymanapp-test-bot keymanapp-test-bot Bot added user-test-failed and removed user-test-required User tests have not been completed labels Sep 1, 2026
Base automatically changed from change/web/narrow-autoselection-comparisons to master September 3, 2026 13:16
@jahorton

jahorton commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

OK, I've made some adjustments. Mind giving it a retry?

Test-bot: retest TEST_TEH

@keymanapp-test-bot keymanapp-test-bot Bot added user-test-required User tests have not been completed and removed user-test-failed labels Sep 4, 2026
@Meng-Heng

Meng-Heng commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Test Specs

  1. Keyman for Android v19.0.279-alpha-test-16450
  2. Pixel 3a XL API 28, Android 9.0
  3. EuroLatin (SIL) keyboard is used for this test with its lexical model.

Test Results

  • TEST_TEH (FAILED):
  1. Type teh
  2. FAILED: rehab shows up
  3. Click Space to apply the auto-highlighted suggestion -> Press Enter for a new line
  4. Type teh
  5. FAILED: rehab shows up as a suggestion and is autoselected
  6. More attempts are shown in the video. This time 'rehab' consistently showing up as the suggestion.
Screen.Recording.2026-09-08.at.4.01.30.in.the.afternoon.mov

@keymanapp-test-bot keymanapp-test-bot Bot added user-test-failed and removed user-test-required User tests have not been completed labels Sep 8, 2026
@jahorton

jahorton commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author

I am unable to reproduce the effects you're seeing when using the downloaded artifact when emulating the test device you mentioned on my Mac. (Predictive-text won't even run properly, with errors being thrown!) Interestingly, it seems to operate fine when emulating it on Windows... and only then do I see the issue. Targeting a more up-to-date Android device seems to work much better.

Could you retest against an API 32 (or more recent) Android device and see if the same issue reproduces then?

@Meng-Heng

Copy link
Copy Markdown
Contributor

That's interesting to know, Josh. I'll try it out on a new API, and a physically device, if needed.

@Meng-Heng

Meng-Heng commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Test Specs

  1. Keyman for Android v19.0.279-alpha-test-16450
  2. Pixel 6a API 33, Android 13.0
  3. EuroLatin (SIL) keyboard is used for this test with its lexical model.

Test Results

  • TEST_TEH (FAILED):
  1. Type teh
  2. FAILED: rehab shows up as the suggestion and auto-highlighted
  3. Click Enter to go to a new line
  4. Type teh
  5. VERIFIED: the shows up as the suggestion and auto-highlighted
  6. Type teh
  7. FAILED: team shows up as the suggestion and auto-highlighted.

Test Specs

  1. Keyman for Android v19.0.279-alpha-test-16450
  2. Pixel Tablet API 35, Android 15.0
  3. EuroLatin (SIL) keyboard is used for this test with its lexical model.

Test Results

  • TEST_TEH (FAILED):
  1. Type teh
  2. FAILED: rehab shows up as the suggestion and auto-highlighted
  3. Click Enter to go to a new line
  4. Type teh
  5. VERIFIED: the shows up as the suggestion and auto-highlighted
  6. Type teh
  7. FAILED: team shows up as the suggestion and auto-highlighted.

I'll try testing on Windows one more time, and then move to a physical device.

Update: It's showing the same behavior and result on Windows Android Studio.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

4 participants