Skip to content

Wire up Update button for installed tools in frontend #85

Description

@cmac86

Summary

The installed tools view compares versions and has an Update button UI, but the onUpdate callback is never passed to the tool card/row components, so the button never renders.

What's already implemented

  • Version comparisongetWorkflowStatus() in installed-tools-view.tsx compares caal_registry_version to registry version
  • Update button UI — Both InstalledToolCard and InstalledToolRow render an orange "Update" button when onUpdate is provided and version mismatch exists
  • Install/update API/api/tools/install already handles re-installing over existing workflows
  • Tool detail modal — Update button in the modal IS wired up via onInstall() and works correctly

What's missing

In installed-tools-view.tsx, onUpdate is not passed to InstalledToolRow or InstalledToolCard:

<InstalledToolRow
  key={workflow.id}
  workflow={workflow}
  status={getWorkflowStatus(workflow)}
  onShare={handleShare}
  onClick={handleRowClick}
  // onUpdate is NOT passed — button never renders
/>

Implementation

  1. Add a handleUpdate callback in installed-tools-view.tsx that finds the matching registry tool and opens the tool detail modal (or install modal directly) with that tool
  2. Pass onUpdate={handleUpdate} to both InstalledToolRow and InstalledToolCard
  3. The existing install modal flow handles the rest (substitutes variables, creates workflow in n8n, activates, caches registry info, reloads tools)

Files

  • frontend/components/tools/installed-tools-view.tsx — wire up onUpdate
  • frontend/components/tools/installed-tool-card.tsx — button exists, needs callback
  • frontend/components/tools/installed-tool-row.tsx — button exists, needs callback

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions