Release Blockbusterr v2.0.0 - #71
Merged
Merged
Conversation
…ng and sorting capabilities
- Updated the activity filter display to use a more semantic structure with improved styling. - Added error handling for image loading in job previews, replacing broken images with an icon. - Refactored job preview statistics display for better readability and accessibility. - Enhanced the filter tab functionality to use ARIA roles for better accessibility. - Improved the overall layout of modal components for better user experience and responsiveness.
…low overrides - Added support for required matches including genres, keywords, and networks. - Introduced allow overrides for countries, languages, genres, keywords, and networks. - Updated UI to reflect new filtering criteria and improved user guidance. - Enhanced the logic for displaying and processing filter criteria in the job descriptions.
- Added a readiness section to the index page to display system readiness status and links to complete setup. - Introduced an inline readiness alert in the jobs page to inform users about incomplete setup and provide actionable links. - Updated the activity page to show a message when no automation history is available, encouraging users to create and run jobs. - Added a favicon for improved branding and user experience. - Created tests for readiness assessment and Jellyseerr request cancellation handling.
- Updated the migration banner in jobs.html to provide clearer messaging and improved accessibility. - Modified jobs.js to dynamically update the migration button text based on the number of legacy jobs detected and to handle migration status more effectively. - Added a loading state to the migration button during the migration process. - Implemented error handling to display migration status messages. - Introduced unit tests in migration_test.go to ensure legacy job settings are preserved during migration and to verify rollback behavior on ID collisions.
- Introduced a new documentation file for the Rules API, detailing endpoints for managing rule sets, title exceptions, and job-specific rule copies. - Added an upgrade guide for migrating from Blockbusterr v1 to v2, outlining pre-upgrade steps, upgrade process, important changes, verification steps, and rollback instructions. - Implemented delivery budget management in the jobs service, including tests for enforcing global and per-run delivery limits. - Created unit tests for delivery budget reservations to ensure correct behavior under various conditions.
- Introduced a new job type "list" allowing users to create jobs based on lists from various providers. - Updated the job creation UI to include fields for list kind, owner, and list ID. - Enhanced job type dropdown to reflect availability of list jobs and their sources. - Implemented backend logic to handle fetching and validating list data. - Added tests for list source functionality and validation of list locators. - Created enums for job types and list configurations to improve code clarity and maintainability.
- Implemented ListInspection struct to provide metadata about lists. - Added InspectListSource function to fetch and inspect list details from configured sources. - Updated ListSource interface to support fetching lists from TMDB and Trakt. - Enhanced job settings UI to include buttons for inspecting lists and connecting to TMDB and Trakt accounts. - Added OAuth flow for connecting to TMDB and Trakt accounts, including device authorization for Trakt. - Created new integrations for handling TMDB and Trakt list items, including pagination and error handling. - Updated activity logs to display source information for jobs. - Added tests for new integrations and OAuth flows to ensure functionality and error handling.
- Implement MDBList integration for accessing public user lists and watchlists. - Add Letterboxd integration with experimental scraping for public lists. - Update UI to support new integrations, including settings and job configurations. - Enhance form serialization to include new settings for Letterboxd scraping. - Add warnings for experimental features and update documentation accordingly. - Implement tests for both MDBList and Letterboxd integrations to ensure reliability.
- Implemented UI components for allowed and blocked content ratings in filters.html. - Enhanced filters.js to manage allowed and blocked certifications, including error handling. - Created new functions in certifications.go to enrich movie and show data with TMDB certification information. - Added enums for certification policies in certification.go to handle unknown certification scenarios. - Updated settings.js to remove unnecessary event target value reset. - Improved index.html with accessibility features and clearer messaging regarding experimental scraping.
- Introduced repeat policy selection in job settings, allowing users to specify how soon previously delivered titles can be re-added. - Updated job creation and editing forms to include repeat policy options. - Implemented logic to determine effective repeat policy based on job-specific and global settings. - Added functionality to check delivery history and enforce cooldown periods based on selected repeat policy. - Created tests to validate repeat policy behavior and ensure correct handling of delivery history.
- Added checks for template readiness before creating jobs from templates. - Updated notifications to provide clearer feedback on job import and creation. - Enhanced filtering logic to include additional template attributes in search. - Changed UI text from "templates" to "recipes" for better clarity. - Improved the display of job template information, including availability and cadence. - Refactored job creation function to streamline the process and improve error handling.
…ement - Added UI components for enabling ranked selection and configuring selection limits in settings. - Implemented JavaScript functions to handle rendering and updating selection summaries and controls. - Created database models and methods for managing selection cycles and items. - Developed selection allocator logic to determine winners and handle minimum picks. - Added tests for selection cycle planning and allocation logic. - Introduced enums for selection reasons and cycle statuses.
- Introduced logic to manage visibility of the activity empty state based on job runs and activity entries. - Updated the activity template to reflect new messaging for no activity. - Improved job run loading to check for recent runs and cycles, updating the empty state accordingly. feat(jobs): refine job modal and selection controls - Added dynamic enabling/disabling of modal interval and run button based on job selection cycle. - Enhanced job creation notifications for clarity on rule usage. - Updated job saving logic to refresh selection fields in the modal. fix(settings): streamline settings initialization and selection controls - Moved baseline snapshot serialization to ensure it captures the latest form state. - Improved selection controls to handle multiple elements and update based on enabled state. refactor(templates): clarify UI labels and descriptions - Updated labels for movie/show limits and delivery limits for better clarity. - Added a new section for participating jobs in the selection settings with appropriate messaging.
…ory deletion - Added confirmation input for clearing all activity logs, requiring the user to type 'CLEAR' to proceed. - Updated UI to reflect changes in the clear logs modal, including new messaging and input fields. - Improved event listeners for handling changes in log deletion options and confirmation input. - Adjusted the clear logs button state based on user input for better UX.
- Introduced a new job type for recommendations, including fields for TMDB seed IDs and list sources. - Updated JavaScript to handle the new recommendations type, including parsing seeds and populating list sources. - Enhanced the UI with new input fields for recommendations in both custom and modal job forms. - Added logic to manage series type selection for shows in the recommendations context.
- Introduced BLOCKBUSTERR_AUTH_TOKEN for securing the UI and API with HTTP Basic authentication. - Updated documentation to reflect the new authentication mechanism and security recommendations. - Enhanced security headers including a restrictive Content Security Policy. - Implemented middleware for owner access and same-origin mutation checks. - Modified configuration handling to preserve existing secrets unless replaced by user input. - Improved error messages for clarity and consistency.
… groups, and job assignment
…onality, including stricter file permissions and improved validation
- Updated tests to ensure activity history clearing requires confirmation and correctly handles job runs. - Introduced new test for applying combined SQL filters and sorting on activity logs. - Refactored dynamic preview job functions to incorporate delivery history checks and repeat policy evaluations. - Improved repeat policy handling to return appropriate skip reasons based on delivery history. - Added UI enhancements for clearing logs, including an option to clear delivery memory. - Updated activity history tests to verify delivery memory retention after activity deletion. - Implemented new activity query functionality to support deduplication and pagination without history cap.
…a IDs - Updated ShowJobExecutor and SmartShowJobExecutor to enrich show certifications and handle errors appropriately. - Refactored score maps to use string keys based on stable identifiers for movies and shows. - Enhanced list source adapters to include media type in FetchList method and log warnings for skipped items. - Introduced APIError handling for upstream API requests, including duplicate error classification and response redaction. - Added tests for APIError handling and stable key generation for media IDs.
- Implement loading estimate for job previews, providing users with feedback on expected wait times. - Update preview statistics to reflect new terminology and improve clarity (e.g., "Skipped" instead of "Already exists"). - Modify the decision tone logic to accommodate new delivery modes. - Adjust the filter tabs in the job preview to align with updated terminology. - Update documentation links in the base and index templates to point to the new documentation site. - Improve navigation tracking in settings to ensure the last section is activated when scrolling to the bottom of the page.
- Removed the old activity chart and replaced it with two distinct charts: delivery and decision. - Updated the JavaScript to handle the new chart data and configurations. - Modified the HTML structure to accommodate the new charts and their descriptions. - Enhanced the chart options for better readability and interaction.
- Implemented URL-based filter management for activity logs, allowing users to bookmark and share filtered views. - Added support for day and reason filters, ensuring they are mutually exclusive and correctly reflected in the UI. - Introduced bulk actions for selected entries, including a block feature with user confirmation. - Enhanced the activity table with row selection capabilities, allowing users to select multiple entries for bulk actions. - Updated the activity chart to allow filtering by clicking on chart bars, improving user interaction. - Improved the rendering of active filters, providing a clearer overview of applied filters and allowing for easy removal. - Added tests for activity reason filtering to ensure correct classification and pagination of activity logs.
…dd deployment platforms documentation
…dling - Added Playwright configuration and server setup for browser tests. - Implemented tests for job editing, tab navigation, and CSV export functionality. - Enhanced dialog management with focus trapping and escape key handling. - Introduced unsaved changes detection for job forms and filters. - Improved accessibility with ARIA roles and attributes in templates. - Refactored asset checking and build scripts in package.json. - Cached run entries in activity.js for performance optimization. - Updated filters and job templates for better user experience.
Mahcks
marked this pull request as ready for review
September 12, 2026 21:20
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
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.
Blockbusterr v2 adds reusable Rules, previews, provider-backed discovery and watchlists, ranked selection, delivery budgets, repeat handling, and automatic v1 migration. Installation examples now target stable
v2.0.0; publication advanceslatestfrom v1 to v2. Release notes are in.github/releases/v2.0.0.md.Failure recovery is qualified with isolated data: ambiguous deliveries retain budget reservations, canceled runs preserve completed totals, discovery initialization failures close Job Runs, Trakt pagination keeps stable offsets, invalid OAuth responses preserve credentials, and configuration paths reject nonfinite values. Regression tests cover interrupted deliveries, concurrent budgets, provider failures, and configuration restore. The upgrade harness preserves seeded history through v1.5.0/v1.5.2 upgrade, restart, and rollback into a separate mount.
Validation: full Go race suite, required routes/app tests, vet, lint, modernization, zero reachable Go vulnerabilities with the release toolchain, npm audits, generated assets, 18 browser tests, production build, documentation builds/versioned links, release metadata, fresh AMD64 container, and both v1 upgrade/rollback probes passed locally. Require green CI on the final candidate before merging.
Real-provider delivery, observation on the maintainer’s stack, and native ARM64 runtime qualification remain unverified. Publishing is authorized by the maintainer; no live-instance changes or social posts are included. Reddit drafts and the local promotional GIF are excluded.