You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems likely that a previous version of the IndexedDB database exists with the same name (i.e. one created by Workbox v2 code), so when the v3 Workbox code is running, its onupgradeneeded callback is never invoked, and thus the new object stores aren't created.
Stack trace ( visible while in USB Debug)
workbox-core.prod.js:1 Uncaught (in promise) DOMException: Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing.
at https://storage.googleapis.com/workbox-cdn/releases/3.4.1/workbox-core.prod.js:1:4385
at new Promise (<anonymous>)
at https://storage.googleapis.com/workbox-cdn/releases/3.4.1/workbox-core.prod.js:1:4347
at Generator.next (<anonymous>)
at n (https://storage.googleapis.com/workbox-cdn/releases/3.4.1/workbox-core.prod.js:1:167)
at https://storage.googleapis.com/workbox-cdn/releases/3.4.1/workbox-core.prod.js:1:261
Are you able to inspect the IndexedDB databases while debugging on your Android phone? If so, it could be helpful to see what's already there to better understand if an existing database or object store is causing the issue.
I'm skeptical that it is, though, because looking at the code, we now have upgrade logic for all instances of our IDB models, so they should be able to gracefully handle workbox v2 > v3 upgrade scenarios.
If you could narrow down what bit of code is causing the issue, that would also be helpful. Looking at your SW code, the only thing I see that uses IndexedDB is workbox.expiration.Plugin, if you remove that do you still see the error?
Also, it looks like workbox.expiration.Plugin creates an IndexedDB database with the same name as the cache name for the strategy including it. Is it possible that you have other code in your application that's created an IndexedDB database with the same name?
@jeffposnick maybe it's worth add a namespace to all database names we use in the future to minimize potential conflicts like this.
Are you able to inspect the IndexedDB databases while debugging on your Android phone?
Yes. theres nothing there. no databases whatsoever ( see first print).
Removing the expiration plugin seems to work in this case.
upgrading to 3.6.2 fixed the issue on the device.
I suspect the issue is related to the bug described in #1640 .
Downgraded my QA server to 3.4.1 to collect diagnostics data . The same behaviour is present except now i get an exception with the message "workbox.core.registerQuotaErrorCallback is not a function".
Hi there,
I´m having some issues with workbox on chrome for android.
Workbox Version: : 3.4.1
loaded from: importScripts('https://storage.googleapis.com/workbox-cdn/releases/3.4.1/workbox-sw.js');
Browser and platform: Google Chrome 69.0.3497.100 running on android 8.0
(the stacktrace below was copied from developer tools running USB debug).
Extra info on the behaviour:
The behaviour does not occour in a anonymous windows under the same conditions ( same browser / OS)
The behaviour does not occour on my desktop chrome ( same version as the mobile one). 69.0.3497.100 - 64 bits
when I run the website on a regular chrome tab, i do not see any databases under indexedDB.
-when i do the same on the anonymous window, i can see the databases.
Edit 1:
Stack trace ( visible while in USB Debug)
Here is my sw file:
thank you in advance
The text was updated successfully, but these errors were encountered: