The events are firing, but I think there is a mixup.
When creating a new field after_channel_field_save is called. When editing an existing field after_channel_field_save and after_channel_field_update is called. I don’t believe this was a case in EE3.
I assume it should be:
after_channel_field_save = new after_channel_field_update = edit/update existing
That should be correct, actually. The Save hook is meant to fire on all modifications, whether new or existing, then if you need to get granular, use Insert or Update. I’m not aware of this changing from EE3 as I’m pretty sure that’s always how it was meant to work. So, to summarize:
New entity: after_insert and after_save
Existing entity: after_update and after_save
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.