Commit Graph

453 Commits

Author SHA1 Message Date
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
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
Sam Chau
462f0ced94 chore(setup): remove remaining files 2025-10-18 00:09:59 +10:30
Sam Chau
0622046e53 chore(setup): remove existing codebase 2025-10-18 00:09:35 +10:30
Samuel Chau
3a0deb16fa docs(README): update setup link, clean old sections 2025-08-28 10:29:37 +09:30
Samuel Chau
bb514b20cc Merge pull request #224 from Dictionarry-Hub/dev
fix(backend): perms env, mm import refactor, deserialize error
v1.1.3
2025-08-26 22:11:39 +09:30
Sam Chau
99925be174 Merge branch 'main' of https://github.com/Dictionarry-Hub/profilarr into dev 2025-08-26 22:08:05 +09:30
Sam Chau
21e44d592f fix(entrypoint): simplify umask handling 2025-08-24 17:12:45 +09:30
Sam Chau
212dd695b6 fix(entrypoint): start shell with overriden umask 2025-08-24 16:20:17 +09:30
Sam Chau
6c40d352c9 fix(migration): update default language score 2025-08-24 16:07:38 +09:30
Sam Chau
7270bbfedb chore(docker): add entrypoint script and user permissions 2025-08-24 15:35:42 +09:30
Sam Chau
2e2abb93be feat(task): add update logic for task intervals for backup/sync 2025-08-23 10:12:12 +09:30
Sam Chau
7f5f44cd77 refactor(media-management): replace requests with ArrHandler for API interactions 2025-08-23 09:04:59 +09:30
Sam Chau
c30dc33828 fix(importer): pass arr type to format extractor to only compile/import arr specific formats 2025-08-23 08:23:29 +09:30
Samuel Chau
29a64511b8 fix(conflict): deserialize arr specific score objects when checking for conflicts (#220) v1.1.2 2025-08-21 10:25:26 +09:30
Sam Chau
eb9733807e fix(conflict): deserialize arr specific score objects when checking for conflicts 2025-08-21 10:23:27 +09:30
Sam Chau
6bb045d761 fix(yaml): add normalization of boolean keys to strings for JSON compatibility v1.1.1 2025-08-21 09:58:51 +09:30
Samuel Chau
6a77ae373f Merge dev: 1.1 Media Management -> stable v1.1 2025-08-19 15:48:57 +09:30
Sam Chau
1155a5133a fix(formats): more liberal group filters, stop click logic on group button 2025-08-15 03:37:21 +09:30
Sam Chau
9b3e261ec2 feat(scoring): implement sorting and filtering for format groups 2025-08-14 04:21:42 +09:30
Sam Chau
75eef53b40 fix(scoring): refine tag grouping 2025-08-14 03:57:34 +09:30
Sam Chau
4b03d706a5 fix(profile): optimize format processing to avoid unnecessary updates 2025-08-14 03:42:28 +09:30
Sam Chau
737a262568 refactor(scoring): completely overhauled format settings
- selection simplified to radarr/sonarr enabled
- removed basic / advanced views, replaced with grouping
- added ability to copy sonarr / radarr score into each other
2025-08-14 03:11:36 +09:30
Sam Chau
17756013b2 fix(compiler): advanced langauge processing
- use database langauge import score, not default
- fix except language field
2025-08-13 23:22:01 +09:30
Samuel Chau
d7d6b13e46 feat(profiles): radarr/sonarr split functionality (#215)
- added option to set radarr/sonarr specific scores that profilarr's compiler will handle on import
- revise design for arr settings container - now styled as a table
- completely rewrote import module. Now uses connection pooling to reuse connections.
- fixed import progress bug where 1 failed format causes all other formats to be labelled as failed (even if they succeeded)
- fixed bug where on pull sync wasn't working
- improve styling for link / unlink database modals
- fixed issue where 0 score formats were removed in selective mode
2025-08-11 01:51:51 +09:30
Samuel Chau
affb9cbf1f sytle: number input / tab viewer (#208)
* style(scoring-tab): revert width back to 6 digit length

* style(tabs): left allign desktop view
2025-06-18 07:06:50 +09:30
Samuel Chau
5281752269 feat: dynamic language score (#207)
- add database setting for language score on imports
- add settings container on general tab to let user update the value
- improved styling of general settings page to be more like media management page
2025-06-16 11:46:12 +09:30
Samuel Chau
876df945e4 style: consistent import modal (#206)
* style(import-modal): design similar to new media management sync modal

* chore(docker): change dev build to beta
2025-06-14 04:03:50 +09:30
Samuel Chau
22d4029e20 feat: media management (#205)
- implemented new data page for media management
- renaming options to set movie / episode / folder formats
- misc options for propers/repacks/video analysis
- quality definitions
- syncing with instances
- improved mobile view for tabs / navbar
2025-06-12 15:42:29 +09:30
Samuel Chau
b21216b667 fix: sonarr source mappings now use proper name (#202) 2025-05-31 13:08:14 +09:30
Sam Chau
d273355a78 Merge branch 'main' of https://github.com/Dictionarry-Hub/profilarr into dev 2025-03-30 21:30:37 +10:30
Marvin Haschker
38dfd703a8 chore: add arm64 build support to Docker workflow
* Update beta-build.yml

* Update release-build.yml

* docs: update README to include compatibility information

---------

Co-authored-by: Marvin Haschker <123marvin123@users.noreply.github.com>
Co-authored-by: Sam Chau <chaucted@gmail.com>
2025-03-30 21:18:31 +10:30
Samuel Chau
e251a4e317 fix: clone permissions for private repos (#190)
- reverted back to Flask development server for development
- improved / suppressed git logging
- fixed cloning for private repos by including PAT in clone job
- add 'private repo' badge that replaces repository stats for private repos
2025-03-30 20:42:31 +10:30