{"record":{"id":"1698777f5d176f6a","repo":"meteor/meteor","slug":"indexeddb-not-available","errorCode":null,"errorMessage":"IndexedDB not available","messagePattern":"IndexedDB not available","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/dynamic-import/cache.js","lineNumber":26,"sourceCode":"  // the dynamic module cache won't be necessary.\n  ! Meteor.isCordova &&\n  // Caching can be confusing in development, and is designed to be a\n  // transparent optimization for production performance.\n  Meteor.isProduction;\n\nfunction getIDB() {\n  if (typeof indexedDB !== \"undefined\") return indexedDB;\n  if (typeof webkitIndexedDB !== \"undefined\") return webkitIndexedDB;\n  if (typeof mozIndexedDB !== \"undefined\") return mozIndexedDB;\n  if (typeof OIndexedDB !== \"undefined\") return OIndexedDB;\n  if (typeof msIndexedDB !== \"undefined\") return msIndexedDB;\n}\n\nfunction withDB(callback) {\n  dbPromise = dbPromise || new Promise(function (resolve, reject) {\n    var idb = getIDB();\n    if (! idb) {\n      throw new Error(\"IndexedDB not available\");\n    }\n\n    // Incrementing the version number causes all existing object stores\n    // to be deleted and recreates those specified by objectStoreMap.\n    var request = idb.open(\"MeteorDynamicImportCache\", 2);\n\n    request.onupgradeneeded = function (event) {\n      var db = event.target.result;\n\n      // It's fine to delete existing object stores since onupgradeneeded\n      // is only called when we change the DB version number, and the data\n      // we're storing is disposable/reconstructible.\n      Array.from(db.objectStoreNames).forEach(db.deleteObjectStore, db);\n\n      Object.keys(objectStoreMap).forEach(function (name) {\n        db.createObjectStore(name, objectStoreMap[name]);\n      });\n    };","sourceCodeStart":8,"sourceCodeEnd":44,"githubUrl":"https://github.com/meteor/meteor/blob/5076d2f818d3cac01d0cf8312fa5b2332076a4fb/packages/dynamic-import/cache.js#L8-L44","documentation":"Error \"IndexedDB not available\" thrown in meteor/meteor.","triggerScenarios":"Thrown when the dynamic-import cache is used in a browser without IndexedDB support.","commonSituations":"Private browsing modes or old browsers where indexedDB is unavailable or disabled.","solutions":["Use a browser that supports IndexedDB.","If IndexedDB is disabled (e.g. private browsing), enable it or accept degraded caching of dynamic imports."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5076d2f818d3cac01d0cf8312fa5b2332076a4fb","analyzedAt":"2026-08-13T03:27:40.142Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}