こんにちは!YOUTRUSTのアプリエンジニアの葉(YOUTRUST)です。 今回はYOUTRUSTアプリ内のTextFieldで発生した改行バグの調査と修正についてご紹介します。 TL;DR 自社カスタムのTextEditingController内のbuildTextSpan()で \r\n を \n に変換していたことが原因で、カーソル位置がずれる問題が発生しました。TextFieldの内部実装である表示用のinlineSpanと実際のvalue.textの文字数が一致しないと、カーソルの位置情報(Selection)が壊れるということを学びました。 何が起きたのか? こちらは墨(YOU…