Commit graph

1041 commits

Author SHA1 Message Date
dekzter
5785fef4df ability to revoke API keys, fixed bug showing another user's api key in the UI 2026-02-24 10:09:34 -05:00
dekzter
64cbe0cc36 swapped naming / icons for settings / system 2026-02-21 19:26:53 -05:00
dekzter
c410b1c1e7 updated wording / icon for integrations 2026-02-21 13:45:33 -05:00
dekzter
6cf808a4df frontend components for API keys 2026-02-21 13:45:21 -05:00
SergeantPanda
b0cc5dca27 Enhancement: Channel table group filter sort order: The group dropdown in the channel table is now sorted alphabetically. 2026-02-20 13:38:28 -06:00
SergeantPanda
74bf98b405 Bug Fix Filter channel groups in the channel table to include only those with channels in groupOptions
Some checks are pending
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
Frontend Tests / test (push) Waiting to run
2026-02-20 12:26:20 -06:00
SergeantPanda
a7b9c0ffe1
Merge branch 'dev' into optimize-channels-store 2026-02-20 09:42:36 -06:00
SergeantPanda
5dc531e5e4 Refactor: Rename 'Settings' to 'System' and vice versa in Sidebar component for clarity 2026-02-20 09:39:12 -06:00
SergeantPanda
1f932b30b9 Enhancement/BugFix:
- The User-Agent field was not correctly loaded from the existing profile when opening the edit modal. (Fixes #650)
- Replaced the plain command text field with a dropdown listing built-in tools (FFmpeg, Streamlink, VLC, yt-dlp) plus a Custom option that reveals a free-text input. Each built-in now shows its default parameter string as a live example in the Parameters field description, updating as the command selection changes. Added descriptive help text to all fields to improve clarity.
2026-02-19 15:51:08 -06:00
SergeantPanda
8a8df11b72 Fix issue with channelById type error (object vs map) this was breaking scheduling manual DVR recordings. 2026-02-18 15:16:33 -06:00
SergeantPanda
34a24b2e44 Added isLoading: false to fetchChannelIds and fix auth and channels tests. 2026-02-18 14:45:34 -06:00
SergeantPanda
c68d73fbdb Update DVR to not require group selection, use new channel summary endpoint. 2026-02-18 14:38:47 -06:00
SergeantPanda
8427ae0a2d tests: Update frontend tests for changes to channel store. 2026-02-18 14:12:03 -06:00
SergeantPanda
edc3fc951e Optimize now-line updates and scrolling performance in TVChannelGuide 2026-02-18 13:10:24 -06:00
SergeantPanda
3df259e06e Enhance program visibility in GuideRow with horizontal culling and buffer 2026-02-18 12:59:56 -06:00
SergeantPanda
15b4ec7be9 Slight performance increase for tv guide. 2026-02-18 12:11:21 -06:00
SergeantPanda
7db6aded22 add summary endpoint and lightweight channel summary retrieval for TV Guide 2026-02-18 11:51:41 -06:00
dekzter
1eeaefef85 use getChannels endpoint for fetching all instead of normal querying 2026-02-17 17:49:02 -05:00
dekzter
7c0ce190d2 'disabled' all view limitation for now (just set it really high) 2026-02-17 17:29:26 -05:00
dekzter
b24d51c2aa missed lots of places we used the old channels map, fixed them up 2026-02-17 17:28:59 -05:00
dekzter
f988506a79 missed channel memo 2026-02-17 16:23:54 -05:00
SergeantPanda
0aa5986c12 Enhancement: Reorganized the form into collapsible accordion sections (Pattern Configuration, Output Templates, Upcoming/Ended Templates, Fallback Templates, EPG Settings) for better organization. Field descriptions now appear in info icon popovers instead of taking up vertical space, making the form more compact and easier to navigate while keeping help text accessible.
Some checks failed
CI Pipeline / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (push) Has been cancelled
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Has been cancelled
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
CI Pipeline / create-manifest (push) Has been cancelled
2026-02-17 13:15:19 -06:00
SergeantPanda
47853bdb5b Enhancement: Added optional subtitle template field to custom dummy EPG configuration. Users can now define subtitle patterns using extracted regex groups and time/date placeholders (e.g., {starttime} - {endtime}). (Closes #942) 2026-02-17 12:00:24 -06:00
SergeantPanda
ac1b43445e
Merge pull request #946 from CodeBormen/fix/945-XC-profile-refresh-extract-wrong-credentials
Fix XC URL sub-path handling in profile refresh and EPG creation
2026-02-16 16:04:53 -06:00
dekzter
cd6b3da8eb Merge remote-tracking branch 'origin/dev' into optimize-channels-store 2026-02-16 16:44:20 -05:00
SergeantPanda
b1cb70c5d2
Merge pull request #975 from Dispatcharr/connect
Feature: Connect
2026-02-16 15:27:56 -06:00
SergeantPanda
717cce92ec
Merge branch 'dev' into cron-scheduling 2026-02-16 10:55:33 -06:00
dekzter
055d2604ca better form validation 2026-02-15 07:36:29 -05:00
SergeantPanda
2c9f6d7360 Enhancement: For auto channel sync, allow using provider number, fixed start number or next available. (Closes #956, #433) 2026-02-13 14:34:22 -06:00
dekzter
e030906cdd more supported events, better UI (columns) for events in connection editor 2026-02-13 12:20:40 -05:00
dekzter
f1d6b86278 refactored frontend usage of 'all channels' to only pull down IDs, query for individual channels as necessary 2026-02-13 11:46:17 -05:00
dekzter
fe9854c522 more supported events 2026-02-12 19:28:43 -05:00
SergeantPanda
890992a9f9 feat(scheduling): add cron builder and refactor scheduling components (Closes #165)
Add cron expression support for M3U and EPG refreshes with interactive
builder modal and quick reference examples. Refactor backup scheduling
to use shared ScheduleInput component for consistency.

- New CronBuilder modal with preset buttons and custom field editors
- Info popover with common cron expression examples
- Shared ScheduleInput component for interval/cron toggle
2026-02-12 18:08:13 -06:00
dekzter
bc72ea7310 merged in dev 2026-02-11 19:51:21 -05:00
dekzter
e6ffeb19de added event support to plugins 2026-02-11 19:50:11 -05:00
Matt Grutza
bc231b3f64
Merge branch 'Dispatcharr:main' into fix/945-XC-profile-refresh-extract-wrong-credentials 2026-02-10 17:52:07 -06:00
SergeantPanda
631f3d4528 Switch to LF line endings and apply prettier formatting. 2026-02-09 17:01:35 -06:00
dekzter
24f812dc4d initial connect feature 2026-02-08 09:29:22 -05:00
None
8de23eec35 Fix XC URL sub-path handling in profile refresh and EPG creation
- Fix credential extraction in get_transformed_credentials() using negative
  indices anchored to the known tail structure instead of hardcoded indices
  that break when server URLs contain sub-paths
- Fix EPG URL construction in M3U form to normalize server URL to origin
  before appending xmltv.php endpoint

XC accounts with sub-paths in their server URL (e.g., http://server.com/portal/a/) caused two failures: profile refresh extracted wrong credentials from the URL path due to hardcoded array indices, and EPG auto-creation appended xmltv.php under the sub-path instead of at the domain root. Both fixes normalize away the sub-path using the same approach the backend's XCClient already uses for API calls.
2026-02-05 20:55:52 -06:00
Dispatcharr
78a53e03db Plugin fixes/updates
Some checks failed
CI Pipeline / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (push) Has been cancelled
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Has been cancelled
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
CI Pipeline / create-manifest (push) Has been cancelled
Added password fields - #616
Fixed multiple GUI issues - #494
Adds some QoL upgrades
See CHANGELOG.md for more info
2026-02-05 20:05:29 -06:00
SergeantPanda
6fb4d42022
Merge pull request #894 from CodeBormen/Feature/771-Auto-Matching-Improvments
Feature/771 auto matching improvements
2026-02-03 10:20:45 -06:00
SergeantPanda
49a5feb671 test: refactor SettingsPage tests to use MemoryRouter for routing context 2026-02-03 09:41:40 -06:00
SergeantPanda
b01eb9585c feat: add system notifications and update checks
Real-time notifications for system events and alerts
Per-user notification management and dismissal
Update check on startup and every 24 hours to notify users of available versions
Notification center UI component
Automatic cleanup of expired notifications
2026-02-03 09:24:02 -06:00
None
6617ee4e66 Add Mantine component mocks to EPGMatchModal tests
Fixed failing EPGMatchModal tests by adding mocking for @mantine/core components

Follows existing test patterns from Settings.test.jsx
2026-02-01 00:23:20 -06:00
None
d7b98fef8d Add default/advanced mode toggle and test coverage for EPG matching
Enhanced EPG matching UX by adding radio button toggle to more clearly define optional advanced options. Also added test coverage for stability.

Frontend Changes:
- Added radio button UI to EPGMatchModal for default/advanced mode selection
- Default mode: Uses built-in normalization
- Advanced mode: Shows TagsInput fields for custom prefixes/suffixes/strings
- Mode persists across sessions and settings are preserved when switching modes

Test Coverage:
- Created EPGMatchModal.test.jsx with test cases covering:
  - Component rendering and mode switching
  - Form submission and settings persistence
  - Error handling and UI text variations

- Added test cases to SettingsUtils.test.js for EPG mode handling:
  - epg_match_mode routing to epg_settings group
  - Settings creation and preservation

Since advanced settings are saved persistently but ignored when default settings are used, this adds an easy way in the future to add additional advanced settings to EPG matching like  region influence, match aggression, and match preview, since users can easily switch between modes.
2026-01-31 23:11:20 -06:00
SergeantPanda
dc51ab4dd1 Enhancement: Added a "Reset to Defaults" button to the Network Access settings form, matching the functionality in Proxy Settings. Users can now quickly restore recommended network access settings with one click.
Some checks failed
CI Pipeline / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (push) Has been cancelled
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Has been cancelled
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
CI Pipeline / create-manifest (push) Has been cancelled
2026-01-31 20:35:48 -06:00
SergeantPanda
3c556494c1 Enhancement: Updated default network access settings for M3U and EPG endpoints to only allow local/private networks by default (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, ::1/128, fc00::/7, fe80::/10). This improves security by preventing public internet access to these endpoints unless explicitly configured. Other endpoints (Streams, XC API, UI) remain open by default. 2026-01-31 20:26:45 -06:00
SergeantPanda
0172a7cc00 Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into pr/CodeBormen/894 2026-01-31 19:47:57 -06:00
SergeantPanda
efe915a9b3
Merge pull request #904 from CodeBormen/Feature/866-Search-Filter-Sort-streams-by-TVG-ID
Feature/866 Add TVG-ID column with filter and sort to Streams table
2026-01-31 19:31:48 -06:00
SergeantPanda
aa1f627402 Enhancement: Refactored copyToClipboard utility function to include notification handling internally, eliminating duplicate notification code across the frontend. The function now accepts optional parameters for customizing success/failure messages while providing consistent behavior across all copy operations.
Some checks are pending
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
Frontend Tests / test (push) Waiting to run
2026-01-31 19:01:34 -06:00