プロジェクト

全般

プロフィール

バグ #1261

twitterプラグインを外すと起動できない

cob odo5ヶ月前に追加. 4ヶ月前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
twitter
ブランチ:
topic/1261-without-twitter
クラッシュする:
はい

説明

空のプロファイルで core/plugin/twitter/ ディレクトリを削除して起動すると起動前にクラッシュしました。

miquire :system, 'system'

を core/plugin/twitter/model/user.rb でしか行っていないのが原因かと思います。

Mikutter::Systemを参照している箇所は、activity, guide, saved_search, search, twitterの5プラグインですが、サードパーティプラグインでもシステムメッセージを出すことは十分にありうるし、それぞれで miquire :system, 'system' させるのは不自然なため、mikutter.rbの
miquire :boot, 'load_plugin'

より前で一括して miquire :system, 'system' してしまうのがよいのかなと思います。
1261-miquire-system.patch (743 Bytes) 1261-miquire-system.patch cob odo, 2018-06-10 01:54

再現手順

空のプロファイルで core/plugin/twitter/ ディレクトリを削除して起動する。

トレースは以下の通り。

Traceback (most recent call last):
15: from ./mikutter.rb:104:in `<main>'
14: from ./mikutter.rb:68:in `boot!'
13: from /home/cobodo/repos/worldon/mikutter/core/plugin/gtk/mainloop.rb:10:in `mainloop'
12: from /home/cobodo/repos/worldon/mikutter/core/plugin/gtk/mainloop.rb:10:in `main'
11: from /home/cobodo/repos/worldon/mikutter/core/plugin/gtk/delayer.rb:10:in `block in boot'
10: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/delayer-0.0.2/lib/delayer.rb:43:in `method_missing'
9: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/delayer-0.0.2/lib/delayer/extend.rb:30:in `run'
8: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/delayer-0.0.2/lib/delayer/extend.rb:58:in `run_once'
7: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/delayer-0.0.2/lib/delayer/procedure.rb:24:in `run'
6: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:49:in `block in call'
5: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:95:in `call_all_listeners'
4: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:95:in `catch'
3: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:96:in `block in call_all_listeners'
2: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:96:in `each'
1: from /home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/pluggaloid-1.1.1/lib/pluggaloid/event.rb:97:in `block (2 levels) in call_all_listeners'
/home/cobodo/repos/worldon/mikutter/vendor/bundle/ruby/2.5.0/gems/pluggaloid-1.1.1/lib/pluggaloid/listener.rb:25:in `call': uninitialized constant Mikutter::System (NameError)
Did you mean? SystemExit

関係しているリビジョン

リビジョン 93d4c9ba (差分)
cob odo5ヶ月前に追加

twitterプラグインを外しても起動できるように、=miquire :system, 'system'の位置を移動。 refs #1261

履歴

#1 cob odo5ヶ月前に更新

パッチを添付します。とりあえずクラッシュはしなくなりますが、この場所でいいのかどうかよくわかりません。

#2 toshi_a 初音5ヶ月前に更新

  • ステータス分類待ち から 実装待ち に変更
  • 担当者cob odo にセット

これは良くないですね。修正しましょう。

systemをロードする場所はその場所が適切だと思います。commitするさい、ついでにTwitterプラグインからは =miquire :system, 'system'= を行わないようにするのが良いと思います。

#3 cob odo5ヶ月前に更新

  • ステータス実装待ち から レビュー待ち に変更
  • 担当者cob odo から toshi_a 初音 に変更
  • ブランチtopic/1261-without-twitter にセット

topic/1261-without-twitterブランチにpushしました。
レビューお願いします。

#4 toshi_a 初音5ヶ月前に更新

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

良さ

#5 toshi_a 初音4ヶ月前に更新

merged.

#6 toshi_a 初音4ヶ月前に更新

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

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