一部のエモジがタブ補完できない:クォータ超過

ブラウザのキャッシュをクリアするまで、以下の問題に直面していました:コロン : を入力し、名前の一部を入力した後、<kbd>Tab</kbd> キーを押すか、それをクリックして(一部の)絵文字を挿入しようとすると、エラーが発生します。

DOMException: The quota has been exceeded.

E                         _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:16701
default                   _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:17087
dispatch                  _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:5443
handle                    _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:5247
(Async: EventListener.handleEvent)
add                       _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:5295
Se                        _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:5195
each                      _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:395
each                      _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:217
Se                        _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:5194
on                        _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:5934
default                   _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:16990
_applyEmojiAutocomplete   _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:33375
didInsertElement          _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:33183
n                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:43433
trigger                   _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:46074
n                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:43433
didCreate                 _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:19021
commit                    _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:62778
commit                    _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:62873
commit                    _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:18069
_renderRoots              _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:19654
_renderRootsTransaction   _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:19684
_revalidate               _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:19730
invoke                    _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66550
flush                     _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66442
flush                     _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66646
_end                      _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:67222
_boundAutorunEnd          _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66862
(Async: promise callback)
i                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66235
_scheduleAutorun          _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:67443
_end                      _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:67232
_boundAutorunEnd          _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66862
(Async: promise callback)
i                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66235
_scheduleAutorun          _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:67443
_end                      _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:67232
_boundAutorunEnd          _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66862
(Async: promise callback)
i                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66235
_scheduleAutorun          _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:67443
_ensureInstance           _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:67429
schedule                  _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:66998
<anonymous>               _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:38529
b                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:72276
_setModel                 _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:36655
r                         _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:36641
e                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:72238
e                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:72760
open                      _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:36583
replyToPost               _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:46862
send                      _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:38938
_replyToPost              _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:22973
replyToTopic              _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:22538
replyToTopic              self-hosted:1175
d                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:93072
_handleKey                _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:93136
handleKey                 _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:93513
_handleKeyEvent           _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:93199
(Async: EventListener.handleEvent)
c                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:92606
v                         _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:93359
init                      _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:22310
initialize                _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:80945
initialize                _application-b9edfbeb8d7476cb10ebd6a174760ebddf6c20c1d1a78bb95975f0d0af885455.js:7780
runInstanceInitializers   _vendor-ccc170ebd7d3ab2d70c3e0c52d1121e7ced023e6ed05de129e0060c2a71ba2e3.js:49347

これは、例えば以下の絵文字で発生します。

  • :face_with_raised_eyebrow:
  • :family_man_boy:
  • :man_mechanic:
  • :man_bad:
  • :camera_flash:
  • :partying_face:

以下のような絵文字では発生しません。

  • :heart_eyes:
  • :face_vomiting:
  • :point_right:

明確なパターンが見当たりません。

私は現在 Discourse 2.8.0.beta6 を使用しており、ブラウザは Firefox 93 です。これはブラウザ固有の問題かもしれません。キャッシュをクリアした後は正常に動作するようになりましたが、そもそもこの動作を引き起こした原因が何だったのか、まだ不思議に思っています。絵文字の挿入がキャッシュに関連するとは思えません。ただし、最近使用した絵文字リストの更新が原因だったのかもしれません。いずれにせよ、このようなエラーが発生すべきではないと思います。

https://try.discourse.org/ で同様の事象を再現できますか?

自分のフォーラムでもブラウザキャッシュをクリアした後に再現することはできませんでした :slight_smile:

とはいえ、この特定の失敗パターンを適切に処理できるようにすることは可能だと考えています。

整理できてよかったですね :+1:

これを修正すべきバグと分類するのは難しいかもしれません。ブラウザがストレージを使い果たすと、非常に悪い状態に陥ることがあります。

もしここで単純な再現手順を見つけていただければ、この件を再分類することに喜んで対応いたします。