keybase / keybase/client

[BUG] Weird issue with Japanese typing on iOS

Open
#11,629 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
9.2k
Forks
1.3k
PR merge metrics
PR metrics pending

Description

This is probably a mobile issue (Android too) but I only have iOS to check currently.

Reproduce:

1. Set keyboard to type Japanese (where you type the phonetic letters, choose the kanji combination etc.)
2. Type a hiragana only word (like です or something)
3. instead of hitting enter on the keyboard, hit the send button on the Keybase app.
4. Notice that keybase app only sends what has been confirmed by the keyboard, (so if you type 了解 hit enter (to confirm it) then type です and without hitting enter, hit send on app, only 了解 is sent.)
5. Also funny: The entire message (了解です) stays put, so if you hit enter on the keyboard and then his send on keybase app, you get two messages in a row: 了解 then 了解です lol

Expected:

Slack, Skype, LINE, Facebook Message, Google Hangout, Telegram, Signal, SMS for iOS, iMessage, everything when you hit the send button on the app, will always confirm anything in the keyboard queue as is and automatically send the entire content.

I'm guessing this is a react issue. iirc at least one of these apps that work properly is probably using react (I wonder which?)

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the Japanese IME composition case on iOS, and check the React Native chat composer and app send-button entry point. Compare the confirmed and unconfirmed text states when sending without keyboard confirmation. Done means the send button confirms and sends the complete composed message once, without leaving duplicate text.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, react, react-native
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.