Phaser troubleshooting – null is not an object (evaluating ‘this.pannerNode.disconnect’)

The error Unhandled Promise Rejection: TypeError: null is not an object (evaluating 'this.pannerNode.disconnect') is a bug of Phaser which is reported in Issue #5492.

It occurs on Safari browser (iOS or MacOS) with Phaser v3.51.0. It is related with the usage of Web Audio. Therefore using HTML Audio instead of Web Audio could be a solution:

new Phaser.Game({
    audio: {disableWebAudio: true}, // Use HTML Audio

However there is also an issue with HTML Audio that the audio sounds delayed (Issue# 5556).

To fix it perfectly, transfer your Phaser from v3.51.0 to a version which has fixed the bug like Phaser v3.55.