Skip to content

Adobe plugins: "Plugin (Adobe)" type display name + Adobe icon #49062

Description

@juan-fdz-hawa

Related user story

#45414

Task

Display the adobe_plugins source on the Software page and host details with the Type name "Plugin (Adobe)", a new Adobe-plugin icon, and a live "Vulnerabilities" column — matching the Figma wireframe. The frontend identifies an Adobe plugin purely by source === "adobe_plugins", the same way it distinguishes jetbrains_plugins or chrome_extensions.

This can start from the spec/API contract before the backend merges — the source string (adobe_plugins) and the Type label ("Plugin (Adobe)") are fixed.

Type display name

Add adobe_plugins to SOURCE_TYPE_CONVERSION in frontend/interfaces/software.ts (after go_binaries at software.ts:303):

adobe_plugins: "Plugin (Adobe)",

This alone extends the SoftwareSource union (software.ts:306) and makes formatSoftwareType (software.ts:395) resolve the Type column across every table that uses it (Software inventory, versions, host details, device software). The label is flat — do not append an extension_for / host-application suffix (confirmed with product).

Adobe-plugin icon

The SVG asset is supplied by product (see open question on the parent story). Once received:

  1. Create frontend/pages/SoftwarePage/components/icons/AdobePlugin.tsx — a 32×32 viewBox SVG React component, following the pattern of Extension.tsx (use uniqueId(...) for any clip-path/mask IDs).
  2. Import it in frontend/pages/SoftwarePage/components/icons/index.ts.
  3. Register it in SOFTWARE_SOURCE_TO_ICON_MAP (icons/index.ts:2097), keyed on the source:
adobe_plugins: AdobePlugin,

getMatchedSoftwareIcon({ name, source }) (icons/index.ts) will then resolve the icon for adobe_plugins rows. Until the asset arrives, a placeholder is acceptable so the rest of the work can proceed.

Note: <SoftwareIcon> must receive the raw name, never display_name (per .claude/rules/fleet-frontend.md), or admin renames break icon matching.

Keep the Vulnerabilities column live

Do not add adobe_plugins to NO_VERSION_OR_HOST_DATA_SOURCES (software.ts:348) and do not add it to the "Not supported" branch in SoftwareInventoryTableConfig.tsx:165-171 (which handles iOS/iPadOS/tgz_packages). Adobe plugins have version + host data and support the vuln column, so the default rendering (VulnerabilitiesCell, showing "N vulnerabilities" or a single CVE) applies. Per the Figma, keep the existing (non-link, tooltip-with-CVEs) cell behavior.

Tests

Update frontend/interfaces/software.tests.ts: add "adobe_plugins" to the hardcoded allSourceTypes array (~software.tests.ts:269) and a case asserting formatSoftwareType returns "Plugin (Adobe)" for source: "adobe_plugins".

Condition of satisfaction

  • Type column: a software row with source: "adobe_plugins" renders Type "Plugin (Adobe)" on the Software page, software version details, and host details Software card.
  • Icon: the Adobe-plugin icon renders in the Name cell for adobe_plugins rows (placeholder acceptable until the product asset lands; final asset wired before merge).
  • Vulnerabilities column: renders the live "N vulnerabilities" cell (not "Not supported"), and host count renders normally — adobe_plugins is absent from NO_VERSION_OR_HOST_DATA_SOURCES and the "Not supported" branch.
  • Type safety: SoftwareSource includes adobe_plugins; yarn tsc / lint pass.
  • Tests: yarn test passes, including the new formatSoftwareType assertion and the updated allSourceTypes loop.

Metadata

Metadata

Assignees

Labels

#g-supply-chainSupply Chain product group~frontendFrontend-related issue.~sub-taskA technical sub-task that is part of a story. (Not QA'd. Not estimated.)

Type

Projects

Status
✅ Ready for release

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions