If alert() or confirm() is called, onaudioprocess stops firing, even after the user has closed the alert dialog. Chrome and Firefox work fine. To replicate, use: https://mdn.github.io/webaudio-examples/script-processor-node/ and add an alert() or confirm() button to the code. Click the button, and the white noise should still be heard after the user closes the dialog box, but on Safari there is no audio at all, due to onaudioprocess not firing any more.
The same bug occurs when prompt() is called.
<rdar://problem/103893330>