Open Bug 1978792 Opened 1 year ago Updated 5 months ago

www.perplexity.ai - Korean/Japanese input composition unexpectedly stops

Categories

(Web Compatibility :: Site Reports, defect, P2)

Firefox 142
ARM
Android

Tracking

(Webcompat Priority:P2, Webcompat Score:5, firefox142 affected)

Webcompat Priority P2
Webcompat Score 5
Tracking Status
firefox142 --- affected

People

(Reporter: ctanase, Unassigned)

References

(Depends on 1 open bug, )

Details

(Keywords: webcompat:platform-bug, webcompat:site-report, Whiteboard: [webcompat-source:web-bugs])

User Story

platform:android
impact:workflow-broken
configuration:general
affects:some
branch:release
diagnosis-team:dom
user-impact-score:180

Attachments

(1 file)

Environment:
Operating system: Android 14
Firefox version: Firefox Mobile 141.0/140/142

Preconditions:

  • Korean keyboard installed (한국어)

Steps to reproduce:

  1. Go to https://www.perplexity.ai/
  2. Dismiss the app pop-up.
  3. Type something valid in korean. (e.g. 한국)

Expected Behavior:
Syllabic blocks are formed. (e.g. 한국)

Actual Behavior:
Characters get displayed individually, in most cases. (e.g. ㅎㅏㄴㄱㅜㄱ)

Notes:

  • Does not reproduce every time
  • Reproduces regardless of the status of ETP
  • Reproduces in firefox-nightly, and firefox-release
  • Does not reproduce in chrome

Created from https://github.com/webcompat/web-bugs/issues/168054

Version: unspecified → Firefox 142
Attached video Nightly vs Chrome.mp4 —
Webcompat Score: --- → 1
Severity: -- → S4
User Story: (updated)
Webcompat Priority: --- → P2
Webcompat Score: 1 → 6
Priority: -- → P2

Korean keyboard installed (한국어)

Depends on what keyboard is installed. Swiftkey has no problem, while Samsung keyboard has a problem.

  1. Type 'ㅎ' or any consonant on the blank input box
  2. See the underline persists - Sometimes the underline disappears (meaning the composition stopped and further input will be considered as a separate character), or sometimes not.

The same thing happens for Japanese with Samsung keyboard, which prevents selecting candidate words.

Summary: www.perplexity.ai - Korean characters are displayed individually instead of forming syllabic blocks when typing → www.perplexity.ai - Korean/Japanese input composition unexpectedly stops

This doesn't happen on desktop (or at least not on Windows and macOS default keyboards), perhaps something GV specific? 🤔

Flags: needinfo?(m_kato)

(In reply to Kagami Rosylight [:saschanaz] (they/them) from comment #4)

This doesn't happen on desktop (or at least not on Windows and macOS default keyboards), perhaps something GV specific? 🤔

Yes, It seems to commit each character, not keeping composing state. But I don’t have Samsung device, so I cannot test this.

Flags: needinfo?(m_kato)

This is not Samsung specific though. I can also reproduce with Gboard Korean input (but not with Gboard Japanese input). Does that work for you to take a look?

Flags: needinfo?(m_kato)

Thanks, I can reproduce this with Gboard + Korean input. First character is rarely committed. I will investigate why.

Since IME requests to commit string (IME calls InputConnection.finishComposingText()) after IME calls InputConnection.getSurroundingText , this occurs.

GeckoEditable: onTextChange("\u3145\u200b", 2, 3)
GeckoInputConnection: > getSurroundingText(60, 60, 1)
GeckoInputConnection: < getSurroundingText: android.view.inputmethod.SurroundingText@86279a9
GeckoInputConnection: > finishComposingText()

I guess that getSurroundingText result is unexpected for IME. So IME calls finishComposingText. Text (from Gecko's text) has zero-width charactor (U+0x200b) when this occurs. But I am not sure that this issue depends on it.

Flags: needinfo?(m_kato)

Thank you Makoto-san for investigating this.

I wonder, if InputConnection.getSurroundingText is called during a composition, we could need to return content which is not changed by the web app like we're doing on Windows. If so, it might be better to implement the feature in ContentCacheInParent level.

I believe that the root cause is same as bug 1905481. ContentCacheInParent should contain the changes which are not yet handled by the remote process.

See Also: → 1905481
See Also: → 1994400
User Story: (updated)
Webcompat Score: 6 → 5
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: