プロジェクト

全般

プロフィール

バグ #1302

依存関係の足りないプラグインがある

あひる 家鴨20日前に追加. 12日前に更新.

ステータス:
終了
優先度:
通常
対象バージョン:
プラグイン名:
intent, twitter
ブランチ:
topic/1302-tarinai-dependencies
クラッシュする:
はい

説明

developブランチにて、以下のプラグインでそれぞれ依存関係が足りなく、起動時にこける問題があります。
  • intent プラグイン
    intent プラグインは uitranslator に依存しているが書かれていないため、下記エラーで落ちる
     1: from /home/mikutter/mikutter/core/plugin/intent/intent.rb:63:in `block in <top (required)>'
    /usr/local/bundle/gems/pluggaloid-1.1.1/lib/pluggaloid/plugin.rb:257:in `method_missing': undefined method `_' for #<Plugin:0x00005650b8984bf8> (NoMethodError)
    
  • twitter プラグイン
     Photo プラグインに依存しているが、依存関係に書かれていないため、下記エラーで落ちる
     1: from /home/mikutter/mikutter/core/plugin/twitter/model/world.rb:53:in `to_hash'
    /home/mikutter/mikutter/core/plugin/twitter/model/user.rb:84:in `icon': undefined method `generate' for nil:NilClass (NoMethodError)
    

それぞれ mikutter.yml を修正すれば問題ないですが、これはそれぞれチケット分けた方がいいですかね(それがわかればブランチにコミットしてプッシュします)


再現手順

https://github.com/Na0ki/docker_mikutter/tree/master
このコンテナを起動してmikutterを起動すると再現する

関係しているリビジョン

リビジョン a737816b (差分)
あひる 家鴨16日前に追加

intent プラグインの足りない依存関係を追加 refs #1302

依存関係に uitranslator を追加

リビジョン cc640064 (差分)
あひる 家鴨16日前に追加

twitter プラグインの足りない依存関係を追加 refs #1302

依存関係に photo を追加

リビジョン 656834f3 (差分)
toshi_a 初音16日前に追加

Revert "twitter プラグインの足りない依存関係を追加 refs #1302"

This reverts commit cc6400644ff61d9c1d0449bb27f9e8379f2ce9a5.

リビジョン 3947035e (差分)
toshi_a 初音16日前に追加

[gui] Photoプラグインがロードされていることを前提としてしまっていた refs #1302

リビジョン bd1efb73 (差分)
toshi_a 初音12日前に追加

[twitter] photoプラグインがないとクラッシュする refs #1302

リビジョン e1201e6d (差分)
toshi_a 初音12日前に追加

[twitter] ユーザアイコンの画像がない場合にnilではなくnotfoundの画像を返す refs #1302

リビジョン 2dd7abb5 (差分)
toshi_a 初音12日前に追加

依存関係を修正 refs #1302

skin: photoへの依存を削除(不要だった)
twitter: skinプラグインに依存させる

リビジョン dc8141bf (差分)
あひる 家鴨12日前に追加

intent プラグインの足りない依存関係を追加 refs #1302

依存関係に uitranslator を追加

リビジョン 2cce8d99 (差分)
あひる 家鴨12日前に追加

twitter プラグインの足りない依存関係を追加 refs #1302

依存関係に photo を追加

リビジョン 9b82fe2f (差分)
toshi_a 初音12日前に追加

Revert "twitter プラグインの足りない依存関係を追加 refs #1302"

This reverts commit cc6400644ff61d9c1d0449bb27f9e8379f2ce9a5.

リビジョン 0a573d4b (差分)
toshi_a 初音12日前に追加

[gui] Photoプラグインがロードされていることを前提としてしまっていた refs #1302

リビジョン 36e8a626 (差分)
toshi_a 初音12日前に追加

[twitter] photoプラグインがないとクラッシュする refs #1302

リビジョン 73fc7a2f (差分)
toshi_a 初音12日前に追加

[twitter] ユーザアイコンの画像がない場合にnilではなくnotfoundの画像を返す refs #1302

リビジョン 707e6d04 (差分)
toshi_a 初音12日前に追加

依存関係を修正 refs #1302

skin: photoへの依存を削除(不要だった)
twitter: skinプラグインに依存させる

履歴

#2 cob odo20日前に更新

photo_filterの使用箇所を調べた限りでは、必ずnilチェックをしていたようなので、こちらは依存関係に書いていなくても問題ない(無ければ無いでよいように書いてある)ように思います。

#3 あひる 家鴨16日前に更新

  • ステータス分類待ち から toshi_aの判断待ち に変更

ひとまず自分の指摘した二箇所に関してコミットを分けてブランチにプッシュしてみました。
topic/1302-tarinai-dependencies ブランチです。

#4 cob odo16日前に更新

twitterプラグインに関しては、単に.generate(...)&.generate(...)にして、nilだったらnilのままにしておくという手もあるかと思います。特に画像を扱う必要のない環境でも、プラグイン自体は同じように使えたほうが便利そうです。

#5 あひる 家鴨16日前に更新

それもそうですね。
.generate(...) に関しては &.generate(...) にします。
その場合、photo は gui 系のプラグインが依存していればいいんですかね。

#6 cob odo16日前に更新

  1. GUI必要&画像必要:通常の環境
  2. GUI必要&画像不要:?
  3. GUI不要&画像必要:画像DL botのような運用?
  4. GUI不要&画像不要:あひる焼くな等のテキストベースbot?

2は必要性が謎ですね……あるとしたら極度に回線が細い環境でしょうか。例えば長期にわたって海上にいる漁船やタンカー、あるいは原子力潜水艦等で、衛星回線経由で見ている、とか?

guiやshortcutkeyはphotoに依存してしまってもいいような気がしますね。

#7 toshi_a 初音16日前に更新

  • ステータスtoshi_aの判断待ち から 実装待ち に変更

twitterプラグインに関しては、単に.generate(...)を&.generate(...)にして、nilだったらnilのままにしておくという手もあるかと思います。特に画像を扱う必要のない環境でも、プラグイン自体は同じように使えたほうが便利そうです。

そう思います。TwitterプラグインがPhotoに依存していないのは意図的なものです。 cc640064 は必要ないと思います。

それもそうですね。
.generate(...) に関しては &.generate(...) にします。
その場合、photo は gui 系のプラグインが依存していればいいんですかね。

guiもphotoに依存する必要はありません。GUIはPhoto Modelを利用するだけで生成しないからです。

ただ、 source:core/plugin/gui/tablike.rb@2d0864a0#L81 はPhotoがないとクラッシュするように見えるので、修正が必要ですね。

shortcutkeyもphotoとは関係がないので依存すべきではないですが、現状のユースケースでは考えなくて良さそうです。

#8 toshi_a 初音16日前に更新

guiプラグインの修正はコミットしました( 3947035e )。

twitterプラグインはPhoto Variantを使っているため Plugin::Photo::Photo.generate を使ってしまってますね。どうしたものか

#9 あひる 家鴨15日前に更新

&.generate 以外に何か別の方法を模索した方がいい感じですか?

#10 toshi_a 初音12日前に更新

  • ステータス実装待ち から レビュー待ち に変更
  • 担当者あひる 家鴨 にセット
  • ブランチtopic/1302-tarinai-dependencies にセット

多分動くと思うからpushしました!

#11 あひる 家鴨12日前に更新

  • ステータスレビュー待ち から マージ待ち に変更

最新のブランチであひる焼くながdockerコンテナで多分動いたと思うからマージしようぜ。

#12 toshi_a 初音12日前に更新

merged.
@ahiru develop基準になっていたためcherry-pickしました。masterにpushしたぶんでうまく動いてるか確認して大丈夫そうだったらcloseしてください(雑)

#13 あひる 家鴨12日前に更新

  • ステータスマージ待ち から 終了 に変更

多分動いたから閉じる
ありがとう

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