Skip to content

[UX] Plugin market "Update / repair" action always fails #58

Closed

Description

@GeekCmore

Summary

The plugin browser offers an Update / repair install action when an entry is installed and updateAvailable, but the installer hard-refuses every entry already present in the profile manifest. Every click on the advertised update path fails with "already or partially installed; uninstall it before reinstalling" — a guaranteed dead end that demands a manual uninstall plus two restarts.

Root cause

  • packages/mayfly/src/interaction/plugin-commands.ts:312 (detail panel) and :370 (browse list) offer the action when updateAvailable; runOperation explicitly permits it (plugin-commands.ts:398-401).
  • installEntry then rejects any entry whose rows are already in the profile manifest: packages/mayfly/src/interaction/plugin-market/installer.ts:303-306.

So the UI advertises an operation the backend refuses by construction. There is no upgrade path that replaces existing manifest rows.

Acceptance criteria

  • "Update / repair" either performs a real upgrade (replace existing rows transactionally, keeping the installer's snapshot/rollback discipline) or is not offered for installed entries.
  • The failure message, when reachable, no longer suggests the advertised-but-broken path.

Audit reference

docs/audits/2026-09-28-ui-ux-audit-flows-and-localization.md § UX-01 (baseline 27bc188, 2026-09-28)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions