バグ #668
未完了タブを作成するプラグインを無効化して再度起動すると空のタブが1度だけ残る
説明
タブを作成するようなプラグインを無効化(pluginディレクトリからよけたりディレクトリ名を変えたり)した後、mikutterを再起動すると、無効化したプラグインのタブが空の状態で生成されるようです。
また、そのまま再度起動し直すと、タブは見えなくなります。
<事前準備>
・タブを表示するようなプラグインを用意(嫁タブなど)
・表示を確認
<再現手順>
・mikutterを終了してプラグインをpluginディレクトリから適当な場所に一時移動する
・mikutterを起動して、空のタブが表示されることを確認
・mikutterを終了する
・mikutterを起動して、タブがなくなることを確認する
こんな感じの報告で良いでしょうか。不明点などがありましたらご指摘ください。
Akira Ouchi さんが10年以上前に更新
環境忘れてました
・-Mac OS X- 10.9.2
・ruby 2.0.0p451
・Ruby-gtk2 2.2.0
・mikutter 3.0.0 alpha2
Izumi Tsutsui さんが10年以上前に更新
たぶん同じ問題だと思いますが、
0.2.2系を使用していた環境で、
初めて 3.0.0 を起動した直後には
follow と following のタブが空の状態
(アイコンも無いのでタブは英文字になる)
で開始されます。
2回目以降の起動では上記タブは消えます。
確かに どうしたものか という感じではありますが……。
toshi_a 初音 さんが10年以上前に更新
3の件も確かに同じ問題です。
これは、0.2系にあった、
- タブの順番が正しく保存されない
- 起動時に一番左(上)のタブ以外の特定のタブが選択された状態になってしまう
という問題を解決するために、起動時に、一度前回終了時に存在した全てのタブを空の状態で作り、プラグインが作成したタブを割り当てていくというふうにUIの設計を変更したことの影響で、前回存在したタブが次回起動時作成されなかった場合、空のタブとして残存するというのが原因です。
この問題は予てから認識があって、会話タブのような一時的なタブは並び順に記録しないという対策をとっていましたし、途中でプラグインを抜いたような今回のようなケースでも、空のタブは並び順に記録しないことで、永久に残存し続けることはなく、もう一度再起動すると消えるようにしていました。
しかし、この問題に関する言及が予想以上に多いので、完璧にはできないにせよ、何か対策をすべきかもしれません。
- タブを作成したプラグインを全て記録しておいて、タブ復元時にそのプラグインがロードされていなければ空のタブを作成しない (プラグインのバージョンアップに対応できません)
- 空のタブは長いスラッグの代わりに専用のアイコンを表示しておいて、空のタブが残存してもあまり気にならないようにする (根本的な解決ではない)
また、以下の方法は考えましたが副作用が気になるのでやめます。
- 一定時間で空のタブを閉じる (APIレスポンスを受け取らないとタブが作れないプラグインもあるため、タブがいつになったら生成できるという保証がない)
- 空のタブを非表示にする (できたらよかったが、どうやらそういった機能がバインディング側APIに用意されていない)