BUG: Download client filter shows duplicate names and lacks brand icons #39
Closed
opened 2026-05-23 08:42:52 +01:00 by Gandalf
·
3 comments
No Branch/Tag Specified
main
release/1.7.38
develop
release/1.7.37
release/1.7.36
release/1.7.35
release/1.7.34
release/1.7.33
release/1.7.32
release/1.7.31
release/1.7.30
release/1.7.29
release/1.7.28
release/1.7.27
release/1.7.26
release/1.7.25
release/1.7.24
release/1.7.23
release/1.7.22
release/1.7.21
release/1.7.20
release/1.7.19
release/1.7.18
release/1.7.17
release/1.7.16
release/1.7.15
release/1.7.14
release/1.7.13
release/1.7.12
release/1.7.11
release/1.7.10
release/1.7.9
release/1.7.8
release/1.7.7
release/1.7.6
release/1.7.5
release/1.7.4
release/1.7.3
release/1.6.0
release/1.5.5
release/1.5.3
release/1.5.2
release/1.5.0a
release/1.4.0
release/1.3.1a
release/1.3.1
release/1.3.0
release/v1.2.2
release/v1.2.1
release/v1.2.0
release/1.1.2
release/1.1.1
release/1.1.0
release/1.0.0
release/0.2.0
release/v0.1.5
release/0.1.4
release/0.1.3
release/0.1
v1.7.38
v1.7.37
v1.7.36
v1.7.35
v1.7.34
v1.7.33
v1.7.32
v1.7.31
v1.7.30
v1.7.29
v1.7.28
v1.7.27
v1.7.26
v1.7.25
v1.7.24
v1.7.23
v1.7.22
v1.7.21
v1.7.20
v1.7.19
v1.7.18
v1.7.17
v1.7.16
v1.7.15
v1.7.14
v1.7.13
v1.7.12
v1.7.11
v1.7.10
v1.7.9
v1.7.8
v1.7.7
v1.7.6
v1.7.5
v1.7.4
v1.7.3
v1.6.0
v1.5.5
v1.5.3
v1.5.2
v1.5.1
v1.5.0a
v1.4.0
v1.3.1a
v1.3.1
v1.2.2
v1.2.1
v1.2.0
v1.1.2
v1.1.1
v1.1.0
v1.0.0
v0.2.0
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0
Labels
Clear labels
Area/Docker
Area/Download Clients
Area/Frontend
Area/History
Area/Logging
Area/Matching
Area/Proxy
Area/SSE
Area/Webhooks
Compat/Breaking
Compat/Non-Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Docker image and container packaging
Download client integrations
Client-side UI and build tooling
History and completed downloads views
Log streaming, file handling, and debug infrastructure
Matching and correlation logic
Upstream service proxy routes
Server-Sent Events and real-time streaming
Webhook processing and reliability
Breaking change that won't be backward compatible
Non-breaking compatibility change
Something is not working
Documentation changes
Improve existing functionality
New functionality
This is security issue
Issue or pull request related to testing
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Low
4
The priority is low
Priority
Medium
3
The priority is medium
Reviewed
Confirmed
1
Issue has been confirmed
Reviewed
Duplicate
2
This issue or pull request already exists
Reviewed
Invalid
3
Invalid issue
Reviewed
Won't Fix
3
This issue won't be fixed
Status
Abandoned
3
Somebody has started to work on this but abandoned work
Status
Blocked
1
Something is blocking this issue or pull request
Status
Need More Info
2
Feedback is required to reproduce issue or to continue work
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Gandalf/sofarr#39
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem Description
The download client filter selector dropdown in the downloads page displays only the display name of each download client (derived from its configuration/hostname). When multiple download clients share a domain or naming convention (for example, SABNZBD at
sabnzbd.i3omb.comand qBittorrent atqbittorrent.i3omb.comboth configured with the name"i3omb"), the filter list displays duplicate names ("i3omb" twice) without any distinguishing details. This makes it impossible for users to identify which client they are selecting.Furthermore, the existing CSS contains beautiful styles for
.download-client-iconand.download-client-typebadges, but the JavaScript implementation inclient/src/ui/filters.jsonly builds a simple checkbox and raw text label, completely bypassing the designed layout.Steps to Reproduce
.envfile with the same name, or on similar subdomains sharing a parent domain (e.g., SABnzbd and qBittorrent both named 'i3omb'):Expected Behavior
The filter dropdown options should display:
/images/clients/{type}.svg).This matches the design styles already present in
public/style.css.Remediation Plan
1. Overview
We will update
client/src/ui/filters.jsto render the download client filter options using the correct CSS class definitions (download-client-option,download-client-icon,download-client-option-label, etc.) already present inpublic/style.css.By integrating client brand icons (
/images/clients/{type}.svg) and type badges (client.type), the options will be clear, visually distinguished, and premium.2. Detailed Technical Changes
Component: Frontend Filters
client/src/ui/filters.js:updateDownloadClientFilter()to construct option items using the styling classes defined inpublic/style.css:divwith classdownload-client-optioninstead offilter-item.download-client-checkbox.spanwith classdownload-client-iconcontaining animgloading/images/clients/${client.type}.svg(with error fallback matchingdownloads.js).download-client-option-label.spanwith classdownload-client-typecontainingclient.type.3. Verification Plan
npx vitest run tests/frontend/ui/filters.test.js..envand verify the visuals in the browser using the dropdown filter.Resolution Details
The issue has been successfully resolved and fully verified:
client/src/ui/filters.jsto render options using the design system classes.download-client-option,.download-client-icon,.download-client-option-label, and.download-client-type. The option items now display:sabnzbd.svg,qbittorrent.svgloaded from/images/clients/)."i3omb").sabnzbd,qbittorrent) to guarantee distinct visibility even when display names overlap.Issue Resolved
This issue has been successfully resolved and closed on branch
develop!client/src/ui/filters.jsto visually differentiate SABnzbd and qBittorrent dropdown items sharing the same parent name. All 846 unit and integration tests are passing successfully.