In order to reproduce the bug you can start from this demo https://www.bryntum.com/examples/scheduler/eventmenu/
adding the following listener
listeners : {
beforeeventdropfinalize(event) {
console.log(event.context);
console.log(event.context.valid);
event.context.async = true;
setTimeout(() => {
event.context.finalize(true);
}, 100);
}
}
If you drag an event keeping the same timing and without going into another resource area the event won't go back to it's previous position.
The problem is also visible in a multi row condition, when you try to rearrange events, and steps are the same.
We tried logging the context and we have seen that the problem arises when timeDiff is 0 and hence valid is false.
Here attached you can find 2 pictures of the ending condition.