docs: correct the gateway URLs and the shipped-status claims - #68
Merged
Merged
Conversation
Three things the documentation stated that were not true. Gateway URLs. 27 copy-pasteable curl commands across the root README and eight plugin READMEs addressed the gateway as `<host>/plugins/...`. The gateway mounts a global `/api` prefix, so every one of them answers 404 — install, enable and config alike. The routes they meant all exist under `/api/plugins/...`. Marketplace status. PLUGIN-STANDARD.md called the in-dashboard marketplace future work in two places, and told users to install by downloading a release asset "until the in-dashboard marketplace lands". It has landed: the dashboard's Plugins page offers Upload and Catalog as two modes of one install flow, reading this catalog. The metadata note claiming the API-returned fields are "not yet rendered" was also stale for `author`, which the catalog row shows and searches on; `license` really is stored-but-unrendered and now says so. after-hours compatibility. The README stated two different floors: a hand-maintained badge and two prose mentions saying 0.6.2, and a generator-owned table row saying 0.7.0. The manifest declares 0.7.0, and that is what the catalog publishes, so the three hand-written ones were wrong. The reason the plugin needs a floor at all — sandboxed `Intl` timezone data and `onConfigChange` forwarding — arrived in 0.6.2, so that is kept as an explanation rather than as a competing number. Two tests now cover both classes: every gateway URL in any README must carry the `/api` prefix, and a plugin README's stated floor must match its own manifest. The catalog gate compares manifests to plugins.json and never opens a README, so nothing looked at either before.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three claims that were not true
Gateway URLs — the one users hit
27 copy-pasteable
curlcommands, across the root README and eight plugin READMEs, addressed the gateway as<host>/plugins/....The gateway mounts a global
/apiprefix. Every one of those commands answers404— install, enable and config alike. Verified against the published contract:/api/plugins/install,/api/plugins/{id}/enableand/api/plugins/{id}/configall exist; a bare/plugins/installdoes not.Marketplace status
PLUGIN-STANDARD.mdcalled the in-dashboard marketplace future work in two places, and told users to install by downloading a release asset "until the in-dashboard marketplace lands".It has landed. The dashboard's Plugins page offers Upload and Catalog as two modes of one install flow, reading this very catalog — with search over it.
The adjacent metadata note claiming the API-returned fields are "not yet rendered by the dashboard" was stale too, but only halfway: the catalog row renders
authorand searches on it, whilelicensereally is stored-but-unrendered. Corrected per field rather than flipped wholesale.after-hours compatibility floor
The README stated two different floors 15 lines apart — a hand-maintained badge and two prose mentions saying
0.6.2, and a generator-owned table row saying0.7.0.The manifest declares
0.7.0, and that is what the catalog publishes, so the three hand-written mentions were the wrong ones. The reason the plugin needs a floor at all — sandboxedIntltimezone data andonConfigChangeforwarding — did arrive in 0.6.2, so that survives as an explanation rather than as a competing number.Tests
Two guards, because nothing in the toolchain reads a README: the catalog gate compares manifests against
plugins.jsonand never opens one./apiprefixmanifest.jsonBoth mutation-checked: reverting one URL and one floor fails exactly those two tests and nothing else.
Verification
547 tests passing, and
node scripts/catalog.mjs --checkreports the catalog up to date — no manifest or catalog data changed here.