- Removed unsaved changes modal and related logic from qualities page.
- Enhanced scoring page with improved state management and save functionality.
- Introduced a new GeneralForm component for creating and editing quality profiles.
- Added server-side validation for duplicate quality profile names.
- Implemented delete confirmation modals for both quality profiles and regular expressions.
- Improved handling of custom format scores and enabled states in scoring table.
- Added new page for creating quality profiles with appropriate server-side logic.
- Updated regular expressions to check for duplicate names during creation and editing.
- Implemented `create.ts` for creating custom formats with associated tags.
- Added `delete.ts` for deleting custom formats with cascading deletes for related entities.
- Updated `index.ts` to export new create and delete functions.
- Enhanced the server-side logic in `+page.server.ts` for handling new custom format creation.
- Created a new Svelte component `GeneralForm.svelte` for managing custom format details.
- Updated the UI in `+page.svelte` for creating new custom formats and handling form submissions.
- Integrated dirty state management for form inputs in `TestForm.svelte` and `GeneralForm.svelte`.
- Added delete functionality in the UI for custom formats with confirmation modals.
- Added server-side actions for updating conditions with layer permissions.
- Enhanced the conditions page to handle draft conditions and validation.
- Introduced a modal for selecting save targets based on user permissions.
- Refactored condition and draft condition components to emit changes immutably.
- Updated general page to manage form data more reactively and validate inputs.
- Introduced a new `listConditions` query to fetch conditions for custom formats.
- Created a new `ConditionListItem` type for better type safety.
- Added a new route for managing conditions under custom formats.
- Implemented UI components for displaying and managing conditions, including `ConditionCard` and `DraftConditionCard`.
- Enhanced the layout to include a new tab for conditions.
- Added support for various condition types and their respective options.
- Implemented server-side logic for loading and managing tests in custom formats.
- Created new page for editing existing tests with form handling.
- Developed a reusable TestForm component for creating and editing test cases.
- Added functionality to create new tests with validation and error handling.
- Integrated layer permission checks for writing to base layer.
- Enhanced user experience with modals for save and delete actions.
- Added RegexReplace class for handling regex replacements.
- Created ReleaseGroupParser for extracting release groups from titles.
- Developed TitleParser for parsing movie titles, including editions and IDs.
- Introduced QualitySource, Resolution, QualityModifier enums and QualityResult class for quality metadata.
- Set up Dockerfile and docker-compose for containerized deployment.
- Implemented ASP.NET Core web API for parsing requests.
- Added TypeScript client for interacting with the parser service.
- Enhanced configuration to support dynamic parser service URL.
- Implemented QualityDefinitionsSection component to manage quality definitions for Radarr and Sonarr.
- Added server-side logic for loading and updating quality definitions in Radarr and Sonarr.
- Created new pages for Radarr and Sonarr media management, integrating the QualityDefinitionsSection.
- Enhanced media settings and naming settings management for both Radarr and Sonarr.
- Introduced validation and logging for media settings updates.
- Add server-side logic for loading, updating, and deleting regular expressions in +page.server.ts.
- Create a new Svelte component for editing regular expressions, including form handling and validation.
- Introduce a RegexPatternField component for managing regex patterns and associated unit tests.
- Develop a RegularExpressionForm component for both creating and editing regex entries.
- Implement a SearchFilterAction component for filtering regex entries.
- Add new routes for creating and managing regular expressions, including a preset feature for common patterns.
- Enhance the UI with CardView and TableView components for displaying regex entries in different formats.
- Integrate markdown parsing for descriptions in the UI.
- Added syncArrJob to handle syncing of PCD profiles and settings to arr instances.
- Created syncArr logic to process pending syncs and log results.
- Introduced BaseSyncer class for common sync operations and specific syncers for delay profiles
- Implemented fetch, transform, and push methods for delay profiles
- Added manual sync actions in the UI for delay profiles
- Enhanced logging for sync operations and error handling.
- Introduced a new sync page for ARR instances, allowing users to configure quality profiles, delay profiles, and media management settings.
- Implemented backend logic to handle saving sync configurations.
- Enhanced the cache management system to support debouncing based on specific paths.
- Updated the layout to include a new "Sync" tab in the navigation.
- Added UI components for managing quality profiles, delay profiles, and media management settings with appropriate state management.
- Included informative modals to guide users on how the sync process works.
fix(repo): change pull command to standard without rebase
fix(changes): ensure UI refresh after discarding and adding changes
fix(delay-profile): correct label structure for tags in DelayProfileForm
- Updated Git class to include options for fetching status and retrieving branches.
- Introduced getRepoInfo function to fetch repository details from GitHub API.
- Implemented changes page for database instances, allowing users to view and manage uncommitted changes.
- Added actions for discarding and adding changes with appropriate logging.
- Created UI components for displaying changes and managing actions.
- Implemented server-side redirects based on database access token presence.
- Enhanced delay profile management with improved delete functionality and logging.
- Create a new page for displaying delay profiles with an empty state when no databases are linked.
- Implement server-side loading for delay profiles based on the selected database.
- Add a detailed view for editing and deleting delay profiles, including form validation and error handling.
- Introduce a form component for creating and editing delay profiles with appropriate fields and validation.
- Implement table and card views for displaying delay profiles, allowing users to navigate to detailed views.
- Add functionality for creating new delay profiles with validation and error handling.
- Added filtering options for upgrade runs based on their status (all, success, partial, failed, skipped).
- Implemented a refresh button to reload the logs.
- Created a new component `UpgradeRunCard` to display individual upgrade run details.
- Introduced a cooldown tracker to show the next scheduled run time and progress.
- Added a dry run toggle to the upgrade configuration settings.
- Implemented clipboard functionality to copy and paste filter configurations.
- Updated the upgrade run action to support dry run mode and validate configurations.
- Refactored various components for improved readability and maintainability.
feat: implement caching mechanism for library data with TTL
feat: enhance Radarr client with methods to fetch movies and quality profiles
feat: update library page to support profile changing and improved UI elements
fix: update navigation icons and improve layout for better user experience
fix: correct cache handling and error management in library loading
- Implemented server-side loading for scoring data in `+page.server.ts`.
- Created a new Svelte component for the scoring page in `+page.svelte`, including UI for managing custom formats, profiles, and display options.
- Added a `ScoringTable` component to display custom formats and their scores.
- Introduced local storage management for user preferences such as grouping, tiling, and profiles.
- Enhanced user experience with modals for information and unsaved changes.
- Updated package.json to include Kysely and Deno Vite plugin dependencies.
- Introduced new types for sorting in table component.
- Refactored PCDCache to utilize Kysely for type-safe database queries.
- Created new query files for quality profiles, including general information, languages, and list queries.
- Removed outdated qualityProfiles.ts file and replaced it with modular query structure.
- Updated routes to use new query functions for loading quality profile data.
- Enhanced Vite configuration to include Deno plugin and improved watch settings.
- Fixed an empty div tag in Dropdown.svelte to ensure proper HTML structure.
- Implemented a custom HTML sanitizer in markdown.ts to avoid postcss dependency issues, allowing only specific tags and attributes to enhance security against XSS attacks.