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
moe and Claude 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
euzu and GitHub
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