Commit graph

31 commits

Author SHA1 Message Date
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
SergeantPanda
79895a1ce4 Enhancement: Update URL validation to support authentication for non-FQDN hostnames in rtsp/rtp/udp URLs 2025-11-12 16:58:07 -06:00
SergeantPanda
b9e819e343 Enhancement: Adds support for UDP streams. Closes #617 2025-11-11 18:30:59 -06:00
SergeantPanda
21723e29bc Update URL validation to support FQDNs for rtsp/rtp protocols and improve regex pattern for flexibility. 2025-11-11 17:17:01 -06:00
Ragchuck
ae8b85a3e2 feat: added support for rtsp 2025-10-15 22:06:01 +02:00
SergeantPanda
7b5a617bf8 Use custom validator for urls fields to allow for non fqdn hostnames.
Fixes #63
2025-08-01 11:28:51 -05:00
SergeantPanda
7c442064e6 Implement natural sorting for channel names in auto channel sync 2025-07-28 18:01:50 -05:00
SergeantPanda
45239b744c Delete cached files when deleting epg account. 2025-05-26 16:19:57 -05:00
SergeantPanda
f87ab4b071 Rolled back some earlier memory omptimizations that were causing issues with extremely large m3us. 2025-05-22 21:52:28 -05:00
SergeantPanda
451c892457 Changed logging levels. 2025-05-20 19:49:55 -05:00
SergeantPanda
06b1dec2b6 Better logic for cleanup task. Skip gathering memory if we aren't going to log it anyway. 2025-05-19 10:02:42 -05:00
SergeantPanda
6087ecadf0 Cleaning up added gc's 2025-05-19 09:42:21 -05:00
SergeantPanda
f821743163 Created a utility to clean up django memory. 2025-05-18 19:46:52 -05:00
SergeantPanda
ed665584e9 The struggle is real 2025-05-18 17:05:03 -05:00
SergeantPanda
f18ca4de37 Initial rework of EPG processesing. 2025-05-16 19:26:06 -05:00
SergeantPanda
1772bc7257 Configure Redis to not write to disk and also run in unprotect mode if running in debug mode. 2025-05-15 13:16:18 -05:00
dekzter
5570562960 epg match run externally to keep memory usage low 2025-04-07 11:57:00 -04:00
dekzter
ecc96f8b69 memory optimization, m3u processing, re-added group filtering before m3u ingestion 2025-04-06 11:36:16 -04:00
dekzter
a38930b0c9 syntax error 2025-04-05 20:10:12 -04:00
dekzter
cdf9df03bd lazy-load sentencetransformer instance 2025-04-05 20:05:45 -04:00
dekzter
7351264e8a centralized and lazy-loaded redis client singleton, check for manage.py commands so we don't init proxyservers (redis connection), put manage commmands before starting uwsgi 2025-04-04 16:18:12 -04:00
dekzter
83b11254ac clear redis when we get the client 2025-04-03 13:24:32 -04:00
dekzter
c5e0de5d48 logos, channel numbers, websocket regex test so we can properly test against python regex and not javascript 2025-04-02 16:27:28 -04:00
dekzter
2995d2c456 added centralized task locking 2025-03-31 10:03:49 -04:00
SergeantPanda
3c3961bb3a Bypass redis for management commands. 2025-03-22 12:23:54 -05:00
SergeantPanda
071efaf017 Lowered max retries and timeout for redis client. 2025-03-22 11:36:28 -05:00
SergeantPanda
d622c96aba Improved connection handling for redis pubsub. 2025-03-22 08:48:39 -05:00
SergeantPanda
efaa7f7195 Singular redis-client. 2025-03-21 10:55:13 -05:00
SergeantPanda
fdcd3f2dbb Added error checking to global redis. 2025-03-14 15:42:28 -05:00
dekzter
05d9ea30e2 new migrations, setting proxy and redirect profiles, setting locked profiles 2025-03-14 16:12:37 -04:00
dekzter
8b6b16232b re-added in socket streaming for transcode processes 2025-03-14 10:08:01 -04:00