INTERNALISED_AJAX_SCREEN.tpl has changed now. Maybe you need to update your code to reflect that?
INTERNALISED_AJAX_SCREEN.tpl
setup interval calling detect_change in internalised_ajax_screen.js
internalised_ajax_screen.js
detects change
clears interval
calls callback in INTERNALISED_AJAX_SCREEN.tpl
INTERNALISED_AJAX_SCREEN.tpl
if active quick reply post, stops
calls block refresh
calls _detected_change in internalised_ajax_screen.js
internalised_ajax_screen.js
makes sound
As you can see, the interval gets cleared (so no loop), and the sound only ever happens if there's no active quick reply (so no sound).
INTERNALISED_AJAX_SCREEN.tpl has changed now. Maybe you need to update your code to reflect that?
INTERNALISED_AJAX_SCREEN.tpl
setup interval calling detect_change in internalised_ajax_screen.js
internalised_ajax_screen.js
detects change
clears interval
calls callback in INTERNALISED_AJAX_SCREEN.tpl
INTERNALISED_AJAX_SCREEN.tpl
if active quick reply post, stops
calls block refresh
calls _detected_change in internalised_ajax_screen.js
internalised_ajax_screen.js
makes sound
As you can see, the interval gets cleared (so no loop), and the sound only ever happens if there's no active quick reply (so no sound).