Commit Graph

488 Commits

Author SHA1 Message Date
Sam Chau
a0fc3e7ece fix(+page.svelte): add unsaved changes tracking to scoring options 2025-11-09 05:19:51 +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
92035e8fc5 fix(+page.svelte): add type annotation for typeOptions array for better type safety 2025-11-05 21:44:51 +10:30
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
80019b72a6 fix(ActionButton): add z-index class to dropdown for proper stacking 2025-11-05 21:41:31 +10:30
Sam Chau
697d241adf feat(tabs): enhance tab navigation with back button support and layout adjustments 2025-11-05 21:40:33 +10:30
Sam Chau
ee35e335d7 feat(unsaved-changes): implement utility for detecting and handling unsaved changes 2025-11-05 21:40:14 +10:30
Sam Chau
f274c9900f refactor(table): move Column interface to separate types file for better organization 2025-11-05 07:35:48 +10:30
Sam Chau
e7fac48962 feat(quality-profiles): add quality profile management with views and queries 2025-11-05 07:30:42 +10:30
Sam Chau
2abc9aa86a feat(pcd): implement PCD cache management and initialization logic 2025-11-05 07:30:33 +10:30
Sam Chau
4280403cfa fix(navbar): adjust margin for brand name container in navigation 2025-11-05 07:30:02 +10:30
Sam Chau
bba8590b07 feat(table): add header icon support and enhance cell rendering options 2025-11-05 07:29:55 +10:30
Sam Chau
4bcbdd77c8 feat(ui): implement search and dropdown components with actions 2025-11-05 07:29:38 +10:30
Sam Chau
9b6b746ed6 chore(css): remove unused tailwindcss forms plugin import 2025-11-05 07:29:14 +10:30
Sam Chau
b8588b84f4 Add marked library as a dependency in package.json 2025-11-05 07:29:06 +10:30
Sam Chau
302a80d1cd feat(markdown): add utility functions for parsing and stripping markdown 2025-11-05 07:28:52 +10:30
Sam Chau
58bd036a3a chore(pcd): cleanup unused files for schema deps 2025-11-04 07:02:05 +10:30
Sam Chau
37ae5164e6 feat(pcd): add database linking functionality 2025-11-04 06:58:54 +10:30
Sam Chau
a7d9685ed9 fix: instance form path in new arr page 2025-11-03 22:25:28 +10:30
Sam Chau
f2d9a8fa76 style(logo): use temp firefox logo 2025-11-03 21:10:05 +10:30
Sam Chau
ed8f81619e refactor(state): move empty state into reusable ui comp 2025-11-03 21:09:26 +10:30
Sam Chau
c17ae8eac4 perf(about): progressively stream data for instant page load 2025-11-03 20:57:17 +10:30
Sam Chau
849d1ec1b6 chore: move tests into src, temp config into dist, cleanup tasks 2025-11-03 20:44:43 +10:30
Sam Chau
64bde2017b chore(logs): Cleanup double logger alias 2025-11-03 17:32:45 +10:30
Sam Chau
fcdd45952b refactor(everything): properly movied into lib 2025-11-03 17:27:33 +10:30
Sam Chau
7df6d1eec3 refactor(alerts): move to lib/client
- also remove reusable request wrapper
2025-11-03 17:05:48 +10:30
Sam Chau
3a2e778b98 refactor(stores): move to lib/client 2025-11-03 16:50:18 +10:30
Sam Chau
b18012b032 refactor(assets): move to lib/client 2025-11-03 16:48:31 +10:30
Sam Chau
51eaa2cdca style(arrInstance): transition to card styling 2025-10-26 10:30:48 +10:30
Sam Chau
77cff2de8f style(scrollbar): add custom safari/chromium scrollbars 2025-10-26 10:00:33 +10:30
Sam Chau
c83217a72a feat(notifications): add notification module with Discord webhook support
- Database schema for notification services and history tracking
  - Notifier interface with Discord webhook implementation
  - UI for creating/editing/managing notification services
  - Integration with job completion events
  - Service-level enable/disable and notification type filtering
  - Test notifications and notification history view
2025-10-22 04:07:03 +10:30
Sam Chau
5cd1bf82ff refactor(createBackup): extract logic and add comprehensive tests
- Extract pure backup logic to /src/jobs/logic/createBackup.ts
  - Update job definition to use extracted logic
  - Fix absolute path parsing for tar command
  - Add 7 tests: success cases, filename format, file extraction,
    error handling (non-existent dir, file instead of dir), empty dir
  - Uses BaseTest framework with temp directories and tar extraction
2025-10-21 09:02:58 +10:30
Sam Chau
b8949b5148 test(cleanupLogs): add comprehensive test suite
- 8 tests covering deletion, retention, parsing, and edge cases
  - Tests empty/non-existent directories and boundary conditions
  - Uses BaseTest framework for isolated temp directories
2025-10-21 08:25:22 +10:30
Sam Chau
97ad75f238 chore(paths): move jobs into src 2025-10-21 08:24:50 +10:30
Sam Chau
7e8068f1fb test: add BaseTest framework with utilities
- Create abstract BaseTest class with lifecycle hooks
  - Add beforeAll/afterAll and beforeEach/afterEach hooks
  - Implement temp directory management (auto cleanup)
  - Add file assertion helpers (exists, contains, matches)
  - Add async utilities (waitFor, waitForFile, sleep)
  - Include example test demonstrating usage
  - Add test tasks to deno.json (test, test:watch)
  - Add @std/assert dependency
2025-10-21 08:04:46 +10:30
Sam Chau
1884e9308f refactor(logger): make Logger independently testable
- Add LoggerConfig interface for dependency injection
  - Logger class now accepts optional config in constructor
  - Default singleton still uses system config/database (no breaking changes)
  - Enables standalone usage for testing without full system init
  - Add auto-creation of logs directory if missing
2025-10-21 07:57:13 +10:30
Sam Chau
0a9b287825 refactor(logging): simplify to daily-only rotation
- Remove rotation_strategy and max_file_size settings
  - Always use YYYY-MM-DD.log format for log files
  - Update cleanup job to parse dates from filenames
  - Simplify settings UI to retention days only
2025-10-21 07:44:37 +10:30
Sam Chau
303e81507f stack(logs, jobs, backups): implemented 2025-10-21 06:10:00 +10:30
Sam Chau
357c5023e2 fix(arr): parameterise api version to let clients override 2025-10-20 04:31:31 +10:30
Sam Chau
c7f0698f2d refactor(arr): create shared instance component for new / edit instance
- add ability to edit existing instances
- add ability to delete existing instances
2025-10-20 04:02:56 +10:30
Sam Chau
ea9a01c0d6 frontend(about): add dev team / dedication 2025-10-20 02:29:55 +10:30
Sam Chau
e24410f6f3 stack(arrConfig): implemented arr config handling
- database module + migrations handler
- http client class + arr client child (with connection pooling, retries, backoff)
- toast alerts
- add new arr configs
2025-10-20 02:13:09 +10:30
Sam Chau
24e5571a66 chore(style): frontend formatting 2025-10-19 22:56:05 +10:30
Sam Chau
8386d8bacb chore(codebase): add ignore stuff for ai related files, add more build commands 2025-10-19 22:27:23 +10:30
Sam Chau
77e8f011b2 frontend(version): add version info to pageNav 2025-10-18 06:26:53 +10:30
Sam Chau
7e25d844e9 style(pageNav): thicker, rounded vertical lines 2025-10-18 05:53:38 +10:30
Sam Chau
d6a9be58bc frontend(error): add error page 2025-10-18 05:50:42 +10:30
Sam Chau
86e9590337 frontend(nav): pageNav 2025-10-18 05:28:47 +10:30