Commit Graph
404 Commits
Author SHA1 Message Date
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 b2ec51580e Fixed a possible deadlock during update, Added epg_request_timeshift to api user (#568)
Fixed a possible deadlock during update
Added epg_request_timeshift to api user
2026-02-08 10:53:38 +01:00
euzuandGitHub 360c75dae7 Feature/fix tests (#561)
fixed some tests
2026-02-01 14:45:33 +01:00
euzuandGitHub 748fca44b3 Feature/request timeout and web UI updates (#555)
* Idle timeout for requests implemented
* fix: user api path
* WebUI Added APi Proxy Config
2026-01-31 15:29:32 +01:00
euzuandGitHub a15c966190 Feature/some fixes (#544)
* Season Order fix

* fixed episode id problem

* fixed path prefix for user bouquet editor

* fixed css styling for mobile size

* fixed disabled input config

* cargo clippy fixes
2026-01-28 11:11:08 +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 e01197cf52 Feature/for each genre review (#541)
* New Features
Added for_each DSL construct for iterating over playlist item fields, with split() function support.
Added "genre" as a queryable and editable playlist item field.

Bug Fixes
Improved short EPG request handling with automatic default limits.
Fixed EPG timestamp formatting to use UTC consistently.
2026-01-26 23:04:37 +01:00
euzu 6ae663f024 New Features
Aliases can now be individually enabled or disabled to manage active sources.

Bug Fixes
Improved channel identification accuracy in XMLTV outputs.

Style
Disabled aliases display with strikethrough text for better visibility.
2026-01-26 17:44:32 +01:00
euzuandGitHub 9a6b7e574b epg fix (#537)
New Features
Aliases can now be individually enabled or disabled to manage active sources.

Bug Fixes
Improved channel identification accuracy in XMLTV outputs.

Style
Disabled aliases display with strikethrough text for better visibility.
2026-01-26 17:37:01 +01:00
euzuandGitHub 62f7611125 Feature/log fixes and button styling (#536)
fixed some logs, added input name
epg short response hos now no errors field
added missing fields for reverse_proxy and library config in ui
fixed button styling
2026-01-25 16:32:35 +01:00
euzuandGitHub a407f209a8 Messaging templates (#534)
Messaging templates
2026-01-25 12:41:18 +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
euzu d5519f7b8a epg parsing changed 2026-01-23 18:36:08 +01:00
euzu f1aee7d302 epg parsing changed 2026-01-23 17:10:58 +01:00
euzu 3752125112 Improved HTTP request retry mechanism with standardized backoff handling for better reliability
UI Improvements
Enhanced playlist explorer styling
2026-01-23 16:06:20 +01:00
euzu c5239b5614 Optimizing playlist data exchange with ui 2026-01-22 17:43:03 +01:00
euzuandGitHub cc2e50549d Feature/panel api update (#524)
Panel Api update
2026-01-20 18:51:46 +01:00
euzuandGitHub 14b7361fed Feature/short epg (#523)
* Short EPG

* implemented get_short_epg xtream api endpoint
2026-01-20 16:04:10 +01:00
euzuandGitHub 24c44c047a Web-UI fixes for Playlist Explorer (#521)
Web-UI fixes for Playlist Explorer (#521)
2026-01-20 12:52:36 +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 aa73d7b7ad - Refactored Sort
- Added cluster to favourites
- Added Regex cache to avoid multiple compilations of same regex
2026-01-13 17:03:03 +01:00
euzu 873235d8f3 - Fixed Sort
- Added cluster to favourites
- Added Regex cache to avoid multiple compilations of same regex
2026-01-13 16:37:27 +01:00
euzu b42e2f71fa New Features
- Added user_agent configuration field to Trakt API settings.

Changes

- Renamed Trakt API configuration field from key to api_key for consistency.
- Updated README and documentation with new Trakt API configuration structure.
- Updated UI labels for API configuration fields.
2026-01-12 09:11:16 +01:00
euzu 3fade46e04 Added user_agent to trakt 2026-01-12 09:01:35 +01:00
euzu e8ee01271a - **Breaking CHANGE** Sort refactor, now with filter
- Fixed xtream api season info, filled missing seasons attribute
- xtream api category_id = 0 filter ignored
- Fixed logo resource query
2026-01-10 20:42:59 +01:00
euzu 1f9ca609b4 - **Breaking CHANGE** Sort refactor, now with filter
- Fixed xtream api season info, filled missing seasons attribute
- xtream api category_id = 0 filter ignored
- Fixed logo resource query
2026-01-10 20:21:43 +01:00
euzu 24e09f0c7d - **Breaking CHANGE** Sort refactor, now with filter
- Fixed xtream api season info, filled missing seasons attribute
- xtream api category_id = 0 filter ignored
2026-01-10 17:11:15 +01:00
euzu 083de5caf8 Playlist Update Optimization: Reduced Memory Usage
An optimization has been introduced to reduce memory consumption during playlist updates.

Overview
Previously, provider playlists were fully loaded into memory during the update process. For large playlists (e.g. hundreds of thousands of entries or multiple providers), this could result in significant RAM usage.
With the new implementation, it is now possible to optionally read provider playlists directly from disk instead of keeping them entirely in memory.

How It Works
 - users can configure whether:
     - Provider playlists are loaded into memory (previous behavior), or
     - Provider playlists are streamed to/from disk to minimize RAM usage.

Processing remains sequential and batch-based, ensuring identical functional behavior.
This approach significantly lowers peak memory usage, especially on systems with limited resources.

Benefits

- Reduced peak RAM consumption during playlist updates
- Better scalability for large playlists and multiple providers
- Full backward compatibility

Trade-offs / Drawbacks

 - Increased processing time due to reduced in-memory caching
 - Higher disk I/O usage, especially for large or fragmented playlists
 - Performance depends more strongly on disk speed (Nvme SSD, HDD)
 - Slightly increased CPU overhead due to repeated parsing and deserialization
 - Not optimal for environments where fast updates are more important than memory usage

Recommendation

 - Use in-memory mode for systems with sufficient RAM and a focus on update speed
 - Use disk-based mode for large playlists, multiple providers, or memory-constrained environments
2026-01-08 16:35:57 +01:00
euzu 6f776782f1 Playlist Update Optimization: Reduced Memory Usage
An optimization has been introduced to reduce memory consumption during playlist updates.

Overview
Previously, provider playlists were fully loaded into memory during the update process. For large playlists (e.g. hundreds of thousands of entries or multiple providers), this could result in significant RAM usage.
With the new implementation, it is now possible to optionally read provider playlists directly from disk instead of keeping them entirely in memory.

How It Works
 - users can configure whether:
     - Provider playlists are loaded into memory (previous behavior), or
     - Provider playlists are streamed to/from disk to minimize RAM usage.

Processing remains sequential and batch-based, ensuring identical functional behavior.
This approach significantly lowers peak memory usage, especially on systems with limited resources.

Benefits

- Reduced peak RAM consumption during playlist updates
- Better scalability for large playlists and multiple providers
- Full backward compatibility

Trade-offs / Drawbacks

 - Increased processing time due to reduced in-memory caching
 - Higher disk I/O usage, especially for large or fragmented playlists
 - Performance depends more strongly on disk speed (Nvme SSD, HDD)
 - Slightly increased CPU overhead due to repeated parsing and deserialization
 - Not optimal for environments where fast updates are more important than memory usage

Recommendation

 - Use in-memory mode for systems with sufficient RAM and a focus on update speed
 - Use disk-based mode for large playlists, multiple providers, or memory-constrained environments
2026-01-08 15:54:12 +01:00
euzu 8cc9283a31 Playlist Update Optimization: Reduced Memory Usage
An optimization has been introduced to reduce memory consumption during playlist updates.

Overview
Previously, provider playlists were fully loaded into memory during the update process. For large playlists (e.g. hundreds of thousands of entries or multiple providers), this could result in significant RAM usage.
With the new implementation, it is now possible to optionally read provider playlists directly from disk instead of keeping them entirely in memory.

How It Works
 - users can configure whether:
     - Provider playlists are loaded into memory (previous behavior), or
     - Provider playlists are streamed to/from disk to minimize RAM usage.

Processing remains sequential and batch-based, ensuring identical functional behavior.
This approach significantly lowers peak memory usage, especially on systems with limited resources.

Benefits

- Reduced peak RAM consumption during playlist updates
- Better scalability for large playlists and multiple providers
- Full backward compatibility

Trade-offs / Drawbacks

 - Increased processing time due to reduced in-memory caching
 - Higher disk I/O usage, especially for large or fragmented playlists
 - Performance depends more strongly on disk speed (Nvme SSD, HDD)
 - Slightly increased CPU overhead due to repeated parsing and deserialization
 - Not optimal for environments where fast updates are more important than memory usage

Recommendation

 - Use in-memory mode for systems with sufficient RAM and a focus on update speed
 - Use disk-based mode for large playlists, multiple providers, or memory-constrained environments
2026-01-08 15:11:12 +01:00
euzu a30151a6f0 Added discord notifications 2026-01-03 21:38:16 +01:00
euzu 2eafb4b438 Added discord notifications 2026-01-03 21:30:54 +01:00
euzu 3fa39f954a Added discord notifications 2026-01-03 21:11:20 +01:00
euzu 538f6680da Added discord notifications 2026-01-03 20:58:28 +01:00
euzu 02346cd733 To align input definitions with the SourceEditor, inputs are now defined globally in the inputs section of the config file.
Each source can reference one or more inputs by their name in the inputs attribute.
2026-01-03 18:32:25 +01:00
euzu eb087825d5 Inputs in source.yml 2026-01-03 18:06:25 +01:00
euzu 25d3454932 Wrong Category Id after update fix 2025-12-30 15:06:16 +01:00
euzu b3a7e6af7c added some events for playlist update,
fixed explorer view image display for channels
2025-12-30 12:31:55 +01:00
euzu 49d2e1f67b If clipboard not supported open dialog with content 2025-12-20 21:01:19 +01:00
euzu 7a503360c0 If clipboard not supported open dialog with content 2025-12-20 20:55:01 +01:00
euzu d33bdb6238 panel api 2025-12-19 20:54:30 +01:00
euzu 6b0addc40f panel api 2025-12-19 20:24:13 +01:00
euzu 7b8f3615ae Merge commit '756177774fc141e8b503ec5520853b923d1d5f6f' into feature/panel_api 2025-12-19 20:24:06 +01:00
euzu fea672a8a6 panel api 2025-12-19 18:47:54 +01:00
euzu 53723d3015 Merge commit '7bb8a0c4f1a65a542bd3fae716fcb4236461072a' into feature/provider_api 2025-12-19 18:30:07 +01:00
knylbyte 6dc93e1b63 fix: cargo clippy 2025-12-18 21:51:54 +01:00
knylbyte 756177774f feat: wait until connection expire 2025-12-18 11:07:30 +01:00
knylbyte 7bb8a0c4f1 fix: cargo clippy 2025-12-17 19:38:23 +01:00
knylbyte 30d4a07e0f feat: added frontend view for panel api 2025-12-17 19:31:07 +01:00
euzu a571f863bb Integrate local movie file into playlist 2025-12-16 19:59:53 +01:00