Commit Graph

40 Commits

Author SHA1 Message Date
sbcrumb e054c945ff feat: add support for Maintainarr webhook
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-24 16:30:08 -04:00
sbcrumb 6946ce2082 fix: nfoguard info being put at top
Local Docker Build (Dev) / build-dev (push) Successful in 5s
2025-10-23 09:56:35 -04:00
sbcrumb 864a82cbc5 web: updates 2025-10-22 21:27:03 -04:00
sbcrumb 68baa1766c web: status dash updates 2025-10-22 21:27:03 -04:00
sbcrumb 80a09cf66e web: dynamic ports redirect errors 2025-10-22 21:27:03 -04:00
sbcrumb df17305160 web: remove old one 2025-10-22 21:27:03 -04:00
sbcrumb b65ba5d15d updates: to time again
Local Docker Build (Dev) / build-dev (push) Successful in 4s
Local Docker Build (Main) / build (pull_request) Successful in 4s
Local Docker Build (Main) / deploy (pull_request) Has been skipped
2025-10-20 19:49:01 -04:00
sbcrumb 8b683a9fad fix: Store actual movie release dates in database
Local Docker Build (Dev) / build-dev (push) Successful in 4s
- Movie processor now stores release dates in 'released' field
  - Added backfill endpoint for existing movies missing release dates
  - Fixes empty "Movie Released" column in web interface
2025-10-20 16:45:15 -04:00
sbcrumb c66c19dc59 feat: Add optional web interface authentication with session management
Local Docker Build (Dev) / build-dev (pull_request) Successful in 3s
Authentication Features:
  - Optional HTTP Basic Auth with session cookies for web interface protection
  - Configurable username/password with session timeout (default: 1 hour)
  - Selective route protection (web interface protected, webhooks/APIs remain public)
  - Authentication status display with logout functionality in web UI
  - Session cleanup and graceful logout with browser re-authentication prompt

  Configuration:
  - WEB_AUTH_ENABLED in .env (default: false - no breaking changes)
  - WEB_AUTH_USERNAME/WEB_AUTH_PASSWORD in .env.secrets
  - WEB_AUTH_SESSION_TIMEOUT configurable (5min-24h range)

  Development Tools:
  - Added debug_tv.py for TV series/episode debugging (series, season, episode levels)
  - Comprehensive episode data inspection with validation and sources breakdown
  - Complements existing debug_movie.py for complete media debugging coverage

  Technical Implementation:
  - SimpleAuthMiddleware with FastAPI integration
  - Session management with automatic cleanup
  - Authentication status API endpoints
  - Responsive CSS styling for auth UI elements
  - JavaScript functions for auth checking and logout
2025-10-20 16:21:50 -04:00
sbcrumb 748392c425 fix: not shutting down during scan
Local Docker Build (Dev) / build-dev (push) Successful in 4s
Local Docker Build (Main) / build (pull_request) Successful in 4s
Local Docker Build (Main) / deploy (pull_request) Has been skipped
2025-10-20 10:36:23 -04:00
sbcrumb 808322c7c7 fix: update to not add empty dirs
Local Docker Build (Dev) / build-dev (push) Successful in 4s
Local Docker Build (Main) / build (pull_request) Successful in 4s
Local Docker Build (Main) / deploy (pull_request) Has been skipped
2025-10-20 10:26:29 -04:00
sbcrumb 741a283df0 fixes: debugs for 422 and delete option
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-20 08:42:53 -04:00
sbcrumb 3c4e47b08e fixes: web interface shutdown
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-20 08:30:55 -04:00
sbcrumb 0734b4d14d featuer: smart scan to skip ones with dates
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-18 15:20:57 -04:00
sbcrumb 55d5f891b5 improv: phase 1 of faster scan and tracking of scans
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-18 15:16:02 -04:00
sbcrumb beb471d081 fix: fixing db time again
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-18 14:47:47 -04:00
sbcrumb dc96df70f8 db: timezone issues
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-18 14:44:56 -04:00
sbcrumb fdc8703044 fix: fix logs to ETC vs UTC
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-18 14:40:57 -04:00
sbcrumb c8b98f6765 fix: log start of manual scan and stop
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-18 14:38:38 -04:00
sbcrumb e06df9c8b0 db: more
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-18 09:37:53 -04:00
sbcrumb 79a311f8ec web: fix for unresponsive web interface
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-15 10:13:25 -04:00
sbcrumb 909df0cc83 web: update web interface for tv eps missing date
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-15 09:55:28 -04:00
sbcrumb 0dfc296bf4 fix: db not filling in .nfo data
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-15 07:56:56 -04:00
sbcrumb f903606d3a fix: fix webinterface broken when manual scan
Local Docker Build (Dev) / build-dev (push) Successful in 4s
2025-10-14 16:29:27 -04:00
sbcrumb 249b55964e Merge web-interface branch with enhanced UI features and improved date parsing
- Added Smart Fix modal with multiple date source options
- Enhanced edit modal with automatic date option population
- Improved date parsing with timezone handling and validation
- Added debug functionality for database inspection
- Fixed search issues and enhanced web interface controls

🤖 Generated with [Claude Code](https://claude.ai/code)
2025-10-14 15:32:37 -04:00
sbcrumb 7b7ac6f179 fix: web interface improvments
Local Docker Build (Dev) / build-dev (pull_request) Successful in 4s
2025-10-14 15:27:40 -04:00
sbcrumb dcace84406 fix: search issues in webinterfacey 2025-10-14 15:18:55 -04:00
sbcrumb 8da23013ff fix: search issues in webinterfacey
Local Docker Build (Dev) / build-dev (pull_request) Successful in 4s
2025-10-14 15:18:08 -04:00
sbcrumb cebed7a6bb feat: add webinterface
Local Docker Build (Dev) / build-dev (pull_request) Successful in 4s
2025-10-14 14:57:17 -04:00
sbcrumb d6c1b73959 Fix rename webhook targeting using episodeId lookup
Found that rename events contain episodeId field which can be used to fetch specific episode details. Replaced complex episode data extraction with direct API call to /api/v3/episode/{episodeId} to get season/episode numbers for targeted processing.

This should resolve rename webhooks processing entire series instead of single episodes.
2025-10-10 14:17:05 -04:00
sbcrumb e03249bb36 Add comprehensive rename event debugging
Local Docker Build (Dev) / build-dev (pull_request) Successful in 4s
Enhanced debugging for Sonarr rename events to understand the actual structure of episodeFileRenamed history records. Added checks for episode data in multiple possible locations (episode, episodeFile, data objects) to identify why season/episode information is missing.

🤖 Generated with [Claude Code](https://claude.ai/code)
2025-10-10 14:11:07 -04:00
sbcrumb a5eb23e886 fix: Improve Sonarr history API query for rename events
- Remove invalid eventType parameter that was causing 400 error
- Fetch recent history and filter client-side for episodeFileRenamed events
- Add better datetime parsing for event filtering
- Increase page size to 50 to catch more recent events
2025-10-10 14:03:40 -04:00
sbcrumb 4dff85c5c9 fix: Use environment variable directly for Sonarr API key
Local Docker Build (Dev) / build-dev (pull_request) Successful in 4s
- Changed from config.sonarr_api_key to os.environ.get('SONARR_API_KEY', '')
- Matches pattern used in tv_processor.py for Sonarr API access
2025-10-10 11:17:02 -04:00
sbcrumb 0e24f74dcb fix: Correct config attribute name for Sonarr URL in rename webhook handler
Local Docker Build (Dev) / build-dev (pull_request) Successful in 4s
- Changed config.sonarr_base_url to config.sonarr_url to match actual config object
- Fixes AttributeError that was preventing rename webhook targeting from working
2025-10-10 11:02:53 -04:00
sbcrumb 3d0dae995a fix: Add targeted mode for rename webhooks using Sonarr history API
- Rename webhooks don't include episodeFile data from Sonarr
- Added fallback to query recent episodeFileRenamed events from history
- Uses 1-hour window to find most recent rename for targeted processing
- Prevents full series processing on single episode renames
2025-10-10 10:40:16 -04:00
sbcrumb 6e15d79b8f debug: Add comprehensive logging for rename webhook episodeFile analysis 2025-10-10 10:29:15 -04:00
sbcrumb 3787ca2d23 Fix all Sonarr webhooks: Force targeted processing for single episodes
Local Docker Build (Dev) / build-dev (pull_request) Successful in 3s
- Extend episodeFile extraction to ALL webhook types (Download, Rename, Upgrade)
- Force targeted mode when episodes_data has ≤3 episodes to prevent full series processing
- Add debug logging to track episode extraction and processing mode decisions
- Prevents processing 177 episodes when only 1-3 episodes are involved
- Applies to imports, renames, and upgrades - not just renames
- Version bump to 2.0.12

This ensures that single episode operations (most common) only process the specific
episode(s) involved instead of scanning the entire series.
2025-10-09 18:11:47 -04:00
sbcrumb e897656396 Fix TV rename webhooks: Implement targeted episode processing
- Extract episode info from episodeFile when webhook.episodes is empty for rename events
- Create proper episode data structure for process_webhook_episodes method
- Prevents full series processing (177 episodes) for single episode renames
- Dramatically improves performance for rename operations
- Version bump to 2.0.11

Resolves issue where rename webhooks were falling back to full series processing instead of targeted mode.
2025-10-09 18:10:11 -04:00
sbcrumb ba0eed0daf feat: metrics 2025-09-29 09:23:48 -04:00
sbcrumb fa1e4e2ec7 improvements (#15)
Build & Push DEV to DockerHub / docker (push) Failing after 1m12s
Reviewed-on: #15
2025-09-27 13:00:08 -04:00