From 8f9cf5bcd20f1d45565b5772bf102e26fbaa69df Mon Sep 17 00:00:00 2001 From: talksik Date: Sun, 29 May 2022 10:51:04 -0500 Subject: [PATCH] nice blob types and all --- packages/desktop/src/components/Terminal.tsx | 11 ++++++++--- packages/desktop/src/firebase/firebaseStorage.ts | 8 ++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) 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'); }