SergeantPanda
36967c10ce
Refactor CoreSettings to use JSONField for value storage and update related logic for proper type handling. Adjusted serializers and forms to accommodate new data structure, ensuring seamless integration across the application.
2026-01-13 12:18:34 -06:00
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