トピックのタイムラインは、投稿数が3未満の場合、特定のブラウザ幅では開きません

再現手順:

  1. このページ に移動します。
  2. トピック進行状況ゲージが表示されるまでブラウザの幅を縮めます:
  3. トピック進行状況ゲージをクリックします => トピックタイムラインが開きません

この問題は、このコード が原因だと考えています。

「いいね!」 7

この問題は Meta や try.discourse.org で再現できますか?

Feverbee では再現できますが、こちらでは再現できません。こちらで再現できない場合、彼らが行ったカスタマイズが原因の可能性があります。

「いいね!」 6

ここで再現できます:

(幅を狭くしてくださいが、極端に狭めないでください)

「いいね!」 5

これは確かにバグです…トピックに投稿が2件しかない場合、画面幅を狭めると発生します。

リンクされたコードが原因である可能性が高いことに同意します。

これはシードデータの一部であるため、リンクは安定したままであるべきです。

「いいね!」 4

@j.jaffeux さん、これをご覧いただけますか?

「いいね!」 1

はい、このコードが原因ですで、特定のウィンドウとトピックの比率の高さで発生します。

しかし、私が理解できていないのは、期待される動作は何かということです。このチェックを単に削除すれば動作しますが、何か理由があって追加したのだと思います。

@eviltrout あなたが初期機能を実装しました FIX: If a topic is really long, show the timeline · discourse/discourse@79763a6 · GitHub

これはもう有効ではないのでしょうか?数式が間違っているのでしょうか?トピックが実際にはそれほど大きくない場合でも、ここでトリガーされているように思います。なので、これを修正すべきではないでしょうか?

また、すべての「推奨トピック」がこのトピックの高さ計算に使われていることを発見しました:${"#topic").css("background", "red")}

これが、あなたが実装してから変更された点なのかもしれません。

「いいね!」 6

もしかしたら、もっと早く修正すべきかもしれませんね?この場合、なぜトピックの進捗を表示するのでしょうか?

投稿数が 3 以下の場合、posts.height が window.height の 1.5 倍未満ならトピック進捗を非表示にするのはどうでしょうか?

「いいね!」 4

当初のロジックは、トピックが非常に短い場合はプログレスウィジェットを表示しないようにするものでしたが、それは今でも理にかなっていると思います。

ただし、ここではバグはウィジェットが表示されているがクリックしても機能しないという点にあると誤解していました。適切な修正は、ウィジェットが表示される場合はいつでもクリックが機能するようにすることです。他の場合(短いトピックなど)は非表示のままにしておくことには問題ありません。

「いいね!」 5

モバイル/折りたたみ状態では、少なくとも隠ししきい値を 1 に変更するか、あるいはこのロジック自体をモバイル/折りたたみ状態から削除した方が良いかもしれません。

モバイルでは、投稿が 2 つしかない場合でも、1 番目か 2 番目かを示すことで、非常に役立ちます。

「いいね!」 5

デスクトップ環境でもタイムラインを常に表示する価値があります。例えば、読んでいる投稿が画面に収まらない場合などです。

「いいね!」 1

これで解決するはずです:

詳細はコミットをご覧ください。

「いいね!」 7

このトピックは、最後の返信から 5 日後に自動的に閉鎖されました。新しい返信は受け付けられません。