みなさんは、 Flutter のバージョンアップで思わぬ事態になってしまったことはありますか?
私の所属している組織では、主に「宅配」のためのスマホアプリを Flutter で開発・運用しています。
利用者には VoiceOver を利用した方々もいらっしゃるのですが、ある日を境にその方々からアプリクラッシュの報告が上がるようになりました。
原因を探ってみると、 Flutter のバージョンアップに伴い Engine に加えられた変更が影響していることまでわかりました。
変更によって、 VoiceOver を有効にした状態で WebView を連続して利用する画面遷移を行うと、アプリがクラッシュするようになっていたのです。
該当する Issue も立てられてはいましたが、いつ解決するのかはわかりません。
このままでは、いつまでに改善できるか利用者の方たちと約束ができない状態です。
そこで、我々はこの Issue を自力で解決することで、自分たちのアプリの安定化を図る決断をしました。
このセッションでは、原因特定から改修版アプリのリリースまでの紆余曲折と、実際に Flutter 本体へコントリビュートしてみてどうだったか、ということをお伝えします。