Skip to content

cafemedia/slickstream-safari-14-idb-fix

 
 

Repository files navigation

Safari 14 IndexedDB fix

Safari on macOS Big Sur 11.4 and iOS 14.6 has a nasty bug where IndexedDB requests get lost and never resolve. The issue was fixed in Safari 14.7.

This library (well, function) works around the issue and tells you when IndexedDB is actually available.

To install:

npm i safari-14-idb-fix

To use:

import idbReady from 'safari-14-idb-fix';

idbReady().then(() => {
  // Safari has definitely figured out where IndexedDB is.
  // You can use IndexedDB as usual.
});

All bundles

A modern build tool will handle the above example fine, but if you need a specific build:

  • safari-14-idb-fix/dist/index.js EcmaScript module.
  • safari-14-idb-fix/dist/index.cjs CommonJS module.
  • safari-14-idb-fix/dist/iife.min.js Minified plain JS, which creates an idbReady global.

About

Working around a Safari IndexedDB bug

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 82.5%
  • TypeScript 17.5%