マージされたトピックがもはや更新されなくなりました

3.6.0.beta2-latest (e2eb9fe93f) にバグが混入したようです。これは先週行った以前のアップデートには存在しませんでした。

参考までに差分です:

トピックをマージする際に問題が発生します。

以前は、マージしたトピックが「bump」されていました。

これはもはや発生せず、両方のトピックが画面から消えてしまいます。

こちらが21分前にマージした元のトピックです:

/latest に移動すると、閉じられたトピックは表示されますが、マージしたトピックは表示されません :person_shrugging:

同様に、「Travel」カテゴリに移動しても、トピックが「bump」された形跡はありません :person_shrugging:

マージしたトピックに移動し、「Reset Bump Date」をクリックすると、マージされた最後の投稿の正しいタイムスタンプで /latest に表示されます。


この問題は、マージして「chronological order を維持する」チェックボックスをオンにした場合は発生しないようです。

スタッフアカウントとモデレーターアカウントの両方で試しましたが、どちらのアカウントタイプでも毎回再現できます。

「いいね!」 1

これに関連していると思います :thinking:

「いいね!」 2

シナリオで問題を明確にさせてください。

  • ユーザーが「トピックXYZ」という新しいトピックを作成します。
  • スタッフがその新しいトピックを既存の「ABCトピック」というトピックにマージします。
    – 重複トピックを防ぐための標準的な管理作業
  • 「トピックXYZ」はリストから外されてマージされたため、公開表示から消えました。
  • 「ABCトピック」は、バンプされていないため、/latest(または最近の他の場所)に表示されません。
  • 新しいトピック/投稿が作成されたこと(またはマージされたために古いトピックへの返信になったもの)に気づいているユーザーはいません。なぜなら、1年古い可能性のあるトピックに移動され、バンプされていないからです。

うまく説明できているか分かりません :blush:

「いいね!」 2

はい、問題点を的確に説明されていると思います。

@christo ここではいくつかの異なる組み合わせを検討する必要があると思います。

トピックA(単一の投稿)をトピックBにマージする場合、以下のケースが考えられます。

    1. トピックAの投稿がトピックBの最後の投稿よりも新しい場合
    • a. 年代順を維持する が選択されている場合
    • b. 年代順を維持する が選択されていない場合
    1. トピックAの投稿がトピックBの最後の投稿よりも古い場合
    • c. 年代順を維持する が選択されている場合
    • d. 年代順を維持する が選択されていない場合

期待される動作は、2(c)の場合を除き、すべてのケースでトピックが更新されることだと思います。

2(c)以外のすべてのケースで、トピックAの投稿はトピックBの最後に追加されるため、マージによって更新日時がマージが発生した時点に設定されるべきだと思います。

しかし、2(d)の場合に管理者が後で「更新日時をリセット」した場合に何が起こるかは正確にはわかりません。おそらく、更新日時がトピック内で最も新しく作成された投稿(例えば、最後から2番目の投稿)の日時に更新されるべきだと思います。

@martin あなたと私は他のシナリオで更新日時ロジックについて考えてきましたが、上記は理にかなっていますか?

「いいね!」 2

はい、今週インストールしたアップデートまでは常にそうでした。

繰り返しになりますが、現在発生している問題は、新しいトピック/投稿が、以前は常にそうであったように、マージされたトピックを更新しなくなったため、空中に消えてしまうことです。

同意します。

「いいね!」 1

はい、理にかなっていると思います :+1:

「いいね!」 2

はい、これは上記でリンクされたコミットで私が導入したバグのようです。宛先トピックの最新の投稿よりも古い最初の投稿がマージされたときに、bumped_atの日付が時間とともに遅れることがある問題を修正するつもりでしたが、最初の投稿が新しい場合のケースも壊してしまったようです。

現在、この問題の修正に取り組んでおり、解決したらここで更新します。

「いいね!」 1

こちらがこの問題を修正するためのPRです。承認・マージされ次第、再度更新します。

「いいね!」 3

迅速な修正ありがとうございます、@christo :person_bowing:

「いいね!」 3

はい、この修正はマージされました。意図したとおりに動作するはずです。

「いいね!」 2