129 Commits

Author SHA1 Message Date
Sam Chau
cf67a1c985 perf(cache): add proper file caching at the import instantiation 2025-09-04 00:17:55 +09:30
Sam Chau
88f11b65aa fix(revert): add deletion check back 2025-09-03 09:28:38 +09:30
Sam Chau
baba7ad3c5 fix(cache): remove regex compiler cache, reload cache after ANY git revert 2025-09-03 08:43:04 +09:30
Sam Chau
9e5e5ce523 fix(cache): force reinitialize on git ops 2025-08-28 13:24:43 +09:30
Sam Chau
5ee22f7201 fix(cache): reload cache on git operations 2025-08-28 01:45:14 +09:30
Sam Chau
61854e3d02 feat(cache): implement in-memory caching for YAML data to improve performance 2025-08-27 03:38:07 +09:30
Sam Chau
77f996f8c5 feat(regex): implement .NET regex testing via PowerShell and enhance UI components 2025-08-27 02:38:01 +09:30
Sam Chau
ef86fa251f feat(regex): add .NET regex validation via PowerShell and integrate into frontend 2025-08-27 01:34:10 +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
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 2025-08-21 09:58:51 +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
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
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
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
Sam Chau
37585067a3 Merge branch 'main' of https://github.com/Dictionarry-Hub/profilarr into dev 2025-03-19 11:11:08 +10:30
Samuel Chau
f7589a5bb9 fix: resolve sonarr remux mappings in quality groups (#174) 2025-03-19 11:10:15 +10:30
Samuel Chau
ecc5f9eade refactor: profile import optimisation (#165)
feat: add concurrent, async requests to improve profile / format import performance

feat: optimise cf prefetching, reduce verbose logging
- now only make single request, then propagate changes to remaining profiles
- remove verbose logging

fix: increase Gunicorn worker timeout to 10 minutes to prevent timeouts during database syncing operations
2025-03-16 10:41:13 +10:30
Samuel Chau
f9989ee0cd feat: various styling improvements + simple language processing (#154)
style: improve quality item aesthetic
- perma edit / delete buttons for groups
- replace radarr/sonarr badges with tooltip
- replace selected styling with tick icon

refactor: upgrade until logic
- remove dropdown selection
- let individual quality items be selectable as the upgrade until target

- fix: let modal handle scrolling on quality tab
- style: improve quality header / create group button
- feat: add special choice functionality to search dropdown
- style: add bottom margin to qualities container

feat: language improvements
- simple mode added to change for profile langauge back compatability in radarr
- improved styling for language tab

style: profile footer improvements
- save confirmation
- improved styling for save / delete buttons

- feat: enhance modal close animations and add closing state management
- fix: append [copy] to cloned profiles
- fix: change keyboard shortcut from 'a' to 'm' for selection mode
2025-03-08 01:51:31 +10:30
santiagosayshey
df16d7c52f fix: merge/delete conflicts (#151)
feat: enhance merge conflict handling with improved status messages and conditional rendering
feat: improved modify / delete conflict handling
- fix ours/theirs messages for deleted files
- fix handling of choice moniker
- fix parsing of local/incoming name when deleted
2025-02-26 18:11:35 +10:30
Sam Chau
b402976848 fix: update PAT status on startup
- now allows transition from non dev -> dev environments or vice versa
2025-02-23 09:51:31 +10:30
santiagosayshey
f91fea113f fix/improve: arr config modal (#146)
- Fix: remove / update dangling references on data delete / rename in arr config. 
- Fix: Show dangling references in data selector so they can be removed after git operation (cascade operations not possible).
- Fix: improve onclick behaviour so that button clicks in arr modal don't incorrectly trigger save / update.
- Refactor: Turn data selector into a non modal component - now exists on the same pane as the arr modal.
- Feat: Add search / sort functionality to data selector. Sorted A-Z by default now.
2025-02-23 04:12:10 +10:30
santiagosayshey
b9289510eb refactor: remove tweaks functionality from profile handling (#145)
- removed because I couldn't integrate it nicely with the rest of the application, will keep in the todo pile for later.
2025-02-21 00:30:01 +10:30
santiagosayshey
0729ac0a62 feature: Include Format when Renaming (#143)
- New: Field inside format general tab to enable include format in rename
- New: Database migration that adds format renames table
- New: Queries to get / update rename status for a format
- Update: Format compiler checks for rename entries and add include rename field when found
- Update: Parsing improvements for incoming commit messages
2025-02-18 01:49:38 +10:30
santiagosayshey
f6ad7485b1 feat: Rename / Status Improvements (#142)
- Renames within profilarr now affect all files that reference the renamed file
- Outgoing / Incoming status now properly shows renamed files as renamed, rather than new
- Overhauled view changes header + commit section. Now shows commit scope + file type as badges + improved message parsing
2025-02-17 07:06:11 +10:30
Sam Chau
17d9932783 fix: calculate sync percentage based on explicitly selected items only
- no longer count CFs inside profiles
2025-02-07 11:08:03 +10:30
Sam Chau
b335ca73ed feat: add production Dockerfile and docker-compose configuration for backend setup 2025-02-05 16:09:59 +10:30
Sam Chau
33a24b764d feat: add URL prefixes to blueprints for improved API structure 2025-02-05 16:09:59 +10:30
Sam Chau
8d3ab5718f refactor: remove URL prefixes from blueprints in the application 2025-02-05 16:09:59 +10:30
Sam Chau
ff575f5a2a feat: implement settings API integration for fetching and updating user settings 2025-02-05 16:09:59 +10:30
Sam Chau
3757cbdb21 feat: add session ID management for authentication setup and middleware 2025-02-05 16:09:59 +10:30
Sam Chau
1b5a438d14 feat: register settings blueprint in the main application 2025-02-05 16:09:59 +10:30
Sam Chau
1598e06f84 refactor: remove redundant logging setup code 2025-02-05 16:09:59 +10:30
Sam Chau
df82ddaa73 refactor: implement database connection and migration handling 2025-02-05 16:09:59 +10:30
Sam Chau
94bbc81449 feat: normalize file path brackets in load_yaml_file function 2025-02-05 16:09:59 +10:30
Sam Chau
4b0755630a feat: add support for 'release_type' condition in FormatConverter with handling for Radarr 2025-02-05 16:09:59 +10:30
Sam Chau
4faa777c6b feat: add Release_Types class for Sonarr release type mappings and retrieval method 2025-02-05 16:09:59 +10:30
Sam Chau
cd56900431 feat: add support for 'year' condition type in FormatConverter with min and max year specifications 2025-02-05 16:09:59 +10:30
Sam Chau
afef0ff2c3 feat: add size condition support in FormatConverter for min and max size specifications 2025-02-05 16:09:59 +10:30
Sam Chau
2813fc6c77 feat: add support for 'edition' and 'quality_modifier' condition types in FormatConverter 2025-02-05 16:09:59 +10:30
Sam Chau
5b658a564e feat: add Quality_Modifiers class for Radarr quality mappings and retrieval method 2025-02-05 16:09:59 +10:30
Sam Chau
de24893f81 feat: trim whitespace from 'name' and 'rename' fields in handle_item function 2025-02-05 16:09:59 +10:30
Sam Chau
34cd563273 fix: prevent duplicate format entries when syncing profile format IDs 2025-02-05 16:09:59 +10:30
Sam Chau
cd05e07a0e feat: add conflict handling for duplicate configuration names in save and update processes 2025-02-05 16:09:59 +10:30