From f04072b33903ed42af3941e066430a388941d803 Mon Sep 17 00:00:00 2001 From: Viren070 Date: Thu, 20 Nov 2025 21:24:15 +0000 Subject: [PATCH] feat: add `private` sort criterion --- packages/core/src/streams/sorter.ts | 2 ++ packages/core/src/utils/constants.ts | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/packages/core/src/streams/sorter.ts b/packages/core/src/streams/sorter.ts index 2e1c1dc0..d30c41ee 100644 --- a/packages/core/src/streams/sorter.ts +++ b/packages/core/src/streams/sorter.ts @@ -153,6 +153,8 @@ class StreamSorter { return multiplier * (stream.size ?? 0); case 'seeders': return multiplier * (stream.torrent?.seeders ?? 0); + case 'private': + return multiplier * (stream.torrent?.private ? 1 : 0); case 'age': return multiplier * (stream.age ?? 0); case 'encode': { diff --git a/packages/core/src/utils/constants.ts b/packages/core/src/utils/constants.ts index 70758c70..21f1b429 100644 --- a/packages/core/src/utils/constants.ts +++ b/packages/core/src/utils/constants.ts @@ -853,6 +853,7 @@ const SORT_CRITERIA = [ 'size', 'service', 'seeders', + 'private', 'age', 'addon', 'regexPatterns', @@ -981,6 +982,15 @@ export const SORT_CRITERIA_DETAILS: Record< ascendingDescription: 'Streams with fewer seeders are preferred', descendingDescription: 'Streams with more seeders are preferred', }, + private: { + name: 'Private', + description: 'Whether the stream is from a private tracker or not', + defaultDirection: 'desc', + ascendingDescription: + 'Streams that are not from private trackers are preferred', + descendingDescription: + 'Streams that are from private trackers are preferred', + }, age: { name: 'Age', description: 'Sort by the age of the stream',