Skip to content

feat(two-thumb): remove the re-recognize-taps (live-converge) feature#47

Merged
AsafMah merged 1 commit into
mainfrom
chore/remove-rerecognize-taps
Jun 5, 2026
Merged

feat(two-thumb): remove the re-recognize-taps (live-converge) feature#47
AsafMah merged 1 commit into
mainfrom
chore/remove-rerecognize-taps

Conversation

@AsafMah

@AsafMah AsafMah commented Jun 5, 2026

Copy link
Copy Markdown
Owner

Part of #27.

Removes PREF_MULTIPART_RERECOGNIZE_TAPS and its machinery. On-device dogfooding showed the behavior was disliked:

  • destructive — re-recognizing a tap after a swipe means you stop seeing the letter you tapped;
  • blocks unknown words — you can't type words the recognizer doesn't know after a swipe;
  • not unified — starting a word by typing doesn't do this, so the behavior is inconsistent.

The only case it improved — swiping a partial word then finishing it with taps — is rare and not worth those costs. With it gone, a tap after a swipe just appends literally (you see exactly what you typed).

Multi-part composition is unchanged. The swipe+swipe / tap+swipe / swipe+tap → one-word behavior (seed/concat + setExtendBatchInputBase merged-trail) never depended on this flag and is untouched.

Removed

  • the pref across the 5-file pattern (Settings / Defaults / SettingsValues / strings / TwoThumbTypingScreen)
  • InputLogic: tryLiveConvergeTap, mLiveStroke + all resets, the per-commit snapshot, and the now-orphaned getBatchSuggestionsSync
  • the obsolete liveConvergeOnDegradesGracefully unit test
  • docs/TWO_THUMB_TYPING_INTERNALS.md §4.12 marked REMOVED

Verification (JDK 21)

Full offline unit suite = 217 tests, 11 failed — all 11 are the documented pre-existing failures (parser/xlink/emoji + 3 known InputLogic), 0 new. Only InputLogicTest was touched (one obsolete test removed); SettingsContainerTest passes.

A non-destructive "offer, don't replace" successor is tracked in #27 (B2).

Removes PREF_MULTIPART_RERECOGNIZE_TAPS and its machinery. On-device
dogfooding showed the behavior was disliked: re-recognizing a tap after a
swipe is destructive (you stop seeing the letter you tapped), it blocks
typing words the recognizer doesn't know, and it isn't unified with
starting a word by typing. The only case it improved -- swiping a partial
word and then finishing it with taps -- is rare and not worth those costs.
With it gone, a tap after a swipe appends literally (you see exactly what
you typed).

The multi-part composition users rely on (swipe+swipe, tap+swipe,
swipe+tap -> one word, via the seed/concat and setExtendBatchInputBase
merged-trail path) is unchanged -- it never depended on this flag.

Removed:
- the pref across the 5-file pattern (Settings / Defaults / SettingsValues
  / strings.xml / TwoThumbTypingScreen)
- InputLogic: tryLiveConvergeTap, mLiveStroke + all its resets, the
  per-commit snapshot, and the now-orphaned getBatchSuggestionsSync
- the obsolete liveConvergeOnDegradesGracefully unit test
- updated docs/TWO_THUMB_TYPING_INTERNALS.md section 4.12 (marked REMOVED)

A non-destructive "offer, don't replace" successor is tracked in #27 (B2).

Verified (JDK 21): full offline unit suite = 217 tests, 11 failed -- all 11
are the documented pre-existing failures (parser / xlink / emoji / 3 known
InputLogic); 0 new. Only InputLogicTest was touched (one obsolete test
removed); SettingsContainerTest passes.

Part of #27.
@AsafMah
AsafMah merged commit 123c808 into main Jun 5, 2026
1 check passed
AsafMah added a commit that referenced this pull request Jun 6, 2026
AsafMah added a commit that referenced this pull request Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant