Project

General

Profile

機能 #1038

TLに表示するツイート上限数をユーザー設定で変更可能にしたい

Added by Izumi Tsutsui almost 2 years ago. Updated over 1 year ago.

Status:
終了
Priority:
通常
Assignee:
-
Target version:
Start date:
2017-05-06
Due date:
% Done:

0%

プラグイン名:

Description

現状の表示ツイート数上限は magic number で埋め込んである以下の数字だと思います。

source:core/mui/cairo_timeline.rb@27049201#L168

  # TLのMessageの数が上限を超えたときに削除するためのキューの初期化
  # オーバーしてもすぐには削除せず、1秒間更新がなければ削除するようになっている。
  def init_remover
    @timeline_max = 200
    @remover_queue = TimeLimitedQueue.new(1024, 1){ |messages|
      Delayer.new{
        if not destroyed?
          remove_count = size - timeline_max
          if remove_count > 0
            to_enum(:each_iter).to_a[-remove_count, remove_count].each{ |iter|
              tl_model_remove(iter) } end end } } end

とりあえず感がありますが、上記の 200 の数字を userconfig で変更可能なようにするという案はどうでしょう?

200という数字は mikutter 黎明期になんとなくで決められた値のように見えます。
https://twitter.com/toshi_a/status/9691075197

リビジョン12をコミットしました:
タイムライン上のつぶやきの完璧なソート
長すぎるつぶやきの末尾を切って投稿
メモリ節約のため、200個以上前のつぶやきを非表示に
READMEの後進を忘れなかった
明日起きれるか心配になった
#mikutter
3:48 - 2010年2月27日

どんなもんでしょう。


Files


Related issues

Related to 機能 #1081: タイムラインに表示するMessageの件数を、プラグインがタイムラインを生成するときに個別に設定できるようにする新規2017-11-12

Actions

Associated revisions

Revision 11f2465e (diff)
Added by あひる 家鴨 over 1 year ago

timeline_max を UserConfig 経由で設定できるように変更 refs #1038

設定 -> 表示 から変更可能

History

#1

Updated by toshi_a 初音 almost 2 years ago

  • Target version changed from 3.5 to 3.6

賛成です。
200という数字の根拠は、当時Twitter APIで各種タイムラインを取得する時に、1ページの最大件数が200だったことに由来していたと記憶しています。
cairoを使った現在の実装だと、一度表示されたことのある画像がメモリ上に残るが、処理速度的にはペナルティは少ないと思うので、よりスペックの高い環境であればこれを増やすことが出来ると便利そうです。

3.5からは、filerプラグインのように200以上のModelを常に保持するのが正当なケースも出てきたので、UIDSLのtimelineメソッドで、プラグインがタイムラインを生成する時に最大件数を設定できるようにしようと思います。これのデフォルト値は、UserConfigに記録しておいて、エンドユーザが設定できるようにすると良いでしょう。

#2

Updated by Izumi Tsutsui over 1 year ago

本題とは全然関係ないんですが、チケットを書いていた時に探してたツイートを発掘したので貼っておきますね
https://twitter.com/toshi_a/status/9579617772

きめた!大体200件くらいでつぶやきを消す!今は、ね。 #mikutter
0:14 - 2010年2月25日

#3

Updated by toshi_a 初音 over 1 year ago

卑怯だぞ!!!

#4

Updated by あひる 家鴨 over 1 year ago

明日やります

#5

Updated by あひる 家鴨 over 1 year ago

明日は来ました。

topic/1038-changeable-timeline-max です。
確認をお願いします。

#6

Updated by Izumi Tsutsui over 1 year ago

あひる 家鴨 さんは書きました:

明日は来ました。

この履歴が書かれたのが日付変わった 11/12 だったのでどうかなと思っていました(どうでもいい)

topic/1038-changeable-timeline-max です。
確認をお願いします。

パッケージ環境なのでどうテストしようかと思案して
インストール済みの 3.5.13 の環境に対して
11f2465e の修正を手で変更する
という暴挙で確認しましたが、とりあえず意図通り動いていて
200以上のツイート表示もできているようです。(添付)

ステータスが新規のままですが、通常ユーザーだと終了か却下にしか変えられないみたいなので
適当に更新お願いします。

確認方法メモ
https://twitter.com/toshi_a/status/929632483687067648

@tsutsuii TL全選択して、「ツイートのURLをコピー」コマンドを実行して、エディタに貼り付けて行数を測ればすぐわかりますよ

蛇足

実装設計的なところはよくわかっていませんが、履歴#1のとしぁさんコメント通りの実装ということですよね。
タブごとに表示件数を変える、みたいな要件があるのかな、ということも思っていました。

#7

Updated by toshi_a 初音 over 1 year ago

確認しましたが、これで一度developにmergeで良いと思います。
タイムラインごとに最大数を設けるのは、今後の課題とします。

#8

Updated by toshi_a 初音 over 1 year ago

  • Related to 機能 #1081: タイムラインに表示するMessageの件数を、プラグインがタイムラインを生成するときに個別に設定できるようにする added
#9

Updated by あひる 家鴨 over 1 year ago

developにマージ完了したのでcloseします。

#10

Updated by あひる 家鴨 over 1 year ago

  • Status changed from 新規 to 終了

Also available in: Atom PDF