in src/lib/audio-recorder.ts [95:110]
stop() {
// its plausible that stop would be called before start completes
// such as if the websocket immediately hangs up
const handleStop = () => {
this.source?.disconnect();
this.stream?.getTracks().forEach((track) => track.stop());
this.stream = undefined;
this.recordingWorklet = undefined;
this.vuWorklet = undefined;
};
if (this.starting) {
this.starting.then(handleStop);
return;
}
handleStop();
}