Commit Graph
51 Commits
Author SHA1 Message Date
euzuandGitHub 9d35a9cbbe Sorce ordinal by category and channel index (#672)
* Sorce ordinal by category and channel index
* Parsing UserApiRequest from request body or query
* CSS stylings
* media tools refactoring
* xtream info parsing now number/string fields
2026-03-27 15:23:39 +01:00
euzuandGitHub 9aec9594aa Fix/ws protocol version stream measure hls entry stream table (#660)
* sidebar scrollable
* fixed metering values for stream table
* Using native linux approach for sysinfo
* fixed stream table hls display and actie connections
* shared stream reconnect bug fix
* foxed some rabbitai findings
* Fixed hls stream table prune
2026-03-22 13:19:01 +01:00
euzuandGitHub a05b0536f5 Feature/stream meter (#659)
* Connection lock for shared stream fixed
* stream meter
2026-03-21 05:29:59 +01:00
euzuandGitHub dab98b8d39 fixed connection exhausted because of user priority handling (#655)
* fixed connection exhausted because of user priority handling
2026-03-19 16:51:18 +01:00
euzuandGitHub f0459e7e14 Fix/hls connect m3u parsing probe resolve (#646)
* Fix HLS session handling and disable retry for adaptive segment requests
* Resolve / probe vod task uses last modified date
* Resolve expiration date in input form
* fixed m3u parsing
* fixed wasm opt for frontend build
2026-03-15 23:32:09 +01:00
euzuandGitHub 392bcbfdc2 Fix/resolve probe tasks (#644)
* Fixed issues with probe and resolve tasks
* hls and catchup session fixes
* fixed problem with grace and shared stream
- added fix for missing episode title
2026-03-15 08:32:18 +01:00
euzuandGitHub a429ee7256 Feature/stream table (#643)
* keep user table info in frontend when switched to custom video stream
* Fixed problems caused by yew upgrade because of UseStateHandle and UseReducerHandle PartialEq change.
* reformatted
2026-03-13 19:19:41 +01:00
euzuandeuzu 31438c64b2 Feature/optimizations (#642)
* - Refactored Shared-Stream hot path from Arc<Bytes> to Bytes (leveraging internal reference counting).
- Switched Metadata Trigger deduplication from Arc<Mutex<HashSet<_>>> to Arc<DashSet<_>> to reduce lock contention.
- Eliminated expensive key cloning in the InputMetadataUpdatesCompleted handler.
- Changed active_target_inputs to HashSet<Arc<str>> to avoid per-event to_string() allocations.
- Implemented bounded Cleanup-Queue (switched from unbounded to mpsc::channel(4096)) with a dedicated overflow path (try_send + async flush) to prevent uncontrolled memory growth.
- Optimized by_provider storage by switching from Vec<(addr, alloc_id)> to HashSet<(addr, alloc_id)>, reducing removal complexity from $O(n)$ to $O(1)$ average.
- Optimized ActiveConnectionInfo data layout by reordering fields (large fields first) to minimize padding and improve cache efficiency.

* Improve shared-stream reliability and align docs

- make shared connection registration fallible with rollback on failure

- guard shared broadcaster startup behind successful subscription

- optimize shared stream/provider key maps to Arc<str>

- add Tokio macros feature for runtime and dev dependencies

- harden build_resources.sh with fail-fast ffmpeg error handling

- clarify StreamError display messages with variant context

- sync README stream/custom-response sections with current behavior

* low_priority_preempted stream
* Keep custom TS timestamps monotonic across loops
- advance timestamp offset by stream duration on buffer wrap
- avoid resetting PTS/DTS to zero each cycle
- prevents players from treating looped custom streams as ended/corrupt
* low_priority_preemption custom video stream fix
* inc_version uses now main toml file
* Fixed some coderabbit issues
2026-03-13 15:17:20 +01:00
euzuandeuzu dc1e2d2168 Feature/build optimization (#640)
* Optimized build
* timeout secs for custom video response
* init custom video timeout on mode switch
* terminate immediately when custom video buffer is missing
* add provisioning missing-custom timeout regression test
* add missing-custom termination tests for all custom modes
* fix ts continuity handling for discontinuity and adaptation-only packets
* fix ts loop duration estimation to use min/max timestamps
* harden pes timestamp patching and normalize pid cc sequence
* Resource ffmpeg creation without B-Frames and short GOPs
* Discontinuity patch for transport stream buffer
* grace hold stream is now default true
* streaming fixes
2026-03-13 15:17:20 +01:00
euzuandGitHub e83cee401f Feature/user priority (#639)
* user connection priority over all aliases
* active client stream priority preemption
* Fixed paths override in read config
* Added custom video stream timeout settings
* Scheduler fix
2026-03-11 12:25:54 +01:00
knylbyteandGitHub f8ae4c9d56 fix: use manual redirects only for http proxies and apply proxy setting to ffprobe subprocess (#612)
* fix: use manual redirects only for http proxies
* fix: sync panel api on manual playlist update
* fix: route ffprobe probes through configured proxy
* fix: handle non-unicode proxy env vars safely
* fix: serialize panel api sync and align sync naming
* fix: manually follow hls redirects when proxy is configured
* fix: align hls manual redirect with proxy scheme
* fix: emit playlist update failure when lock is closed
* fix: align probe and scheduler paths for upstream merge
* fix: remove playlist lock retry and name hls redirect limit
2026-02-26 20:36:01 +01:00
euzuandGitHub 555bc2cce1 Feature/provider config (#570)
New Features
- Automatic provider failover & rotation across multiple provider URLs with a provider:// scheme and capped retries
- Configurable failover redirect patterns to influence retry/failover behavior
UI

- New interface to view and edit failover redirect patterns in reverse proxy configuration

- Expanded docs covering Provider Failover & Rotation and enriched messaging templating
Reliability

- Improved URL resolution, error reporting and logging for more robust provider handling
2026-02-10 11:53:42 +01:00
euzuandGitHub 2d0ac6f957 Feature/sort epg playlistexplorer normalization fix (#543)
* Fixed series sort issues
* Playlist explorer copy to clipboard functons implemented
* Epg time fix
* grace period hold stream option added.
* Fixed group and mapper normalization
* Image cache validity for browsers set to 4 hours. Responding now  last modified and cache header.
2026-01-27 18:33:16 +01:00
euzuandGitHub 4c27f13d47 Feature/shared stream exhausted custom stream fix (#533)
Custom stream display fix
Playlist Explorer series info fix
2026-01-24 09:59:33 +01:00
euzuandGitHub 52805d0d77 Feature/shared stream fix (#532)
* Shared stream cpu spike fix
2026-01-23 19:32:16 +01:00
euzuandGitHub cc2e50549d Feature/panel api update (#524)
Panel Api update
2026-01-20 18:51:46 +01:00
euzuandGitHub 16fcd7f882 Optimizations
* New Features

Added series information display with episodes, cast, and metadata in playlist explorer
Introduced multi-cluster playlist endpoints (live, VOD, series) for flexible content retrieval
Added series info lookup and filtering capabilities
Implemented sidebar navigation for source editor with dedicated pages (Main, Options, Staged, Advanced, Alias)
Added filter state controls (All, Selected, Deselected) for playlist category management
Enabled Trakt configuration toggle to control integration
Performance Improvements

Optimized B+Tree indexing for faster queries
Reduced startup latency with disk-based operations and optional memory caching
Improved string memory handling through efficient reference-counted strings
UI Enhancements

Enhanced playlist explorer with series details and episode grouping by season
Added new UI icons (Options, Advanced, Staging, Alias, Trakt)
Improved form layouts with toolbar controls
Enhanced radio button group styling for better visual hierarchy

* New Features

Added series information display with episodes, cast, and metadata in playlist explorer
Introduced multi-cluster playlist endpoints (live, VOD, series) for flexible content retrieval
Added series info lookup and filtering capabilities
Implemented sidebar navigation for source editor with dedicated pages (Main, Options, Staged, Advanced, Alias)
Added filter state controls (All, Selected, Deselected) for playlist category management
Enabled Trakt configuration toggle to control integration
Performance Improvements

Optimized B+Tree indexing for faster queries
Reduced startup latency with disk-based operations and optional memory caching
Improved string memory handling through efficient reference-counted strings
UI Enhancements

Enhanced playlist explorer with series details and episode grouping by season
Added new UI icons (Options, Advanced, Staging, Alias, Trakt)
Improved form layouts with toolbar controls
Enhanced radio button group styling for better visual hierarchy

* New Features

Added series information display with episodes, cast, and metadata in playlist explorer
Introduced multi-cluster playlist endpoints (live, VOD, series) for flexible content retrieval
Added series info lookup and filtering capabilities
Implemented sidebar navigation for source editor with dedicated pages (Main, Options, Staged, Advanced, Alias)
Added filter state controls (All, Selected, Deselected) for playlist category management
Enabled Trakt configuration toggle to control integration
Performance Improvements

Optimized B+Tree indexing for faster queries
Reduced startup latency with disk-based operations and optional memory caching
Improved string memory handling through efficient reference-counted strings
UI Enhancements

Enhanced playlist explorer with series details and episode grouping by season
Added new UI icons (Options, Advanced, Staging, Alias, Trakt)
Improved form layouts with toolbar controls
Enhanced radio button group styling for better visual hierarchy

* New Features

Added series information display with episodes, cast, and metadata in playlist explorer
Introduced multi-cluster playlist endpoints (live, VOD, series) for flexible content retrieval
Added series info lookup and filtering capabilities
Implemented sidebar navigation for source editor with dedicated pages (Main, Options, Staged, Advanced, Alias)
Added filter state controls (All, Selected, Deselected) for playlist category management
Enabled Trakt configuration toggle to control integration
Performance Improvements

Optimized B+Tree indexing for faster queries
Reduced startup latency with disk-based operations and optional memory caching
Improved string memory handling through efficient reference-counted strings
UI Enhancements

Enhanced playlist explorer with series details and episode grouping by season
Added new UI icons (Options, Advanced, Staging, Alias, Trakt)
Improved form layouts with toolbar controls
Enhanced radio button group styling for better visual hierarchy
2026-01-20 10:09:58 +01:00
euzu 238693f810 fixed xtream vod_info and series_info 2025-12-20 20:24:30 +01:00
euzu 0be56eaac5 some refactoring for panel api config 2025-12-20 16:33:59 +01:00
euzu 5e246aefab some refactoring for panel api config 2025-12-20 15:15:36 +01:00
knylbyte d901cda260 feat: implemented allocation IDs to prevent addr-based release races, moved provider grace to a non-blocking post-start check, and made shared stream subscription updates atomic 2025-12-18 22:07:14 +01:00
euzu b951794bc4 Added kick duration for web_ui kick 2025-12-12 20:58:55 +01:00
euzu 1fa967d8a2 Refactored connection handling to avoid race conditions 2025-11-26 09:56:09 +01:00
euzu 00df136c64 Merge remote-tracking branch 'dark-breakpoint/feature/session-connection-token' into feature/connection_logging_and_non_order 2025-11-20 08:50:10 +01:00
DarkBreakpoint 7d3c2fd8be Improve session tracking 2025-11-19 23:00:25 -06:00
euzu b69ed4921e better connection handling 2025-11-10 01:04:13 +01:00
euzu 1000b2e7fc Fixed custom share response 2025-11-06 15:05:09 +01:00
euzu e6c4480153 Fixed a connection count issue on ffwd and reverse for vod 2025-11-05 18:22:05 +01:00
euzu 15a252664e Completly refactored connection management 2025-11-04 21:46:44 +01:00
euzu 95dde2876d First step provider and user connections.
-> Missing shared streams connections
2025-11-04 18:01:44 +01:00
euzu 42b0326949 Connection guard release fallback implemented 2025-11-01 01:47:47 +01:00
euzu 6dbe77ad23 some connection guard fixes 2025-11-01 00:26:30 +01:00
euzu d71e8080f5 stream table ip fixed 2025-10-30 13:00:25 +01:00
euzu 57b9499d6c batch alias id fixed 2025-10-29 16:40:17 +01:00
euzu 4d99ae4325 Mixed up ip address behind reverse proxy during shared stream registration fixed 2025-10-29 15:29:05 +01:00
euzu 7c7c467f64 Stream table new columns 2025-10-25 20:40:58 +02:00
euzu 60c2e5a161 User Stream Connection table added 2025-10-24 18:37:14 +02:00
euzu 069c9f354b shared stream fixes 2025-07-28 17:22:12 +02:00
euzu b3c88ef6db shared stream optimizations 2025-07-28 14:46:13 +02:00
euzu 04c7e8549b shared stream fixes 2025-07-27 20:47:35 +02:00
euzu 00dbb67456 release connections on custom video response 2025-07-25 10:49:24 +02:00
euzu 78e138e5d8 some clippy fixes 2025-07-24 14:27:57 +02:00
euzu 213496cf90 Drop Provider connection on custom stream response 2025-07-23 19:11:44 +02:00
euzu 6c238c607f refactored unwrap calls to make it more stable 2025-07-22 11:32:46 +02:00
euzu 504b4df277 Fix shared stream provider connections
Web UI State update through websocket
2025-07-21 22:17:57 +02:00
euzu 4c43dd6402 shared provider connection release fix 2025-07-19 15:32:30 +02:00
euzu 56e683169a user connection release based on addr 2025-07-15 12:28:25 +02:00
euzu c0eccb68ab config refactoring 2025-06-24 17:34:09 +02:00
euzu c292f0b73e config refactor 2025-06-24 11:25:42 +02:00
euzu 5957dd01d6 config refactored for hot reload 2025-06-19 17:48:42 +02:00