Это связано с ошибкой в версиях iOS> = 12.2 и <13. Подробнее см. <a href="https://bugs.webkit.org/show_bug.cgi?id=197050" rel="nofollow noreferrer">https://bugs.webkit.org/show_bug.cgi?id=197050.Ошибка может возникнуть, когда страница или приложение возвращаются на передний план после того, как некоторое время находились в фоновом режиме.При возникновении ошибки IndexedDB остается в непригодном для использования состоянии, в результате чего SDK Firestore генерирует упомянутую ошибку и также становится непригодным для использования.
Единственный способ избежать ошибки - отключить сохранение.Если требуется включить сохранение, единственный способ потенциально восстановить - это перехватить ошибку с помощью глобального обработчика window.onerror
и, например, обновить страницу:
window.onerror = function(error) {
if (error.indexOf("An internal error was encountered in the Indexed Database server") >= 0) {
// Refresh the page to restore IndexedDb to a working state.
window.location.reload();
}
};
Дополнительный контекст: https://github.com/firebase/firebase-js-sdk/issues/1670