Files
fusion/packages
gsxdsm adf51e21d7 fix(dashboard): dispatch plugin routes dynamically per request
Plugin-defined HTTP routes were a boot-time snapshot of the launch
project's PluginLoader, while dashboard views/UI slots resolve a
project-scoped loader live per request. Two failure modes survived the
961edf214 no-engine mount fix: a plugin enabled after boot rendered its
view while every API route 404'd until restart, and a plugin enabled
only in a non-launch project never got routes mounted at all (Compound
Engineering "Failed to load sessions: Not found" on v0.73.0-beta.3).

Routes are now dispatched per request through the same
getProjectPluginLoader cache (moved from the plugins registrar into
routes/context.ts) that serves dashboard-views and enable/disable, with
the host loader + PluginRunner tables unioned in (project entries win,
loader beats runner). The compiled dispatch sub-router is cached per
resolved loader and rebuilt only when the route signature changes, so
views and routes agree by construction.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 22:11:31 -07:00
..
2026-07-22 19:37:44 -07:00
2026-07-22 19:37:44 -07:00
2026-07-22 19:37:44 -07:00
2026-07-22 19:37:44 -07:00
2026-07-22 19:37:44 -07:00
2026-07-22 19:37:44 -07:00
2026-07-22 19:37:44 -07:00