Skip to content

fix(tui): show all plugins with correct per-project install state#34

Merged
bojanrajkovic merged 1 commit intomainfrom
fix/show-all-installed-plugins
Feb 27, 2026
Merged

fix(tui): show all plugins with correct per-project install state#34
bojanrajkovic merged 1 commit intomainfrom
fix/show-all-installed-plugins

Conversation

@bojanrajkovic
Copy link
Contributor

@bojanrajkovic bojanrajkovic commented Feb 27, 2026

Summary

  • The CLI returns all installed plugins globally but hides them from the available array if they're installed anywhere — so plugins installed in other projects became invisible
  • processAvailablePlugin unconditionally merged installed data from all projects, making available plugins appear as "installed, disabled" in the wrong project
  • Replaces the filter-based approach with per-plugin relevance checks via isInstalledInProject:
    • Installed in current project → shown with correct scope and enabled/disabled state
    • Installed at user scope → shown with user scope and state
    • Installed elsewhere or only available → shown without install state (available for installation)

🤖 Generated with Claude Code

@bojanrajkovic bojanrajkovic force-pushed the fix/show-all-installed-plugins branch from bb33cb1 to 41a73b7 Compare February 27, 2026 18:26
@bojanrajkovic
Copy link
Contributor Author

bojanrajkovic commented Feb 27, 2026

Test plan

  • Run cpm from a project with plugins installed at project scope — verify those plugins show as installed with correct scope and enabled/disabled
  • Run cpm from a different project — verify those same plugins appear but without install state (no scope, no enabled/disabled)
  • Verify user-scoped plugins appear correctly everywhere with their scope and state
  • Verify plugins only in the available list show as not installed
  • Verify plugins the CLI hides from available (because they're installed elsewhere) still appear in the list
  • mise run ci — all checks pass

@bojanrajkovic bojanrajkovic force-pushed the fix/show-all-installed-plugins branch from 41a73b7 to 46ca687 Compare February 27, 2026 18:36
@bojanrajkovic bojanrajkovic changed the title fix(tui): show all installed plugins regardless of project scope fix(tui): filter installed plugins by current project before merging Feb 27, 2026
@bojanrajkovic bojanrajkovic force-pushed the fix/show-all-installed-plugins branch 2 times, most recently from d9ad095 to cdd3770 Compare February 27, 2026 18:47
@bojanrajkovic bojanrajkovic changed the title fix(tui): filter installed plugins by current project before merging fix(tui): show all plugins with correct per-project install state Feb 27, 2026
The CLI returns all installed plugins globally but hides plugins from
the available array if they're installed anywhere. This caused two bugs:

1. Plugins installed in other projects were hidden entirely (the old
   isRelevant filter excluded them)
2. Available plugins that happened to be installed elsewhere incorrectly
   showed as "installed, disabled" (buildInstalledByID merged data from
   all projects indiscriminately)

Replace the filter-based approach with per-plugin relevance checks:
- Installed in current project → show with correct scope and state
- Installed at user scope → show with user scope and state
- Installed elsewhere or only available → show without install state

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@bojanrajkovic bojanrajkovic force-pushed the fix/show-all-installed-plugins branch from cdd3770 to 706b479 Compare February 27, 2026 18:48
@bojanrajkovic bojanrajkovic enabled auto-merge (squash) February 27, 2026 18:51
@bojanrajkovic bojanrajkovic merged commit 6adc813 into main Feb 27, 2026
8 checks passed
@bojanrajkovic bojanrajkovic deleted the fix/show-all-installed-plugins branch February 27, 2026 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant