Commit Graph
124 Commits
Author SHA1 Message Date
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 192157a1c5 Fixed missing extension for live streams
Fixed Sorting issue
2026-01-11 14:12:36 +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 a8d0837021 Fixed EPG titles to match renamed / mapped titles 2026-01-04 16:40:42 +01:00
euzu dba7ceaa87 Fixed EPG titles to match renamed / mapped titles 2026-01-04 16:36:35 +01:00
euzu 9c7b292949 Fixed EPG titles to match renamed / mapped titles 2026-01-04 16:27:59 +01:00
euzu 75be790831 Fixed EPG titles to match renamed / mapped titles 2026-01-04 16:24:08 +01:00
euzu 14153fc4ff Fixed EPG titles to match renamed / mapped titles 2026-01-04 16:17:47 +01:00
euzu 5bb32ebc72 Fixed category creation during xtream playlist save 2026-01-04 14:55:19 +01:00
euzu a5db614d25 Fixed input storage path 2026-01-04 12:49:34 +01:00
euzu 538f6680da Added discord notifications 2026-01-03 20:58:28 +01:00
euzu da8947dd76 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 19:09:39 +01:00
euzu eb087825d5 Inputs in source.yml 2026-01-03 18:06:25 +01:00
euzu df2a4e4a72 - Fix for telegram send error
- Fix for series strm generation
- Input disabled is now disabled and can't be forced through cli to be enabled
2026-01-02 13:18:08 +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 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 9c369c3f12 refactoring for favourites
- implemented favourites config to target config
- added add_favourite() function to mapping
2025-12-29 16:15:16 +01:00
euzu dfab797c65 refactoring for favourites
- implemented favourites config to target config
- added add_favroutie() function to mapping
2025-12-29 16:08:27 +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 d95932227e db iterator fix 2025-12-29 11:13:45 +01:00
euzu bdf268d39a fixed series episode resolve 2025-12-28 11:23:58 +01:00
euzu 9f10cc73a9 Refactored playlist storage 2025-12-27 20:28:22 +01:00
euzu cf0c928730 stream properties refactored 2025-12-27 09:52:28 +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 c7bc0beb96 stream properties refactored 2025-12-22 17:33:18 +01:00
euzu 0be56eaac5 some refactoring for panel api config 2025-12-20 16:33:59 +01:00
euzu d33bdb6238 panel api 2025-12-19 20:54:30 +01:00
euzu a2effbeb3f integrated local series into playlist 2025-12-19 16:00:02 +01:00
euzu aa4463b632 fetching tmdb data for series 2025-12-19 15:57:46 +01:00
knylbyte 6dc93e1b63 fix: cargo clippy 2025-12-18 21:51:54 +01:00
euzu 475201d640 fetching tmdb data for series 2025-12-18 16:51:09 +01:00
euzu 2de127122d refactored resolve vod/series functions 2025-12-17 17:37:25 +01:00
euzu 8021d06435 refactored resolve vod/series functions 2025-12-17 09:11:45 +01:00
euzu c8d34e0dfd Integrate local movie file into playlist 2025-12-16 20:35:19 +01:00
euzu a571f863bb Integrate local movie file into playlist 2025-12-16 19:59:53 +01:00
euzu 37985c0324 Integrate local movie file into playlist 2025-12-16 16:43:11 +01:00
euzu 1aacff84dc update guards added 2025-12-16 09:58:44 +01:00
euzu ba200135ce Merge branch 'feature/source_editor' into feature/local_media 2025-12-13 15:34:51 +01:00
euzu 80b7183d10 replaced serde_json Value with RawValue to reduce memory usage 2025-12-13 15:07:47 +01:00
euzu 4281cbc90d kick debug log added 2025-12-13 11:32:55 +01:00
euzu b84e2ca96f Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 17:05:29 +01:00
euzu afc0fe4ea8 Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 17:05:12 +01:00