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.

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.