BUG: Download client filter shows duplicate names and lacks brand icons #39
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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.