fix(subscription): apply rules on RSS path, dedup movies via library, MoviePilot-style default excludes

- runOne (RSS) now applies matchesSubscriptionRules so ExcludeWords/Resolution/Quality/Effects/ReleaseGroups take effect (previously only the Filter regex ran, so editing 排除 had no effect on RSS subscriptions)
- movie candidate selection now consults library availability: non-wash subscriptions skip titles already in the library, stopping repeated downloads of 10bit/Dolby releases (aligns with MoviePilot 'download once = satisfied')
- add MoviePilot-style default exclude list (cam/ts/枪版/trailer/sample...) merged with user excludes; latin tokens matched on word boundaries to avoid substring false positives
- frontend: send rule fields as raw strings on edit so 排除词 can be cleared/changed (was dropped by '|| undefined')

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
soldosluka857
2026-05-30 14:36:42 +00:00
committed by Shuke
parent de3f1f3bb4
commit f1d87638f3
3 changed files with 218 additions and 11 deletions
+5 -4
View File
@@ -50,10 +50,11 @@ export function SubscriptionsPage() {
search_mode: searchMode,
imdb_id: imdbID || undefined,
resolution,
quality: quality || undefined,
effects: effects || undefined,
release_groups: releaseGroups || undefined,
exclude_words: excludeWords || undefined,
// 规则类字段发送原始字符串(含空串),以便编辑时可清空/修改;create 存空串无害,update 才能真正生效。
quality,
effects,
release_groups: releaseGroups,
exclude_words: excludeWords,
wash_enabled: washEnabled,
wash_priority: washPriority,
priority: 50,