Buggy input method: mozc (Japanese) on fcitx

Description

Buggy Japanese input method when in the email composer. The input method in question is mozc via fcitx. By ‘buggy’, I mean that:

  • Japanese input is not completely dysfunctional. Typing the Japanese alphabet is usually possible, but often words become cut off in the middle and transformations of words from Japanese alphabet (hiragana) to other scripts (katakana, kanji) become unpredictable and annoying.
  • Typing slowly usually works fine, but for some reason typing quickly results in words being cut off before the user can pick their preferred transformation of the word.
  • I have found that disabling the rich text features of the composer fixes all issues related to Japanese input and letter transformations.
  • fcitx5-qt and fcitx-gtk are both installed.

To Reproduce…

Steps to reproduce the behavior:

  1. Attempt to compose an email in Japanese, either in the inline composer or in a new composer window.
  2. While rich text features are active, type in Japanese relatively quickly.
  3. Usually, words get cut off before they can become finalised.

Expected Behavior

  1. Japanese words should remain in their un-finalised state (in hiragana) until the user presses the space bar and picks the spelling/script of the word of their choice. Once a spelling has been picked (and the user presses enter), then the word should be finalised.

Setup

  • OS and Version: arch linux x86_64 kernel 5.15.13-arch1-1
  • Mailspring Version: 1.9.2-6e14dad1
    • Installation Method: Arch User Repository (aur)
  • Fcitx5 Version: 5.0.12-1
    • Installation Method: Arch Linux Official Repository
  • Fcitx5 mozc Version: 2.26.4360.102.gca82d39-1
    • Installation Method: Arch Linux Official Repository
  • Desktop environment: KDE plasma desktop 5.23.5-1

Additional Context

The bug is completely fixed if the rich text feature is disabled, so there must be some relation there. Japanese (and others like chinese) input methods are sensitive in that words are first typed and then edited before being finalised, so I suspect that something is interrupting the input method while in rich text mode.