20201216_PageHistoryの最下段の差分が表示されない問題

Issue

https://github.com/weseek/growi/issues/3238 external_link

原因

  • Pagination を追加したことによって 10件であれば 10件の revision しか取得しなくなった。
    • その結果、11件以上存在する時に、10件目の revision の diff が新規作成時と同じ diff になる。

対応策案

1.リストで取ってくるときに余分に +1件取得する :thumbsdown:

  • _api/v3/revisions/list/ の改修になる
    • 10件の limit を指定するのに +1 件返ってくるのはおかしい。
    • 結局フロント側でも実装が必要

2.最下段の1件のみ、その一個前の revision を取得する :thumbsup:

  • route を作成する。
    • _api/v3/revisions/:id/previous のような
    • 指定した id の直前の revision を取得してくる。
  • 問題点
    • どうやって直前の revision を取得してくる?
      • createAt で sort して、指定の id の revision に最も近い直前のやつ?

3.client側で limit + 1 を設定して取得する :thumbsup::thumbsup::thumbsup:

  • _api/v3/revisions/list/ の改修は必要ない
    • client が limit + 1 を指定して取ってくる。