Changes
📺 Plex Session Monitoring
Real-time Monitoring
- Active Session Tracking - Monitor active Plex sessions with configurable polling intervals
- Rolling TV Monitoring - Two new progressive monitoring types:
pilot_rolling
- Downloads TV seasons based on viewing progressfirst_season_rolling
- Systematic season progression monitoring
- Smart Season Detection - Identifies standalone pilots vs full seasons with appropriate search strategies
Auto-Reset Functionality
- Inactivity Detection - Automatically reset shows after configurable days of inactivity
- Scheduled Reset Jobs - Configurable schedules for automatic cleanup of inactive rolling shows
- Manual Reset Options - UI controls for resetting individual or bulk inactive shows
👥 User Management Enhancements
Watchlist Viewer
- User Watchlist Access - View any Plex user's watchlist items through a responsive sheet/drawer interface
- Detailed Item View - Shows movie/TV status, type badges, and addition dates
- Search & Filter - Real-time search with column visibility controls and pagination
New User Defaults
- Default Sync Settings - Configure whether new Plex users can sync by default
- Streamlined Onboarding - Automatic application of default settings to newly discovered users
- Bulk Management - Apply default settings to existing users
🔧 Architecture Improvements
Plugin System Enhancements
- Proper Error Handling - Added try/catch blocks to critical plugin initializations
- Deferred Initialization - Non-critical services (Discord, Plex) now initialize in onReady hooks
- Improved Logging - Better error context for failed initializations
UI/UX Refinements
- Unified Table Skeleton - New
TableSkeleton
component prevents layout shift during loading - Pagination-Aware Loading - Skeleton rows match current page size settings
- Simplified Loading States - Session monitoring uses simple "Loading..." text instead of skeleton rows
🛠️ Technical Improvements
Service Layer
- PlexSessionMonitorService - Comprehensive session monitoring with retry logic and GUID handling
- Enhanced Sonarr Integration - New methods for season searching and monitoring updates
- Date Serialization - Proper handling of Date objects in JSON responses
Database Schema
- New Tables:
rolling_monitored_shows
- Tracks progressive monitoring staterolling_monitoring_reset_schedule
- Stores auto-reset configurations
- Migration Support - Full migration and rollback capabilities
API Endpoints
- Session Monitoring - Complete CRUD operations for monitoring configuration
- Watchlist Access - Secure endpoints for viewing user watchlists
- Progress Tracking - Real-time progress updates via SSE
📋 Configuration
New Settings
-
Session Monitoring:
- Enable/disable toggle
- Polling interval (minutes)
- User filtering by ID or username
- Remaining episodes threshold
-
Rolling Monitoring Reset:
- Inactivity threshold (days)
- Auto-reset schedule configuration
-
New User Defaults:
- Default sync permission settings
Docker
docker pull lakker/pulsarr:0.3.10
Contributors
@coderabbitai, @coderabbitai[bot] and @jamcalli