From f8634bf605b61d25ae71408fa36041d66492c0ba Mon Sep 17 00:00:00 2001 From: Lukas Date: Fri, 23 Jan 2026 15:25:47 +0100 Subject: [PATCH] Fix WebSocket room subscription format --- data/.fuse_hidden000049a200000009 | Bin 0 -> 65536 bytes data/.fuse_hidden000049c60000000a | Bin 0 -> 646872 bytes data/.fuse_hidden000049c700000008 | Bin 0 -> 32768 bytes docs/instructions.md | 45 ++++++++---------- docs/key | 3 +- .../nfo_loading_isolation_verification.md | 25 ++++++---- src/server/middleware/setup_redirect.py | 4 +- src/server/web/templates/loading.html | 4 +- 8 files changed, 46 insertions(+), 35 deletions(-) create mode 100644 data/.fuse_hidden000049a200000009 create mode 100644 data/.fuse_hidden000049c60000000a create mode 100644 data/.fuse_hidden000049c700000008 diff --git a/data/.fuse_hidden000049a200000009 b/data/.fuse_hidden000049a200000009 new file mode 100644 index 0000000000000000000000000000000000000000..f2c6f6d509e3374ffafdb7fbcc4eaff3bb9e0cef GIT binary patch literal 65536 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/instructions.md b/docs/instructions.md index 978e58b..35d95a1 100644 --- a/docs/instructions.md +++ b/docs/instructions.md @@ -122,33 +122,30 @@ For each task completed: ### Completed Tasks: 1. ✅ **NFO/Artwork Loading Isolation** (Completed: 2026-01-23) - - Task: Ensure during anime add, NFO, logo, art, etc. is loaded only for the specific anime being added - - Status: VERIFIED - Implementation is correct - + - Task: Ensure during anime add, NFO, logo, art, etc. is loaded only for the specific anime being added + - Status: VERIFIED - Implementation is correct 2. ✅ **Setup Redirect Flow** (Completed: 2026-01-23) - - Task: Implement redirect flow: setup -> loading -> login when user completes setup - - Changes: - - Added /loading to exempt paths in setup_redirect middleware - - Setup page redirects to loading with initialization in background - - Loading page connects to WebSocket for real-time progress - - After completion, loading redirects to login - + - Task: Implement redirect flow: setup -> loading -> login when user completes setup + - Changes: + - Added /loading to exempt paths in setup_redirect middleware + - Setup page redirects to loading with initialization in background + - Loading page connects to WebSocket for real-time progress + - After completion, loading redirects to login 3. ✅ **Close Setup and Loading Pages** (Completed: 2026-01-23) - - Task: Make setup and loading pages unavailable after completion to prevent re-access - - Changes: - - Check if setup is complete before allowing access to /setup - - Redirect to login if accessing /setup after completion - - Check if initialization is complete before allowing access to /loading - - Redirect to login if accessing /loading after initialization complete - + - Task: Make setup and loading pages unavailable after completion to prevent re-access + - Changes: + - Check if setup is complete before allowing access to /setup + - Redirect to login if accessing /setup after completion + - Check if initialization is complete before allowing access to /loading + - Redirect to login if accessing /loading after initialization complete 4. ✅ **Fix Loading Page WebSocket Auth** (Completed: 2026-01-23) - - Task: Fix 403 Forbidden error on WebSocket connection - - Issue: Loading page was connecting to /ws/progress (doesn't exist) - - Changes: - - Changed WebSocket URL from /ws/progress to /ws/connect (correct endpoint) - - Added /ws/connect to exempt paths in auth middleware - - Subscribe to 'system' room after connection for progress updates - - Fixed message data handling to match WebSocket format + - Task: Fix 403 Forbidden error on WebSocket connection + - Issue: Loading page was connecting to /ws/progress (doesn't exist) + - Changes: + - Changed WebSocket URL from /ws/progress to /ws/connect (correct endpoint) + - Added /ws/connect to exempt paths in auth middleware + - Subscribe to 'system' room after connection for progress updates + - Fixed message data handling to match WebSocket format ### Active Tasks: diff --git a/docs/key b/docs/key index 1435708..f5104a3 100644 --- a/docs/key +++ b/docs/key @@ -1,3 +1,4 @@ API key : 299ae8f630a31bda814263c551361448 -/mnt/server/serien/Serien/ \ No newline at end of file +/mnt/server/serien/Serien/ + diff --git a/docs/tasks/nfo_loading_isolation_verification.md b/docs/tasks/nfo_loading_isolation_verification.md index 9f91717..9c4921f 100644 --- a/docs/tasks/nfo_loading_isolation_verification.md +++ b/docs/tasks/nfo_loading_isolation_verification.md @@ -18,14 +18,14 @@ This document verifies that the anime add functionality correctly loads NFO, log When a new anime is added via `POST /api/anime/add`: 1. **API Endpoint** ([anime.py:694-920](../src/server/api/anime.py#L694-L920)) - - Validates input and extracts series key - - Creates database entry with `loading_status="pending"` - - Adds to in-memory cache - - **Queues background loading task** for the specific anime + - Validates input and extracts series key + - Creates database entry with `loading_status="pending"` + - Adds to in-memory cache + - **Queues background loading task** for the specific anime 2. **Background Loading** ([background_loader_service.py](../src/server/services/background_loader_service.py)) - - Processes one `SeriesLoadingTask` at a time - - Each task contains **only one anime's metadata**: key, folder, name, year + - Processes one `SeriesLoadingTask` at a time + - Each task contains **only one anime's metadata**: key, folder, name, year ### 2. NFO/Artwork Loading Process @@ -34,7 +34,7 @@ The `_load_nfo_and_images()` method ([background_loader_service.py:454-544](../s ```python async def _load_nfo_and_images(self, task: SeriesLoadingTask, db: Any) -> None: """Load NFO file and images for a series by reusing NFOService. - + Args: task: The loading task (contains data for ONE anime only) db: Database session @@ -43,7 +43,7 @@ async def _load_nfo_and_images(self, task: SeriesLoadingTask, db: Any) -> None: if self.series_app.nfo_service.has_nfo(task.folder): # Skip if exists return - + # Create NFO with THIS anime's specific data nfo_path = await self.series_app.nfo_service.create_tvshow_nfo( serie_name=task.name, # ✅ Only this anime's name @@ -58,21 +58,25 @@ async def _load_nfo_and_images(self, task: SeriesLoadingTask, db: Any) -> None: ### 3. Key Implementation Details #### ✅ Isolated Task Processing + - Each `SeriesLoadingTask` contains data for **exactly one anime** - Tasks are processed sequentially from the queue - No cross-contamination between anime #### ✅ Targeted NFO Creation + - `NFOService.create_tvshow_nfo()` receives parameters for **one anime only** - Downloads poster, logo, fanart to **that anime's folder only** - TMDB API calls are made for **that specific anime's name/year** #### ✅ No Global Scanning + - `SerieList.load_series()` only **checks** for existing files - It does **not** download or create any new files - Used only for initial library scanning, not during anime add #### ✅ Isolated Episode Scanning + - `_load_episodes()` uses `_find_series_directory()` and `_scan_series_episodes()` - Scans **only the specific anime's directory**, not the entire library - No impact on other anime @@ -80,15 +84,19 @@ async def _load_nfo_and_images(self, task: SeriesLoadingTask, db: Any) -> None: ## Verification ### Code Review + ✅ Reviewed implementation in: + - `src/server/services/background_loader_service.py` (lines 454-544) - `src/server/api/anime.py` (lines 694-920) - `src/core/entities/SerieList.py` (lines 149-250) ### Test Created + ✅ Created comprehensive test: `tests/integration/test_anime_add_nfo_isolation.py` The test verifies: + 1. NFO service called exactly once for new anime 2. Correct parameters passed (name, folder, year) 3. Existing anime not affected @@ -101,6 +109,7 @@ Note: Test requires database mocking to run fully, but code analysis confirms co **The current implementation is CORRECT and COMPLETE.** When adding a new anime: + - ✅ NFO is created only for that specific anime - ✅ Logo is downloaded only to that anime's folder - ✅ Artwork (poster, fanart) is downloaded only to that anime's folder diff --git a/src/server/middleware/setup_redirect.py b/src/server/middleware/setup_redirect.py index d0ddb4b..be52057 100644 --- a/src/server/middleware/setup_redirect.py +++ b/src/server/middleware/setup_redirect.py @@ -129,7 +129,9 @@ class SetupRedirectMiddleware(BaseHTTPMiddleware): # Check if initialization is complete try: from src.server.database.connection import get_db_session - from src.server.database.system_settings_service import SystemSettingsService + from src.server.database.system_settings_service import ( + SystemSettingsService, + ) async with get_db_session() as db: is_complete = await SystemSettingsService.is_initial_scan_completed(db) diff --git a/src/server/web/templates/loading.html b/src/server/web/templates/loading.html index e901978..1721c47 100644 --- a/src/server/web/templates/loading.html +++ b/src/server/web/templates/loading.html @@ -305,7 +305,9 @@ // Subscribe to system room for progress updates ws.send(JSON.stringify({ action: 'join', - room: 'system' + data: { + room: 'system' + } })); };