Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@nolanlawson
Last active May 3, 2021 11:51
Show Gist options
  • Star 58 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save nolanlawson/08eb857c6b17a30c1b26 to your computer and use it in GitHub Desktop.
Save nolanlawson/08eb857c6b17a30c1b26 to your computer and use it in GitHub Desktop.
Safari IndexedDB/WebSQL bug wishlist

Safari IndexedDB/WebSQL bug wishlist

Big overview of what's missing in Safari 7.1+ and iOS 8+ in terms of browser storage.

Updated May 25th 2016

Safari (general)

UIWebView

WKWebView

Homescreen apps/Chrome for iOS

More details

@dfahlander
Copy link

dfahlander commented Aug 22, 2016

There's still one severe bug left: https://bugs.webkit.org/show_bug.cgi?id=158833. I get no attention from the guys at webkit bugzilla about this bug. In current preview of Safari 10, it still mixes keys in different object stores with each other when opening a cursor to iterate entries.

@dfahlander
Copy link

Ni Nolan, unfortunately there's been no one looking at my reported bug on webkit
https://bugs.webkit.org/show_bug.cgi?id=158833. It's really severe. Now that Apple claims to support the full standard, it's a pity if they didn't fix this one becuase it's yet another "mixing contents between ObjectStores" bug and it would harm their reputation. Is there anything you could do to make them open my bug (reported back in June)

@dfahlander
Copy link

dfahlander commented Sep 22, 2016

Update: Bradley Eidson fixed the issue today. He confirmed:

With my fix, with the Dexie test suite, I see:
1122 assertions of 1122 passed, 0 failed.

Let's hope it will do it to iOS and MacOS as well. They probably would need some pressure to get the issue published. If anyone reading this knows a site or web app that uses IndexedDB with multiple ObjectStores and possibly colliding primary keys (for example using autoIncremented primary keys), please let me know! I need concrete samples to set some pressure.

@dfahlander
Copy link

Also, @nolanlawson, would it be possible to get the issue into your wishlist?

@cesar-oyarzun-m
Copy link

cesar-oyarzun-m commented Sep 27, 2016

@dfahlander I'm testing on IOS 10.1 beta 1 using cordova but it seems to be an issue with security, I'm getting SecurityError (DOM Exception 18): IDBFactory.open() called in an invalid security context . Do you know if this was actually fix on IOS 10?

@erhanyasar
Copy link

I got still problem with it and issued you #260 would you please take a look?

@paulfrench
Copy link

Is indexeddb finally okay on a certain version of IOS ? I've tested my application against 10.3.1 and it seems okay apart from storing blobs. I still have to transform a blob to a base64 encoded string.

@sondreb
Copy link

sondreb commented Oct 12, 2017

It appears that IndexedDB on iOS does not recycle it's storage at all, meaning that writing a small object (e.g. 2 KB) many, many times, will eventually use up the phone storage. I had a small app running for a day updating only 5 records (of a total of 5 records) that was written probably millions of times over the course of a day, and it ended up using 1.5 GB of reported storage use. For the test I used LokiJS as a wrapper over IndexedDB, but have verified the same behavior with IndexedDB API directly.

Anyone else seeing or experiencing similar behavior? Is there some API that can be called to make iOS release "unused storage" somehow?

Some more details on the issue here: techfort/LokiJS#620

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment