{"version":"2.1.267","anchor":"plugin-event-clause-dispatch-now-excludes-already-registered","canonical_anchor":"plugin-event-clause-dispatch-now-excludes-already-registered","heading":"Plugin event-clause dispatch now excludes already-registered clauses","tier":"internal","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.267\/e\/plugin-event-clause-dispatch-now-excludes-already-registered","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.267","markdown":"### Plugin event-clause dispatch now excludes already-registered clauses\n\nPlugin event dispatch can now skip clauses that have already been registered\n\n**What**\n\nThe function that matches an incoming event against a plugin's declared clauses (conditions that trigger a plugin handler) and builds the resulting handlers now accepts a list of clause indexes to skip, and passes along a `registration` value to each per-clause handler. Clauses whose index is in the skip list are no longer matched again.\n\n**Why**\n\nThis avoids re-registering or re-triggering a plugin clause that's already been registered, preventing duplicate handler invocations for the same event clause.\n\n- Area: Plugins\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}