Stop sync requests after qbt has been shutdown

This commit is contained in:
Chocobo1 2024-02-12 14:57:53 +08:00
parent a9741bb203
commit e31b553807
2 changed files with 24 additions and 7 deletions

View file

@ -34,7 +34,9 @@ window.qBittorrent.Client = (() => {
return {
closeWindows: closeWindows,
genHash: genHash,
getSyncMainDataInterval: getSyncMainDataInterval
getSyncMainDataInterval: getSyncMainDataInterval,
isStopped: isStopped,
stop: stop
};
};
@ -56,6 +58,15 @@ window.qBittorrent.Client = (() => {
return customSyncMainDataInterval ? customSyncMainDataInterval : serverSyncMainDataInterval;
};
let stopped = false;
const isStopped = () => {
return stopped;
};
const stop = () => {
stopped = true;
};
return exports();
})();
Object.freeze(window.qBittorrent.Client);
@ -654,7 +665,7 @@ window.addEventListener("DOMContentLoaded", function() {
};
})();
let syncMainDataTimer;
let syncMainDataTimeoutID;
let syncRequestInProgress = false;
const syncMainData = function() {
const url = new URI('api/v2/sync/maindata');
@ -839,10 +850,15 @@ window.addEventListener("DOMContentLoaded", function() {
};
const syncData = function(delay) {
if (!syncRequestInProgress) {
clearTimeout(syncMainDataTimer);
syncMainDataTimer = syncMainData.delay(delay);
}
if (syncRequestInProgress)
return;
clearTimeout(syncMainDataTimeoutID);
if (window.qBittorrent.Client.isStopped())
return;
syncMainDataTimeoutID = syncMainData.delay(delay);
};
const processServerState = function() {

View file

@ -1159,7 +1159,8 @@ const initializeWindows = function() {
onSuccess: function() {
document.write('<!doctype html><html lang="${LANG}"><head> <meta charset="UTF-8"> <meta name="color-scheme" content="light dark" /> <title>QBT_TR(qBittorrent has been shutdown)QBT_TR[CONTEXT=HttpServer]</title></head><body> <h1 style="text-align: center;">QBT_TR(qBittorrent has been shutdown)QBT_TR[CONTEXT=HttpServer]</h1></body></html>');
document.close();
stop();
window.stop();
window.qBittorrent.Client.stop();
}
}).send();
}