はじまり
Dropbox上でBoostnoteを管理していたら、データが消えました…
正確にはアプリから参照できなくなったですね。
boostnoteでdropboxデータの復元を試みるに記載されている内容と類似した以下のような現象が起きました。
- データはDropbox上に存在
- Boostnote mobileからは確認可能
- 再リンクが不可
環境
- MacOS Sierra 10.12.6
- Boostnote 10.11.15
- Boostnote mobileとDropbox連携(ios 12.1.4)
- python3.6
原因
Boostnoteアップデート後CSONファイルが存在するにも関わらずストレージ設定が消えてフォルダとドキュメントが表示されない障害原因と解消法がわかりやすくて助かりました。
結論的には、既存のcsonファイルにおいてcontentが空だと、読み込みがエラーになるようです。
同様の問題かどうかは、View > Toggle Developer Tools
を参照するとわかります。
解消方法
やるべきことはcontentが空のファイルを見つけて、削除することです。
順番にノートの中身を確認するにはいかんせんノートの数が多かったので、以下のpythonスクリプトをBoostnote/notes
ディレクトリにて行うことで探索しました。
import cson
from pathlib import Path
p = Path.cwd()
for path in p.iterdir():
with open(path) as f:
c = cson.load(f)
if len(c['content']) < 1:
print(path.name)
内容はカレントディレクトリにおけるcsonファイルのcontentが1文字より小さいものを探して、ファイル名を標準出力です。
一応、中身を確認してから表示されたファイルを削除することをお勧めします。
これで再リンクできない問題は解決されるはずです。
同時に起きていた、別の問題について
Boostnoteを再起動するたびにリンクが解除され、再リンクが必要となる問題も発生していたのですが、そちらは$HOME/Library/Application Support/Boostnote
を削除して、Boostnoteをインストールし直して強引に解決しました。
もっといい解決法がありそうですが、サボってしまいましたね…