Project

General

Profile

提案 #1356

ユーザータイムラインにslugを設定する

Added by cob odo 5 months ago. Updated 5 months ago.

Status:
分類待ち
Priority:
通常
Assignee:
-
Target version:
プラグイン名:
user_detail_view, mastodon
ブランチ:

Description

user_fragment (twitter)やdeffragment (mastodon)で作成するtimelineの引数がnilなので、意味のないslugがついてしまう。
サードパーティープラグインから操作するときにやりづらいので、意味のあるslugを設定したい。

Associated revisions

Revision 3e9418a4 (diff)
Added by cob odo 5 months ago

ユーザータイムラインにslugを設定する refs #1356

History

#1

Updated by cob odo 5 months ago

  • プラグイン名 changed from twitter, mastodon to user_detail_view, mastodon
#2

Updated by toshi_a 初音 5 months ago

これは具体的にどういうプラグインを作るために必要になりましたか?

別のプラグインが定義したタイムラインを操作するのは、バグの温床になるか互換性の維持が難しくなる一因となるので経験的にやめたほうが良いと思っていて、意図的にこのような実装にしています。

#3

Updated by cob odo 5 months ago

具体的には、(サードパーティープラグインとしての)load moreプラグインのブラッシュアップの過程で必要性を感じたものです。
というのも、元々存在したtwitter専用のload moreプラグインからそうだったんですが、ユーザータイムラインであるかどうかの判定を、そのタイムラインの親widgetのslugで判定していまして、これだと別のサードパーティープラグインによってタイムラインを含むfragmentが追加されていた場合に、意図しない挙動をするだろう、と考えたわけです。
発想としてはむしろ拡張に対して堅牢になるように、という意味あいでの提案でした。

将来的にcoreプラグイン側でこのslugが変更されたとしても、クラッシュするような作りにするつもりはない(処理可能なパターンのslugでなければ単に無視するため)んですが、そういった挙動をするプラグインを作ることは(残念ながら)確かに容易化するかもしれませんね。

mikutter的にはプラグイン同士の疎結合化をPluggaloidイベントで行うというのが正道かと思いますので、ダメということであれば別の拡張の仕方を考えることにします。

#4

Updated by toshi_a 初音 5 months ago

確かに、どうしたものでしょうね。よくよく考えてみると #1356-2 は事実であるにせよ、ユーザがいきあたりばったりで拡張していけることには一定の価値があるので、一意な名前をつけることのメリットの方をちゃんと考えていませんでした。

ダメということであれば別の拡張の仕方を考えることにします。

ちなみに、他の方法で同じことをしようとするなら、具体的にどんな方法があります?

#5

Updated by cob odo 5 months ago

具体的にはノープランです!

Also available in: Atom PDF