Dispatcharr/apps/channels
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: Increase maximum URL length for Stream model to 4096 characters (from 2000) and add validation for URL length in processing tasks. 2025-10-28 15:02:36 -05:00
tests DVR Features and bug fixes 2025-09-18 10:23:16 -05:00
__init__.py Initial commit 2025-02-18 11:14:09 -06:00
admin.py epg refactor, new relations and matching 2025-03-26 13:28:03 -04:00
api_urls.py DVR Features and bug fixes 2025-09-18 10:23:16 -05:00
api_views.py Enhancement: Improve batch EPG association in ChannelViewSet by adding validation for associations and implementing bulk updates, enhancing performance and error handling. 2025-11-17 17:41:52 -06:00
apps.py Refactor stats and vod proxy 2025-09-05 19:30:13 -05:00
forms.py Forms support floats now. 2025-05-15 15:32:21 -05:00
models.py Enhancement: Increase maximum URL length for Stream model to 4096 characters (from 2000) and add validation for URL length in processing tasks. 2025-10-28 15:02:36 -05:00
serializers.py Merge pull request #659 from FiveBoroughs/fix/channel-stream-order-serialization 2025-11-19 15:59:38 -06:00
signals.py Bug fix: Unable to preview custom streams. 2025-10-18 15:52:48 -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 Initial commit 2025-02-18 11:14:09 -06:00
utils.py Initial commit 2025-02-18 11:14:09 -06:00
views.py m3u modifications so streams are identified by hash, configurable, also streams now have channel_groups instead of a string for groups 2025-03-19 16:35:49 -04:00