プロジェクト

全般

プロフィール

バグ #1328

完了

チュートリアルで Twitterの認証待ちのあと認証が完了してもチュートリアルが進行しない

Izumi Tsutsui さんがほぼ5年前に追加. ほぼ5年前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
クラッシュする:
いいえ

説明

題名のとおりですが、 mikutter 3.8.6 でチュートリアルに従って Twitter 認証を実施して
Twitter TL が表示されるところまで進んでも、みくったーさんのチュートリアルが進行しません。

どの時点から起きるようになったのかが記録が残っていませんが、3.8から?


ファイル

mikutter-tutorial.png (79.5 KB) mikutter-tutorial.png Izumi Tsutsui, 2019-04-28 20:11

再現手順

新規に mikutter をインストールした環境で
twitter_api_keys を設定した上で
mikutterを開始して Twitter 認証する

toshi_a 初音 さんがほぼ5年前に更新

た、たしかに

Izumi Tsutsui さんがほぼ5年前に更新

調査メモ その1

mastodon トゥートだとTLの虚空に消えていくので適当に転記。

ubuntu 18.04 LTS の 3.6.4 だとチュートリアルは進行する。
ただし、 #1169 "最初のアカウントを登録する時、1度目のアカウント登録が正しく行われない" の問題があり、
1回目の認証だと Twitter タブ自体が出ず、2回目の認証完了で Twitter TLタブが出てチュートリアルも進む、
という動き。

Izumi Tsutsui さんがほぼ5年前に更新

調査メモ その2

mikutter 3.8.4 (ておくれ Live Image 20190103版) でも
このチケットの問題(チュートリアルで Twitterの認証待ちのあと認証が完了してもチュートリアルが進行しない)
は再現する。

Izumi Tsutsui さんがほぼ5年前に更新

調査メモ その3

https://social.mikutter.hachune.net/@tsutsuii/102019181186673967

ておくれ Live Image 20180422版 の mikutter 3.6.6 + #1208 修正版だと Twitter認証完了後 TLタブも出た上でチュートリアルも進む

本題と関係ありませんが、
チケット絵文字(というかユニコード絵文字?)をチケットに貼ると
Redmineが落ちて入力内容が虚空に消える問題って
Redmine更新(というか SQL更新?)で直ったりしてませんかね

Izumi Tsutsui さんがほぼ5年前に更新

調査メモ その4

https://social.mikutter.hachune.net/@tsutsuii/102019258421585378

mikutter 3.7.3 の ておくれ Live Image 20180722版でも
このチケットの問題(チュートリアルで Twitterの認証待ちのあと認証が完了してもチュートリアルが進行しない)
は再現する。

つまり
◯ 3.6.6
× 3.7.3
の bisect が必要ですが、 3.7 での変更ですかねえ

toshi_a 初音 さんがほぼ5年前に更新

以下のようなイベントリスナがあった場合、これが呼び出されたあと、以降のイベントリスナが呼び出されません。

@account_observer ||= on_world_after_created do |_new_world|
  start
  @account_observer.detach
  @account_observer = nil
end

これはrestプラグインですが、 Plugin::Listener.detach を呼び出すと、リスナの配列が破壊的に変更されてしまいます。リスナの配列のeachメソッドを使ってリスナを呼び出しているので、ループ中の配列の破壊的変更となります。

配列走査中に破壊的変更をすると良くなかったと思うのと(という記事などがパッと見見つからない)、どう考えても期待通りに行くと思えないので、このような操作を想定した改修をPluggaloidに入れて検証してみます

Izumi Tsutsui さんがほぼ5年前に更新

調査メモ その5

Izumi Tsutsui さんは書きました:

https://social.mikutter.hachune.net/@tsutsuii/102019258421585378

mikutter 3.7.3 の ておくれ Live Image 20180722版でも
このチケットの問題(チュートリアルで Twitterの認証待ちのあと認証が完了してもチュートリアルが進行しない)
は再現する。

上記トゥートの添付画像だとチュートリアルの先頭のスクロールの隠れたところに次のメッセージが出ているように見えますが、
もう一度試したらチュートリアル進まない状態になり、じゃあさっきはなんで進んだように見えたのか、という問題が……

https://social.mikutter.hachune.net/@tsutsuii/102019310276534838

いきました(やっぱり認証完了直後にはチュートリアル進んでいない)
https://social.mikutter.hachune.net/system/media_attachments/files/000/804/988/original/a3c1cf0b0fd06abf.jpg?1556691135

https://social.mikutter.hachune.net/@tsutsuii/102019326688644222

register_account の実績は解除した扱いにはなっている。コンフィグの書き込みが行われていないとか?
https://social.mikutter.hachune.net/system/media_attachments/files/000/804/995/original/f9041c02f1018c6a.jpg?1556691385

Izumi Tsutsui さんがほぼ5年前に更新

調査メモ その6

#1328-6 と関係あるようなないようなという感じですが、
チュートリアル開始時から Twitter認証完了時までに
「設定」のウインドウを開いていると動きが変わり
「設定ウインドウを開いているTwitter認証完了後にチュートリアルが進行する」
というようにも見えます
(ただし試行回数=2 なのでタイミング依存の可能性も否定できない)


https://social.mikutter.hachune.net/@tsutsuii/102019415225704163

~/.mikutter/plugin 以外を全部消して再度試しても Twitter認証完了後にチュートリアルが進まないのは変わらず。
が、ふと思いついて mikutterの「設定」画面を開いた状態で World追加から認証まで完了させたらチュートリアル進んだ。
ただ、試行回数=1 なので設定は関係なくタイミングの問題という可能性も否定できない
https://social.mikutter.hachune.net/system/media_attachments/files/000/805/024/original/0b9a1dbb5696df90.jpg?1556692736


https://social.mikutter.hachune.net/@tsutsuii/102019455045341387

とりあえず試行回数=2で
・mikutter起動→「設定」を開く→チュートリアルを進める→World追加→Twitter認証 とすると「お疲れ様!登録できたよ。」にチュートリアルが進む
・mikutter起動→チュートリアルを進める→World追加→Twitter認証 とするとチュートリアル進まない
というところは確認
https://social.mikutter.hachune.net/system/media_attachments/files/000/805/034/original/b05733bea745cca7.jpg?1556693344


Izumi Tsutsui さんがほぼ5年前に更新

「mikutter 3.7.0 ではみくったーさんが表示されないバグがある」
というツイートを自分でしていて、 #1229 に言及しているのですが、
詳細がさっぱり思い出せないという罠


https://twitter.com/tsutsuii/status/993529105051078657

@ebijun 3.7.0 はいろいろ検証中です(チュートリアルみくったーさんが表示されないというバグがある https://dev.mikutter.hachune.net/issues/1229

Izumi Tsutsui さんがほぼ5年前に更新

調査メモ その7

mikutter 3.8.6 でも同様。とりあえず調査はここまで。


https://social.mikutter.hachune.net/@tsutsuii/102019731470150690

ておくれ Live Image 20190407版 の mikutter 3.8.6 でも
・mikutter初回起動でチュートリアルを勧めてTwitter認証すると完了後もチュートリアルが進まない
・mikutter初回起動直後に「設定」を開いてあとでチュートリアルを進めてTwitter認証すると認証完了後のチュートリアルも進む
を確認。(試行回数は各2回)
https://social.mikutter.hachune.net/system/media_attachments/files/000/805/160/original/1ff5ebec4c109e68.jpg?1556697561


toshi_a 初音 さんがほぼ5年前に更新

  • ステータス分類待ち から 実装待ち に変更
  • 担当者toshi_a 初音 にセット
  • 対象バージョン3.8 にセット

ありがとうございます。
報告を参考に調査を進めた結果、Pluggaloidにバグがあって、それが原因であることが分かったため、 Pluggaloid 1.1.2 をリリースしました。
現在これを使うようにしたものでテスト中です。3.8で対応しようと思います。

toshi_a 初音 さんがほぼ5年前に更新

  • ステータス実装待ち から レビュー待ち に変更
  • 担当者toshi_a 初音 から Izumi Tsutsui に変更
  • ブランチtopic/1328-pluggaloid-1.1.2 にセット

とはいってもテストは簡単でした。このブランチでチュートリアルを流して進行できるか確認してもらえますか。

Izumi Tsutsui さんがほぼ5年前に更新

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

いつもありがとうございます。
pkgsrc 的には Gemfile はメンテナが参照する情報という位置づけだけなので
以下のとおり手動で入れ替えて確認しました。OKと思います。

  • 手元の NetBSD/i386 8.0 のメインマシンの mikutter を pkgsrc 最新の 3.8.7 にする
  • 同様に pkgsrc で plugaloid 1.1.1 を入れた状態で
    mikutter --confroot ~/.mikutter-1328
    として新規の状態(plugin/twitter_api_keys のみ追加)で認証
    • ⇒ Twitter認証完了後もチュートリアルが進行しない
  • 手元で pkgsrc の plugaloid を 1.1.2 に更新してそれを入れた状態で
    mikutter --confroot ~/.mikutter-1328-2
    として新規の状態(plugin/twitter_api_keys のみ追加)で認証
    • ⇒ Twitter認証完了後、チュートリアルが進行する

toshi_a 初音 さんがほぼ5年前に更新

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

merged

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