tags are how the marketplace is browsed rather than scrolled: a list of them on
the left, the plugins that carry one on the right. a closed vocabulary
(PLUGIN_TAGS in the platform) because free text becomes homelab, home-lab, Home
Lab and selfhosted inside a month, and a filter list of synonyms is worse than
no filter at all.
declared here rather than curated in the catalogue, so a plugin can say what it
is and nobody edits a table when one ships. the marketplace caches it on sync,
exactly as it already does for label and summary.
the url and api key fields sat in a div, so pressing enter did nothing
and the save button was the only way in. same fix as gitea's connection
screen: submit is now onSubmit with preventDefault, and disconnect is
marked type="button" so it can't submit the form.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>