Commit Graph

56 Commits

Author SHA1 Message Date
Sam Chau
aec6d79695 feat: updateLanguages, updateQualities functionality 2026-01-14 16:03:14 +10:30
Sam Chau
f4b531b61a feat: Refactor quality profile management and scoring
- 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.
2026-01-05 01:40:23 +10:30
Sam Chau
8deef25c9e feat: add create and delete custom format functionality
- 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.
2026-01-03 04:07:08 +10:30
Sam Chau
08710ffcb4 feat: implement condition management with draft support and layer permissions
- 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.
2026-01-03 03:22:29 +10:30
Sam Chau
3462c8b84d feat(custom-formats): add updateGeneral functionality and integrate with the general page 2026-01-03 02:17:02 +10:30
Sam Chau
e44228d147 feat(logging): implement change tracking and logging for media settings and naming updates 2026-01-03 02:01:38 +10:30
Sam Chau
e79a2babe9 feat(delay-profiles, regular-expressions): add created_at and updated_at fields to profiles and expressions 2026-01-02 23:43:24 +10:30
Sam Chau
897cfa6b06 feat(logging): add logging for regular expression updates and creation actions 2026-01-02 23:35:04 +10:30
Sam Chau
1a9b2bb1c6 feat(delay-profiles): implement explicit ordering for delay profiles and add info modal for user guidance 2026-01-02 22:24:38 +10:30
Sam Chau
1ff6208ba7 refactor(logging): change log level from info to debug for upgrade logging 2026-01-02 22:16:11 +10:30
Sam Chau
bc55d0c7bb feat(migrations): add app_info table and change default log level to DEBUG
refactor(logging): update logging levels and improve log messages across jobs
feat(jobs): enhance job initialization and sync with database
2026-01-02 22:13:04 +10:30
Sam Chau
8c12de7f89 feat(cache): enhance cache build process with detailed stats and improve logging 2026-01-02 20:41:25 +10:30
Sam Chau
bca25af6dc refactor(scoring): remove debug logging from scoring query 2026-01-02 20:29:06 +10:30
Sam Chau
77237b54ac feat(logging): enhance logging for delay profile updates and write operations 2026-01-02 20:20:55 +10:30
Sam Chau
95795d5f0e feat: add conditions management for custom formats
- 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.
2025-12-31 16:40:41 +10:30
Sam Chau
56cf061a4b feat(customFormats): implement general queries and update related types and components 2025-12-31 03:31:59 +10:30
Sam Chau
445ebf1a39 feat(tests): add test count to custom formats in list and views 2025-12-31 03:13:53 +10:30
Sam Chau
5d82cc910b feat: add testing functionality for custom formats
- 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.
2025-12-31 03:05:09 +10:30
Sam Chau
af269b030f feat(cache): implement regex101 cache table and queries for API response caching 2025-12-31 00:58:17 +10:30
Sam Chau
5c26d6d7b2 feat(parser): implement C# parser microservice with regex-based title parsing
- 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.
2025-12-30 10:33:52 +10:30
Sam Chau
8a3f266593 feat(custom-formats): implement custom formats management with list, detail views, and search functionality 2025-12-30 08:23:36 +10:30
Sam Chau
bd702f126c feat(media-management): enhance MediaManagementSyncer to support multiple config types and improve sync functionality 2025-12-30 07:15:44 +10:30
Sam Chau
4aa914664e feat(media-management): add Quality Definitions, Media, Naming sections for Radarr and Sonarr
- 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.
2025-12-30 04:56:54 +10:30
Sam Chau
7e7561e35a feat: Implement regular expression management features
- 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.
2025-12-29 21:06:49 +10:30
Sam Chau
8035820156 feat(ops): implement natural sorting for uncommitted operation files 2025-12-29 21:06:17 +10:30
Sam Chau
912861abca fix(writer): improve SQL query conversion to handle multiple placeholders correctly 2025-12-29 21:06:00 +10:30
Sam Chau
54e64a2ed4 feat(config): enhance base path logic to use executable directory as fallback 2025-12-29 19:00:12 +10:30
Sam Chau
1e8fc7a42d feat(sync): implement sync functionality for delay profiles
- 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.
2025-12-29 05:37:55 +10:30
Sam Chau
ea5c543647 feat: add sync configuration for ARR instances
- 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.
2025-12-29 04:39:52 +10:30
Sam Chau
aef58ea804 feat(ai): implement AI settings management and commit message generation 2025-12-29 04:39:41 +10:30
Sam Chau
4aa1c0c8e3 feat(git): add isFileUncommitted utility and update cancelOutCreate logic
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
2025-12-29 01:35:50 +10:30
Sam Chau
3ae82153d9 feat(commits): implement commit history retrieval and display in the database view 2025-12-29 01:13:10 +10:30
Sam Chau
1eb2e983a5 feat: enhance Git operations and add changes management for databases
- 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.
2025-12-29 00:15:00 +10:30
Sam Chau
9ddb426f13 feat(git): refactor git utilities and introduce Git class for repository operations 2025-12-28 22:37:14 +10:30
Sam Chau
7c07f87d7c feat(delay-profiles): add delay profiles management functionality
- 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.
2025-12-28 21:28:17 +10:30
Sam Chau
a5a12f1658 feat(delay-profiles): add delay profile queries and types for database integration 2025-12-28 20:14:28 +10:30
Sam Chau
4e15ffa168 feat(notifications): refactor notification system to use a fluent builder pattern 2025-12-28 19:43:51 +10:30
Sam Chau
b7efaa567c feat(upgrades): enhance upgrade manager with detailed notifications for success and failure 2025-12-28 19:30:50 +10:30
Sam Chau
66095f6be1 feat(dependencies): implement syncDependencies to update dependency versions from manifest 2025-12-28 18:59:06 +10:30
Sam Chau
926da00858 feat(upgrades): enhance upgrade logs and configuration management
- 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.
2025-12-27 11:23:36 +10:30
Sam Chau
6dbdd9a0f0 feat(upgrades): add last_run_at tracking to upgrade_configs and implement upgrade manager job 2025-12-27 06:43:57 +10:30
Sam Chau
3a2d98491c feat(upgrades): add upgrade configuration management with CRUD operations 2025-12-27 06:31:27 +10:30
Sam Chau
119131bab6 feat: add expandable table component for displaying Radarr library items with detailed views
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
2025-12-26 07:41:04 +10:30
Sam Chau
ec7616c7a1 fix: remove scoring streaming 2025-11-09 07:41:20 +11:00
Sam Chau
78f33aae43 feat: implement drag-and-drop functionality for quality page 2025-11-09 07:07:03 +11:00
Sam Chau
55e0c9eb67 feat: add scoring page with custom format management
- 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.
2025-11-09 05:12:36 +11:00
Sam Chau
e1de8f88cf feat: Add Kysely integration for quality profile queries and refactor database interactions
- 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.
2025-11-09 05:07:48 +11:00
Sam Chau
d69064803a fix: update Dropdown.svelte to properly close empty div tag and enhance markdown sanitizer
- 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.
2025-11-09 01:11:19 +11:00
Sam Chau
4ce966a41d feat(quality-profiles): implement quality profile management with detailed views, including languages and general settings 2025-11-05 21:41:49 +10:30
Sam Chau
e7fac48962 feat(quality-profiles): add quality profile management with views and queries 2025-11-05 07:30:42 +10:30