Skip to content

Unify plugin installation controls - #3645

Merged
brsbl merged 132 commits into
mainfrom
bb/plugin-installation-thr_c7hh9tvnj3
Sep 21, 2026
Merged

brsbl merged 132 commits into
mainfrom
bb/plugin-installation-thr_c7hh9tvnj3

Conversation

@brsbl

@brsbl brsbl commented Sep 14, 2026 •

Copy link
Copy Markdown
Collaborator

Human comments

What was wrong

Catalog cards and plugin details used different install controls. Installed cards offered no removal action, source-request failures offered no retry, and detail update checks required a manual click.

What changed

  • Share compact install/count controls across Browse, Author, and catalog details.
  • Confirm uninstall for removable plugins and explain why included plugins cannot be uninstalled.
  • Check for updates automatically when plugin details open.
  • Offer Retry for transient install-source request failures.

How you verified

  • Remote tests, build, typecheck, lint, and package smokes passed at 10f6ef829. CI run.
  • Chrome for Testing verified Browse/Author controls, included protection, keyboard reveal, and canceled uninstall on desktop and mobile.
  • Source Retry recovered from HTTP 503, disclosed the resolved source, enabled Install, and allowed cancellation without installation.

CI remains blocked by a 0.9 KB boot-budget overrun also present on main. Pointer hover remains unverified.

Verification scope
  • Chrome for Testing 153.0.8010.36: desktop 1440×900 and mobile 390×844; screenshots captured at 2×.
  • Control-flow checks used cumulative stack build 3246a512; source Retry and install-count typography were verified at 80c62a7f6.
  • User QA approved Layer 4 at 80c62a7f6; screenshots retain that revision label.
  • Final head 10f6ef829 only deletes the unused manual Check component and its tests.
  • Slop Cop found no P0/P1 findings and five P2 follow-ups, listed below.
P2 findings introduced by Layer 4
  • Local install dates can remain Loading because update eligibility also gates source metadata. Separate metadata loading from update checks. Source.
  • Catalog removal can silently do nothing for local, differently sourced, or differing-ID installations. Match the catalog installation identity. Source.
  • Optional bundled plugins have conflicting removal rules across catalog cards and details. Share removal eligibility while preserving included-plugin protection. Source.
  • Repeated detail visits re-clone pending Git updates under the lifecycle lock. Reuse fresh and in-flight automatic checks. Source.
  • Automatic check failures lose the former manual feedback. Keep unavailable results discoverable through a quiet detail status. Source.

Before: saved main 963171ce1 · After: Layer 4 80c62a7f6 · Chrome for Testing 153 · 2× captures.

Surface / state Viewport Before — main After — Layer 4
Author collection · installation controls Desktop · 1440×900 Before Author collection · installation controls Open before After Author collection · installation controls Open after
Author collection · installation controls Mobile · 390×844 Before Author collection · installation controls Open before After Author collection · installation controls Open after
Browse · installation controls Desktop · 1440×900 Before Browse · installation controls Open before After Browse · installation controls Open after
Uninstalled detail Desktop · 1440×900 Before Uninstalled detail Open before After Uninstalled detail Open after
Uninstalled detail Mobile · 390×844 Before Uninstalled detail Open before After Uninstalled detail Open after
Browse · installation controls Mobile · 390×844 Before Browse · installation controls Open before After Browse · installation controls Open after
Included plugin · focus explanation Desktop · 1440×900 Before Included plugin · focus explanation Open before After Included plugin · focus explanation Open after
Included plugin · focus explanation Mobile · 390×844 Before Included plugin · focus explanation Open before After Included plugin · focus explanation Open after
Install source unavailable Desktop · 1440×900 Unavailable: Main Install click did not issue an install-plan request; source-error image unavailable Unavailable: Retained Uptime fixture did not open the source dialog
Install source unavailable Mobile · 390×844 Unavailable: Main Install click did not issue an install-plan request; source-error image unavailable Unavailable: Retained Uptime fixture did not open the source dialog

BB-Thread-ID: thr_c7hh9tvnj3

AGENT GENERATED

@brsbl
brsbl added this pull request to stack #3648 September 14, 2026 18:37
@brsbl brsbl changed the title Plugin installation states and automatic checks Refine plugin installation controls Sep 21, 2026
Base automatically changed from bb/plugin-controls-thr_c7hh9tvnj3 to main September 21, 2026 03:58
@brsbl
brsbl marked this pull request as ready for review September 21, 2026 05:11
@brsbl brsbl changed the title Refine plugin installation controls Unify plugin installation controls Sep 21, 2026
@brsbl
brsbl merged commit 068711b into main Sep 21, 2026
15 of 16 checks passed
@brsbl
brsbl deleted the bb/plugin-installation-thr_c7hh9tvnj3 branch September 21, 2026 05:59
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