Background
The domain events feature depends on extensions implementing methods like handlePageDeletedEvent, in order to subscribe to the events. The initial implementation did not contain any interfaces prescribing how those methods looked like – extensions just had to "know" and implement the correct one. Since that is not sustainable in the long term, those interfaces were added in T387012 and are now usable.
Extensions (like GrowthExperiments) that started using domain events very early on do not implement those interfaces, which has two issues:
- it is easy to accidentally change the signature of the method, breaking the feature without "something" (the interface) complaining about that,
- developers often learn by copying; if a well-established extension is not implementing the interfaces, it increases the risk of other extensions not doing it as well
Solution
Audit usages of domain events, adding implements XxxListener as appropriate.