Commit graph

37 commits

Author SHA1 Message Date
SergeantPanda
a8a3c70e55 fix(api): update HDHR URLs to use port-aware URI builder
- Refactored HDHR API views to utilize `build_absolute_uri_with_port()` for generating URLs, ensuring correct handling of non-standard ports in lineup and discovery responses.
2026-06-07 14:27:57 -05:00
SergeantPanda
ba76a4d5f2 feat: Add HDHR output profile support and reorganize settings
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
- Implemented HDHR output profile URL support for specific transcode profiles.
- Introduced a default output profile setting in Stream Settings.
- Updated API views to handle channel profiles and output profiles.
- Migrated preferred region and auto-import settings to system settings.
- Enhanced frontend forms to include output profile selection and descriptions.
2026-05-10 11:14:02 -05:00
None
b2b108bfe5 rename Channel.user_hidden to Channel.hidden_from_output
The previous name suggested "hidden from a specific user account" rather than "hidden from downstream client output", which was the actual
behavior. The new name is unambiguous and matches the help_text language ("Exclude this channel from downstream client output").

Mechanical rename across the migration, model, serializer, signals, sync logic, output endpoints, frontend forms / tables / utils, tests, and CHANGELOG. 77 occurrences across 20 files.

No behavior change.
2026-05-01 19:44:16 -05:00
None
6fed444e43 feat: Auto-sync overhaul (FR #1196)
Per-field channel overrides for auto-synced channels, hide-from-output flag, range-bounded auto-numbering with re-pack, multi-stream channel safety, multi-provider shared-range merging, and an across-the-board move from per-row sync writes to bulk operations.

Migrations:

apps/channels:

0036_channeloverride_and_user_hidden,
0037_backfill_auto_created_by_null,
0038_channelgroupm3uaccount_auto_sync_channel_end,
0039_channel_channel_number_nullable

apps/m3u:
0020_m3uaccount_auto_cleanup_unused_channels

See CHANGELOG.md for the full commit log
2026-05-01 14:05:06 -05:00
SergeantPanda
3801dd7aab Security: Implement network access checks for HDHomeRun discovery endpoints and remove dangerouslySetInnerHTML from M3U Profile regex preview to prevent XSS vulnerabilities 2026-04-30 14:03:30 -05:00
SergeantPanda
dd911cc711 Refactor: Remove SSDP advertisement implementation and related code from HDHomeRun app
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
2026-04-30 12:23:37 -05:00
SergeantPanda
47427d4b0f security:
- Set `DEFAULT_PERMISSION_CLASSES` to `Authenticated` in the DRF configuration.
- Explicitly marked the HDHomeRun discovery endpoints (`DiscoverAPIView`, `LineupAPIView`, `LineupStatusAPIView`, `HDHRDeviceXMLAPIView`) and the version endpoint with `permission_classes = [AllowAny]` to document their intentionally public access now that the global default is `Authenticated`.
2026-04-09 21:36:51 -05:00
SergeantPanda
5364123745 - Swagger/OpenAPI Migration: Migrated from drf-yasg (OpenAPI 2.0) to drf-spectacular (OpenAPI 3.0) for API documentation. This provides:
- Native Bearer token authentication support in Swagger UI - users can now enter just the JWT token and the "Bearer " prefix is automatically added
  - Modern OpenAPI 3.0 specification compliance
  - Better auto-generation of request/response schemas
  - Improved documentation accuracy with serializer introspection
2026-01-27 13:33:33 -06:00
SergeantPanda
3a81227a73 Move tuner calculation to central location and use it to dynamically calculate tuner counts for XC api user_info 2025-08-28 15:26:51 -05:00
dekzter
a1576bd493 merged in dev 2025-06-10 08:55:14 -04:00
SergeantPanda
7acc31ec97 Allow for tuners as low as 1 instead of 2.
Closes #149
2025-06-07 19:27:59 -05:00
dekzter
3f445607e0 looooots of updates for user-management, initial commit of access control 2025-05-31 18:01:46 -04:00
dekzter
6504db3bd4 merged in dev 2025-05-28 18:34:45 -04:00
SergeantPanda
68a7f7f4fd Add profile name to hdhr friendly name and device id. 2025-05-27 10:46:49 -05:00
dekzter
74d58515d0 user management, user levels, user level channel access 2025-05-18 11:19:34 -04:00
SergeantPanda
8c86f7656a Convert HDHR floats correctly. 2025-05-15 16:21:14 -05:00
SergeantPanda
b3c4ff8f2d Finding more timers that can be converted to gevents. 2025-05-01 10:43:07 -05:00
SergeantPanda
5e0f81522c Enhance tuner count calculation to include only active M3U accounts 2025-04-18 17:08:47 -05:00
SergeantPanda
2921588b23 Add custom stream count to calculation. 2025-04-13 20:58:46 -05:00
SergeantPanda
cb891461bf Dynamically create TunerCount for HDHR based on profile max connections. Minimum of 2, unlimited is 10. 2025-04-13 20:31:10 -05:00
SergeantPanda
f4b244a338 Removed quotes 2025-04-11 22:20:58 -05:00
SergeantPanda
45573b9ca1 Added tuners to api_views 2025-04-11 16:38:56 -05:00
SergeantPanda
cab4fa4986 Forgot quotes. 2025-04-11 16:29:12 -05:00
SergeantPanda
1209b0c238 Add TunerCount to device discovery response. Hard coded to 10 for now. 2025-04-11 16:19:52 -05:00
dekzter
839abd281c m3u file upload fixed, hdhr support profiles now, i don't remember what I did to the UI anymore 2025-04-07 20:49:42 -04:00
Dispatcharr
aa6cbf3b65 Removed HDHR from root url 2025-03-21 08:22:17 -05:00
Dispatcharr
106999d32d Updated HDHR to use proxy 2025-03-18 22:46:15 -05:00
dekzter
9711d7ab34 modified database fields for consistency, removed custom_url from streams (no longer needed) 2025-03-16 09:07:10 -04:00
Dispatcharr
e305f1cba0 Fixed HDHR
Changed URLs so they would properly work as a HDHR device.
2025-03-06 18:43:14 -06:00
dekzter
a9437e9214 new migrations 2025-03-05 17:18:04 -05:00
Dispatcharr
045509a017 HDHR support fixed 2025-03-02 15:07:57 -06:00
dekzter
3e3f4c85a1 multi stream support 2025-03-02 15:06:47 -05:00
kappa118
9c84b65302 initial migrations 2025-03-01 19:02:21 -05:00
Dispatcharr
9da7adda92 Pre Alpha v4
Added login page
Added login/logout buttons
Added m3u settings
Added stream profiles to channels and streams
Added ability to add individual stream outside of m3u file
Added ability to add youtube live links as a stream source
Deleted migrations
Deleted pycache folders
Changed HDHR to get ip dynamically
2025-02-22 20:43:55 -06:00
Dispatcharr
3978e60ce9 Pre Alpha 2
Added FFMPEG
Removed "is_active"
Added m3u output
2025-02-19 16:55:23 -06:00
Dispatcharr
7ae7dbe175 Pre Alpha Changes
Removed .DS_Store and added to gitignore

M3U add created
M3U delete fixed
Removed unused files
Django admin not so ugly now
2025-02-18 16:48:01 -06:00
Dispatcharr
8edb743ebd Initial commit 2025-02-18 11:14:09 -06:00