I noticed some weirdness with quota errors so I tried my best to reproduce it. I created a relatively small VM, installed Chrome, and threw a ton of data in IndexedDB. Eventually, it hit the quota limit. At that point I thought it was supposed to start giving me QuotaExceededError. But it seems to instead do one of two things. If it's adding data to an existing object store, it fails silently. If it's adding data during an onupgradeneeded handler (such as when creating a new database), it gives an AbortError ("Version change transaction was aborted in upgradeneeded event handler").
How are you guys handling quota errors? Is anybody doing this successfully? Is there a better way to test and debug these errors than what I did?
I would love a way to tell my users that they should delete some old data, rather than the current behavior of my app which is to silently fail in weird ways when the quota is exceeded.