diff --git a/packages/desktop/src/components/Terminal.tsx b/packages/desktop/src/components/Terminal.tsx index 2f1b35d..22fdb4d 100644 --- a/packages/desktop/src/components/Terminal.tsx +++ b/packages/desktop/src/components/Terminal.tsx @@ -278,18 +278,22 @@ export function TerminalProvider({ children }: { children?: React.ReactNode }) { player.autoplay = true; try { - const downloadUrl = await uploadAudioClip(`${user.uid}-${new Date().valueOf()}`, blob); + // ?should I send blob or first audio chunk in array? + const downloadUrl = await uploadAudioClip( + `${user.uid}-${new Date().valueOf()}`, + audioChunks[0], + ); const audioClip = new AudioClip(user.uid, downloadUrl); await sendAudioClipToConversation(audioClip, selectedConversation.id); enqueueSnackbar('clip sent!', { variant: 'success' }); - setIsCloudDoingMagic(false); } catch (error) { console.error(error); enqueueSnackbar('Problem in recording clip', { variant: 'error' }); } - enqueueSnackbar('clip sent!', { variant: 'success' }); + + setIsCloudDoingMagic(false); }, [user.uid, setIsCloudDoingMagic, enqueueSnackbar, selectedConversation?.id]); const handleAskForMicrophonePermissions = useCallback(() => { @@ -327,6 +331,7 @@ export function TerminalProvider({ children }: { children?: React.ReactNode }) { const handleBroadcast = useCallback(() => { if (!selectedConversationId) { enqueueSnackbar('You must select a conversation first!!!', { variant: 'warning' }); + return; } if (!userAudioStream) { diff --git a/packages/desktop/src/firebase/firebaseStorage.ts b/packages/desktop/src/firebase/firebaseStorage.ts index 0b794c8..d83401a 100644 --- a/packages/desktop/src/firebase/firebaseStorage.ts +++ b/packages/desktop/src/firebase/firebaseStorage.ts @@ -6,12 +6,16 @@ export const uploadAudioClip = async (uniqueFileName: string, blob: Blob) => { try { const audioClipsRef = ref(storage, `audioClips/${uniqueFileName}`); + const metadata = { + contentType: blob.type, + }; + // 'file' comes from the Blob or File API - const snapshot = await uploadBytes(audioClipsRef, blob); + const snapshot = await uploadBytes(audioClipsRef, blob, metadata); return await getDownloadURL(audioClipsRef); } catch (error) { - console.warn('problem in uploading audio clip'); + console.warn(error); throw Error('problem in uploading audio clip'); }