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
b6c3234e96
Enhancement: Improve zombie channel handling in ProxyServer by checking client connections and cleaning up orphaned metadata, ensuring better resource management and stability.
2025-11-18 10:02:35 -06:00
SergeantPanda
6bd5958c3c
Enhancement: Improve channel shutdown logic in ProxyServer to handle connection timeouts and grace periods more effectively, ensuring proper channel management based on client connections.
2025-11-15 14:22:26 -06:00
SergeantPanda
2514528337
Enhancement: Update channel state handling in ProxyServer and views to include 'STOPPING' state, ensuring proper cleanup and preventing reinitialization during shutdown.
2025-11-14 19:57:59 -06:00
SergeantPanda
fa08216600
Enhancement: Add chunk timeout configuration in ConfigHelper. Improve StreamManager timeout handling for consistency. Only 1 heartbeat thread per worker should be started now. Timeout on proxy reduced from 60 seconds to 5.
2025-10-11 18:08:20 -05:00
SergeantPanda
fefab4c4c6
Enhancement: Improve resource cleanup in ProxyServer and StreamManager classes to avoid "SystemError: (libev) error creating signal/async pipe: Too many open files" errors
2025-10-10 15:26:02 -05:00
SergeantPanda
8e2c6c7780
Check for any state to detmine if channel is running.
2025-07-01 10:57:07 -05:00
SergeantPanda
c04ca0a804
Add buffering as an active state.
2025-06-25 17:01:21 -05:00
SergeantPanda
8eec41cfbb
Fixes a bug where heartbeat thread will exit if channel is in shutdown delay.
...
This may also fix #129
2025-06-13 10:27:51 -05:00
SergeantPanda
1e9ab54609
Use new methods for getting settings.
2025-06-12 16:11:43 -05:00
SergeantPanda
50048518a9
Fixes bug where mulitiple channel initializations can occur which leads to choppy streams and zombie channels.
2025-05-27 19:05:26 -05:00
SergeantPanda
423020861c
Replace time.sleep with gevent.sleep for improved concurrency
2025-04-30 13:32:16 -05: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
SergeantPanda
cf059045c1
Decoupled from global redis client.
2025-04-04 14:21:27 -05:00
SergeantPanda
3f440d855e
Replaced invalid character in logs.
2025-03-27 18:50:48 -05:00
dekzter
91a85020c3
modifications to allow previewing of a raw stream
2025-03-27 09:26:04 -04:00
SergeantPanda
d622c96aba
Improved connection handling for redis pubsub.
2025-03-22 08:48:39 -05:00
SergeantPanda
77002beaac
Improved logging to include current component name.
2025-03-22 07:42:46 -05:00
SergeantPanda
efaa7f7195
Singular redis-client.
2025-03-21 10:55:13 -05:00
SergeantPanda
4738d301d1
Fixed regression with buffer checks when clients should be disconnecting due to failure.
2025-03-20 21:03:01 -05:00
SergeantPanda
6d84821942
Adds better checks for a channel that is partially initialized and clears it.
2025-03-20 15:56:34 -05:00
SergeantPanda
d6a452548c
Automatic stream switching is working.
2025-03-20 15:28:12 -05:00
SergeantPanda
86e6c942d7
Final refactoring and minor bug fix for transcode stream switching.
2025-03-19 20:22:13 -05:00
SergeantPanda
569846a687
Lots more refactoring.
2025-03-19 19:45:29 -05:00
SergeantPanda
f03b885d71
Lots more refactoring.
2025-03-19 19:03:33 -05:00
SergeantPanda
8e3c3cb7e8
Fixes timers not releasing on reconnect attempts
2025-03-18 12:10:27 -05:00
SergeantPanda
71f7357d0b
Fixed bug: RuntimeError: dictionary changed size during iteration
2025-03-18 10:22:41 -05:00
dekzter
7a7cd0711d
live stats dashboard
2025-03-17 12:42:58 -04:00
SergeantPanda
8bb9317f92
Individual client stopping is fully working now.
2025-03-16 18:11:35 -05:00
SergeantPanda
03bfaeb24f
Adding stop client abilities. Still needs some work.
2025-03-16 17:16:10 -05:00
SergeantPanda
921a63c730
Working on resource cleanup.
2025-03-16 16:45:00 -05:00
SergeantPanda
9c6f31e014
Channel stop is working correclty.
2025-03-16 12:35:06 -05:00
dekzter
4cef55a9c2
updated channel with uuid
2025-03-16 09:46:07 -04:00
SergeantPanda
5da288b15b
Added channel profile to metadata.
2025-03-15 18:18:22 -05:00
SergeantPanda
a4c69710b7
Stream switching is working for both proxy and transcode
2025-03-15 17:23:06 -05:00
SergeantPanda
8ed1a36535
Lots of refractoring.
2025-03-15 09:44:38 -05:00
SergeantPanda
b5383bcc19
Updated TTL logic for channel metadata
2025-03-14 16:18:02 -05:00
dekzter
a58993ba7d
merged in sergeantpanda upstream
2025-03-14 10:19:22 -04:00
dekzter
8b6b16232b
re-added in socket streaming for transcode processes
2025-03-14 10:08:01 -04:00
SergeantPanda
387c2491b7
Continuing cleanup.
2025-03-13 18:34:49 -05:00
dekzter
0607957f67
integrating proxy with rest of the application, added transcoding to ts proxy
2025-03-13 19:22:35 -04:00
SergeantPanda
d953386c57
Code cleanup.
2025-03-13 18:06:32 -05:00
SergeantPanda
317874b5b8
Imporoved logging.
2025-03-13 14:33:00 -05:00
SergeantPanda
286a22adc4
All functionality seems to be working now with HTTP instead of sockets.
2025-03-13 14:17:39 -05:00
SergeantPanda
d00aa3444e
Switched back to http connections instead of socket.
2025-03-13 13:15:48 -05:00
SergeantPanda
987a8606a8
Removed packet processing.
2025-03-13 09:48:37 -05:00
SergeantPanda
1284567409
Client cleanup is working much better now.
2025-03-11 22:07:19 -05:00
SergeantPanda
11f5ab4119
Got channel status working more reliably.
2025-03-11 21:40:00 -05:00
SergeantPanda
0f95c2b9e1
Stream switching is working.
2025-03-11 16:00:22 -05:00
SergeantPanda
2194a4e7c6
Channel cleanup now works.
2025-03-11 13:29:01 -05:00