fix broken backup after changes to stop operlapping operations (fix https://github.com/espruino/BangleApps/issues/3879)

master
Gordon Williams 2025-06-12 10:33:44 +01:00
parent 33a217f5d8
commit ef3425d9e9
1 changed files with 5 additions and 7 deletions

View File

@ -72,13 +72,13 @@ function bangleUpload() {
type:"arraybuffer", type:"arraybuffer",
mimeType:".zip,application/zip"}, function(data) { mimeType:".zip,application/zip"}, function(data) {
if (data===undefined) return; if (data===undefined) return;
var promise = Promise.resolve();
var zip = new JSZip(); var zip = new JSZip();
var cmds = ""; var cmds = "";
zip.loadAsync(data).then(function(zip) { return zip.loadAsync(data).then(function(zip) {
return showPrompt("Restore from ZIP","Are you sure? This will overwrite existing apps"); return showPrompt("Restore from ZIP","Are you sure? This will overwrite existing apps");
}).then(()=>{ }).then(()=>{
Progress.show({title:`Reading ZIP`}); Progress.show({title:`Reading ZIP`});
var promise = Promise.resolve();
zip.forEach(function (path, file){ zip.forEach(function (path, file){
console.log("path"); console.log("path");
promise = promise promise = promise
@ -124,16 +124,14 @@ function bangleUpload() {
showToast('Restore failed, ' + err, 'error'); showToast('Restore failed, ' + err, 'error');
resolve(); resolve();
}); });
return promise; }));
});
}
} }
window.addEventListener('load', (event) => { window.addEventListener('load', (event) => {
document.getElementById("downloadallapps").addEventListener("click",event=>{ document.getElementById("downloadallapps").addEventListener("click",event=>{
startOperation({name:"Backup Apps"}, () => bangleDownload); startOperation({name:"Backup Apps"}, () => bangleDownload());
}); });
document.getElementById("uploadallapps").addEventListener("click",event=>{ document.getElementById("uploadallapps").addEventListener("click",event=>{
startOperation({name:"Restore Apps"}, () => bangleUpload); startOperation({name:"Restore Apps"}, () => bangleUpload());
}); });
}); });