diff --git a/index.html b/index.html index be4fd42..7a90cae 100644 --- a/index.html +++ b/index.html @@ -425,7 +425,7 @@ while (await new Promise(o => setTimeout(o, 1000, true))) { case 'CLOSING': if (save) try { $.all('#actions > button').forEach(e => e.disabled = true); - let writable = await filehandle.createWritable({ mode: 'exclusive' }); + var writable = await filehandle.createWritable({ mode: 'exclusive' }); let buffer = await filehandle.getFile().then(f => f.arrayBuffer()); let data = await Rpc2.invoke('merge', { params: [new Uint8Array(buffer).toBase64()] }); await writable.write(Uint8Array.fromBase64(data)); @@ -433,6 +433,7 @@ while (await new Promise(o => setTimeout(o, 1000, true))) { await Rpc2.notify('close'); } catch (e) { if (Error.isError(e) && e.name === 'NoModificationAllowedError') continue; + await new Promise(fn => fn(writable.abort())).catch(() => null); alert('(ERROR) ' + new String(e ?? 'File operation failed')); } save = false;