Files
ServerKit/builtin-extensions
Juan DenisandClaude Fable 5 865e451c89 fix(plugins): stop legacy auto-render from mounting extension pages globally
PluginLoader's legacy auto-render (any plugin index default export
renders globally) only excluded plugins that declared a WIDGET
contribution. The WordPress and Cloudflare-ops builtins declare routes
+ nav but no widgets, and their index modules had surplus default
exports — so their PAGES mounted globally on every route: the CF zone
page ran with zoneId=undefined (zones/undefined/settings 404s), the
WordPress sub-router swallowed the current location as a site id
(/domains → sites/domains 404s), and visited pages stacked into one
view ('5 pages in one'). Reproduced live via Playwright.

- legacy auto-render now skips any plugin declaring ANY contribution
  (routes, nav, tabs, widgets, palette, layouts, ai) — those own their
  rendering; serverkit-gui keeps working via its declared widget
- surplus default exports removed from both builtins (synced copies +
  builtin-extensions sources) with do-not-re-add comments; routes
  resolve named exports

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:07:06 -04:00
..