戻るボタンの履歴が正しく機能していない

ここ2日間でこの動作を確認しています:

  • 最新投稿からトピックに移動
  • しばらく読んでから最新投稿に戻る
  • 他のトピックに移動
  • 戻るボタンを押すと、最新投稿ではなく最初に閲覧したトピックに移動する

この動作はSafari for iOS(実際にはiPadOS公開ベータ版1)とFirefox for Macで確認しました。

2日前まではこのようになっていなかったと思いますが、間違っているかもしれません。

「いいね!」 1

試してみましたが、私の環境ではうまくいかないようです。あなたの場合は毎回 100% 成功するのでしょうか、それとも時々だけでしょうか?

「いいね!」 1

ここ数日、私も同じ現象を目にしていますが、再現手順を特定できていません。最初は気のせいだと思っていました :slight_smile:

「いいね!」 1

おそらく、新しい履歴 API の修正では考慮されていない何らかのリンクが存在するようです。特定のお手伝いをしていただける方がいらっしゃれば、心から感謝いたします!

「いいね!」 3

これはベータ版でのみ発生しているのでしょうか?私どもはベータ版の OS はサポートしておりません。

「いいね!」 1

MacOS 10.14.5 および最新バージョンの Chrome で発生しています。

「いいね!」 3

少し試してみましたが、正確な手順はわかりません。ただし、ランダムなトピックを選んで開き、スクロールして戻るボタンを押す、次に別のランダムなトピックを選んで開き、スクロールして戻るボタンをもう一度押すという操作を繰り返すと、5回に1回(それ以上)は発生させることができます。かなり頻繁に、トピック一覧ではなく、最初のトピックに戻ってしまいます。

再現手順としては完璧ではありませんが、この方法で確実に発生させています。発生時にコンソールにはエラーは表示されません。

編集:発生時には、戻るボタンを押した際の URL を監視してみてください。最初は meta.discourse.org/ から始まりますが、一覧が読み込まれた直後に、直前に表示していた投稿の URL に書き換えられます。

編集2:このトピックにクリックして入り、スクロールアップした直後にすぐ戻るボタンをクリックすると、ほぼ常に発生させることができます(私のマウスには戻るボタンが割り当てられています。そのため簡単に発生させているのかもしれません)。どうやら、何らかの戻り値のタイミングの問題のようです。

編集3:常に再現可能です。任意のトピックをクリックし、完全に読み込まれる前に戻るボタンをクリックすると、トピック一覧が読み込まれた後に、直前にいた投稿の URL に URL が書き換えられます。

「いいね!」 3

なるほど、読み込み速度の問題ですね。ありがとうございます、参考になりました。

「いいね!」 3

これで問題解決です:

これは最近の履歴の変更とは無関係で、実際には最近マージされた コミット に追加された新しい willTransition が原因であることを発見して驚きました。

willTransition メソッドでは常に return true を返すことを忘れないようにすべきですね!

「いいね!」 10

このトピックは 26 時間後に自動的に閉鎖されました。新しい返信は受け付けられません。