Open1

Firefox79に更新した際、Livemarksで読み込んでいるRSSフィードが破損してしまったときの解決策

poyopoyo@Node.jsを理解したいpoyopoyo@Node.jsを理解したい

Firefox79がリリースされたのが2020年7月なので、もう10か月経っているのだけど、バージョン79に更新した際、アドオンの保存データ制限が変更されてしまったため、Livemarksで読み込んでいるRSSフィードの一部が画像のように大量に破損して、新規フィードも登録できなくなってしまった。

Firefox79から78にダウングレードすれば、今まで通りLivemarksを使えたので、取り敢えずFirefox78を使い続けていたけど、今日になってようやく解決策を見つけて、最新版FirefoxでLivemarksが使えるようになった。今さらの解決策だけど、同じような事例でいつか誰かの役に立つかもしれないので、メモ書き。

以下の方法を実行してからFirefox79以降に更新しても、Firefox79以降に更新後、以下の方法を実行しても、どちらでもLivemarksが動くようになる。


storage-sync-v2の削除

まずFirefoxを終了させ、該当のプロファイルを、念のため別の保存場所にバックアップする。その後、プロファイルが保存されているフォルダを開き、

storage-sync-v2.sqlite
storage-sync-v2.sqlite-shm
storage-sync-v2.sqlite-wal

の3つのファイルを削除する。storage-sync-v2.sqliteしか存在しない場合もあるみたいなので、その場合は、storage-sync-v2.sqliteのみの削除で問題無い。


storage-sync.sqliteの編集

次に、プロファイルフォルダの

storage-sync.sqlite

を編集する。自分はDB Browser for SQLiteを使用した。

DB Browser for SQLitestorage-sync.sqliteを開き、データ閲覧タブでcollection_dataテーブルを開く。フィルターに"_status": "deleted"を入力して表示されたレコードを全選択し、現在のレコードを削除ボタンを画像のようにクリックする。

その後、変更を書き込みボタンをクリックして、DB Browser for SQLiteを終了する。以上で対処は完了。


Firefoxを起動する

修正したプロファイルを使用して、バージョン79以降のFirefoxを起動する。
Firefox79以降の最新版でも、Livemarksで読み込んでいるRSSフィードが破損せず、新規フィードの登録も無事できることが、画像のように確認できた。


今回の問題は、大量のRSSフィードをLivemarksで読み込ませていたせいで発生していたみたいだけど、Livemarksに読み込ませているRSSフィードがどこに保存されているのか、LivemarksのGitHubリポジトリを見ても説明を見つけられなかったので、解決するのにすごい苦労してしまった。

Firefoxの更新では、バージョン57レガシーアドオンの切り捨てに始まり、バージョン64ライブブックマークの切り捨て(に伴って作成されたopmlファイルに書かれたフィードの並び順が逆順になってしまっていた問題)、そして今回のバージョン79でのアドオンデータの制限変更、と定期的に苦労させられ続けている。ヘビーユーザーほど苦労させられている気がするのだけど、Firefoxの開発陣はヘビーユーザーは眼中にないってことなんだろうか…。