Commit Graph
224 Commits
Author SHA1 Message Date
euzu 5f9fa8ea56 Merge remote-tracking branch 'github/feature/local_media' into feature/local_media 2025-12-16 20:09:17 +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 8d1378c294 Integrate local movie file into playlist 2025-12-16 16:23:15 +01:00
euzu 96899cf5f9 Local media library 2025-12-15 21:55:48 +01:00
euzu 2946cb1dd5 Local media library 2025-12-15 21:26:12 +01:00
euzu 23d6c90c1d Local media library 2025-12-15 21:10:45 +01:00
euzu 89cea7a7c2 Local media library 2025-12-15 19:26:31 +01:00
euzu 2f32f1ece1 Local media library 2025-12-15 17:54:19 +01:00
euzu 29bedf2202 Merge branch 'feature/source_editor' into feature/local_media 2025-12-14 12:30:53 +01:00
euzu 7c5f0b62b3 fixing dependency problem 2025-12-14 11:31:39 +01:00
euzu 758585c8c6 memory fix 2025-12-13 20:28:21 +01:00
euzu ba200135ce Merge branch 'feature/source_editor' into feature/local_media 2025-12-13 15:34:51 +01:00
euzu e9766bcdfe increased version 2025-12-13 15:33:35 +01:00
euzu 80b7183d10 replaced serde_json Value with RawValue to reduce memory usage 2025-12-13 15:07:47 +01:00
euzu 60e74f38a9 force reconnect removed 2025-12-13 13:55:35 +01:00
euzu 4281cbc90d kick debug log added 2025-12-13 11:32:55 +01:00
euzu 3e965c0bb7 Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 21:31:28 +01:00
euzu e6db1a3c66 Added kick duration for web_ui kick 2025-12-12 20:32:46 +01:00
euzu afc0fe4ea8 Merge branch 'feature/source_editor' into feature/local_media 2025-12-12 17:05:12 +01:00
euzu a789f1386d Merge branch 'develop' into feature/source_editor 2025-12-12 16:57:52 +01:00
euzu 12f8326cb3 xtream and m3u parsing with streaming 2025-12-12 16:49:13 +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 1193fc2265 write operations optimized for less memory usage 2025-12-11 19:27:56 +01:00
euzu bce4ee5919 Merge branch 'feature/source_editor' into feature/local_media 2025-12-10 17:34:41 +01:00
euzu be2370fc37 Merge branch 'develop' into feature/source_editor 2025-12-10 17:31:52 +01:00
euzu c2652a7ece Made cache storage more robust 2025-12-10 17:19:57 +01:00
euzu a66b227316 Fixed source editor connection delete refresh 2025-12-10 12:04:27 +01:00
euzu f3f7d0136d Merge remote-tracking branch 'deadc1de/feature/local-vod-module' into feature/local_media 2025-12-10 09:18:53 +01:00
moeandClaude Sonnet 4.5 d481303e57 feat: Add Local VOD (Video-on-Demand) Module
Implements comprehensive local video file scanning and metadata management:

Core Features:
- Recursive directory scanning with tokio::fs async operations
- Automatic classification (Movies vs TV Series) using regex patterns
- Multi-source metadata resolution (NFO → TMDB → filename parsing)
- JSON-based metadata storage with UUID tracking
- Virtual ID management (incremental, stable across scans)
- TMDB API integration with rate limiting (250ms default)
- NFO file reading/writing (Kodi/Jellyfin/Emby/Plex compatible)
- Incremental scanning (only processes changed files)
- Orphaned entry cleanup

Components Added:
- backend/src/vod/scanner.rs - Async file scanner
- backend/src/vod/classifier.rs - Movie/Series classification
- backend/src/vod/metadata.rs - Metadata models
- backend/src/vod/nfo_reader.rs - NFO parser
- backend/src/vod/tmdb_client.rs - TMDB API client
- backend/src/vod/metadata_storage.rs - JSON storage layer
- backend/src/vod/metadata_resolver.rs - Metadata orchestration
- backend/src/vod/processor.rs - Main processing pipeline

API Endpoints:
- POST /api/v1/vod/scan - Trigger VOD scan
- GET /api/v1/vod/status - Get VOD status
- GET /api/v1/vod/item/:id - Get VOD item by virtual ID

CLI Integration:
- --scan-vod - Scan VOD directories
- --force-vod-rescan - Force full rescan

Configuration:
- config/vod.yml.example - Example configuration
- New InputType::LocalVod in source.yml

Technical Details:
- Uses OnceLock for regex caching (no lazy_static needed)
- Arc-swap pattern for lock-free config updates
- Comprehensive unit tests
- ~3,200 lines of new code
- Zero new dependencies added

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-10 07:51:06 +01:00
euzu 5972069100 Merge branch 'develop' into feature/source_editor 2025-12-09 08:29:02 +01:00
knylbyte 2a091bb438 feat: version increased 2025-12-07 21:56:02 +01:00
knylbyte 7c37b7112f fix: version increased 2025-12-07 20:16:49 +01:00
euzu b1903096b7 Worked on Filter Input and Filter editor 2025-12-04 16:28:03 +01:00
euzuandGitHub 9c5c79dea5 Merge pull request #463 from euzu/feature/shared_stream_custom_response
Feature/shared stream custom response
2025-12-03 13:03:56 +01:00
euzu b04d3183c4 Source editor features 2025-12-03 12:15:00 +01:00
euzu d39855c583 When shared stream enabled, provider connections exhausted custom stream was not displayed 2025-12-03 11:47:36 +01:00
moe 3680081d0f Fix compilation errors in form implementations
input_form.rs:
- Remove HashMap from generate_form_reducer macro (not supported)
- Add separate use_state for headers management
- Load headers from input in use_effect_with
- Update KeyValueEditor to use headers_state instead of form state
- Set headers in handle_apply_input callback

trakt.rs:
- Add Display trait for TraktContentType enum
- Add FromStr trait for TraktContentType enum
- Enables dropdown functionality for content type selection

These fixes resolve compilation errors related to:
- Unsupported HashMap type in form reducer macro
- Missing trait implementations for enum conversions
2025-12-01 14:16:04 +01:00
knylbyte adb9e70807 feat: prevent duplicate xtream info fetches for mapping aliases 2025-11-30 20:29:00 +01:00
knylbyte d68f6df311 feat: prevent duplicate xtream info fetches for mapping aliases 2025-11-30 19:56:51 +01:00
knylbyte 5a10efe82e feat: added option to create an alias during mapping 2025-11-30 18:35:01 +01:00
root 94e5f1e4c9 Add output form components for source editor
- Implement M3u output form with filename, type inclusion and filter fields
- Implement STRM output form with directory, export style and advanced options
- Implement HDHomeRun output form with device and output type selection
- Add FromStr trait implementations for StrmExportStyle and TargetType enums
- Update output_form.rs to route to new form components
- Update module declarations in mod.rs

This completes the form implementation for all output block types,
allowing users to edit M3u, STRM and HDHomeRun configurations
directly in the source editor UI.
2025-11-30 16:47:29 +01:00
euzu ee05a9e02e Atomic ordering changedFixed race conditions on user access 2025-11-30 12:53:47 +01:00
euzu f3c8383a44 Fixed race conditions on user access 2025-11-30 11:52:58 +01:00
euzu 62694f3a3c - CPU usage
- disable cloudflare header
2025-11-29 19:20:27 +01:00
euzu bdb838e2b0 - CPU usage
- disable cloudfare header
2025-11-29 19:01:42 +01:00
euzu cc45892d3f Refactored connection handling to avoid race conditions 2025-11-26 14:29:19 +01:00
euzu 21006dbf0f Refactored connection handling to avoid race conditions 2025-11-26 14:13:31 +01:00