Bug in Safari when using oninput and onchange in <input>

My webapp uses both oninput and onchange listeners on <input> elements. The oninput handlers can change the value under some circumstances (e.g. capitalizing text or adding a decimal point automatically for fixed-width numbers). I've noticed a bug in Safari (15) where changing the node value causes the onchange handler not to be invoked sometimes when the input is accepted (e.g. user blur or Enter key). It's not consistent. Sometimes it works sometimes it doesn't, with no discernable pattern, but it only fails when the <input> value is modified by oninput.

This works completely reliably in Chrome (96).

My workaround is to add onblur and onkeyup listeners to invoke the onchange handler.

Any update on this issue? Facing the similar problem. Modifying the target input value in onInput function, resets the cursor position and input value.

Bug in Safari when using oninput and onchange in &lt;input&gt;
 
 
Q