ERR_UPLOAD_FILE_CHANGED в Chrome при воспроизведении аудио

Столкнулся с такой ситуацией, что у некоторых пользователей при попытке воспроизвести аудио возникает ошибка ERR_UPLOAD_FILE_CHANGED. При этом, повторит её локально не получается, в инкогнито она не воспроизводится, какой-то закономерности обнаружить не удалось, в браузерах не на Chromium тоже всё работает, в общем магия…

Подопытный код:

const blob = await fetch(src).then((resp) => resp.blob());
audio.src = URL.createObjectURL(blob);
audio.play();

Меняем на:

const { type, file } = await fetch(src).then((resp) => (
    resp.arrayBuffer().then((file) => ({
        type: resp.headers.get('content-type'),
        file,
    }))
));
const blob = new Blob([file], { type: type || void 0 });
audio.src = URL.createObjectURL(blob);
audio.play();

И чудесным образом всё начинает работать.

#frontend #development