# NFOGuard Development Summary ## Current Status: v1.5.3 - Radarr Rename Event Fix! ๐Ÿ”ง ### Latest Updates (v1.5.3) - September 15, 2025 - **๐Ÿ”ง RADARR RENAME FIX**: Added missing event type filtering to Radarr webhooks - **โœ… CONSISTENCY**: Radarr now matches Sonarr's event handling (Download, Upgrade, Rename) - **๐ŸŽฏ FIXED ISSUE**: Radarr rename events now properly trigger NFO updates with correct dates - **๐Ÿ”„ WORKFLOW**: Both Sonarr and Radarr now follow identical webhook processing flows ### Previous Updates (v1.5.2) - **๐Ÿ”‡ TVDB WARNINGS**: Added SUPPRESS_TVDB_WARNINGS configuration option - **โœ… CLEAN LOGS**: Can now suppress non-critical TVDB API failure warnings - **๐Ÿงน PRODUCTION**: Cleaner logs for production monitoring - **๐ŸŽฏ FUNCTIONAL**: System works perfectly without TVDB (uses IMDb/Sonarr data) ### TVDB Warning Suppression **Added new environment variable:** ```bash # Suppress TVDB API warnings (true/false) - TVDB failures are common and non-critical SUPPRESS_TVDB_WARNINGS=true ``` ### Why Suppress TVDB Warnings? - **โŒ Common Failures**: Many series don't exist in TVDB database - **โœ… Non-Critical**: NFOGuard works perfectly without TVDB data - **๐Ÿ“Š Primary Data**: Uses IMDb IDs and Sonarr metadata (more reliable) - **๐Ÿงน Log Noise**: Reduces repetitive warning messages ### Before vs After **Before (noisy):** ``` INFO: All episodes found in cache WARNING: GET https://api4.thetvdb.com/v4/search/remoteid?remoteId=tt0804484&type=series failed: HTTP Error 400: Bad Request INFO: Completed processing TV series: Foundation (2021) [imdb-tt0804484] WARNING: GET https://api4.thetvdb.com/v4/search/remoteid?remoteId=tt9737326&type=series failed: HTTP Error 400: Bad Request ``` **After (clean):** ``` INFO: All episodes found in cache INFO: Completed processing TV series: Foundation (2021) [imdb-tt0804484] INFO: Completed processing TV series: Invasion (2021) [imdb-tt9737326] ``` ### Your Configuration ```bash DEBUG=false # Clean production logging PATH_DEBUG=false # No path mapping debug SUPPRESS_TVDB_WARNINGS=true # Hide non-critical TVDB failures ``` ### System Status - โœ… **Processing**: All TV series processing successfully - โœ… **Episodes**: All episodes found and processed - โœ… **NFO Files**: Being created/updated with proper metadata - โœ… **Functionality**: TVDB failures don't affect operation ## ๐Ÿ”‡ NFOGuard v1.5.2 - Ultra-clean production logs! ๐Ÿ”‡ ### Copy SUPPRESS_TVDB_WARNINGS=true to your server .env file and restart! --- ## ๐Ÿ”ง FIXED: Radarr Rename Event Issue (September 15, 2025) ### Issue Resolution **COMPLETED**: Fixed missing Radarr rename event handling by adding proper event type filtering. ### โœ… **Both Sonarr & Radarr Webhook Handling** - **NOW WORKING CORRECTLY** - **Sonarr Location**: `nfoguard.py:1429` - **Radarr Location**: `nfoguard.py:1479` **(FIXED)** - **Event Filtering**: `if event_type not in ["Download", "Upgrade", "Rename"]:` - **โœ… STATUS**: **Rename events ARE processed for both systems** - **โœ… BEHAVIOR**: Both systems now update NFO files with proper date metadata on rename ### What Was Fixed 1. **Added Event Type Filtering**: Radarr webhooks now explicitly filter for supported events 2. **Consistent Processing**: Both Sonarr and Radarr now follow identical webhook workflows 3. **Proper Rename Handling**: Rename events trigger full NFO processing pipeline --- ## ๐Ÿ“‹ NFOGuard Webhook Workflow Documentation ### ๐ŸŽฌ **Radarr Webhook Workflow** 1. **Import Event**: - Check database - if not seen before, current timestamp = truth of first import - Update movie.nfo with proper date metadata 2. **Rename Event**: - Check database - if we have the date, use existing date - Update movie.nfo file as always (preserving original import date) 3. **Rename Event (No Database Entry)**: - Check Radarr database for earliest import date - If found, use earliest import date โ†’ update database + movie.nfo - If no import date found, use digital/theatrical release date (fallback logic) ### ๐Ÿ“บ **Sonarr Webhook Workflow** 1. **Import Event**: - Check database - if not seen before, current timestamp = truth of first import - Update episode.nfo with proper date metadata 2. **Rename Event**: - Check database - if we have the date, use existing date - Update episode.nfo file as always (preserving original import date) 3. **Rename Event (No Database Entry)**: - Check Sonarr API for earliest import date - If found, use earliest import date โ†’ update database + episode.nfo - If no import date found, use air date (fallback logic) ### ๐Ÿ”„ **Key Processing Logic** - **Database First**: Always check NFOGuard database for existing dates - **Import Truth**: Webhook import events establish "source of truth" timestamps - **Date Preservation**: Rename events preserve original import dates, never overwrite - **Smart Fallbacks**: API queries โ†’ Release dates โ†’ Air dates โ†’ File dates (configurable) - **Batch Processing**: All webhooks go through batching system with configurable delays