Skip to content

Bugs 62#1140

Open
sspanak wants to merge 3 commits into
masterfrom
bugs-62
Open

Bugs 62#1140
sspanak wants to merge 3 commits into
masterfrom
bugs-62

Conversation

@sspanak
Copy link
Copy Markdown
Owner

@sspanak sspanak commented Jun 5, 2026

Fixes #1134
Fixes the passport.yandex.com problem in #1102, and potentially makes typing in Firefox smoother... but who knows...

@sspanak sspanak self-assigned this Jun 5, 2026
@sspanak sspanak added the bug Something isn't working label Jun 5, 2026
@sspanak sspanak requested a review from Copilot June 5, 2026 14:17
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR targets two reported input issues: missing/filtered characters in email fields (#1134) and potentially unstable composing/commit behavior affecting Firefox typing (#1102). It updates how email-mode characters are defined/ordered across modes and changes how suggestions are committed to the target InputConnection.

Changes:

  • Flatten Characters.Email into a single allowlist and use it consistently when ordering email-mode characters (so user-assigned email characters don’t get filtered out by grouping).
  • Adjust suggestion committing to reduce repeated composing updates and clear internal composing state after committing text.
  • Improve keycode mapping for numpad keys by respecting “upside-down keys” settings in more paths; tweak numeric mode acceptance behavior.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
app/src/main/java/io/github/sspanak/tt9/util/chars/Characters.java Flattens Email character set; tightens orderByList email handling.
app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyNumberNumpad.java Uses settings-aware keycode mapping for numpad interactions.
app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeCheonjiin.java Uses flattened email allowlist when building email-mode key character lists.
app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeABC.java Uses flattened email allowlist when building email-mode key character lists.
app/src/main/java/io/github/sspanak/tt9/ime/modes/Mode123.java Adjusts email special chars setup; changes suggestion-acceptance rule; changes default sorting language logic.
app/src/main/java/io/github/sspanak/tt9/ime/helpers/TextField.java Clears internal composingText after commitText.
app/src/main/java/io/github/sspanak/tt9/ime/helpers/SuggestionOps.java Changes suggestion commit flow to minimize composing updates and potentially reduce Firefox issues.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread app/src/main/java/io/github/sspanak/tt9/ime/modes/Mode123.java
sspanak added 2 commits June 5, 2026 17:32
…haracters that are swapped between 0 and 1, not being displayed in email fields
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyNumberNumpad.java:72

  • handleHold()/handleRelease() now map the displayed number to a keyCode using tt9.getSettings() (so UpsideDownKeys remapping applies), but getHoldCommand() still looks up the hotkey using -Key.numberToCode(getNumber()) without settings. With upside-down keys enabled this can make the corner icon/hold-command preview incorrect (and potentially misleading), because the lookup keyCode no longer matches the keyCode actually sent on hold/release.

Consider updating getHoldCommand() to compute the keyCode the same way as the event handlers (i.e., Key.numberToCode(tt9.getSettings(), getNumber())).

		preventRepeat();

		int keyCode = Key.numberToCode(tt9 != null ? tt9.getSettings() : null, getNumber());
		if (keyCode < 0 || !validateTT9Handler()) {
			return;
		}

		vibrate(Vibration.getHoldVibration());
		tt9.onKeyLongPress(keyCode, new KeyEvent(KeyEvent.ACTION_DOWN, keyCode));
		tt9.onKeyUp(keyCode, new KeyEvent(KeyEvent.ACTION_UP, keyCode));
	}


	@Override
	protected boolean handleRelease() {
		int keyCode = Key.numberToCode(tt9 != null ? tt9.getSettings() : null, getNumber());
		if (keyCode < 0 || !validateTT9Handler()) {

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

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Some characters filtered out on email inputs

2 participants