Handle DB delete onblocked
This commit is contained in:
@@ -25,7 +25,7 @@ class DBManager {
|
|||||||
request.onsuccess = (event) => {
|
request.onsuccess = (event) => {
|
||||||
var db = event.target.result;
|
var db = event.target.result;
|
||||||
db.onversionchange = function(event) {
|
db.onversionchange = function(event) {
|
||||||
db.close();
|
db.close();
|
||||||
};
|
};
|
||||||
db.onerror = function(errorEvent) {
|
db.onerror = function(errorEvent) {
|
||||||
console.log("Database error: " + errorEvent.target.errorCode);
|
console.log("Database error: " + errorEvent.target.errorCode);
|
||||||
@@ -36,13 +36,11 @@ class DBManager {
|
|||||||
};
|
};
|
||||||
|
|
||||||
request.onupgradeneeded = (event) => {
|
request.onupgradeneeded = (event) => {
|
||||||
console.log("Upgrade needed", event);
|
|
||||||
var db = event.target.result;
|
var db = event.target.result;
|
||||||
if(db.version === 1) {
|
|
||||||
if(onUgradeNeeded) {
|
db.onversionchange = function(event) {
|
||||||
onUgradeNeeded();
|
db.close();
|
||||||
}
|
};
|
||||||
}
|
|
||||||
|
|
||||||
// Create an objectStore for this database
|
// Create an objectStore for this database
|
||||||
var objectStore = db.createObjectStore("items", { keyPath: "uuid" });
|
var objectStore = db.createObjectStore("items", { keyPath: "uuid" });
|
||||||
@@ -50,6 +48,11 @@ class DBManager {
|
|||||||
objectStore.createIndex("uuid", "uuid", { unique: true });
|
objectStore.createIndex("uuid", "uuid", { unique: true });
|
||||||
objectStore.transaction.oncomplete = function(event) {
|
objectStore.transaction.oncomplete = function(event) {
|
||||||
// Ready to store values in the newly created objectStore.
|
// Ready to store values in the newly created objectStore.
|
||||||
|
if(db.version === 1) {
|
||||||
|
if(onUgradeNeeded) {
|
||||||
|
onUgradeNeeded();
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -139,12 +142,15 @@ class DBManager {
|
|||||||
console.log("Error deleting database.");
|
console.log("Error deleting database.");
|
||||||
callback();
|
callback();
|
||||||
};
|
};
|
||||||
|
|
||||||
deleteRequest.onsuccess = function(event) {
|
deleteRequest.onsuccess = function(event) {
|
||||||
console.log("Database deleted successfully");
|
console.log("Database deleted successfully");
|
||||||
callback();
|
callback();
|
||||||
};
|
};
|
||||||
deleteRequest.onblock = function(event) {
|
|
||||||
callback();
|
deleteRequest.onblocked = function(event) {
|
||||||
|
console.error("Delete request blocked");
|
||||||
|
alert("Your browser is blocking Standard Notes from deleting the local database. Make sure there are no other open windows of this app and try again. If the issue persists, please manually delete app data to sign out.")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user