fix: Catch audio context errors (#5051)
Prevent errors in decoding and playing sounds from propagating by catching them in the promise chain. Fixes #4281.
This commit is contained in:
@@ -16,19 +16,18 @@ export const getAlertAudio = async (baseUrl = '', type = 'dashboard') => {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
const resourceUrl = `${baseUrl}/audio/${type}/ding.mp3`;
|
||||||
const resourceUrl = `${baseUrl}/audio/${type}/ding.mp3`;
|
const audioRequest = new Request(resourceUrl);
|
||||||
const audioRequest = new Request(resourceUrl);
|
|
||||||
|
|
||||||
fetch(audioRequest)
|
fetch(audioRequest)
|
||||||
.then(response => response.arrayBuffer())
|
.then(response => response.arrayBuffer())
|
||||||
.then(buffer => {
|
.then(buffer => {
|
||||||
audioCtx.decodeAudioData(buffer).then(playsound);
|
audioCtx.decodeAudioData(buffer).then(playsound);
|
||||||
return new Promise(res => res());
|
return new Promise(res => res());
|
||||||
});
|
})
|
||||||
} catch (error) {
|
.catch(() => {
|
||||||
// error
|
// error
|
||||||
}
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const notificationEnabled = (enableAudioAlerts, id, userId) => {
|
export const notificationEnabled = (enableAudioAlerts, id, userId) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user