バグ #1261
完了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'
してしまうのがよいのかなと思います。
ファイル
再現手順
空のプロファイルで 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