Bug 199614 - REGRESSION (iOS 13): IndexedDB quota is Only 500 MB - No Way to Ask User for More
Summary: REGRESSION (iOS 13): IndexedDB quota is Only 500 MB - No Way to Ask User for ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Service Workers (show other bugs)
Version: Other
Hardware: iPhone / iPad Other
: P2 Blocker
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-07-09 03:30 PDT by Sanjay Kumar
Modified: 2023-05-09 07:28 PDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sanjay Kumar 2019-07-09 03:30:20 PDT
It seems in iOS 13 and iPadOS 13 Beta (I am using latest Beta 3) IndexedDB storage is now capped at 500 MB. 
They were previously uncapped.

Exact Error is:
QuotaExceededError: Unable to store record in object store because no enough pace for domain.

I confirmed this with "browser storage abuser" test here:
https://demo.agektmr.com/storage/

There is no way to ask user to approve more storage.
Users are stuck limited to just 1 or 2% of the storage they paid for on a premium device.

This may have been caused by:
https://bugs.webkit.org/show_bug.cgi?id=196545

This is seriously crippling and detrimental to all PWAs/Web Apps out there.
My App is used in mission critical flying and needs gigabytes of storage to store offline map tiles.
In general PWAs are now replacing Native applications so we need unlimited storage - not 500 MB total.

Please fix this ASAP. Either implement StorageManager API or at least allow Web Apps to use at least 5% of available storage as a sensible starting point.
Comment 1 Thomas Steiner 2019-07-09 17:02:42 PDT
> Either implement StorageManager API 

Also see https://bugs.webkit.org/show_bug.cgi?id=185405.
Comment 2 Radar WebKit Bug Importer 2019-07-10 09:24:59 PDT
<rdar://problem/52895628>
Comment 3 youenn fablet 2019-07-10 09:32:25 PDT
I confirmed the issue on iOS.
https://demo.agektmr.com/storage/ works fine on the Mac, user is prompted for more space.
Comment 4 youenn fablet 2019-07-12 11:26:52 PDT
(In reply to youenn fablet from comment #3)
> I confirmed the issue on iOS.
> https://demo.agektmr.com/storage/ works fine on the Mac, user is prompted
> for more space.

This is a Safari behavior and no change is needed in WebKit, the issue will be tracked internally.

Note though that even though the user is granted quota increase, a given request might still fail due to QuotaError if the request is bigger than the quota increase validated by the user.
This is observable in https://demo.agektmr.com/storage/ when trying to write multiple 500MB blobs.
In general, I believe requests below 50MB should be fine.
Comment 5 Sanjay Kumar 2019-08-03 09:33:25 PDT
I re-architected my App to stay within 500 MB limit (which indeed seems to be the hard limit). This means Safari on iOS users will not see all benefits of my App until a higher limit is allowed via Storage manager API. Something like this:
https://bugs.webkit.org/show_bug.cgi?id=185405

Since this is a policy mater for Safari and not an actual bug in Webkit I am marking this bug as WONTFIX.
Comment 6 youenn fablet 2019-08-03 11:31:09 PDT
Changing to Invalid instead of WontFix.
Comment 7 Sanjay Kumar 2023-05-09 07:28:16 PDT
Fixed via:
https://bugs.webkit.org/show_bug.cgi?id=255095