qBittorrent icon indicating copy to clipboard operation
qBittorrent copied to clipboard

Feature/only http tracker filter

Open AdKiller opened this issue 5 months ago • 3 comments
trafficstars

Summary

This PR adds a new "Only HTTP" special filter row to the Trackers sidebar in the Transfer List. This filter allows users to view torrents that are using only HTTP (excluding HTTPS, UDP, etc.) trackers.

Details

  • Added ONLY_HTTP_ROW to the TRACKER_FILTER_ROW enum for the sidebar.
  • Added a corresponding sidebar entry labeled "Only HTTP", grouped with the other special tracker filter rows.
  • Provided a translation string for the new row, showing the current count of matching torrents.
  • Implemented the filtering logic so that only torrents whose trackers are all HTTP are displayed when this row is selected.
  • Added a static helper method isOnlyHttpTrackers() to encapsulate the matching logic.

Motivation

Some users need to quickly identify torrents that use only HTTP trackers (for troubleshooting, privacy, or performance reasons). This new filter makes that task easy and consistent with the existing special tracker filters in the Transfer List sidebar.

Testing

  • Built and tested on the latest master branch.
  • Added torrents with HTTP, HTTPS, UDP, and mixed trackers to verify correct filtering.
  • Confirmed UI behaves consistently with other filter rows.

Notes

  • The row count updates in the same way as other special rows (matches qBittorrent's current sidebar behavior).
  • The code follows the project's coding style and is ready for review.

PR Compliance Checklist (per CONTRIBUTING.md)

  • [x] Read the CONTRIBUTING.md#opening-a-pull-request section
  • [x] Clear, focused changes: This PR only implements the "Only HTTP" tracker filter row. No unrelated changes included.
  • [x] Accurate description: The PR description explains what the feature does, how it works, and why it is useful.
  • [x] References: No related issue exists; none referenced.
  • [x] Code style: All code follows qBittorrent’s coding conventions.
  • [x] Translations: If required, translation files were updated or maintainers are requested to run lupdate.
  • [x] Testing: The feature was built and manually tested with various types of trackers.
  • [x] Ready for review: The branch is up to date with master and ready for maintainers to review.

Thank you for your time and consideration!

AdKiller avatar May 27 '25 11:05 AdKiller

Personally i think this would be bloat, same way Stalled uploading/downloading status filters are bloat IMO.

All this text... those generic commit names...

  • [x] Testing: The feature was built and manually tested with various types of trackers.

All those lies... "Vibe coding"? Function definition inside another function definition... doesn't even compile.

thalieht avatar May 27 '25 12:05 thalieht

Xref.: #15243

xavier2k6 avatar May 27 '25 15:05 xavier2k6

Personally i think this would be bloat, same way Stalled uploading/downloading status filters are bloat IMO.

All this text... those generic commit names...

  • [x] Testing: The feature was built and manually tested with various types of trackers.

All those lies... "Vibe coding"? Function definition inside another function definition... doesn't even compile.

Guilty as charged. I thought it would be a useful feature and wanted to help a little bit with making it, but if you don’t think so, my bad sorry!

AdKiller avatar May 28 '25 10:05 AdKiller

This PR is stale because it has been 60 days with no activity. This PR will be automatically closed within 7 days if there is no further activity.

github-actions[bot] avatar Jul 28 '25 00:07 github-actions[bot]

This PR was closed because it has been stalled for some time with no activity.

github-actions[bot] avatar Aug 04 '25 00:08 github-actions[bot]