環境
OS X EI Capitan 10.11.6
Ubuntu16LTS
Boostnote バージョン 0.11.7 (0.11.7)
現象
先日、11.7に自動アップデートしてから、ストレージ設定が消えてしまいフォルダリストが表示されずドキュメントが参照できない状況に陥りました。
Dropboxで共有している対象フォルダ内にCSONファイルは残っている状態。
BoostnoteMobileでは正常に動作。
端的な障害要因と解消法
ドキュメントCSONファイル群の中に
'content': ''
だけのCSONファイルが含まれていた事が原因。
該当ファイルの削除で解消。
原因特定までの作業記録
設定から再度ストレージ登録を行うが、Addボタンを押しても設定追加されず。
Toggle Developer ToolsでAddボタンクリック時のコンソールを見ると、以下のエラーが発生していました。
main.js:5080 Uncaught (in promise) TypeError: Cannot read property 'forEach' of undefined
at file:///Applications/Boostnote.app/Contents/Resources/app/compiled/main.js:5080:20
at Array.forEach (<anonymous>:null:null)
at data (file:///Applications/Boostnote.app/Contents/Resources/app/compiled/main.js:5061:21)
at file:///Applications/Boostnote.app/Contents/Resources/app/node_modules/redux/dist/redux.min.js:1:4863
at a (file:///Applications/Boostnote.app/Contents/Resources/app/node_modules/redux/dist/redux.min.js:1:1193)
at file:///Applications/Boostnote.app/Contents/Resources/app/compiled/main.js:58845:10
at <anonymous>:null:null
main.js:5080 行のコード。
note.tags.forEach(function (tag) {
note.tagsをArrayとして認識していないように見受けられました。
過去の0.11台の全バージョン入れ替え、ドキュメント共有で使用しているDropBoxの入れ直しでも状況変わらず。
~/LibraryApplication\Support/Boostnote内の
Cache
Gouache
Local Storage
内のファイルクリア
Cookies
Cookies-journal
config.json
の削除でも状況変わらず。
ここまでで試した結果から、これはBoostnoteの問題では無くドキュメント内容の問題だと判断。
csonファイルをコピーして、タイムスタンプが新しいファイルをフォルダから外しては起動を繰り返し、特定のファイルが含まれていると現象が発生する事が分かりました。
対象ファイル
ファイル名
41bfab30-14e6-4bfc-b4db-bba9ae4640cd.cson (多分、これは私の環境だけの名称だと思います)
ファイルサイズ
14バイト
内容
'content': ''
考察
Addボタンで処理が滞った原因は上記csonファイルから生成されたオブジェクトにtagsフィールドが存在せず、ArrayのforEachメソッドが存在せずエラーが発生したことが原因のように見受けられました。
該当ファイルは意図的に作成した記憶は無いのですが思い当たるフシは、つい最近までiPhone5でBoostnoteMobileを使っていた際、それなりの数のフォルダとドキュメントを登録していたためメニューからDropboxを選択するとたどたどしくリストが更新されていたのですが、その最中に+ボタンでドキュメント追加するとタイミングによっては、意図しないフォルダに空のドキュメントが作成される事がありました。気づいた時は削除しましたがもしかしたら気づかず残った物があったのか、または悪いタイミングで想定外のファイルが出来てしまった事が原因では無いかと考えてます。
終りに
今後、ドキュメント構造などフォーマットに関するエラー情報がわかるようになると、より安定して使えるようになるかなと思いました。
あと全般的に私の各種環境が古くてお恥ずかしい...(iPhoneは5から8Plusにしました)
BoostnoteとBoostnoteMobileは今年になってから使わせていただくようになりましたが、テキストベースのメモを溜めては検索して過去の自分に助けてもらっている私には本当に便利なツールです、これは。
同様の現象でお困りの方の参考になれば幸いです。