Better filtering of torrents by status #14927

Open
opened 2026-02-22 01:34:58 -05:00 by deekerman · 1 comment
Owner

Originally created by @DarkVoyage on GitHub (Sep 1, 2023).

Suggestion

#19504 led me to an idea that statuses should be not groups, but filters that give custom results and helps you reduce the clutter. Current status groups are not precise and they collect several different statuses that are not the same.

Use case

For example, downloading group contain not only currently resumed torrents, but also paused (stopped), which is not correct. This group should be called instead incomplete and be a separate group. Group "Stalled Uploading" looks to me completely useless, because waiting for peer is normal situation for seeding torrents. It is named like they are "problematic". At same time stalled downloads are problematic downloads that are stuck in unfinished state (dead or unconnectable). And then a group Stalled that combine both is twice useless list that has no sense at all.

I think that desired filtering can be obtained, if statuses were conditional and you can select the needed combination of options. Filter should offer several conditions, some of which are multistate and some are boolean like moving and checking.

So the final list of combinations should look like:

  • Direction: (bi-directional arrows) Both (Default) > (arrow down) Downloading > (arrow up) Uploading
  • State: (some icon) All (Default) > (play icon) Resumed > (pause icon) Paused > (stop icon) Stopped*
  • Activity: (some icon) All (Default) > (some icon) Active > (some icon) Stalled
  • Moving (amount): checkbox True/False (Default)
  • Checking (amount): checkbox True/False (Default)
  • Erorred (amount): checkbox True/False (Default)
  • Reset all to default button

Where is "complete/incomplete"? Actually downloading is incomplete and uploading is complete, this is the same.

When you click on each filter - it cycles through all modes and changes icon on the left.

So what we get.

  1. There would be no mixed groups of torrents that are joined for no obvious reason.
  2. You get rid of redundant groups like Stalled and Stalled Uploading, same result can be obtained by combination of filters if needed.
  3. You can get precise filtering that is not possible with current options. For example, paused contains both downloads and uploads paused. Resumed includes moving torrents, which is not correct and of no interest - active is downloading or uploading, but not moving. But qBT can have several switches at once: torrent can be moving, checking and paused/resumed at once, if these actions are programmed inside resume data one after another.

Extra info/examples/attachments

*see discussion regarding renaming paused mode to stopped and adding a different paused mode #19472 then filtering would have more variations

Originally created by @DarkVoyage on GitHub (Sep 1, 2023). ### Suggestion #19504 led me to an idea that statuses should be not groups, but filters that give custom results and helps you reduce the clutter. Current status groups are not precise and they collect several different statuses that are not the same. ### Use case For example, downloading group contain not only currently resumed torrents, but also paused (stopped), which is not correct. This group should be called instead incomplete and be a separate group. Group "Stalled Uploading" looks to me completely useless, because waiting for peer is normal situation for seeding torrents. It is named like they are "problematic". At same time stalled downloads are problematic downloads that are stuck in unfinished state (dead or unconnectable). And then a group Stalled that combine both is twice useless list that has no sense at all. I think that desired filtering can be obtained, if statuses were conditional and you can select the needed combination of options. Filter should offer several conditions, some of which are multistate and some are boolean like moving and checking. So the final list of combinations should look like: - Direction: (bi-directional arrows) Both (Default) > (arrow down) Downloading > (arrow up) Uploading - State: (some icon) All (Default) > (play icon) Resumed > (pause icon) Paused > (stop icon) Stopped* - Activity: (some icon) All (Default) > (some icon) Active > (some icon) Stalled - Moving (amount): checkbox True/False (Default) - Checking (amount): checkbox True/False (Default) - Erorred (amount): checkbox True/False (Default) - Reset all to default button Where is "complete/incomplete"? Actually downloading is incomplete and uploading is complete, this is the same. When you click on each filter - it cycles through all modes and changes icon on the left. So what we get. 1. There would be no mixed groups of torrents that are joined for no obvious reason. 2. You get rid of redundant groups like Stalled and Stalled Uploading, same result can be obtained by combination of filters if needed. 3. You can get precise filtering that is not possible with current options. For example, paused contains both downloads and uploads paused. Resumed includes moving torrents, which is not correct and of no interest - active is downloading or uploading, but not moving. But qBT can have several switches at once: torrent can be moving, checking and paused/resumed at once, if these actions are programmed inside resume data one after another. ### Extra info/examples/attachments *see discussion regarding renaming paused mode to stopped and adding a different paused mode #19472 then filtering would have more variations
Author
Owner

@xavier2k6 commented on GitHub (May 25, 2025):

ANNOUNCEMENT!

For anybody coming across this "Feature Request" & would like/love to see a potential implementation in the future!
Here are some options available to you:

  1. Please select/click the 👍 &/orreactions in the original/opening post of this ticket.

  2. Please feel free (If you have the "skillset") to create a "Pull Request" implementing what's being requested in this ticket.
    (new/existing contributors/developers are always welcome)


DO:

  • Provide constructive feedback.
  • Display how other projects implemented same/similar etc.

DO NOT:

  • Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s).
    (These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)
@xavier2k6 commented on GitHub (May 25, 2025): ## ANNOUNCEMENT! For anybody coming across this **_"Feature Request"_** & would like/love to see a potential implementation in the future! **Here are some options available to you:** 1. Please select/click the 👍 **&/or** ❤ `reactions` in the original/opening post of this ticket. 2. Please feel free _(If you have the "skillset")_ to create a **_"Pull Request"_** implementing what's being requested in this ticket. **_(new/existing contributors/developers are always welcome)_** ____ **DO:** * Provide constructive feedback. * Display how other projects implemented same/similar etc. **DO NOT:** * Add a "Bump", "me too", "2nd/3rd" etc. or "criticizing" comment(s). **(These will be disregarded/hidden as "spam/abuse/off-topic" etc. as they don't provide anything constructive.)**
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/qBittorrent#14927
No description provided.