@@ -5,6 +5,7 @@ import type { CustomAudioRecordingConfig, MediaRecordingState } from '../classes
5
5
import { MediaRecorderController } from '../classes' ;
6
6
7
7
import type { LocalVoiceRecordingAttachment } from '../../MessageInput' ;
8
+ import { useMessageComposer } from '../../MessageInput/hooks/messageComposer/useMessageComposer' ;
8
9
9
10
export type RecordingController = {
10
11
completeRecording : ( ) => void ;
@@ -16,7 +17,7 @@ export type RecordingController = {
16
17
17
18
type UseMediaRecorderParams = Pick <
18
19
MessageInputContextValue ,
19
- 'asyncMessagesMultiSendEnabled' | 'handleSubmit' | 'uploadAttachment'
20
+ 'asyncMessagesMultiSendEnabled' | 'handleSubmit'
20
21
> & {
21
22
enabled : boolean ;
22
23
generateRecordingTitle ?: ( mimeType : string ) => string ;
@@ -29,10 +30,9 @@ export const useMediaRecorder = ({
29
30
generateRecordingTitle,
30
31
handleSubmit,
31
32
recordingConfig,
32
- uploadAttachment,
33
33
} : UseMediaRecorderParams ) : RecordingController => {
34
34
const { t } = useTranslationContext ( 'useMediaRecorder' ) ;
35
-
35
+ const messageComposer = useMessageComposer ( ) ;
36
36
const [ recording , setRecording ] = useState < LocalVoiceRecordingAttachment > ( ) ;
37
37
const [ recordingState , setRecordingState ] = useState < MediaRecordingState > ( ) ;
38
38
const [ permissionState , setPermissionState ] = useState < PermissionState > ( ) ;
@@ -54,13 +54,13 @@ export const useMediaRecorder = ({
54
54
if ( ! recorder ) return ;
55
55
const recording = await recorder . stop ( ) ;
56
56
if ( ! recording ) return ;
57
- await uploadAttachment ( recording ) ;
57
+ await messageComposer . attachmentManager . uploadAttachment ( recording ) ;
58
58
if ( ! asyncMessagesMultiSendEnabled ) {
59
59
// FIXME: cannot call handleSubmit() directly as the function has stale reference to attachments
60
60
scheduleForSubmit ( true ) ;
61
61
}
62
62
recorder . cleanUp ( ) ;
63
- } , [ asyncMessagesMultiSendEnabled , recorder , uploadAttachment ] ) ;
63
+ } , [ asyncMessagesMultiSendEnabled , messageComposer , recorder ] ) ;
64
64
65
65
useEffect ( ( ) => {
66
66
if ( ! isScheduledForSubmit ) return ;
0 commit comments