Dispatcharr/apps/epg
SergeantPanda 89a23164ff Enhancement: Add system event logging and viewer with M3U/EPG endpoint caching
System Event Logging:
- Add SystemEvent model with 15 event types tracking channel operations, client connections, M3U/EPG activities, and buffering events
- Log detailed metrics for M3U/EPG refresh operations (streams/programs created/updated/deleted)
- Track M3U/EPG downloads with client information (IP address, user agent, profile, channel count)
- Record channel lifecycle events (start, stop, reconnect) with stream and client details
- Monitor client connections/disconnections and buffering events with stream metadata

Event Viewer UI:
- Add SystemEvents component with real-time updates via WebSocket
- Implement pagination, filtering by event type, and configurable auto-refresh
- Display events with color-coded badges and type-specific icons
- Integrate event viewer into Stats page with modal display
- Add event management settings (retention period, refresh rate)

M3U/EPG Endpoint Optimizations:
- Implement content caching with 5-minute TTL to reduce duplicate processing
- Add client-based event deduplication (2-second window) using IP and user agent hashing
- Support HEAD requests for efficient preflight checks
- Cache streamed EPG responses while maintaining streaming behavior for first request
2025-11-20 17:41:06 -06:00
..
migrations Enhancement: Add {endtime} as an available output for custom dummy epg. Convert {time} to {starttime} 2025-10-29 17:10:35 -05:00
__init__.py Initial commit 2025-02-18 11:14:09 -06:00
admin.py modified database fields for consistency, removed custom_url from streams (no longer needed) 2025-03-16 09:07:10 -04:00
api_urls.py Updated EPGData 2025-03-21 12:23:23 -05:00
api_views.py Enhancement: Add Custom Dummy EPG with Dynamic Pattern Matching and Name Source Selection 2025-10-18 12:08:56 -05:00
apps.py EPG auto import 2025-03-19 13:12:48 -05:00
models.py Enhancement: Change sub_title field in ProgramData model from CharField to TextField. This will allow for longer than 255 character sub titles. (Closes #579) 2025-10-22 17:02:40 -05:00
serializers.py Bug fix: Reduce websocket message size when processing epgs. Also remove unnecessary console logging during epg refresh. Fixes [Bug]: Page goes blank if sending too many requests / responses 2025-11-04 18:23:45 -06:00
signals.py Enhancement: Add Custom Dummy EPG with Dynamic Pattern Matching and Name Source Selection 2025-10-18 12:08:56 -05:00
tasks.py Enhancement: Add system event logging and viewer with M3U/EPG endpoint caching 2025-11-20 17:41:06 -06:00
urls.py Pre-Alpha v4 2025-02-24 15:04:03 -06:00
views.py Pre-Alpha v4 2025-02-24 15:04:03 -06:00