Commit graph

26 commits

Author SHA1 Message Date
SergeantPanda
5f4e066147 Enhancements:
- Connection cards on the Stats page now show the **username** of the connected user in a new User column (between IP Address and Connected). The username is resolved from the user store using the `user_id` stored in Redis client metadata; unauthenticated connections display "Anonymous". (Closes #766)
- `ip_address` and `user_id` were not included in the client info returned by `get_detailed_channel_info()` despite being available in the Redis hash. Both fields are now extracted and returned. (Closes #586)
2026-03-28 13:33:29 -05:00
dekzter
90a600b48f merged in dev 2026-03-26 12:17:43 -04:00
SergeantPanda
2d2b3e45f4 fix: harden ghost client cleanup and PRE_ACTIVE state guard
- Change ChannelState.PRE_ACTIVE from list to frozenset (immutable,
  O(1) membership tests, no risk of silent mutation)

- Add optional client_ids parameter to ClientManager.remove_ghost_clients()
  so callers that have already fetched SMEMBERS can pass it through,
  eliminating a redundant Redis round-trip

- Pass pre-fetched client_ids from get_basic_channel_info() into
  remove_ghost_clients() to remove the duplicate SMEMBERS call
2026-03-15 19:08:38 -05:00
None
c65ace1a7c fix: stuck channel states and ghost clients in TS proxy
- Write ERROR via ownership check OR state guard fallback when ownership TTL expired during retries
- Add INITIALIZING to cleanup task grace period monitoring
- Validate client SET entries against metadata hashes in orphaned channel cleanup; remove ghosts and clean up when no real clients remain
- Stats page self-heals by removing ghost SET entries on read
- Extract remove_ghost_clients() helper to ClientManager
- Add ChannelState.PRE_ACTIVE constant
- Fix 6 pre-existing NonOwnerWorkerKeepalive test failures
2026-03-14 19:24:01 -05:00
dekzter
1dd368278c reverted value checking for consistency, added in user id to client info 2026-03-13 09:57:22 -04:00
dekzter
2ca2a51e2e reverted fix so only updated values are modified 2025-12-06 09:36:50 -05:00
dekzter
50e9075bb5 initial run of a binary and encoded redis client - no more encoding / decoding data into redis, huge PITA (still some outstanding spots I need to patch) 2025-10-25 08:15:39 -04:00
SergeantPanda
1f6f15ed73 Add stream type to stats page. 2025-06-10 10:10:05 -05:00
SergeantPanda
b8992bde64 Add audio channels to stats page. 2025-06-10 09:23:43 -05:00
SergeantPanda
0fed65a478 Add FFmpeg speed and audio codec information to channel details 2025-06-09 19:55:10 -05:00
SergeantPanda
71079aead3 Add ffmpeg stats to channel status api. 2025-06-09 19:36:27 -05:00
SergeantPanda
a72eaf118f Refactor channel info retrieval for safer decoding and improved error logging. Hopefully fixes stats not showing sometimes. 2025-06-03 10:59:53 -05:00
SergeantPanda
482803b241 Removed unnecessary logs. 2025-04-28 17:29:27 -05:00
SergeantPanda
88f27d62f1 Adds current m3u profile to stats. 2025-04-27 14:43:09 -05:00
SergeantPanda
81fecde3b5 Add stream name to channel status. 2025-04-26 08:29:18 -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
b9f4893261 Fixes broken channels stats after field name change from 'profile' to 'stream_profile' 2025-03-27 16:11:04 -05:00
SergeantPanda
560345f7b1 Changed profile to stream_profile and utilized constants more for consistency. 2025-03-25 12:13:06 -05:00
SergeantPanda
1f6a33d9f7 Added bitrates for channels as well as total data transferred. 2025-03-24 18:02:21 -05:00
SergeantPanda
b9d0b07d69 Added current bitrate for client and renamed transfer_rate_KBps to avg_rate_KBps for clarity. 2025-03-24 17:06:01 -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
86e6c942d7 Final refactoring and minor bug fix for transcode stream switching. 2025-03-19 20:22:13 -05:00
dekzter
7a7cd0711d live stats dashboard 2025-03-17 12:42:58 -04:00
SergeantPanda
5da288b15b Added channel profile to metadata. 2025-03-15 18:18:22 -05:00
SergeantPanda
85bb7aa0ec Even more refractoring. 2025-03-15 11:44:59 -05:00