mirror of
https://github.com/penpot/penpot.git
synced 2026-10-10 21:21:33 -04:00
Unloading or replacing a plugin while its code was still being fetched could leave a late instance running, or block reopening a plugin that closed during startup. Each load now carries an AbortController. Unloading, a newer load of the same plugin or logout aborts it, and the plugin manager closes itself on abort, also while it fetches its code. createPlugin returns nothing for a plugin closed before its sandbox exists, and failed loads clear their pending state so the plugin can be loaded again.
Plugins runtime
The plugins-runtime is responsible for generating the API and loading Penpot's plugins.