Skip to content

Align plugin browse cards and filters - #993

Merged
brsbl merged 2 commits into
bb/capability-name-typography-thr_cxz5rwzns3from
bb/plugin-browse-card-filter-polish-thr_cxz5rwzns3
Aug 4, 2026
Merged

Align plugin browse cards and filters#993
brsbl merged 2 commits into
bb/capability-name-typography-thr_cxz5rwzns3from
bb/plugin-browse-card-filter-polish-thr_cxz5rwzns3

Conversation

@brsbl

@brsbl brsbl commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • reserve a two-line description area on every plugin Browse card
  • apply the sanctioned border-under-cursor interaction to category filter pills
  • add focused regression coverage for both behaviors

Verification

  • pnpm exec turbo run test --filter=@bb/app -- --run src/components/plugin/management/BrowsePluginsTab.test.tsx src/components/plugin/PluginsOverview.test.tsx (16 tests passed)
  • pnpm exec turbo run typecheck --filter=@bb/app
  • branch-built desktop dev app: verified one-line and multi-line card alignment plus default, hover, selected, and filtered category states

Stack

@SawyerHood

SawyerHood commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

I am SlopCop. I am reviewing this pull request under the review rule.

The stack contains #993, #994, #995, #996, #997, #1000, and #1001. All seven pull requests are ready for review, and @brsbl has write access.

I will run security, code quality, performance, architecture, and end-to-end checks. I will post each phase result when it completes.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

I am SlopCop. I am reviewing this pull request now.

The stack contains #992, #993, #994, #995, #996, #997, #1000, and #1001, from bottom to top.

I will review security, code quality, performance, architecture, and tests. I will run the end-to-end test on #1001.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

I am SlopCop. I am reviewing this stack under the review rule.

The stack contains these pull requests, from bottom to top:

I will run security, code quality and architecture, performance, and one end-to-end phase on top PR #1001.

I skipped no pull requests.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Security phase complete.

I found no security issue in this PR after I reviewed the complete stack.

The changes do not add a trust-boundary change, unsafe render sink, data exposure, dependency risk, or protocol change.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Performance phase complete.

I found no performance or resource-use defects in this pull request. I reviewed it against the final seven-pull-request stack.

I checked render work, value stability, filtering, sorting, memoization, requests, subscriptions, and test cost.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Security phase complete.

I found no security or privacy defects in this pull request. I reviewed it against the final seven-pull-request stack.

I checked unsafe rendering, injection, links, actions, permissions, data disclosure, configuration, dependencies, and trust boundaries.

@SawyerHood SawyerHood left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 SLOP COP 🚨 · review

Review complete.

I found no issues in this pull request after the complete stack lands.

The security, code-quality, architecture, performance, and final review phases found no issue here.

I used a comment-only review. I did not approve or request changes.

@SawyerHood SawyerHood left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 SLOP COP 🚨 · review

Final comment-only review for #993.

No actionable findings.

The security review found no security or privacy defect. The quality and architecture review found no defect or useful refactor. The performance review found no defect.

I ran the end-to-end attempt only on the top pull request. The shared host did not produce a ready development server.

GitHub CI passed on the latest stack head. The GPT-5.6 review gate approved this review result.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Performance phase complete.

I found no material performance issue in this PR after I reviewed the complete stack.

The render scope, allocations, bundle inputs, and pagination behavior stay stable.

const description =
entry.description.length > 0 ? entry.description : undefined;
const descriptionArea = (
<span className="block min-h-[2lh]">{description}</span>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 slopcop/review — Keep the description height in the shared browse card.

ResourceBrowseCard already owns descriptionLines and its line clamp. This local wrapper aligns only plugin cards.

Add the minimum height beside the shared clamp. This keeps plugin, skill, and template cards consistent.

@SawyerHood

Copy link
Copy Markdown
Collaborator

🚨 SLOP COP 🚨 · review

Code-quality and architecture phase complete.

I left one architecture finding. The shared browse card should own the reserved description height.

I checked the full stack and checked later PRs before I reported each issue.

@SawyerHood SawyerHood left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚨 SLOP COP 🚨 · review

Review result: one architecture finding.

  • Security review found no issue.
  • Performance review found no material render, allocation, bundle, or pagination issue.
  • Turbo type checks passed for the app, shared UI, Automations, and Docs packages.
  • The affected tests passed after clean reruns. The latest Docs suite passed all 57 tests.

The local height wrapper duplicates a concern that the shared browse card already owns. See the inline comment.

## Summary
- use the same outlined Download control for installed and uninstalled
plugin Browse cards
- distinguish installed/uninstall actions with a darker,
theme-token-derived green treatment
- preserve the uninstall tooltip and confirmation flow

## Verification
- `pnpm exec turbo run test --filter=@bb/app -- --run
src/components/plugin/management/BrowsePluginsTab.test.tsx` (6 tests
passed)
- `pnpm exec turbo run typecheck --filter=@bb/app`
- branch-built desktop app: verified installed and uninstalled states in
Default light, Default dark, and Dracula; exercised and canceled the
uninstall confirmation

## Stack
- Parent: #993
- This PR: plugin Browse installed-action styling
@brsbl
brsbl merged commit 90f50c6 into bb/capability-name-typography-thr_cxz5rwzns3 Aug 4, 2026
10 checks passed
@brsbl
brsbl deleted the bb/plugin-browse-card-filter-polish-thr_cxz5rwzns3 branch August 4, 2026 23:47
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.

2 participants