Problems with Ionic + localForage + IndexedDB


#1

Hi,

I am having with this configuration on android devices with low available disk space (< 1 gb). When I try to write with:
localforage.setItem

It returns this error:

vendor.js:1 ERROR Error: Uncaught (in promise): QuotaExceededError
    at c (polyfills.js:3)
    at polyfills.js:3
    at IDBTransaction.r.onabort.r.onerror (vendor.js:1)
    at IDBTransaction.H (polyfills.js:3)
    at t.invokeTask (polyfills.js:3)
    at Object.onInvokeTask (vendor.js:1)
    at t.invokeTask (polyfills.js:3)
    at r.runTask (polyfills.js:3)
    at e.invokeTask [as invoke] (polyfills.js:3)
    at p (polyfills.js:2)

With > 1Gb of available disk space it works fine.

Inspecting with chrome on devices with enough available disk (>1gb) storage the aplication tab shows this:

330mb of quota.

With mobiles with low available disk space (< 1gb) inspector shows 1kb of 1kb quota available

I already know that the space available to store information is up to quota by I can’t understand how a mobile with 600-700mb of available disk storage sets quota to unusable value.

Is this normal?

Ionic info:

@ionic/cli-utils  : 1.19.1
    ionic (Ionic CLI) : 3.19.1
global packages:
    cordova (Cordova CLI) : 7.0.1 
local packages:
    @ionic/app-scripts : 3.1.8
    Cordova Platforms  : android 6.4.0 ios 4.5.4
    Ionic Framework    : ionic-angular 3.9.2
System:
    Android SDK Tools : 26.1.1
    ios-sim           : 6.1.2 
    Node              : v10.0.0
    npm               : 5.6.0 
    OS                : macOS High Sierra
    Xcode             : Xcode 9.3 Build version 9E145

LocalForage library version: 1.7.1


#2

Does not sound normal, but it depends. Mobile devices often advertise 1GB of memory and then you realize most of it is already hard devoted to OS backup etc.

If you have access to more of devices try that and compare.


#3

I have tried on emulator(Nexus 5x) , Sony and Samsung devices J3, J5, J7.


#4

Someone no founded in this problem with indexeddb?