iOSアプリでスワイプアップジェスチャーにより下書きが消失

iOSアプリのインターフェース更新以降、いくつかのドラフトを失ってしまいました。これは、投稿中に過去の投稿を上下にスクロールしている際に、誤って「フォーラム全体」をスワイプするジェスチャーをトリガーし、フォーラム選択画面に戻ってしまう時に時々発生します。フォーラムを再度開くと、ドラフトが残っていません。

これは発生確率は低いものの、痛みが大きい問題だと推測しています。常に起きているわけではありませんが、一度発生すると、特に長いドラフト、しかも親指で入力した長いドラフトを失うのは本当に辛いです。

再現は常に可能ですか?トピックのドラフトを再入力すると、ドラフトが再度開くはずです(ユーザープロフィールのドラフトセクションも参照してください)。

はい、トピックに再度アクセスしてみましたか?実際に失われた可能性は低いでしょう。そのシナリオを試してみてください。

はい、何度かリペルに成功しています。ただし、保存タイムアウトに達しないドラフトを失っている可能性があります。

下書きは保存するには最低文字数(20文字)を超える必要があります。自動下書き保存は記憶では約60〜90秒ごとに行われますが、コードを確認する必要があります。

了解しました。下書き保存が機能しても、フォーラムを閉じてしまうたびに自分の位置を失うのは面倒です。

Discourse で投稿する際、過去の投稿を頻繁に参照します。これもまた、この返信で同じことが起きました。

具体的な再現手順が必要です。あるいは、アプリを使わずに、しばらくアプリなしで試してみて、状況が改善するか確認するのはどうでしょうか?個人的には、アプリを使うと単に複雑になるだけだと思います。

iOS 12.4.1 iPhone 6s

  1. トピックにアクセスします。

  2. 返信をタップします。

  3. 返信ボックスと過去の投稿の両方を表示させます。

  4. 投稿を力強く上にスクロールします。

タイトルバーに指が当たっている必要はないと思います。確かに、単に投稿をスクロールしようとしただけで再現しました。

これはアプリ固有の問題のようです。スクロールをアプリのジェスチャーとして解釈しているのでしょうか?Safari ブラウザ(アプリなし)でも再現できますか?

アプリには「現在の画面をスワイプして閉じる」というジェスチャーが実装されています。また、激しく上下にスクロールすると問題がトリガーされることを確認しました。特に画面の上3分の1から下へスクロールする場合に顕著です。

この問題に対処できる方法を検討します。ジェスチャーは無効化できますが、特に現在の画面が応答せず、フッターナビゲーションが表示されていない場合など、非常に有用な機能です。

よくわかりませんが、保存した下書きを削除してしまうのか、単にページを閉じるだけなのでしょうか?

保存された下書きを消去してしまうなんて、ありえないと思います。

ただ、今日気づいたのですが、ノッチのない iPhone(6s、7、8)では、ノッチがある機種に比べて、スワイプして閉じるジェスチャーがかなり簡単に発動してしまいます。

ここでの最も簡単な解決策は、ノッチのない iPhone 向けにそのジェスチャーを無効にすることだと思います。

その案は良さそうですね!

@kemitchell この問題に対して、少し異なる修正を実装しました。ノッチのない iPhone では、上から下にスワイプして閉じるジェスチャーは引き続き有効ですが、トリガーしにくくなるようにパラメータを調整しました。ユーザーは、ジェスチャーを呼び出すには、画面の上端 10% 付近(Discourse ページのヘッダー付近)からスワイプを開始する必要があります。

この修正は、アプリのベータ版で利用可能です(このリンク を使用して TestFlight 経由でベータ版をインストールしてください)。