モバイルで下にスクロールすると投稿コンポーザーがフルスクリーンになる

ここ数日、モバイル(少なくとも最新バージョンの iOS)で投稿を作成する際に、投稿作成エリアが予期せず全画面表示になるバグが発生しています。

再現手順:

  • トピックを開いて返信を開始します。
  • 投稿作成エリアに何かを入力します。
  • キーボードの「完了」をタップします。すると、作成エリアが画面の下半分を占有し、上半分には閲覧していたトピックが表示されます。
  • トピック内(作成エリア外)で指を上から下にドラッグします。トピックが正常に上にスクロールします。
  • トピック内(作成エリア外)で指を下から上にドラッグします。本来はトピックを下にスクロールさせるべきですが、代わりに投稿作成エリアが全画面表示になってしまいます。

個人的には、投稿を提出する前に確認する際、返信対象の内容を再読して、回答が正確かつ有用か確認する傾向があります。このバグにより、その作業が極めて困難になっています。

「いいね!」 3

Androidユーザーです。似たような問題が発生しています。
トピックに返信をクリックすると、入力欄が画面全体を占有して非常に厄介です:

数日前までは画面の下半分しか占有していなかったため、返信を入力しながらトピック全体を読むことができました。

これを修正する見込みはありますか?

「いいね!」 1

Androidユーザーからも同様の不具合について報告が寄せられています。ただし、iOSでは同様の事象は確認していません。

こんにちは、
これはバグではなく機能です。モバイルデバイスの統一を図るため、iOS では既に全高のコンポーザーを採用しており、現在 Android でも同様にしています。当フォーラムでは Android で常に全高コンポーザーを使用していますが、単に height: 100%; を適用しただけです。以前の非全高コンポーザーは、横向きモードで問題を引き起こしていました。

それが機能だとしても、それはひどい機能です。

さっき、あなたに返信しようとしたとき、あなたの言ったことを誤解していないか確認したかったんです。
そのために、作曲エリアを最小化(思考の糸が切れてしまいました)して、あなたの投稿を確認し、再び作曲エリアを最大化し、何を言おうとしていたかを思い出し、編集を続けなければなりませんでした。

もし目的がモバイルデバイスの統一だったなら、iOS を Android のように振る舞うように変更すべきで、その逆ではありません。

以前の挙動に戻すことは可能でしょうか?
もし不可能なら、回避策はありますか?

横向きモードの問題は理解できますが、縦向きモードでは以前の挙動に戻すことはできないのでしょうか?

モバイルの CSS で試してみてください。これでポータルモードの高さが 250px に固定され、ランドスケープモードではデフォルトのフル高さが適用されます。

#reply-control {
  @media (orientation: portrait) {
    .keyboard-visible &.open {
      height: 250px;
    }
  }
}

参考までに、私が報告した問題は iOS で新たに発生したものです。したがって、これは意図しない副作用だった可能性があります。キーボードが表示されていない(つまり、実際には何も入力できない)状態でコンポーザーを全画面表示にするのは理にかなっていません。送信前に返信している投稿を確認するのが難しくなるだけです。

編集:@RickRoll の投稿を再読すると、私たちが話していることが別物であることがわかりました。iOS では、投稿を読みながら投稿を作成することは以前から不可能でした。私が特に問題視しているのは、コンポーザーが開いている状態でスワイプ操作で画面をスクロールした際の新しい挙動です。

「いいね!」 2

申し訳ありませんが、DiscourseHub ではその不具合を再現できませんでした。トピックをトップからボトムへスクロールすると、またボトムからトップへスクロールすると、コンポーザーが正常に動作するようになりました。環境は iOS 14.4.2、iPhone 7 Plus です。
ただし、あなたが報告したバグは Safari で発生します。

そうですね、私たちが話しているのは別々のことのようです。
スレッドを横取りして申し訳ありません!:zipper_mouth_face:

「いいね!」 1

ご報告ありがとうございます、@seanblue。Safari でも同様の問題を確認できましたので、近日中に修正いたします。

「いいね!」 3

これは、https://github.com/discourse/discourse/commit/886f4b589e87e55d8b364c503d495ac62f235a3b で修正されました。

Don が指摘した通り、この Android 限定の別問題は設計通りの動作です。iOS と Android で統一された体験を提供したいと考えており、ソフトウェアキーボードが表示されているときは、コンポーザーが利用可能なすべてのスペースを占有すべきだと考えています。キーボードとコンポーザーですでに多くのスペースを占有しているため、例えば 50px 分の投稿ストリームを表示しておく意味はありません。

ページをスクロールしてコンポーザーを半分開いた状態に保ちたい場合は、Android のそのための専用ボタン(スクリーンショットの右下隅にある下向きのチェvron)を使ってキーボードを閉じるだけです。

「いいね!」 4

動作を確認しました。迅速な対応、ありがとうございます!

「いいね!」 1