Add per-indexer ratio-based seeding policy

Introduce a per-indexer ratioLimit alongside seedingTimeMinutes to control torrent cleanup. Updates include: documentation (scheduler and settings pages), types and API (saved indexer config now includes ratioLimit), setup and management UI (new TorrentSeedingFields component, modal wiring, validation and handlers), and processor logic (cleanup-seeded-torrents now requires AND-semantics between time and ratio; 0 disables a criterion, both 0 = never cleaned, undefined client ratio with ratioLimit>0 = not met). Tests were added/updated to cover ratio-only, time+ratio, missing-ratio, and UI interactions. Default behavior: ratioLimit defaults to 0 (no ratio requirement).
This commit is contained in:
kikootwo
2026-05-18 15:07:50 -04:00
parent 01e61f3368
commit 411b5f88a4
13 changed files with 407 additions and 41 deletions
@@ -15,6 +15,7 @@ const indexersMock = [
name: 'Indexer',
priority: 10,
seedingTimeMinutes: 0,
ratioLimit: 1.5,
rssEnabled: true,
categories: [],
},