Commit Graph
48 Commits
Author SHA1 Message Date
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 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 e5e94a5f28 Fix stream session poisoning and correct headers handling 2026-01-04 10:54:41 +01:00
euzu 1abf9e81c8 Updated database structure
- Using Slotted Pages
- Using compression
- Using file locking to prevent race conditions
2025-12-29 13:46:55 +01:00
euzu d5207e886f stream properties refactored 2025-12-26 14:09:44 +01:00
euzu 76bde0fcc4 stream properties refactored 2025-12-22 21:00:58 +01:00
euzu 19b8153fa5 stream properties refactored 2025-12-22 18:00:42 +01:00
euzu 37985c0324 Integrate local movie file into playlist 2025-12-16 16:43:11 +01:00
euzu 73017363cc xtream and m3u parsing with streaming 2025-12-12 16:10:08 +01:00
euzu 2738f8b7f3 xtream and m3u parsing with streaming 2025-12-12 15:49:10 +01:00
euzu ee0441877d xtream and m3u parsing with streaming 2025-12-12 15:33:41 +01:00
euzu 80660312e4 write operations optimized for less memory usage 2025-12-11 20:02:20 +01:00
euzu a522d2863b write operations optimized for less memory usage 2025-12-11 19:50:31 +01:00
euzu 1193fc2265 write operations optimized for less memory usage 2025-12-11 19:27:56 +01:00
euzu 55191d6c84 vod resolve refactored
Arc<Client> is now Client
2025-12-11 09:54:28 +01:00
euzu 72fef10b86 Xtream Codes Batch provider accounts are now checked for expiration. 2025-11-22 11:07:50 +01:00
euzu 98dc80dd75 SyncIOBridge caused tokio panic 2025-11-21 01:35:04 +01:00
euzu a14253519e fixed some async file operations 2025-11-20 13:40:04 +01:00
euzu e6338b69a2 Added braking change info
fixed a notification message, added input name
2025-11-20 13:08:37 +01:00
euzu d2779a3e30 Some fixes for async handling 2025-11-20 13:00:01 +01:00
DarkBreakpoint 000df50b76 EPG export async 2025-11-19 15:07:30 -06:00
euzu 6f2be9693c Using async file operations 2025-11-14 22:45:08 +01:00
euzu 66bba7b96b Merge remote-tracking branch 'dark-breakpoint/async-file-copy' into feature/async_playlist_persistence 2025-11-14 16:32:24 +01:00
DarkBreakpoint c65e9181e4 Use tokio::fs for playlist persistence to avoid blocking async paths 2025-11-14 08:58:11 -06:00
euzu c7f772f43b Fixed login screen flicker through wrong response handling in WebUI 2025-11-13 21:39:50 +01:00
euzu ef567e3ce7 better connection handling 2025-11-10 01:52:13 +01:00
euzu 55c2bdabba better connection handling 2025-11-10 01:30:23 +01:00
euzu b69ed4921e better connection handling 2025-11-10 01:04:13 +01:00
knylbyte 45a3fcd659 feat: added enhanced header handling for outgoing request in reverse proxy mode 2025-10-31 17:04:35 +01:00
euzu bcf9de2d89 Hls request headers added for fringerprinting. 2025-10-14 19:04:32 +02:00
euzu 4b667b939f Hls request headers added for fringerprinting. 2025-10-14 18:47:38 +02:00
euzu 4e549f6603 Fixed invalid epg text content parsing 2025-10-01 17:06:41 +02:00
euzu 2e91cd9615 Epg View optimization
Added async stream based xml parsing
2025-09-30 14:46:18 +02:00
euzu 9ae71b99d5 Fixed SeriesInfo episode data-type problem,
Added accept_unsecure_ssl_certificate to config.yml
2025-09-19 12:15:24 +02:00
euzu 346478b260 Staged input 2025-08-13 13:40:41 +02:00
euzu dd72746498 batch input content view 2025-08-12 08:51:38 +02:00
euzu a16aee7542 some clippy fixes 2025-08-10 12:03:46 +02:00
knylbyte 8935ac9f8a Fix distinguish which proxy is to be used by the scheme 2025-08-09 16:41:29 +02:00
euzu 7db55cbaaa webui 2025-07-09 17:38:11 +02:00
euzu bf3c758b57 Merge branch 'master' into feature/config_reload 2025-07-09 17:38:05 +02:00
euzu 4275ae0468 Added default user agent for requests if none given 2025-07-09 17:32:49 +02:00
euzu 191d1469b3 added default user agent header is non given 2025-07-09 17:30:07 +02:00
euzu c292f0b73e config refactor 2025-06-24 11:25:42 +02:00
euzu 7f54327bfd config added to shared model 2025-06-19 16:37:37 +02:00
euzu 068150561a moved constants, size_utils, string_utils to shared 2025-06-19 13:22:43 +02:00
euzu 2a9c8711e6 project shared added 2025-06-19 12:45:55 +02:00