From 64e78bb9b8c0bac1146a96e07bc2fb7c52cd9372 Mon Sep 17 00:00:00 2001 From: Lukas Date: Sun, 2 Nov 2025 15:18:30 +0100 Subject: [PATCH] chore: removed locks --- docs/frontend_backend_integration.md | 17 ++----- src/server/web/static/js/app.js | 70 ---------------------------- 2 files changed, 5 insertions(+), 82 deletions(-) diff --git a/docs/frontend_backend_integration.md b/docs/frontend_backend_integration.md index f6bd7c1..01457ca 100644 --- a/docs/frontend_backend_integration.md +++ b/docs/frontend_backend_integration.md @@ -35,22 +35,15 @@ Added the following endpoints to `/src/server/api/anime.py`: - Calls `SeriesApp.Download()` with folder list - Used when user selects multiple series and clicks download -#### `/api/v1/anime/process/locks` (GET) - -- Returns current lock status for rescan and download processes -- Response: `{success: boolean, locks: {rescan: {is_locked: boolean}, download: {is_locked: boolean}}}` -- Used to update UI status indicators and disable buttons during operations - ### 2. Updated Frontend API Calls Modified `/src/server/web/static/js/app.js` to use correct endpoint paths: -| Old Path | New Path | Purpose | -| --------------------------- | ----------------------------- | ------------------------- | -| `/api/add_series` | `/api/v1/anime/add` | Add new series | -| `/api/download` | `/api/v1/anime/download` | Download selected folders | -| `/api/status` | `/api/v1/anime/status` | Get library status | -| `/api/process/locks/status` | `/api/v1/anime/process/locks` | Check process locks | +| Old Path | New Path | Purpose | +| ----------------- | ------------------------ | ------------------------- | +| `/api/add_series` | `/api/v1/anime/add` | Add new series | +| `/api/download` | `/api/v1/anime/download` | Download selected folders | +| `/api/status` | `/api/v1/anime/status` | Get library status | ### 3. Verified Existing Endpoints diff --git a/src/server/web/static/js/app.js b/src/server/web/static/js/app.js index fe112b7..5d96029 100644 --- a/src/server/web/static/js/app.js +++ b/src/server/web/static/js/app.js @@ -26,7 +26,6 @@ class AniWorldApp { this.loadSeries(); this.initTheme(); this.updateConnectionStatus(); - this.startProcessStatusMonitoring(); // Initialize Mobile & Accessibility features this.initMobileAndAccessibility(); @@ -196,7 +195,6 @@ class AniWorldApp { this.showToast(this.localization.getText('connected-server'), 'success'); this.updateConnectionStatus(); - this.checkProcessLocks(); }); this.socket.on('disconnect', () => { @@ -1172,74 +1170,6 @@ class AniWorldApp { } } - async checkProcessLocks() { - try { - const response = await this.makeAuthenticatedRequest('/api/anime/process/locks'); - if (!response) { - // If no response, set status as idle - this.updateProcessStatus('rescan', false); - this.updateProcessStatus('download', false); - return; - } - - // Check if response is actually JSON and not HTML (login page) - const contentType = response.headers.get('content-type'); - if (!contentType || !contentType.includes('application/json')) { - console.warn('Process locks API returned non-JSON response, likely authentication issue'); - // Set status as idle if we can't get proper response - this.updateProcessStatus('rescan', false); - this.updateProcessStatus('download', false); - return; - } - - const data = await response.json(); - - if (data.success) { - const locks = data.locks; - this.updateProcessStatus('rescan', locks.rescan?.is_locked || false); - this.updateProcessStatus('download', locks.download?.is_locked || false); - - // Update button states - const rescanBtn = document.getElementById('rescan-btn'); - if (rescanBtn) { - if (locks.rescan?.is_locked) { - rescanBtn.disabled = true; - const span = rescanBtn.querySelector('span'); - if (span) span.textContent = 'Scanning...'; - } else { - rescanBtn.disabled = false; - const span = rescanBtn.querySelector('span'); - if (span) span.textContent = 'Rescan'; - } - } - } else { - // If API returns error, set status as idle - console.warn('Process locks API returned error:', data.error); - this.updateProcessStatus('rescan', false); - this.updateProcessStatus('download', false); - } - } catch (error) { - console.error('Error checking process locks:', error); - // On error, set status as idle - this.updateProcessStatus('rescan', false); - this.updateProcessStatus('download', false); - } - } - - startProcessStatusMonitoring() { - // Initial check on page load - this.checkProcessLocks(); - - // Check process status every 5 seconds - setInterval(() => { - if (this.isConnected) { - this.checkProcessLocks(); - } - }, 5000); - - console.log('Process status monitoring started'); - } - async showConfigModal() { const modal = document.getElementById('config-modal');