syusui-s / rabbit

🐰 A nostr client like TweetDeck
https://rabbit.syusui.net
GNU Affero General Public License v3.0
69 stars 13 forks source link

検索カラムを生成できないことがある #43

Closed penpenpng closed 1 year ago

penpenpng commented 1 year ago

バグの説明 検索窓にキーワードを入力してボタンを押下しても検索窓が生成されず、console に下記のエラーが出力されることがある。リロードで解消する。

おそらく現時点での rabbit のバージョンは 0cc30b54896837f43074439468afcb7ef698031e です。

solid.js:921 Uncaught DOMException: Failed to execute 'setItem' on 'Storage': Setting the value of 'RabbitConfig' exceeded the quota.
    at Object.setItem (https://syusui-s.github.io/rabbit/assets/resolveAsset-eef7245a.js:1:3340)
    at Object.fn (https://syusui-s.github.io/rabbit/assets/resolveAsset-eef7245a.js:1:3467)
    at Dn (https://syusui-s.github.io/rabbit/assets/index-b3c06b3f.js:1:5293)
    at re (https://syusui-s.github.io/rabbit/assets/index-b3c06b3f.js:1:5236)
    at Le (https://syusui-s.github.io/rabbit/assets/index-b3c06b3f.js:1:5992)
    at In (https://syusui-s.github.io/rabbit/assets/index-b3c06b3f.js:1:6452)
    at https://syusui-s.github.io/rabbit/assets/index-b3c06b3f.js:1:6275
    at z (https://syusui-s.github.io/rabbit/assets/index-b3c06b3f.js:1:6143)
    at Tn (https://syusui-s.github.io/rabbit/assets/index-b3c06b3f.js:1:6269)
    at z (https://syusui-s.github.io/rabbit/assets/index-b3c06b3f.js:1:6154)

再現手順

  1. サイドバーの検索ボタンをクリック
  2. input を埋めて enter を押下するか、ボタンを押下する

または

  1. 既に存在する検索カラムの検索窓を埋めて enter を押下する (この場合、検索カラムの内容が更新されない)

期待される挙動 検索カラムが生成される。

スクリーンショット 取り忘れました…

デスクトップ (該当する場合は以下の情報を埋めてください):

syusui-s commented 1 year ago

@penpenpng

ご報告ありがとうございます。

Failed to execute 'setItem' on 'Storage': Setting the value of 'RabbitConfig' exceeded the quota.

とあることから、恐らくキャッシュのデータ量がlocalStorageの上限(5MB)に達してしまったのではないかと思います。 (RabbitConfigが5MBに達するとは考えにくい)

c049fdd3a636e87c5ea34e250948b543688fe018 でキャッシュにIndexedDBを使うように変更してみました。

問題が改善されているかどうか確認いただいて、問題なさそうであれば本Issueをクローズしていただけると嬉しいです。

penpenpng commented 1 year ago

対応ありがとうございます!

現象がまれなので (少なくともわたしはこの issue を立てたときにしか遭遇したことがありません) 改善の確認は難しく、代わりに一旦 close とさせていただいて、万が一再現を確認したらまた reopen させてください。