Files
penpot/plugins/libs/plugins-runtime
Dominik Jain 036f59266b 🐛 Discard cancelled plugin loads after unloading
Cause:
- Disabling MCP during script loading could leave a late plugin instance
  attached to a stopped controller, blocking connection after re-enabling.

Fix:
- Track pending loads and discard instances cancelled by unload.
- Prevent duplicate global loads and preserve newer replacement instances.
- Clear pending state after failures so a subsequent load can retry.

Validation:
- Pass 84 runtime tests, the runtime build, lint and formatting checks.
- Reproduce the race with a delayed script in the browser, then verify
  re-enabling restores the session ID, themed indicator and MCP execution.

AI-assisted-by: gpt-6
Signed-off-by: Dominik Jain <dominik.jain@oraios-ai.de>
2026-10-07 14:58:32 +02:00
..
2026-10-06 15:12:15 +02:00
2025-12-30 14:56:15 +01:00
2025-12-30 14:56:15 +01:00
2025-12-30 14:56:15 +01:00

Plugins runtime

The plugins-runtime is responsible for generating the API and loading Penpot's plugins.