提案 #1356
未完了ユーザータイムラインにslugを設定する
説明
user_fragment
(twitter)やdeffragment
(mastodon)で作成するtimeline
の引数がnil
なので、意味のないslugがついてしまう。
サードパーティープラグインから操作するときにやりづらいので、意味のあるslugを設定したい。
toshi_a 初音 さんが5年以上前に更新
これは具体的にどういうプラグインを作るために必要になりましたか?
別のプラグインが定義したタイムラインを操作するのは、バグの温床になるか互換性の維持が難しくなる一因となるので経験的にやめたほうが良いと思っていて、意図的にこのような実装にしています。
cob odo さんが5年以上前に更新
具体的には、(サードパーティープラグインとしての)load moreプラグインのブラッシュアップの過程で必要性を感じたものです。
というのも、元々存在したtwitter専用のload moreプラグインからそうだったんですが、ユーザータイムラインであるかどうかの判定を、そのタイムラインの親widgetのslugで判定していまして、これだと別のサードパーティープラグインによってタイムラインを含むfragmentが追加されていた場合に、意図しない挙動をするだろう、と考えたわけです。
発想としてはむしろ拡張に対して堅牢になるように、という意味あいでの提案でした。
将来的にcoreプラグイン側でこのslugが変更されたとしても、クラッシュするような作りにするつもりはない(処理可能なパターンのslugでなければ単に無視するため)んですが、そういった挙動をするプラグインを作ることは(残念ながら)確かに容易化するかもしれませんね。
mikutter的にはプラグイン同士の疎結合化をPluggaloidイベントで行うというのが正道かと思いますので、ダメということであれば別の拡張の仕方を考えることにします。
toshi_a 初音 さんが5年以上前に更新
確かに、どうしたものでしょうね。よくよく考えてみると #1356-2 は事実であるにせよ、ユーザがいきあたりばったりで拡張していけることには一定の価値があるので、一意な名前をつけることのメリットの方をちゃんと考えていませんでした。
ダメということであれば別の拡張の仕方を考えることにします。
ちなみに、他の方法で同じことをしようとするなら、具体的にどんな方法があります?