Problem/Motivation
#2617628: ChangedItem will not detect a change if another field item changes its value in field::preSave solves the problem that the changed field was not able of detecting changes made in the preSave of other fields if the preSave of the other fields has been executed after the one of the changed field. However the solution there is not perfect and only covers some use cases until there is the need that also other fields need to run at the end and not only the changed field. For this we should find a better way of estimating if there are any entity changes.
Proposed resolution
First we need a properly working and reliable notification system with bubbling changes of referenced entities up to the parent entity - #2863818: Fix notification issues in the entity/field on-change system.
Remaining tasks
Remove the re-ordering of the fields in \Drupal\Core\Entity\EntityFieldManager::getFieldDefinitions.
Comments
Comment #2
hchonov