プロジェクト

全般

プロフィール

Bug(バグ) #4518

スマートフォン版SNS全体のタイムライン画面において「もっと読む」押下後にコメント投稿やコメント削除などを行った後自動読み込みが発生した際に表示投稿数が減少する

kaoru n2年以上前に追加. 2年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2021-08-10
期日:
進捗率:

100%

3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Yes (はい)

説明

Overview (現象)

スマートフォン版ホーム画面「SNSメンバーのタイムライン(1行表示)」ガジェットの「もっとみる」を押下後に表示されるSNS全体のタイムライン画面において、「もっと読む」を押下後、コメントを投稿した後、またはコメントを削除した後に自動読み込みが発生した際に表示投稿数が減少する

例: 27件の投稿がある場合、最新のものから20件表示された状態で「もっと読む」を押下し27件全部表示する
→コメント投稿やコメントの削除を行う
→最古の投稿から7件のみ表示される
→「もっと読む」ボタンを押下しても新しい投稿は読み込まれない

Causes (原因)

コメント投稿やコメント削除などタイムラインに変化があった場合に再読み込み処理が実行されるが、「もっと読む」ボタン押下後の場合、差分のみの再読み込みが行われている。

https://github.com/tejimaya/opTimelinePlugin/blob/master/web/js/timeline-loader-smartphone.js#L229-L254

function timelineLoadmore() {
  var loadmoreId = $('#timeline-list').attr('data-loadmore-id');
  loadmoreId = loadmoreId - 1;
  if (gorgon)
  {
    gorgon.apiKey = openpne.apiKey;
  }
  else
  {
    gorgon = {apiKey: openpne.apiKey}
  }
  gorgon.max_id = loadmoreId;

  $.ajax({
    type: 'GET',
    url: openpne.apiBase + 'activity/search.json',
    data: gorgon,
    success: function(json){
      renderJSON(json, 'more');
      $('#timeline-loadmore-loading').hide();
    },
    error: function(XMLHttpRequest, textStatus, errorThrown){
      $('#timeline-loadmore-loading').hide();
    }
  });
}

の中で「gorgon.max_id = loadmoreId;」として読み込むべき投稿の最大IDが設定される。
その後
https://github.com/tejimaya/opTimelinePlugin/blob/master/web/js/timeline-loader-smartphone.js#L189-L209
function timelineAllLoad() {
  if (gorgon)
  {
    gorgon.apiKey = openpne.apiKey;
    $.ajax({
      type: 'GET',
      url: openpne.apiBase + 'activity/search.json',
      data: gorgon,
      success: function (json){
        renderJSON(json, 'all');
        $('#timeline-list-loader').hide();
      },
      error: function(XMLHttpRequest, textStatus, errorThrown){
        $('#timeline-list-loader').hide();
        $('#timeline-list').text('投稿されていません。');
        $('#timeline-list').show();
        $('.flashTimelineDom').remove();
      }
    });

  }

が実行された際は、max_id は設定されたままであるため、そのIDを最大としての読み込みしか行われない。

(timelineAllLoad 実行時に max_id を削除した場合、最新から20件の読み込みとなり、コメントの投稿対象が表示されない。)

Way to fix (修正内容)

先頭に「最新を読み込む」ボタンを追加し、押下時に最新から20件を表示するようにする。

履歴

#1 kaoru n2年以上前に更新

  • 説明 を更新 (diff)

#2 kaoru n2年以上前に更新

  • 題名SNS全体のタイムライン画面において「もっと読む」押下後にコメント投稿やコメント削除などを行った後自動読み込みが発生した際に表示投稿数が減少する から スマートフォン版SNS全体のタイムライン画面において「もっと読む」押下後にコメント投稿やコメント削除などを行った後自動読み込みが発生した際に表示投稿数が減少する に変更

#3 kaoru n2年以上前に更新

  • 対象バージョンopTimelinePlugin-1.2.9 にセット

#4 kaoru n2年以上前に更新

  • 説明 を更新 (diff)
  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者kaoru n にセット

#5 kaoru n2年以上前に更新

  • 説明 を更新 (diff)

#6 kaoru n2年以上前に更新

  • 説明 を更新 (diff)

#7 kaoru n2年以上前に更新

スマートフォン画面上部の「POST」を押下後に表示されるフォームからタイムライン投稿した場合、説明欄のCauses (原因)に記載されている内容と同じ現象が発生するが、web/js/smt_tosaka.js を修正する必要があるため、OpenPNE3 プロジェクトにてチケット( #4520 )を作成。

#8 kaoru n2年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#9 kaoru n2年以上前に更新

  • ステータスPending Review(レビュー待ち) から Fixed(完了) に変更
  • 進捗率50 から 100 に変更

マージしました

他の形式にエクスポート: Atom PDF