プロジェクト

全般

プロフィール

バグ #1206

完了

userstream で取得するツイートの表示が extended_tweet 形式になっていない

Izumi Tsutsui さんが6年以上前に追加. 6年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
クラッシュする:
いいえ

説明

#921#note-7 で記載した件ですが、「別のチケットで進めたほうがよい」とのことなので書きました。

問題

  • UserStream で取得された extended_tweet が compat tweet の体裁で表示されてしまう
  • REST や FilterStream で取得する extended_tweet は意図通り表示される
  • 最初にツイートを取得した状態でキャッシュに入るので、 UserStream で取得されたツイートは他のタブでもずっと compat 体裁で表示される
  • 一度 compat 体裁で表示されたツイートも、再起動後には REST 等で再取得されるので extended での表示になる

修正トライ

  • 4/14の突発てオフでのとしぁさんとの会話の中で
    「リクエストのほうが足りてないとかじゃないか」
    という話があったので調べてみたところ、
    以下の userstream リクエストの修正で userstream でも extended_tweet は正常に取れるようになりました。
    attachment:api_shortcuts.rb.diff
修正前後の mikutter を同時に起動して別マシンからテスト投稿した時の表示は以下:

過去の経緯?

https://social.mikutter.hachune.net/@toshi_a/99861507043910666
でとしぁさんが挙げられている
source:core/plugin/twitter/mikutwitter/api_call_support.rb@50429700#L118
では

 # Streaming APIにはtweet_modeスイッチが効かないとかTwitterアホか!?

と書かれていますが、少なくとも今現在は上記の通り tweet_mode=extended_tweet は効いているようです。

その他

  • mikutterにおける自分自身の投稿ツイート表示についてのとしぁさんコメント
    https://social.mikutter.hachune.net/@toshi_a/99861627822711844
    @tsutsuii 自分がツイートしたものを別のmikutterで見るというのが一番簡単でしょうね。Twitterはツイート作成APIエンドポイント(/statuses/update.json)の戻り値として、作成されたツイートを返してくるのですが、これはREST APIなので互換モード(Extended Tweetつき)形式になっていて、mikutterは全てのレスポンスをTL表示に利用するため検証になりません(たまに投稿APIのレスポンスよりUserStreamのほうが早く返してくることがあるため、CompatになったりExtendedになったりすると思われる)。
    投稿APIをmikutterから叩かなければ回避できるので、別のクライアントか、もう一つmikutterを立ち上げて投稿すると惑わされることがないと思います

ファイル

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