Commit Graph
23 Commits
Author SHA1 Message Date
euzu 3fade46e04 Added user_agent to trakt 2026-01-12 09:01:35 +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 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 eb087825d5 Inputs in source.yml 2026-01-03 18:06:25 +01:00
euzu 458b6741a6 refactoring for favourites
- implemented favourites config to target config
- added add_favourite() function to mapping
2025-12-29 16:43:33 +01:00
euzu e94a869c73 refactoring for favourites
- implemented favourites config to target config
- added add_favroutie() function to mapping
2025-12-29 15:55:50 +01:00
euzu 59c95fde3a Updated database structure
- Using Slotted Pages
- Using compression
- Using file locking to prevent race conditions
2025-12-29 13:12:39 +01:00
euzu a571f863bb Integrate local movie file into playlist 2025-12-16 19:59:53 +01:00
euzu f6ecbaad2f Fixed strm filter
Added `movie` as alias for `vod` for type filter. You can use now alternative to `Type = vod` the filter `Type = movie`.
2025-11-13 13:15:17 +01:00
euzu 271a51abfe - Multi Strm outputs with same type is now allowed.
- Added new mapper function `pad(text | number, number, char, optional position: "<" | ">" | "^")`
- Added new mapper function `format`, it is very simple and only supports in text replacement like  `format("Hello {}! Hello {}!", "Bob", "World")`
2025-11-12 03:00:13 +01:00
euzu fa9f80bde9 - Multi Strm outputs with same type is now allowed.
- Added new mapper function `pad(text | number, number, char, optional position: "<" | ">" | "^")`
- Added new mapper function `format`, it is very simple and only supports in text replacement like  `format("Hello {}! Hello {}!", "Bob", "World")`
2025-11-12 00:10:00 +01:00
euzu c3f7912b41 Channel favourites 2025-10-23 18:26:25 +02:00
euzu c0d2cd0448 Batch provider connection size reporting fixed 2025-08-07 14:59:26 +02:00
euzu 04c44c0b48 Mapper script view 2025-08-06 14:50:22 +02:00
euzu 78e138e5d8 some clippy fixes 2025-07-24 14:27:57 +02:00
euzu 6c238c607f refactored unwrap calls to make it more stable 2025-07-22 11:32:46 +02:00
euzu 7ef30e1aae Added replace built-in function to mapper DSL 2025-07-21 22:39:23 +02:00
euzu 74d3e2ec5f user list 2025-07-15 17:13:46 +02:00
euzu 280bdcda8f web ui 2025-07-03 20:17:00 +02:00
euzu 14c02409fe rust webui dashboard impl started 2025-06-30 21:03:35 +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