Commit Graph

23 Commits

Author SHA1 Message Date
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
97ad75f238 chore(paths): move jobs into src 2025-10-21 08:24:50 +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
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
Sam Chau
309297d263 style(nav): fix the nav to top of page 2025-10-18 04:48:12 +10:30
Sam Chau
24a20fcf76 frontend(nav): add navbar, themeToggle, theme store 2025-10-18 04:37:47 +10:30
Sam Chau
f3379b9ea4 server(utils): config, logger, startup 2025-10-18 03:55:11 +10:30
Sam Chau
72415af8a5 chore(setup): sveltekit + deno 2025-10-18 00:39:02 +10:30