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

View file

@ -1159,7 +1159,8 @@ const initializeWindows = function() {
onSuccess: 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.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(); document.close();
stop(); window.stop();
window.qBittorrent.Client.stop();
} }
}).send(); }).send();
} }