@@ -33,73 +33,98 @@ export default function useResendMessageCallback({
3333 } ) ;
3434
3535 if ( failedMessage ?. isUserMessage ?.( ) || failedMessage ?. messageType === MessageType . USER ) {
36- currentChannel ?. resendUserMessage ( failedMessage as UserMessage )
37- . then ( ( message ) => {
38- logger . info ( 'Thread | useResendMessageCallback: Resending failedMessage succeeded.' , message ) ;
39- threadDispatcher ( {
40- type : ThreadContextActionTypes . SEND_MESSAGE_SUCESS ,
41- payload : { message } ,
42- } ) ;
43- pubSub . publish ( topics . SEND_USER_MESSAGE , {
44- channel : currentChannel ,
45- message : message ,
46- publishingModules : [ PublishingModuleType . THREAD ] ,
47-
48- } ) ;
49- } )
50- . catch ( ( error ) => {
51- logger . warning ( 'Thread | useResendMessageCallback: Resending failedMessage failed.' , error ) ;
52- failedMessage . sendingStatus = SendingStatus . FAILED ;
53- threadDispatcher ( {
54- type : ThreadContextActionTypes . SEND_MESSAGE_FAILURE ,
55- payload : { message : failedMessage } ,
36+ try {
37+ currentChannel ?. resendMessage ( failedMessage as UserMessage )
38+ . onSucceeded ( ( message ) => {
39+ logger . info ( 'Thread | useResendMessageCallback: Resending user message succeeded.' , message ) ;
40+ threadDispatcher ( {
41+ type : ThreadContextActionTypes . SEND_MESSAGE_SUCESS ,
42+ payload : { message } ,
43+ } ) ;
44+ pubSub . publish ( topics . SEND_USER_MESSAGE , {
45+ channel : currentChannel ,
46+ message : message ,
47+ publishingModules : [ PublishingModuleType . THREAD ] ,
48+ } ) ;
49+ } )
50+ . onFailed ( ( error ) => {
51+ logger . warning ( 'Thread | useResendMessageCallback: Resending user message failed.' , error ) ;
52+ failedMessage . sendingStatus = SendingStatus . FAILED ;
53+ threadDispatcher ( {
54+ type : ThreadContextActionTypes . SEND_MESSAGE_FAILURE ,
55+ payload : { message : failedMessage } ,
56+ } ) ;
5657 } ) ;
58+ } catch ( err ) {
59+ logger . warning ( 'Thread | useResendMessageCallback: Resending user message failed.' , err ) ;
60+ failedMessage . sendingStatus = SendingStatus . FAILED ;
61+ threadDispatcher ( {
62+ type : ThreadContextActionTypes . SEND_MESSAGE_FAILURE ,
63+ payload : { message : failedMessage } ,
5764 } ) ;
65+ }
5866 } else if ( failedMessage ?. isFileMessage ?.( ) || failedMessage ?. messageType === MessageType . FILE ) {
59- currentChannel ?. resendFileMessage ?.( failedMessage as FileMessage )
60- . then ( ( message ) => {
61- logger . info ( 'Thread | useResendMessageCallback: Resending failedMessage succeeded.' , message ) ;
62- threadDispatcher ( {
63- type : ThreadContextActionTypes . SEND_MESSAGE_SUCESS ,
64- payload : { message } ,
65- } ) ;
66- } )
67- . catch ( ( error ) => {
68- logger . warning ( 'Thread | useResendMessageCallback: Resending failedMessage failed.' , error ) ;
69- failedMessage . sendingStatus = SendingStatus . FAILED ;
70- threadDispatcher ( {
71- type : ThreadContextActionTypes . SEND_MESSAGE_FAILURE ,
72- payload : { message : failedMessage } ,
73- } ) ;
74- pubSub . publish ( topics . SEND_FILE_MESSAGE , {
75- channel : currentChannel ,
76- message : failedMessage ,
77- publishingModules : [ PublishingModuleType . THREAD ] ,
67+ try {
68+ currentChannel ?. resendMessage ?.( failedMessage as FileMessage )
69+ . onSucceeded ( ( message ) => {
70+ logger . info ( 'Thread | useResendMessageCallback: Resending file message succeeded.' , message ) ;
71+ threadDispatcher ( {
72+ type : ThreadContextActionTypes . SEND_MESSAGE_SUCESS ,
73+ payload : { message } ,
74+ } ) ;
75+ pubSub . publish ( topics . SEND_FILE_MESSAGE , {
76+ channel : currentChannel ,
77+ message : failedMessage ,
78+ publishingModules : [ PublishingModuleType . THREAD ] ,
79+ } ) ;
80+ } )
81+ . onFailed ( ( error ) => {
82+ logger . warning ( 'Thread | useResendMessageCallback: Resending file message failed.' , error ) ;
83+ failedMessage . sendingStatus = SendingStatus . FAILED ;
84+ threadDispatcher ( {
85+ type : ThreadContextActionTypes . SEND_MESSAGE_FAILURE ,
86+ payload : { message : failedMessage } ,
87+ } ) ;
7888 } ) ;
89+ } catch ( err ) {
90+ logger . warning ( 'Thread | useResendMessageCallback: Resending file message failed.' , err ) ;
91+ failedMessage . sendingStatus = SendingStatus . FAILED ;
92+ threadDispatcher ( {
93+ type : ThreadContextActionTypes . SEND_MESSAGE_FAILURE ,
94+ payload : { message : failedMessage } ,
7995 } ) ;
96+ }
8097 } else if ( failedMessage ?. isMultipleFilesMessage ?.( ) ) {
81- currentChannel ?. resendMessage ?.( failedMessage as MultipleFilesMessage )
82- // TODO: Handle on pending event (Same goes for the other message types).
83- // TODO: Handle on file info upload event.
84- . onSucceeded ( ( message : MultipleFilesMessage ) => {
85- logger . info ( 'Thread | useResendMessageCallback: Resending failedMessage succeeded.' , message ) ;
86- threadDispatcher ( {
87- type : ThreadContextActionTypes . SEND_MESSAGE_SUCESS ,
88- payload : { message } ,
89- } ) ;
90- } )
91- . onFailed ( ( error : Error , message : MultipleFilesMessage ) => {
92- logger . warning ( 'Thread | useResendMessageCallback: Resending failedMessage failed.' , error ) ;
93- threadDispatcher ( {
94- type : ThreadContextActionTypes . SEND_MESSAGE_FAILURE ,
95- payload : { message } ,
96- } ) ;
97- pubSub . publish ( topics . SEND_FILE_MESSAGE , {
98- channel : currentChannel ,
99- message,
100- publishingModules : [ PublishingModuleType . THREAD ] ,
98+ try {
99+ currentChannel ?. resendMessage ?.( failedMessage as MultipleFilesMessage )
100+ // TODO: Handle on pending event (Same goes for the other message types).
101+ // TODO: Handle on file info upload event.
102+ . onSucceeded ( ( message : MultipleFilesMessage ) => {
103+ logger . info ( 'Thread | useResendMessageCallback: Resending MFM succeeded.' , message ) ;
104+ threadDispatcher ( {
105+ type : ThreadContextActionTypes . SEND_MESSAGE_SUCESS ,
106+ payload : { message } ,
107+ } ) ;
108+ pubSub . publish ( topics . SEND_FILE_MESSAGE , {
109+ channel : currentChannel ,
110+ message,
111+ publishingModules : [ PublishingModuleType . THREAD ] ,
112+ } ) ;
113+ } )
114+ . onFailed ( ( error : Error , message : MultipleFilesMessage ) => {
115+ logger . warning ( 'Thread | useResendMessageCallback: Resending MFM failed.' , error ) ;
116+ threadDispatcher ( {
117+ type : ThreadContextActionTypes . SEND_MESSAGE_FAILURE ,
118+ payload : { message } ,
119+ } ) ;
101120 } ) ;
121+ } catch ( err ) {
122+ logger . warning ( 'Thread | useResendMessageCallback: Resending MFM failed.' , err ) ;
123+ threadDispatcher ( {
124+ type : ThreadContextActionTypes . SEND_MESSAGE_FAILURE ,
125+ payload : { message : failedMessage } ,
102126 } ) ;
127+ }
103128 } else {
104129 logger . warning ( 'Thread | useResendMessageCallback: Message is not resendable.' , failedMessage ) ;
105130 failedMessage . sendingStatus = SendingStatus . FAILED ;
0 commit comments