Opening the plugin catalog no longer downloads the whole plugins repository

Opening the plugin catalog, installing a plugin, or rendering /Store asks a registry for its catalog. That request could take 12 to 19 seconds to produce its first byte, and about sixty times a day it did not finish inside the client's 30-second budget at all.

It was not a busy registry, and it was not the number of plugins. To build the list, the registry read two small files per plugin — each plugin's root and its manifest — and it obtained them by transferring the entire source repository and then discarding almost all of it.

Measured against the plugins repository on 2026-09-16:

files bytes time
what was transferred 4,995 47.8 MB 13.0 s
what was actually read 143 0.8 MB 0.08 s
what is transferred now 143 1.3 MB 3.3 s

The registry now selects the files before it transfers them, rather than after: it fetches the repository's structure without any file contents, picks out the manifests, and downloads only those. The answer is identical — the same catalog, at the same commit — and it arrives with room to spare inside the budget that used to be missed.

What you will notice

Installing a plugin still reads that plugin's whole folder, and syncing content still transfers everything, both unchanged: only the listing was ever reading two files per plugin out of a whole repository.