Storybookのアドオンパネルが表示されない場合の対応

Storybookを使っていると、アドオンパネルが開かなくなった。

Controlsでプロパティの変更ができず、ハマったので対応方法をメモ。

環境

Storybook 6.5.13 for React。

問題

StorybookをGoogle Chromeで開き、 Show addons 状態にしても、アドオンパネルが表示されない。

一度発生すると、ヘッダーアイコンのクリック、キーボードショートカット A 、どちらを使っても解消しないが、Firefoxなどの別ブラウザで開くと、アドオンパネルが表示される。

対応

Knobsのアドオンパネルが開かないというissueがあり、その中のコメントに対応方法が記載されていた。

github.com

Sometimes the UI gets into a funny state where the addon panel is hidden based on local storage. In that case, running localStorage.clear() in the browser console and hard-reloading the page should fix it.

原因は同じようなものだろうと思ったので、記載の通り、ブラウザの開発者ツールを開き、コンソールタブから localStorage.clear() を実行。

ページを再読み込みすると、無事に表示された。

UIの状態管理をローカルストレージで行っているようで、おかしくなったらクリアすればいい模様。

別ブラウザで開くと解消したのも、ローカルストレージの状態によるものと思われる。未確認だが、シークレットウィンドウで開いても解消するかもしれない。

振り返り

スプリントレビューでコンポーネント確認を行う直前に発生したのでえらく焦った。

参考にしたissueは #17714 を含む6.5.0-alphaのリリースでcloseされていたが、どうもこのPRはアドオンパネルの開閉ボタンの追加で、ローカルストレージの不整合の対応ではなさそう。

とりあえず、Storybookでトラブルが発生したら、 localStorage.clear() してみることとしよう。