バグ #1434
完了Twitter プラグイン導入後の初回起動で Twitter 認証が完了しない
説明
NetBSD/i386 9.0版のておくれ Live Image のテスト中に起きたのでとりあえず報告。
- pkgsrc の mikutter 4.0.4 を入れる
- mikutter の twitter_bootstrap 相当である mikutter-plugins-twitter の pkgsrc パッケージを入れる
- この状態で一度も mikutter を起動していない
- mikutter を起動
- 「Worldを追加」で Twitter認証のURLボタンを押してブラウザで認証してトークンを入力する(添付の画面)
- OKを押す
⇒本来であれば「アカウント追加」のウインドウの続きで「このアカウントでログインしますか」が出るべきところで、「アカウント追加」のウインドウが閉じてしまう(落ちている?) - その状態でもう一度「Worldを追加」からやり直しても同じくトークン入力後に「アカウント追加」のウインドウが落ちる
- 一度 mikutter を終了して、再度 mikutter を起動して「Worldを追加」からもう一度Twitter認証すると、トークン入力後に本来の「このアカウントでログインしますか」に遷移する
バグ #1328: チュートリアルで Twitterの認証待ちのあと認証が完了してもチュートリアルが進行しない
の問題と似ている気がしますが、今回は「Worldを追加」をやり直すだけではダメで、
一度 mikutter を終了して 2回めの起動でないと進行しません。
pkgsrc オレオレ環境なので入っている gem は以下
ruby26-addressable-2.7.0 ruby26-atk-3.4.1 ruby26-base-2.6.5nb1 ruby26-cairo-1.16.5 ruby26-cairo-gobject-3.4.1 ruby26-delayer-1.1.2 ruby26-delayer-deferred-2.1.3 ruby26-diva-1.0.2 ruby26-gdk_pixbuf2-3.4.1 ruby26-gettext-3.3.5 ruby26-gio2-3.4.1 ruby26-glib2-3.4.1 ruby26-gobject-introspection-3.4.1 ruby26-gtk2-3.4.1 ruby26-httpclient-2.8.3 ruby26-instance_storage-1.0.0 ruby26-locale-2.1.3 ruby26-memoist-0.16.2 ruby26-mikutter-4.0.4 ruby26-mikutter-plugins-twitter-4.0 ruby26-mini_portile2-2.4.0 ruby26-moneta-1.2.0 ruby26-native-package-installer-1.0.6 ruby26-nokogiri-1.10.8 ruby26-oauth-0.5.4 ruby26-pango-3.4.1 ruby26-pkg-config-1.3.7 ruby26-pluggaloid-1.2.0 ruby26-public_suffix-4.0.3 ruby26-simpleidn-0.0.9 ruby26-text-1.3.1 ruby26-twitter-text-simpleidn-3.0.0.0 ruby26-typed-array-0.1.2 ruby26-unf-0.1.4 ruby26-unf_ext-0.0.7.5
Twitter 関連プラグインは 2020/2/17 時点でタグを打たれたものですが、DMプラグインは除いています。
詳細は以下を参照
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/net/mikutter-plugins-twitter/Makefile?rev=1.2&content-type=text/x-cvsweb-markup&only_with_tag=MAIN
ファイル
Izumi Tsutsui さんがほぼ5年前に更新
~/.mikutter/settings を削除した状態で
--debug 付きで起動して認証を進めたところ、
「このアカウントでログインしますか」まで進んだあと
以下のエラーで落ちました。
warning: /usr/pkg/lib/ruby/2.6.0/rubygems/deprecate.rb:62:in `block (2 levels) in deprecate': NOTE: Plugin::Twitter::World#user is deprecated; use user_obj.idname instead. It will be removed on or after 2018-05-01. Plugin::Twitter::World#user called from {MIKUTTER_DIR}/plugin/guide/guide.rb:119. notice: {MIKUTTER_DIR}/core/serialthread.rb:48:in `force_exit!': all Serial Thread Group jobs canceled. notice: {MIKUTTER_DIR}/mikutter.rb:91:in `boot!': raise mainloop exception `NoMethodError' notice: {MIKUTTER_DIR}/mikutter.rb:96:in `error_handling!': catch NoMethodError notice: {MIKUTTER_DIR}/core/configloader.rb:34:in `block in <module:ConfigLoader>': configloader: wrote 3 keys (UserConfig::account_crypt_key, UserConfig::achievement_took, Plugin::guide_guide_sequence) Traceback (most recent call last): 16: from /usr/pkg/share/mikutter/mikutter.rb:115:in `<main>' 15: from /usr/pkg/share/mikutter/mikutter.rb:79:in `boot!' 14: from /usr/pkg/share/mikutter/plugin/gtk/mainloop.rb:10:in `mainloop' 13: from /usr/pkg/share/mikutter/plugin/gtk/mainloop.rb:10:in `catch' 12: from /usr/pkg/share/mikutter/plugin/gtk/mainloop.rb:12:in `block in mainloop' 11: from /usr/pkg/share/mikutter/plugin/gtk/mainloop.rb:12:in `loop' 10: from /usr/pkg/share/mikutter/plugin/gtk/mainloop.rb:23:in `block (2 levels) in mainloop' 9: from /usr/pkg/lib/ruby/gems/2.6.0/gems/delayer-1.1.2/lib/delayer.rb:38:in `method_missing' 8: from /usr/pkg/lib/ruby/gems/2.6.0/gems/delayer-1.1.2/lib/delayer/extend.rb:109:in `run_once' 7: from /usr/pkg/lib/ruby/gems/2.6.0/gems/delayer-1.1.2/lib/delayer/extend.rb:117:in `run_once_without_pop_reserve' 6: from /usr/pkg/lib/ruby/gems/2.6.0/gems/delayer-1.1.2/lib/delayer/procedure.rb:26:in `run' 5: from /usr/pkg/share/mikutter/plugin/rest/rest.rb:34:in `block in start' 4: from /usr/pkg/share/mikutter/plugin/rest/rest.rb:34:in `each' 3: from /usr/pkg/share/mikutter/plugin/rest/rest.rb:35:in `block (2 levels) in start' 2: from /usr/pkg/share/mikutter/plugin/rest/rest.rb:35:in `each' 1: from /usr/pkg/share/mikutter/plugin/rest/rest.rb:35:in `block (3 levels) in start' /usr/pkg/share/mikutter/plugin/rest/rest.rb:9:in `block in define_periodical_executer': undefined method `+' for nil:NilClass (NoMethodError) teokure-%
実績とコンフィグの書き込み関連の順番とかでしょうか。
toshi_a 初音 さんがほぼ5年前に更新
アカウント追加のウィンドウが閉じてしまうのは原因わかりません。
~/.mikutter/settings を削除した状態で
--debug 付きで起動して認証を進めたところ、
「このアカウントでログインしますか」まで進んだあと
以下のエラーで落ちました。
パッと見た感じ、UserConfigの、:retrieve_interval_friendtlと:retrieve_interval_mentionのデフォルト値が設定されなくなったことが原因かもしれません。
Izumi Tsutsui さんが4年以上前に更新
- ステータス を 実装待ち から 終了 に変更
https://github.com/mikutter/rest/issues/1#issuecomment-601491517 のとおり
rest プラグイン v1.1 で修正確認しました