Project

General

Profile

Actions

バグ #1409

closed

プラグインの起動順かなにかがおかしく、起動しない

Added by Akira Ouchi almost 3 years ago. Updated almost 3 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
プラグイン名:
ブランチ:
topic/1409-wrong-detect-bundle-plugin
クラッシュする:
No

Description

developブランチでgit pullしたところ、プラグインの読み込み順番が変化たためか起動に失敗するようになりました。

.mikutter.ymlのdepends.pluginに必要なものを書き足すと進むようですが、今まで.mikutter.ymlがなかったプラグインも引っかかるので骨が折れそうです〄パリーン。

  • commit 815d65f60b7045dffb4736c0ed8353ad1f328d07(Alpha2相当)
$ ruby mikutter.rb --debug
notice: {MIKUTTER_DIR}/core/configloader.rb:43:in `boot': load setting data from /Users/akkie/.mikutter/settings/setting.yml
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/uitranslator/uitranslator.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/intent/intent.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/score/score.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/skin/skin.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/spell/spell.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: /Users/akkie/.mikutter/plugin/twitter_api_keys/twitter_api_keys.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: {MIKUTTER_DIR}/plugin/world/world.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: /Users/akkie/.mikutter/plugin/twitter/twitter.rb
notice: {MIKUTTER_DIR}/core/miquire_plugin.rb:156:in `block in load': plugin loaded: /Users/akkie/.mikutter/plugin/api_request_file_cache/api_request_file_cache.rb
Traceback (most recent call last):
    18: from mikutter.rb:48:in `<main>'
    17: from mikutter.rb:48:in `require'
    16: from /Users/akkie/mikutter/core/boot/load_plugin.rb:10:in `<top (required)>'
    15: from /Users/akkie/mikutter/core/miquire_plugin.rb:98:in `load_all'
    14: from /Users/akkie/mikutter/core/miquire_plugin.rb:38:in `each_spec'
    13: from /Users/akkie/mikutter/core/miquire_plugin.rb:35:in `each'
    12: from /Users/akkie/mikutter/core/miquire_plugin.rb:35:in `each'
    11: from /Users/akkie/mikutter/core/miquire_plugin.rb:40:in `block in each_spec'
    10: from /Users/akkie/mikutter/core/miquire_plugin.rb:99:in `block in load_all'
     9: from /Users/akkie/mikutter/core/miquire_plugin.rb:149:in `load'
     8: from /Users/akkie/mikutter/core/utils.rb:290:in `atomic'
     7: from /Users/akkie/.rbenv/versions/2.6.3/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
     6: from /Users/akkie/mikutter/core/utils.rb:290:in `block in atomic'
     5: from /Users/akkie/mikutter/core/miquire_plugin.rb:159:in `block in load'
     4: from /Users/akkie/mikutter/core/miquire_plugin.rb:159:in `load'
     3: from /Users/akkie/.mikutter/plugin/api_request_file_cache/api_request_file_cache.rb:4:in `<top (required)>'
     2: from /Users/akkie/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/pluggaloid-1.2.0/lib/pluggaloid/plugin.rb:36:in `create'
     1: from /Users/akkie/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/pluggaloid-1.2.0/lib/pluggaloid/plugin.rb:36:in `instance_eval'
/Users/akkie/.mikutter/plugin/api_request_file_cache/api_request_file_cache.rb:12:in `block in <top (required)>': uninitialized constant Reserver (NameError)
Did you mean?  Retriever

Files

log.txt (17.6 KB) log.txt Akira Ouchi, 2019-12-22 00:50
Actions #1

Updated by toshi_a 初音 almost 3 years ago

  • Status changed from 分類待ち to 実装待ち
  • Assignee set to toshi_a 初音

うちの環境では再現しませんが、Reserverを定義しているcore/lib/reserver.rbをロードしているのが、core/mui/cairo_timeline.rbだけですね。

reserverはプラグインがロードされる前にロードされるべきです。プラグインの移動やTwitterのサードパーティ化によっていろいろとロード順が変わって見つかったというところでしょうか。

Actions #2

Updated by Akira Ouchi almost 3 years ago

core/pluginをpluginに移動する前のコミット(commit 2ccebe0cd7fdaee5d1e8ee72f4d5c900e382108e)戻して起動したログを貼りました。
log.txtの時はcore/pluginを読んだ後に~/.mikutter/pluginの読み込みに移っていますが、
移動後はpluginと~/.mikutter/pluginが順不同で読み込まれているのが少し気になっています。

Actions #3

Updated by Shibafu Midorino almost 3 years ago

miquire_plugin.rb get_kind()でのバンドル/サードパーティ判定がおかしくなっていそうな気がします。Environment::PLUGIN_PATHって変えてないですよね

Actions #4

Updated by toshi_a 初音 almost 3 years ago

標準プラグインの読み込みをサードパーティよりできるだけ先に行うのは、サードパーティプラグインが正しく.mikutter.ymlを指定できていない場合があるから行っていることです。これは修正します。

Actions #5

Updated by toshi_a 初音 almost 3 years ago

  • Status changed from 実装待ち to レビュー待ち
  • Assignee changed from toshi_a 初音 to Akira Ouchi
  • ブランチ set to topic/1409-wrong-detect-bundle-plugin

一旦、標準プラグインを先に読み込ませるようにしました。こっちでは再現できないので確認お願いします。

Actions #6

Updated by Akira Ouchi almost 3 years ago

  • Status changed from レビュー待ち to マージ待ち

ありがとうございます。標準プラグインが先に読み込まれていることを確認できました。

Actions #7

Updated by toshi_a 初音 almost 3 years ago

  • Status changed from マージ待ち to 終了

merged.

Actions

Also available in: Atom PDF