🐛 fix: health check wait timeout, _deletedJobIds memory cleanup
- Add 30-second timeout to health check wait loop in startUpload/ startSelectedUpload to prevent infinite spin if healthCheckRunning gets stuck - Clear _deletedJobIds Set when batch completes to prevent unbounded memory growth over long sessions with many deletions Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
ffc8fb4026
commit
ada3b31ad1
@ -1315,7 +1315,7 @@ function getSelectedJobLinks() {
|
||||
async function startUpload() {
|
||||
if (uploading) return;
|
||||
// Wait for any running health check to finish (e.g. startup auto-check)
|
||||
while (healthCheckRunning) await new Promise(r => setTimeout(r, 100));
|
||||
for (let _hcWait = 0; healthCheckRunning && _hcWait < 300; _hcWait++) await new Promise(r => setTimeout(r, 100)); // max 30s
|
||||
uploading = true; // set immediately to prevent double-click race
|
||||
updateQueueActionButtons();
|
||||
|
||||
@ -1386,7 +1386,7 @@ async function startUpload() {
|
||||
|
||||
async function startSelectedUpload() {
|
||||
if (uploading) return;
|
||||
while (healthCheckRunning) await new Promise(r => setTimeout(r, 100));
|
||||
for (let _hcWait = 0; healthCheckRunning && _hcWait < 300; _hcWait++) await new Promise(r => setTimeout(r, 100)); // max 30s
|
||||
uploading = true; // set immediately to prevent double-click race
|
||||
updateQueueActionButtons();
|
||||
|
||||
@ -1567,6 +1567,7 @@ function handleProgress(data) {
|
||||
function handleBatchDone(summary) {
|
||||
uploading = false;
|
||||
applySummaryResults(summary);
|
||||
_deletedJobIds.clear(); // Free memory — stale IDs no longer needed after batch completes
|
||||
|
||||
// Reset aborted jobs back to queued so they can be restarted
|
||||
for (const job of queueJobs) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user