yathit / ydn-db

Javascript database module for Indexeddb, Web SQL and localStorage storage mechanisms supporting version migration, advanced query, SQL and transaction.
Apache License 2.0
503 stars 41 forks source link

Does this handle IE swallowing transaction errors? #102

Closed ste2425 closed 8 years ago

ste2425 commented 8 years ago

Ive been working with inededDB for a while and will be using your module for its encryption. I have recently noticed in IE that if you reach your quota. The transaction will silently fail. The add data request will report as successful but the transaction will not succeed or fail.

I was thinking of implementing some nasty hack where you have a timeout to assert to record exists by reading it should the transaction fail to resolve after a period of time.

However if you have come across this issue and rectified it in this module that would be the icing on the cake so to speak.

This is how i reproduce the issue on my machine in case you haven't seen it before. http://output.jsbin.com/gapari/quiet

In the console it should log

About to add data File: quiet Woot! Did it transaction onsucc

However should the quota be reached it will do this (Note the lack of transaction onsucc or onerr)

About to add data File: quiet Woot! Did it

You do have to spam the add button (took about 100 for me)

The log Woot! Did it comes from the request onsuccess and transaction onsucc from the transaction.

ste2425 commented 8 years ago

I'm closing this as its me being completely stupid. IE does not swallow the error, it instead fires the aborted handler, not the error handler.