Project

General

Profile

バグ #668

タブを作成するプラグインを無効化して再度起動すると空のタブが1度だけ残る

Added by Akira Ouchi over 5 years ago. Updated over 5 years ago.

Status:
新規
Priority:
通常
Target version:
プラグイン名:
ブランチ:
クラッシュする:

Description

タブを作成するようなプラグインを無効化(pluginディレクトリからよけたりディレクトリ名を変えたり)した後、mikutterを再起動すると、無効化したプラグインのタブが空の状態で生成されるようです。
また、そのまま再度起動し直すと、タブは見えなくなります。

<事前準備>
・タブを表示するようなプラグインを用意(嫁タブなど)
・表示を確認
<再現手順>
・mikutterを終了してプラグインをpluginディレクトリから適当な場所に一時移動する
・mikutterを起動して、空のタブが表示されることを確認
・mikutterを終了する
・mikutterを起動して、タブがなくなることを確認する

こんな感じの報告で良いでしょうか。不明点などがありましたらご指摘ください。

History

#1

Updated by Akira Ouchi over 5 years ago

環境忘れてました
・-Mac OS X- 10.9.2
・ruby 2.0.0p451
・Ruby-gtk2 2.2.0
・mikutter 3.0.0 alpha2

#2

Updated by toshi_a 初音 over 5 years ago

  • Assignee set to toshi_a 初音

どうしたものか

#3

Updated by Izumi Tsutsui over 5 years ago

たぶん同じ問題だと思いますが、
0.2.2系を使用していた環境で、
初めて 3.0.0 を起動した直後には
follow と following のタブが空の状態
(アイコンも無いのでタブは英文字になる)
で開始されます。
2回目以降の起動では上記タブは消えます。

確かに どうしたものか という感じではありますが……。

#4

Updated by toshi_a 初音 over 5 years ago

3の件も確かに同じ問題です。

これは、0.2系にあった、

  • タブの順番が正しく保存されない
  • 起動時に一番左(上)のタブ以外の特定のタブが選択された状態になってしまう

という問題を解決するために、起動時に、一度前回終了時に存在した全てのタブを空の状態で作り、プラグインが作成したタブを割り当てていくというふうにUIの設計を変更したことの影響で、前回存在したタブが次回起動時作成されなかった場合、空のタブとして残存するというのが原因です。

この問題は予てから認識があって、会話タブのような一時的なタブは並び順に記録しないという対策をとっていましたし、途中でプラグインを抜いたような今回のようなケースでも、空のタブは並び順に記録しないことで、永久に残存し続けることはなく、もう一度再起動すると消えるようにしていました。

しかし、この問題に関する言及が予想以上に多いので、完璧にはできないにせよ、何か対策をすべきかもしれません。

  • タブを作成したプラグインを全て記録しておいて、タブ復元時にそのプラグインがロードされていなければ空のタブを作成しない (プラグインのバージョンアップに対応できません)
  • 空のタブは長いスラッグの代わりに専用のアイコンを表示しておいて、空のタブが残存してもあまり気にならないようにする (根本的な解決ではない)

また、以下の方法は考えましたが副作用が気になるのでやめます。

  • 一定時間で空のタブを閉じる (APIレスポンスを受け取らないとタブが作れないプラグインもあるため、タブがいつになったら生成できるという保証がない)
  • 空のタブを非表示にする (できたらよかったが、どうやらそういった機能がバインディング側APIに用意されていない)

Also available in: Atom PDF