From ac9dea71865a3612a42a745824e4fec6ea806172 Mon Sep 17 00:00:00 2001 From: Sam Chau Date: Thu, 22 Jan 2026 10:45:10 +1030 Subject: [PATCH] feat: default new filter is upgradinatorr-like --- src/lib/shared/filters.ts | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/src/lib/shared/filters.ts b/src/lib/shared/filters.ts index 155ef72..08d11e0 100644 --- a/src/lib/shared/filters.ts +++ b/src/lib/shared/filters.ts @@ -356,18 +356,44 @@ export function createEmptyGroup(): FilterGroup { } /** - * Create an empty filter config + * Create a default filter group with upgradinatorr-style rules: + * - monitored is true + * - minimum_availability has reached released + */ +export function createDefaultGroup(): FilterGroup { + return { + type: 'group', + match: 'all', + children: [ + { + type: 'rule', + field: 'monitored', + operator: 'is', + value: true + }, + { + type: 'rule', + field: 'minimum_availability', + operator: 'gte', + value: 'released' + } + ] + }; +} + +/** + * Create a filter config with sensible defaults (upgradinatorr-style) */ export function createEmptyFilterConfig(name: string = 'New Filter'): FilterConfig { return { id: uuid(), name, enabled: true, - group: createEmptyGroup(), + group: createDefaultGroup(), selector: 'random', - count: 5, - cutoff: 80, - searchCooldown: 24 // default 24 hours + count: 2, + cutoff: 100, + searchCooldown: 672 // 4 weeks in hours }; }