@@ -371,6 +371,10 @@ export const MessageInput = <
371371 if ( editing && inputBoxRef . current ) {
372372 inputBoxRef . current . focus ( ) ;
373373 }
374+
375+ if ( ! editing ) {
376+ resetInput ( ) ;
377+ }
374378 } , [ editing ] ) ;
375379
376380 const sendMessageAsync = ( id : string ) => {
@@ -697,6 +701,16 @@ export const MessageInput = <
697701 </ Container >
698702 ) ;
699703 } ;
704+ const resetInput = ( pendingAttachments : Attachment [ ] = [ ] ) => {
705+ setFileUploads ( [ ] ) ;
706+ setImageUploads ( [ ] ) ;
707+ setMentionedUsers ( [ ] ) ;
708+ setNumberOfUploads (
709+ ( prevNumberOfUploads ) =>
710+ prevNumberOfUploads - ( pendingAttachments ?. length || 0 ) ,
711+ ) ;
712+ setText ( '' ) ;
713+ } ;
700714
701715 const sendMessage = async ( ) => {
702716 if ( sending . current ) {
@@ -784,14 +798,7 @@ export const MessageInput = <
784798 const updateMessagePromise = editMessage ( updatedMessage ) . then (
785799 clearEditingState ,
786800 ) ;
787- setFileUploads ( [ ] ) ;
788- setImageUploads ( [ ] ) ;
789- setMentionedUsers ( [ ] ) ;
790- setNumberOfUploads (
791- ( prevNumberOfUploads ) =>
792- prevNumberOfUploads - ( attachments ?. length || 0 ) ,
793- ) ;
794- setText ( '' ) ;
801+ resetInput ( attachments ) ;
795802 logChatPromiseExecution ( updateMessagePromise , 'update message' ) ;
796803
797804 sending . current = false ;
@@ -805,14 +812,7 @@ export const MessageInput = <
805812 } as unknown ) as StreamMessage < At , Me , Us > ) ;
806813
807814 sending . current = false ;
808- setFileUploads ( [ ] ) ;
809- setImageUploads ( [ ] ) ;
810- setMentionedUsers ( [ ] ) ;
811- setNumberOfUploads (
812- ( prevNumberOfUploads ) =>
813- prevNumberOfUploads - ( attachments ?. length || 0 ) ,
814- ) ;
815- setText ( '' ) ;
815+ resetInput ( attachments ) ;
816816 } catch ( _error ) {
817817 sending . current = false ;
818818 setText ( prevText ) ;
@@ -841,7 +841,7 @@ export const MessageInput = <
841841 } as StreamMessage < At , Me , Us > ) ;
842842 }
843843
844- setText ( '' ) ;
844+ resetInput ( ) ;
845845 clearEditingState ( ) ;
846846 } catch ( error ) {
847847 console . log ( error ) ;
@@ -1038,8 +1038,8 @@ export const MessageInput = <
10381038 < IconSquare
10391039 icon = { iconClose }
10401040 onPress = { ( ) => {
1041+ resetInput ( ) ;
10411042 clearEditingState ( ) ;
1042- setText ( '' ) ;
10431043 } }
10441044 />
10451045 </ EditingBoxHeader >
0 commit comments