Skip to content

Commit 64ae4d0

Browse files
committed
refactor: use message composer to upload audio recording
1 parent 7e95cb7 commit 64ae4d0

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

Diff for: src/components/MediaRecorder/hooks/useMediaRecorder.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type { CustomAudioRecordingConfig, MediaRecordingState } from '../classes
55
import { MediaRecorderController } from '../classes';
66

77
import type { LocalVoiceRecordingAttachment } from '../../MessageInput';
8+
import { useMessageComposer } from '../../MessageInput/hooks/messageComposer/useMessageComposer';
89

910
export type RecordingController = {
1011
completeRecording: () => void;
@@ -16,7 +17,7 @@ export type RecordingController = {
1617

1718
type UseMediaRecorderParams = Pick<
1819
MessageInputContextValue,
19-
'asyncMessagesMultiSendEnabled' | 'handleSubmit' | 'uploadAttachment'
20+
'asyncMessagesMultiSendEnabled' | 'handleSubmit'
2021
> & {
2122
enabled: boolean;
2223
generateRecordingTitle?: (mimeType: string) => string;
@@ -29,10 +30,9 @@ export const useMediaRecorder = ({
2930
generateRecordingTitle,
3031
handleSubmit,
3132
recordingConfig,
32-
uploadAttachment,
3333
}: UseMediaRecorderParams): RecordingController => {
3434
const { t } = useTranslationContext('useMediaRecorder');
35-
35+
const messageComposer = useMessageComposer();
3636
const [recording, setRecording] = useState<LocalVoiceRecordingAttachment>();
3737
const [recordingState, setRecordingState] = useState<MediaRecordingState>();
3838
const [permissionState, setPermissionState] = useState<PermissionState>();
@@ -54,13 +54,13 @@ export const useMediaRecorder = ({
5454
if (!recorder) return;
5555
const recording = await recorder.stop();
5656
if (!recording) return;
57-
await uploadAttachment(recording);
57+
await messageComposer.attachmentManager.uploadAttachment(recording);
5858
if (!asyncMessagesMultiSendEnabled) {
5959
// FIXME: cannot call handleSubmit() directly as the function has stale reference to attachments
6060
scheduleForSubmit(true);
6161
}
6262
recorder.cleanUp();
63-
}, [asyncMessagesMultiSendEnabled, recorder, uploadAttachment]);
63+
}, [asyncMessagesMultiSendEnabled, messageComposer, recorder]);
6464

6565
useEffect(() => {
6666
if (!isScheduledForSubmit) return;

Diff for: src/components/MessageInput/hooks/useMessageInputState/useMessageInputState.ts

-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,6 @@ export const useMessageInputState = (
295295
enabled: !!audioRecordingEnabled,
296296
handleSubmit,
297297
recordingConfig: audioRecordingConfig,
298-
uploadAttachment,
299298
});
300299

301300
const isUploadEnabled = !!channelCapabilities['upload-file'];

0 commit comments

Comments
 (0)