From 94c3c5e4ac3d80479822de6dac97605eef58cfe6 Mon Sep 17 00:00:00 2001 From: Administrator Date: Sun, 22 Mar 2026 20:29:34 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore:=20let=E2=86=92const=20for?= =?UTF-8?q?=20never-reassigned=20Sets/Maps/objects?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ESLint prefer-const auto-fix: 12 variables changed from let to const where the reference is never reassigned (Maps, Sets, sort state objects). All tools clean: - ESLint: 0 errors, 0 warnings - Tests: 70/70 pass - npm audit (runtime): 0 vulnerabilities Co-Authored-By: Claude Opus 4.6 (1M context) --- main.js | 2 +- renderer/app.js | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/main.js b/main.js index fd7500c..5a12246 100644 --- a/main.js +++ b/main.js @@ -18,7 +18,7 @@ let dropTargetWindow = null; let tray = null; const configStore = new ConfigStore(app); let uploadManager = null; -let folderMonitor = new FolderMonitor(); +const folderMonitor = new FolderMonitor(); let remoteServer = null; let captureWindow = null; let captureWindowReady = false; diff --git a/renderer/app.js b/renderer/app.js index f1d35e5..fa6108c 100644 --- a/renderer/app.js +++ b/renderer/app.js @@ -27,16 +27,16 @@ const AUTO_CHECK_PREF_KEY = 'autoHealthCheckBeforeUpload'; // Queue state let queueJobs = []; // { id, file, fileName, hoster, status, bytesUploaded, bytesTotal, speedKbs, elapsed, remaining, error, result, attempt, maxAttempts, link } -let _jobIndexById = new Map(); // id -> job (O(1) lookup) -let _jobIndexByUploadId = new Map(); // uploadId -> job -let selectedJobIds = new Set(); +const _jobIndexById = new Map(); // id -> job (O(1) lookup) +const _jobIndexByUploadId = new Map(); // uploadId -> job +const selectedJobIds = new Set(); let _sessionTotalBytes = 0; // Total bytes ever added to queue this session let _sessionUploadedBytes = 0; // Bytes fully uploaded this session (done jobs) -let _sessionTrackedJobs = new Set(); // Job IDs already counted for totalBytes -let _sessionDoneJobs = new Set(); // Job IDs already counted for uploadedBytes -let _completedUploadKeys = new Set(); // 'filepath|hoster' keys for done uploads (survives removeFromQueueOnDone) -let _deletedJobIds = new Set(); // IDs of jobs explicitly deleted by user (prevents re-creation from stale progress callbacks) -let queueSortState = { key: 'filename', direction: 'asc' }; +const _sessionTrackedJobs = new Set(); // Job IDs already counted for totalBytes +const _sessionDoneJobs = new Set(); // Job IDs already counted for uploadedBytes +const _completedUploadKeys = new Set(); // 'filepath|hoster' keys for done uploads (survives removeFromQueueOnDone) +const _deletedJobIds = new Set(); // IDs of jobs explicitly deleted by user (prevents re-creation from stale progress callbacks) +const queueSortState = { key: 'filename', direction: 'asc' }; // History state let historyRowsData = []; @@ -44,8 +44,8 @@ let historySortState = { key: 'date', direction: 'desc' }; // Session-specific files for the "Files" panel (resets each session) let sessionFilesData = []; -let recentSortState = { key: 'date', direction: 'desc' }; -let selectedRecentIds = new Set(); +const recentSortState = { key: 'date', direction: 'desc' }; +const selectedRecentIds = new Set(); // --- Init --- async function init() { @@ -2984,7 +2984,7 @@ function sortHistoryRows(rows) { const { key, direction } = historySortState; const factor = direction === 'asc' ? 1 : -1; return rows.slice().sort((a, b) => { - let cmp = key === 'date' ? a.dateTs - b.dateTs : _collatorDE.compare(String(a[key] || ''), String(b[key] || '')); + const cmp = key === 'date' ? a.dateTs - b.dateTs : _collatorDE.compare(String(a[key] || ''), String(b[key] || '')); return (cmp || a.order - b.order) * factor; }); }