Wp-rocket: 複数のバージョンにロールバックすると、最新バージョンにアップグレードされます

作成日 2020年09月09日  ·  4コメント  ·  ソース: wp-media/wp-rocket

問題を送信する前に、次の手順を完了していることを確認してください。

  • 最新バージョンを使用していることを確認しましたはい
  • 検索機能を使用して、バグが以前に報告されていないことを確認しましたはい

バグを説明する
複数回ロールバックしようとすると、複数のロールバックではなくアップグレードにつながります。

再現するには
動作を再現する手順:

  1. 3.7.0.1をインストールしました。
  2. 3.6.4にロールバックしましたが、これは正常に行われました。
  3. それから、3.5.5.1にロールバックしようとします。
  4. 代わりに、3.7.0.1に更新されます

予想される行動
ここには2つのシナリオがあり

  1. 複数回ロールバックしないでください。ここでは、ロールバックボタンのテキストを調整して、たとえばエラーメッセージが更新または表示されることを表現する必要があります。
  2. ロールバックの数を開き、ユーザーが複数回ロールバックするときにボタンの機能を調整します。

スクリーンショット
3.7.0.1から3.6.4への最初のロールバック
image

image

3.6.4から3.5.5.1への2回目のロールバック
image

image

追加のコンテキスト
ここに製品の入力が必要です

バックロググルーミング(WP Media開発チームのみが使用)

  • []問題を再現する
  • []根本原因を特定する
  • []ソリューションのスコープ
  • []労力を見積もる
[S] tools low major bug

最も参考になるコメント

これは予期された動作ではありません。 何らかの理由で2回ロールバックしたい場合は、それを実行できるはずです。

全てのコメント4件

ロールバックの数を開き、ユーザーが複数回ロールバックするときにボタンの機能を調整します。

私はいつも、ロールバックはロールバックし続けるだろうと思っていました。 だから、これは私が起こるべきだと思うことです。

  • ユーザーが3.6.4にロールバックするとします。 このWPロケットは、ユーザーが3.6.4を初めてインストールしたときとまったく同じように見えて動作するはずです。
  • 最後の安定版は、 WPRocket内にハードコードされています。 3.6.4のユーザーは、その前に安定したものにロールバックすることを期待します。
  • ユーザーが最新バージョンを入手したい場合は、いつでも更新できます。
  • ただし、ユーザーが(何らかの理由で)戻りたい場合は、複数のロールバックを実行することが唯一の方法です。

ここに@GeekPressを招待します。

これは予期された動作ではありません。 何らかの理由で2回ロールバックしたい場合は、それを実行できるはずです。

問題を再現する
はい、ローカルおよびお客様のサイトの1つで複製されています。
3.6.4にロールバックすると、WPR管理者(ツール)のロールバックボタンで3.5.5.1にロールバックできることがわかります。クリックすると、3.7.0.1に更新されます。

根本原因を特定する
https://github.com/wp-media/wp-rocket/blob/5434080ccd89b36f3312846e4288a50c9d6b7c3e/inc/classes/subscriber/Plugin/class-updater-subscriber.php#L247 -L249

この行はWordpressプラグインの最新バージョンをチェックしており、最新バージョンが現在のバージョンよりも新しい場合は、常に新しいバージョンを追加します
なぜ3.7.0.1から3.6.4にロールバックするのか、という質問がありました。答えは単純です。プラグインコードの現在のバージョンは3.7.0.1で、最新バージョンは3.7.0.1なので、この状態にはなりません。 。

ソリューションのスコープ
https://github.com/wp-media/wp-rocket/blob/5434080ccd89b36f3312846e4288a50c9d6b7c3e/inc/classes/subscriber/Plugin/class-updater-subscriber.php#L247 -L249

このコードは、更新時およびロールバック時に呼び出されるため、ロールバック関数内にあります
https://github.com/wp-media/wp-rocket/blob/2b2fe800bfd9ba748159dafe0eb5ec00b63212d7/inc/admin/admin.php#L204

新しい定数を定義し、最初のコードをチェックして、最後のバージョン番号のチェックを停止します。

また、停止する最後のバージョンのチェックを追加します:2.3.7

労力を見積もる
@arunbasillal WP_ROCKET_LASTVERSION定数の使用を開始したため、停止する最後のバージョンが2.3.7であることを確認してください。

@ engahmeds3ed

@arunbasillal WP_ROCKET_LASTVERSION定数の使用を開始したため、停止する最後のバージョンが2.3.7であることを確認してください。

私はかなり戻って、このコミットは2.3.7が確かに最後のバージョンであることを確認します-https://github.com/wp-media/wp-rocket/commit/f5e1b8c9fb4ed74c64dc9eac92f6d79091204477

ありがとう👍

このページは役に立ちましたか?
0 / 5 - 0 評価