- Issue created by @nicxvan
- 🇺🇸United States nicxvan
Thank you for your review and thank you for letting me use this issue to confirm our fix.
I think you're aware, but to be clear, this should not be committed to your project. It was the fastest way to replicate the specific issue and confirm the fix.
- 🇦🇺Australia elc
Thank you, I understood this wouldn't be merged. I've updated the summary to make it a bit more obvious hopefully. Will mark this as draft to obstruct merging further. It would expect that once 🐛 Symlinking a module breaks HookCollectorPass Active hits, the attempt to patch will cause a composer failure.
Pretty happy that this got attention and fixed so quickly as it was quite a confusing error. Still looking into how chi managed to get a stack trace from the error as the lack of information made it very difficult to track down the true failure.
Still wondering how I could create BC code after 📌 OOP hooks using attributes and event dispatcher Needs review . No Drupal versions prior to 11.1 (current 11-dev) include Hook/LegacyHook Attributes which are needed for them to work going forward. The issue states that BC code should be possible back to 10.1.
I'd have thought that 10.4 would be a better starting version so that it's a future change rather than something that magically appears in the past.
Anyway, will be marking this as fixed when core fix lands.
- 🇺🇸United States nicxvan
The legacyhook and hook attribute will be backported to allow the bridge.
Ideally back to 10.1, but I think it will likely be only to 10.3.
- 🇺🇸United States nicxvan
The fix has been applied upstream.
The backport issue is here 📌 Backport Hook and LegacyHook Attribute Active it looks like 10.4 is definite, 11.0 and 10.3 it is unclear if they will get the backport yet.
- 🇦🇺Australia elc
Thank you for the link to the backport issue.
Switching to OO Hooks looks like it's going to churn a lot of code over the next year.
I would think adding it to 10.4 (or 10.3) and then not adding it to 11.0 would break modules, sites and people's expectations. When something is added to a previous version it then needs to continue on to all future versions until it going through the deprecation cycle. If it disappears for a version in the middle it's just going to confuse things.