forked from Dispatcharr/Dispatcharr
-
Notifications
You must be signed in to change notification settings - Fork 0
Oci docker labels #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Create/Download/Upload/Restore database backups (PostgreSQL and SQLite) - Configurable data directory backups (via settings.py) - Scheduled backups (daily/weekly) via Celery Beat - Retention policy (keep last N backups) - Token-based auth for async task polling - X-Accel-Redirect support for nginx file serving - Comprehensive tests
…scheduler - Read time-format setting from UI Settings via useLocalStorage - Show 12-hour time input with AM/PM selector when user prefers 12h - Show 24-hour time input when user prefers 24h - Backend always stores 24-hour format (no API changes)
This change ensures that by default, IPv6 clients can connect to the service unless explicitly denied. Fixes Dispatcharr#593
- Added m3u_account__name to backend ordering_fields in StreamViewSet - Implemented field mapping in frontend to convert column IDs to backend field names - Added sort buttons to both Group and M3U columns with proper icons - Sort buttons show current sort state (ascending/descending/none) - Maintains consistent UX with existing Name column sorting
- Add missing header properties to group and m3u columns - Fix layout issues with sort buttons (proper flex layout, remove blocking onClick) - Fix sorting state initialization (use boolean instead of empty string) - Fix sorting comparison operators (use strict equality) - Fix 3rd click behavior to return to default sort instead of clearing - Map frontend column IDs to backend field names for proper API requests
Version 0.13.0
… pr/stlalpha/488
…sues fix: Allow all IPv6 CIDRs by default
- Simplify to database-only backups (remove data directory backup) - Update UI to match app styling patterns: - Use ActionIcon with transparent variant for table actions - Match icon/color conventions (SquareMinus/red.9, RotateCcw/yellow.5, Download/blue.5) - Use standard button bar layout with Paper/Box/Flex - Green "Create Backup" button matching "Add" pattern - Remove Card wrapper, Alert, and Divider for cleaner layout - Update to Mantine v8 Table syntax - Use standard ConfirmationDialog (remove unused color prop) - Update tests to remove get_data_dirs references
… pr/bobey6/707
Enhancement: Add sort by 'Group' or 'M3U' buttons to Streams
Dramatically improve EPG refresh performance by parsing the XML file once per source instead of once per channel. The new implementation: - Pre-filters to only process EPG entries mapped to actual channels - Parses the entire XML file in a single pass - Uses O(1) set lookups to skip unmapped channel programmes - Skips non-mapped channels entirely with minimal overhead For EPG sources with many channels but few mapped (e.g., 10,000 channels with 100 mapped to channels), this provides approximately: - 99% reduction in file open operations - 99% reduction in XML file scans - Proportional reduction in CPU and I/O overhead The parse_programs_for_tvg_id() function is retained for single-channel use cases (e.g., when a new channel is mapped via signals). Fixes inefficient repeated file parsing that was occurring with large EPG sources.
…tes to reduce I/O overhead and prevent partial data visibility
…al progress information in EPGsTable
…without a webui refresh.
…ream profile that will be set.
…rity sources when matching channels. Also ignore EPG sources where is_active is false during matching, and update serializers/forms/frontend accordingly.(Closes Dispatcharr#603, Dispatcharr#672)
- Import dayjs for date formatting
- Read date-format setting from localStorage ('mdy' or 'dmy')
- Move formatDate function into component to access user preferences
- Format dates according to user's date and time format settings:
- MDY: MM/DD/YYYY
- DMY: DD/MM/YYYY
- 12h: h:mm:ss A
- 24h: HH:mm:ss
The Created column now respects the same date/time format preferences
used throughout the app (Guide, Stats, DVR, SystemEvents, etc).
Moved the Advanced (Cron Expression) switch outside the scheduleLoading conditional and wrapped it in its own Group for proper alignment. Layout is now: - Scheduled Backups header with Enabled/Disabled switch - Advanced (Cron Expression) toggle (aligned left) - Schedule configuration inputs (conditional based on mode) This provides clearer visual hierarchy and better UX.
Changed Advanced (Cron Expression) from a labeled switch to a proper Group with space-between layout matching the Scheduled Backups row above. Now displays as: Scheduled Backups [Enabled toggle] Advanced (Cron Expression) [Toggle] This creates consistent visual alignment with both text labels on the left and toggle switches on the right.
Added dynamic label to the Advanced (Cron Expression) switch to match the Scheduled Backups toggle above it. Now displays: Scheduled Backups [Enabled] Advanced (Cron Expression) [Enabled] Provides consistent UI pattern and clearer status indication.
Added comprehensive test coverage for cron expression support: New tests in BackupSchedulerTestCase: - test_cron_expression_stores_value: Verify cron_expression persists correctly - test_cron_expression_creates_correct_schedule: Verify CrontabSchedule creation from cron - test_cron_expression_invalid_format: Verify validation rejects malformed expressions - test_cron_expression_empty_uses_simple_mode: Verify fallback to frequency/time mode - test_cron_expression_overrides_simple_settings: Verify cron takes precedence Updated existing tests to include cron_expression field: - test_get_schedule_settings_defaults: Now checks cron_expression default - test_get_schedule_success: Added cron_expression to mock response - test_update_schedule_success: Added cron_expression to mock response All tests verify the new cron functionality works correctly alongside existing simple scheduling mode.
Changed Created column from fixed size (160px) to flexible minSize (180px) with whiteSpace: nowrap to ensure date/time displays on a single line. The column can now expand as needed while maintaining readability of timestamps in various date/time format combinations.
Updated create_backup to use the system's configured timezone for backup filenames instead of always using UTC. This makes filenames more intuitive and matches users' local time expectations. Changes: - Import pytz and CoreSettings - Get system timezone from CoreSettings.get_system_time_zone() - Convert current UTC time to system timezone for filename timestamp - Fallback to UTC if timezone conversion fails - Internal metadata timestamps remain UTC for consistency Example: - System timezone: America/New_York (EST) - Created at 3:00 PM EST - Old filename: dispatcharr-backup-2025.12.09.20.00.00.zip (UTC time) - New filename: dispatcharr-backup-2025.12.09.15.00.00.zip (local time) This aligns with the timezone-aware scheduling already implemented.
…nnels Advanced Filtering
Removing unreachable code
…AttributeError when title and/or description are none.
- Set CrontabSchedule timezone to system timezone for accurate scheduling - Replace time TextInput with hour/minute Select dropdowns for cleaner UX - Remove UTC/local time conversion logic (handled by Celery) - Add tests for timezone functionality in simple and advanced modes
- Row 1: Frequency, Day (if weekly), Hour, Minute, Period (if 12h) - Row 2: Retention, Save button - Use wrap=nowrap to keep time selectors on same row
- Add _cleanup_orphaned_crontab() helper function - Delete old crontab when disabling backup schedule - Delete old crontab when schedule settings change - Prevents database bloat from unused CrontabSchedule records
…ckups Enhancement: Add automated configuration backups
…des from the same provider. (Fixes Dispatcharr#556)
…isted, the xc api would fail.(Fixes Dispatcharr#569)
…elation handling for active M3U accounts
Added resizing of the floating video Fixed floating video dragging
Dispatcharr#697 Encode tvg_id for DVR series rule deletions
…ved image management
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.