mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-13 22:21:59 +00:00
Without a plug-in store, plugin.install read the process grant once for its later check and again for its approval. A grant another session recorded between the two reads approved the module; when that session revoked it before the install, the check saw the grant it first read and the install recorded the revoked grant again. The approval now comes from the first read. plugin.install published the plug-in before it wrote the module and its grant to the Plug-ins folder. A plugin.remove in another session in between removed the plug-in, its file and its grant, and the install then wrote both back, so the plug-in loaded with its grant at the next launch. A session attaching the folder in between loaded the old version, which kept running while the folder held the new one. plugin.remove, loads of the stored plug-ins and loads of a plug-ins folder now wait until an install has written the folder, and an install waits for them. Docs: docs/plugins.md, docs/target-app-parity.md.