Skip to content

fix: list only installed patch packs, and add Uninstall all to the Packages panel - #50

Merged
patrickiel merged 4 commits into
mainfrom
issue-43-drawer-uninstalled-packs
Nov 10, 2026
Merged

patrickiel merged 4 commits into
mainfrom
issue-43-drawer-uninstalled-packs

Conversation

@patrickiel

@patrickiel patrickiel commented Nov 10, 2026 •

Copy link
Copy Markdown
Owner

What

Two changes: the drawer stops offering patch packs that are not installed (Debug builds), and the Packages panel can uninstall everything at once (all builds).

The drawer lists only installed patch packs

With nothing installed, a Debug build's drawer listed the repo's patch packs (Chorus, Delay, Concert Hall, Room, Plate). Their plugins weren't installed either, so the tiles could be dragged onto the rack but nothing useful loaded.

PlectrifyEngine::handleListFiles used to add every packaging/content/<id>.<platform> source folder to the shared-root listing. Now it lists only what is installed. For an installed pack, the repo's patch.json still takes over from the installed one (resolveSharedFile is unchanged), so the edit → restart loop and Update pack source keep working. writable now names the listed packs that have repo sources.

There is no opt-in for listing uninstalled packs: a new pack is installed once before it is edited, which its assets already required. sharedPatchSourceIds was only used for the old listing and is removed. AGENTS.md (Installed patches) is updated to match.

This part only changes Debug builds, since the repo sources are behind PLECTRIFY_CONTENT_SOURCE_DIR, which is Debug-only. A Release build already listed only what was installed.

Uninstall all, in the Packages panel

The Packages panel gets an Uninstall all button, in every build. It appears in Expert view when at least one package is installed, asks for confirmation inline (InlineConfirmRow, like the other delete rows), and then uninstalls every installed package in one uninstallPackages run. It is disabled while an install or uninstall is running. It is Expert-only because clearing the machine is a clean-slate errand, not something Simple's list of offers needs.

Verification

  • pnpm app --dist --no-run --no-ui on Linux: build OK, CTest 15/15 passed.
  • Not yet checked in the running app:
    • with 0 packages installed the drawer should show no Effects patch section; after installing e.g. QDelay, its Delay patch should appear and read the repo's patch.json;
    • Uninstall all in Expert view should remove every installed package and leave the drawer without their plugins and patches.

Closes #43

A Debug build reads pack patches from packaging/content/ and also listed
every pack the repo carries, so a fresh checkout showed Chorus, Delay and
the three reverbs in the drawer with no package installed and none of
their plugins present. The repo's sources now shadow installed packs but
no longer add packs; PLECTRIFY_LIST_UNINSTALLED_PACKS=1 restores the old
listing for authoring a pack before its first publish.

Closes #43
@patrickiel
patrickiel merged commit ffd3ba5 into main Nov 10, 2026
7 checks passed
@patrickiel
patrickiel deleted the issue-43-drawer-uninstalled-packs branch November 10, 2026 19:55
@patrickiel patrickiel changed the title fix: list only installed patch packs in a Debug build fix: list only installed patch packs Nov 10, 2026
@patrickiel patrickiel changed the title fix: list only installed patch packs fix: list only installed patch packs, and add Uninstall all to the Packages panel Nov 10, 2026
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.

Drawer lists pack patches when nothing is installed

1 participant