Refresh release metadata immediately before downloading an update and keep automatic checks current while the app remains open. Accept desktop file drops from the first renderer frame, preserve early and rapid drops until initialization completes, and show the live remaining upload size in the sidebar. Add regression coverage for update freshness, startup drag-and-drop ordering, localization, and remaining-byte retry behavior. Bump the application to v2.1.25.
This commit is contained in:
@@ -16,7 +16,28 @@
|
||||
};
|
||||
}
|
||||
|
||||
const api = { createSerializedRunner };
|
||||
function createReadySerializedRunner(task) {
|
||||
let ready = false;
|
||||
let releaseReady;
|
||||
const readyPromise = new Promise((resolve) => { releaseReady = resolve; });
|
||||
const runner = createSerializedRunner(async (...args) => {
|
||||
await readyPromise;
|
||||
return task(...args);
|
||||
});
|
||||
return {
|
||||
run: (...args) => runner.run(...args),
|
||||
flush: () => runner.flush(),
|
||||
ready() {
|
||||
if (ready) return false;
|
||||
ready = true;
|
||||
releaseReady();
|
||||
return true;
|
||||
},
|
||||
get isReady() { return ready; }
|
||||
};
|
||||
}
|
||||
|
||||
const api = { createSerializedRunner, createReadySerializedRunner };
|
||||
if (typeof module !== 'undefined' && module.exports) module.exports = api;
|
||||
else if (root) root.SerializedRunner = api;
|
||||
})(typeof window !== 'undefined' ? window : this);
|
||||
|
||||
Reference in New Issue
Block a user