{"version":"2.1.246","anchor":"plugin-hooks-worker-moved-onto-shared-messaging-helpers","canonical_anchor":"plugin-hooks-worker-moved-onto-shared-messaging-helpers","heading":"Plugin hooks worker moved onto shared messaging helpers","tier":"internal","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246\/e\/plugin-hooks-worker-moved-onto-shared-messaging-helpers","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246","markdown":"### Plugin hooks worker moved onto shared messaging helpers\n\nPlugin hook calls now carry a caller chain, so a call can be traced to what triggered it.\n\n**What**\n\nThe worker that runs plugin hooks dropped its own bookkeeping for message ports, pending replies and counters in favour of shared helpers, and its messages now carry which side is serving plus a caller chain, so a call into a plugin interface can be attributed to what triggered it.\n\n**Details**\n\n- Unhandled promise rejections in the worker are now picked up by a shared handler.\n- Callers are passed alongside a call identifier into the interface dispatch.\n- Unloading still reports through the existing message about the plugin's environment being unloaded.\n\n**Evidence**\n\n`the plugin's environment is unloaded`\n\n- Area: Plugins\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5"}