@@ -34,7 +34,7 @@ export type ThreadParentMessageRendererProps<AdditionalProps = unknown> = {
3434const ThreadParentMessageRenderer = ( props : ThreadParentMessageRendererProps ) => {
3535 const handlers = useSBUHandlers ( ) ;
3636 const playerUnsubscribes = useRef < ( ( ) => void ) [ ] > ( [ ] ) ;
37- const { sbOptions, currentUser, mentionManager } = useSendbirdChat ( ) ;
37+ const { sbOptions, currentUser, mentionManager, voiceMessageStatusManager } = useSendbirdChat ( ) ;
3838 const { palette } = useUIKitTheme ( ) ;
3939 const { mediaService, playerService } = usePlatformService ( ) ;
4040 const parentMessage = props . parentMessage ;
@@ -68,6 +68,11 @@ const ThreadParentMessageRenderer = (props: ThreadParentMessageRendererProps) =>
6868 let seekFinished = ! shouldSeekToTime ;
6969
7070 const forPlayback = playerService . addPlaybackListener ( ( { stopped, currentTime, duration } ) => {
71+ voiceMessageStatusManager . setCurrentTime (
72+ parentMessage . channelUrl ,
73+ parentMessage . messageId ,
74+ stopped ? 0 : currentTime ,
75+ ) ;
7176 if ( seekFinished ) {
7277 setState ( ( prevState ) => ( { ...prevState , currentTime : stopped ? 0 : currentTime , duration } ) ) ;
7378 }
@@ -177,6 +182,10 @@ const ThreadParentMessageRenderer = (props: ThreadParentMessageRendererProps) =>
177182 return (
178183 < ThreadParentMessageFileVoice
179184 durationMetaArrayKey = { VOICE_MESSAGE_META_ARRAY_DURATION_KEY }
185+ initialCurrentTime = { voiceMessageStatusManager . getCurrentTime (
186+ parentMessage . channelUrl ,
187+ parentMessage . messageId ,
188+ ) }
180189 onUnmount = { ( ) => {
181190 if ( isVoiceMessage ( parentMessage ) && playerService . uri === parentMessage . url ) {
182191 resetPlayer ( ) . catch ( ( _ ) => { } ) ;
0 commit comments