Commit graph

771 commits

Author SHA1 Message Date
SergeantPanda
97c24dbea3 Bug Fix: Fix inconsistency with how 24 hour time is displayed between frontend and backend. If minutes were > 0 and using 24 hour time, hours 0-9 would show as single digit but if minute was 0 they would show double digit. 2025-10-19 17:16:49 -05:00
SergeantPanda
6a85475402 Enhancement: Adds ability to specify categories (comma separted) as well as include date and live tags in custom epg dummy output. 2025-10-19 10:06:48 -05:00
SergeantPanda
6e0e646938 Enhancement: EPG Dummy - Convert time based on timezone for preview. 2025-10-19 09:00:13 -05:00
SergeantPanda
937c20c082 Enhancement: Add upcoming and ended previews for custom dummy epg. 2025-10-19 08:53:49 -05:00
SergeantPanda
75215cfdc6 Enhancement: Convert <time> and <time24> in the frontend. 2025-10-19 08:42:27 -05:00
SergeantPanda
163b1dd7cf Move buttons to the right side and correctly load in output timezone for custom dummy epg. 2025-10-18 21:19:54 -05:00
SergeantPanda
603c9f9269 Enhancement: Added ability to specify output timezone for custom epg dummy. 2025-10-18 21:12:20 -05:00
SergeantPanda
fe540045fc Enhancement: Add a {time} and {time24} output for better output formatting of the time. 2025-10-18 21:06:27 -05:00
SergeantPanda
81276bfc16 Bug fix: Current settings for Stream Profile and Group were not displayed when opening the edit form for custom streams 2025-10-18 16:04:55 -05:00
SergeantPanda
fa2a90fab4 Bug fix: Remove bottom horizontal scroll bar from TV Guide, it was not synced with the guide and served no purpose. 2025-10-18 14:07:34 -05:00
SergeantPanda
91eaa64ebb Enhancement: Force a specific EPG for auto channel sync channels. 2025-10-18 13:43:49 -05:00
SergeantPanda
22fb0b3bdd Enhancement: Add Custom Dummy EPG with Dynamic Pattern Matching and Name Source Selection
This enhancement introduces a powerful custom dummy EPG system that allows users to generate EPG programs on-demand by parsing channel or stream names using configurable regex patterns.

Key Features:
- Custom Pattern Matching: Define regex patterns to extract information from channel/stream names (teams, leagues, times, dates, etc.)
- Flexible Name Source: Choose to parse either the channel name or a specific stream name (by index)
- Timezone-Aware Scheduling: Automatic DST handling using pytz timezone names (e.g., 'US/Eastern', 'Europe/London')
- Time Format Support: Parse both 12-hour (AM/PM) and 24-hour time formats
- Date Parsing: Extract dates from names with flexible month/day/year patterns
- Custom Templates: Format EPG titles and descriptions using captured groups with {placeholder} syntax
- Upcoming/Ended Customization: Define custom titles and descriptions for programs before and after scheduled events
- Live Preview: Test patterns and templates in real-time with sample input
- Smart Program Generation: Automatically creates "Upcoming" and "Ended" programs around scheduled events

Use Cases:
- Sports channels with event details in stream names (e.g., "NHL 01: Bruins VS Leafs @ 8:00PM ET")
- Movie channels with genre/title/year information
- Racing events with driver/track/series details
- Any scenario where EPG data is embedded in channel/stream naming conventions

Technical Implementation:
- Backend: Pattern matching engine with timezone conversion and program scheduling logic
- Frontend: Interactive form with validation, pattern testing, and visual group preview
- Name Source Options: Parse from channel name or selectable stream index (1-based)
- Fallback Behavior: Uses standard dummy EPG if patterns don't match
- Custom Properties: Stores all configuration in EPGSource.custom_properties JSON field

Configuration Options:
- Title Pattern: Extract primary information (required)
- Time Pattern: Extract hour/minute/AM-PM (optional)
- Date Pattern: Extract month/day/year (optional)
- Timezone: Event timezone with automatic DST support
- Program Duration: Length of generated programs in minutes
- Title Template: Format EPG title using captured groups
- Description Template: Format EPG description using captured groups
- Upcoming Title Template: Custom title for programs before event starts (optional)
- Upcoming Description Template: Custom description for programs before event starts (optional)
- Ended Title Template: Custom title for programs after event ends (optional)
- Ended Description Template: Custom description for programs after event ends (optional)
- Name Source: Channel name or stream name
- Stream Index: Which stream to use when parsing stream names (1, 2, 3, etc.)

Closes #293
2025-10-18 12:08:56 -05:00
SergeantPanda
ca8e9d0143 Enhancement: Add custom logo support for channel groups in Auto Sync Channels.
Closes #555
2025-10-17 10:03:21 -05:00
SergeantPanda
7744d7287b Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into pr/jordandalley/531 2025-10-16 17:57:39 -05:00
SergeantPanda
0031d55bab Bug Fix: Resizing columns in the channel table may cause the page to crash.
Fixes #516
2025-10-16 16:49:13 -05:00
SergeantPanda
b9a0aaa574 Re-allign tables and buttons after adjusting button layout. 2025-10-16 14:33:15 -05:00
SergeantPanda
90d065df80 Enhancement: Show "Saved Successfully" message when changing stream settings and DVR settings. Also only show "Saved Successfully" when the api actually returns a success. 2025-10-13 17:00:18 -05:00
SergeantPanda
87d2131789 Bug fix: Fixes saving settings returning error.
Fixes [Bug]: Error saving Stream Settings
Fixes #535
2025-10-13 16:45:22 -05:00
SergeantPanda
fbd83e61b7 Enhancement: Added tooltips to stream table fields. Also removed unneeded imports for logos. 2025-10-11 10:54:11 -05:00
SergeantPanda
6acb0da933 Bug fix/Enhancement: Selecting many streams will no longer cause the stream table to create a new row for buttons. Also reordered buttons in the stream table slightly. 2025-10-11 10:46:52 -05:00
SergeantPanda
d32abecb25 Enhancement: Add confirmation dialog to stream delete functions. 2025-10-11 10:36:04 -05:00
SergeantPanda
951af5f3fb Enhancement: Add auto-enable settings for new groups and categories in M3U and VOD components
Bug Fix: Remove orphaned categories for VOD and Series
Fixes #540
Closes #208
2025-10-09 15:28:37 -05:00
SergeantPanda
8794156767 Enhancement: Only fetch playlists and channel profiles after successful m3u refresh not every m3u_refresh status update. This should reduce network traffice and efficiency.
This may fix #327
2025-10-07 10:02:26 -05:00
SergeantPanda
da245c409a Bug fix: Backend now notifies frontend when a new playlist is creating. This should fix where accounts will sometimes only show fetching groups after a new account is added. 2025-10-07 09:55:35 -05:00
SergeantPanda
171bb004c4 Set XC as default for new M3U accounts 2025-10-07 09:20:01 -05:00
SergeantPanda
99ad0ecb7b Bug fix: Fixes bug where adding multiple M3U accounts in a row would only modify the first M3U account that was added unless you refresh the web UI. 2025-10-07 09:18:43 -05:00
3l3m3nt
a959ba1748 Fix: Add IPv6 CIDR validation in Settings. Add ::0/0 as a default as well as 0.0.0.0/0 2025-10-07 20:02:47 +13:00
OkinawaBoss
8db9689999
Merge branch 'DVR-Update' into dev 2025-10-06 06:25:40 -07:00
Dispatcharr
dea6411e1c Time Zones
- Added time zone settings
2025-10-06 07:46:23 -05:00
SergeantPanda
0406c868bc
Merge pull request #515 from EmeraldPi/set-name-logo 2025-10-05 18:51:30 -05:00
SergeantPanda
cedd0d6f4d Finish merge 2025-10-05 18:44:26 -05:00
SergeantPanda
e6a9672a14 Merge branch 'dev' into pr/csmith1210/457 2025-10-05 18:40:59 -05:00
SergeantPanda
d7735255ec Enhancement: Add confirmation dialogs for setting names, logos, TVG-IDs, and clearing EPG assignments in ChannelBatchForm 2025-10-04 17:39:56 -05:00
SergeantPanda
67a6ad1168 Enhancement: Add clear EPG button to ChannelBatchForm for resetting EPG assignments 2025-10-04 17:35:01 -05:00
SergeantPanda
d1ac5b11e5 Add EPG TVG-ID setting functionality
- Implemented API endpoint to set channel TVG-IDs from EPG data.
- Created Celery task to handle TVG-ID updates for multiple channels.
- Added frontend methods to initiate TVG-ID setting from EPG for both single and batch channel forms.
- Enhanced notifications for task status updates.
2025-10-04 15:20:35 -05:00
Connor Smith
23209e79e9 [Enhancement] Set logo name from url 2025-10-04 14:23:53 -04:00
SergeantPanda
23be065c52
Revert "Revert "Add option to add a logo by a URL in Channel editor/creator"" 2025-10-04 09:22:09 -05:00
SergeantPanda
e4a6d19c17
Revert "Add option to add a logo by a URL in Channel editor/creator" 2025-10-04 09:11:38 -05:00
Connor Smith
ff894acf4d Fix: Need onSuccess in file upload to update Channel.jsx logo 2025-10-03 21:15:45 -04:00
Connor Smith
68c8d4dc23 Change logo upload to link to Logo.jsx form 2025-10-03 07:05:56 -04:00
SergeantPanda
5bb2b57a4e Remove redundant h from 12 hour time in settings page. 2025-10-02 11:48:16 -05:00
SergeantPanda
d8ad33ff77 Fix bug where m3u hash settings wouldn't save properly. 2025-10-02 11:45:39 -05:00
SergeantPanda
a3e4f23891 Enhancement: Add m3u_id parameter to generate_hash_key and update related calls 2025-10-02 09:14:22 -05:00
SergeantPanda
9da20b1941 Switch back to node 24, switch to npm for building frontend. Remove node_modules before starting frontend build. Fixes bug with NPM 2025-09-30 09:22:05 -05:00
SergeantPanda
cd5135ba27 Add testing-library/dom to package-lock 2025-09-28 11:30:14 -05:00
SergeantPanda
c5029213fc Add testing-library/dom to dev dependencies 2025-09-28 10:20:30 -05:00
SergeantPanda
ec193813b4 Enhancement: Update logo options to include the default logo 2025-09-26 10:24:00 -05:00
Connor Smith
fd9038463b Allow for batch editing channel logos 2025-09-22 20:29:32 -04:00
SergeantPanda
75fbf9639a Enhancement: Update channel and program mapping to support multiple channels per TVG ID 2025-09-21 16:23:07 -05:00
SergeantPanda
4db8eca391
Merge pull request #448 from stlalpha/fix-438
Fix #438: Virtualize TV Guide rendering to improve large channel count performance and add regression tests
2025-09-21 15:50:28 -05:00