Project

General

Profile

バグ #1328

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

Added by Izumi Tsutsui 3 months ago. Updated 2 months ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
プラグイン名:
ブランチ:
topic/1328-pluggaloid-1.1.2
クラッシュする:
No

Description

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

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


Files

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

再現手順

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

History

#1

Updated by toshi_a 初音 3 months ago

た、たしかに

#2

Updated by Izumi Tsutsui 3 months ago

調査メモ その1

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

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

#3

Updated by Izumi Tsutsui 3 months ago

調査メモ その2

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

#4

Updated by Izumi Tsutsui 3 months ago

調査メモ その3

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

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

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

#5

Updated by Izumi Tsutsui 3 months ago

調査メモ その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 での変更ですかねえ

#6

Updated by toshi_a 初音 3 months ago

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

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

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

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

#7

Updated by Izumi Tsutsui 3 months ago

調査メモ その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

#8

Updated by Izumi Tsutsui 3 months ago

調査メモ その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


#9

Updated by Izumi Tsutsui 3 months ago

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


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

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

#10

Updated by Izumi Tsutsui 3 months ago

調査メモ その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


#11

Updated by toshi_a 初音 3 months ago

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

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

#12

Updated by toshi_a 初音 3 months ago

  • Status changed from 実装待ち to レビュー待ち
  • Assignee changed from toshi_a 初音 to Izumi Tsutsui
  • ブランチ set to topic/1328-pluggaloid-1.1.2

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

#13

Updated by Izumi Tsutsui 3 months ago

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

いつもありがとうございます。
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認証完了後、チュートリアルが進行する
#14

Updated by toshi_a 初音 2 months ago

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

merged

Also available in: Atom PDF