@sendbird/uikit-react 3.14.3 → 3.14.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1063) hide show
  1. package/App.js +377 -378
  2. package/App.js.map +1 -1
  3. package/CHANGELOG.md +23 -0
  4. package/Channel/components/ChannelHeader.js +36 -34
  5. package/Channel/components/ChannelHeader.js.map +1 -1
  6. package/Channel/components/ChannelUI.js +74 -74
  7. package/Channel/components/FileViewer.js +37 -33
  8. package/Channel/components/FileViewer.js.map +1 -1
  9. package/Channel/components/FrozenNotification.js +5 -5
  10. package/Channel/components/Message.js +80 -81
  11. package/Channel/components/Message.js.map +1 -1
  12. package/Channel/components/MessageInput.js +72 -70
  13. package/Channel/components/MessageInput.js.map +1 -1
  14. package/Channel/components/MessageInputWrapper.js +45 -43
  15. package/Channel/components/MessageInputWrapper.js.map +1 -1
  16. package/Channel/components/MessageList.js +249 -250
  17. package/Channel/components/MessageList.js.map +1 -1
  18. package/Channel/components/RemoveMessageModal.js +38 -33
  19. package/Channel/components/RemoveMessageModal.js.map +1 -1
  20. package/Channel/components/SuggestedMentionList.js +29 -30
  21. package/Channel/components/SuggestedMentionList.js.map +1 -1
  22. package/Channel/components/TypingIndicator.js +6 -6
  23. package/Channel/components/UnreadCount.js +7 -7
  24. package/Channel/context.js +1453 -1453
  25. package/Channel/hooks/useHandleUploadFiles.js +125 -120
  26. package/Channel/hooks/useHandleUploadFiles.js.map +1 -1
  27. package/Channel/hooks/useInitialMessagesFetch.js +6 -6
  28. package/Channel/utils/compareMessagesForGrouping.js +50 -51
  29. package/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  30. package/Channel/utils/getMessagePartsInfo.js +26 -27
  31. package/Channel/utils/getMessagePartsInfo.js.map +1 -1
  32. package/Channel.js +71 -71
  33. package/ChannelList/components/AddChannel.js +29 -26
  34. package/ChannelList/components/AddChannel.js.map +1 -1
  35. package/ChannelList/components/ChannelListHeader.js +13 -8
  36. package/ChannelList/components/ChannelListHeader.js.map +1 -1
  37. package/ChannelList/components/ChannelListUI.js +109 -106
  38. package/ChannelList/components/ChannelListUI.js.map +1 -1
  39. package/ChannelList/components/ChannelPreview.js +43 -38
  40. package/ChannelList/components/ChannelPreview.js.map +1 -1
  41. package/ChannelList/components/ChannelPreviewAction.js +16 -12
  42. package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  43. package/ChannelList/context.js +9 -10
  44. package/ChannelList/context.js.map +1 -1
  45. package/ChannelList.js +43 -40
  46. package/ChannelList.js.map +1 -1
  47. package/ChannelSettings/components/ChannelProfile.js +57 -47
  48. package/ChannelSettings/components/ChannelProfile.js.map +1 -1
  49. package/ChannelSettings/components/ChannelSettingsHeader.js +24 -21
  50. package/ChannelSettings/components/ChannelSettingsHeader.js.map +1 -1
  51. package/ChannelSettings/components/ChannelSettingsUI.js +78 -75
  52. package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  53. package/ChannelSettings/components/EditDetailsModal.js +90 -80
  54. package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  55. package/ChannelSettings/components/LeaveChannel.js +63 -53
  56. package/ChannelSettings/components/LeaveChannel.js.map +1 -1
  57. package/ChannelSettings/components/ModerationPanel.js +447 -445
  58. package/ChannelSettings/components/ModerationPanel.js.map +1 -1
  59. package/ChannelSettings/components/UserListItem.js +49 -49
  60. package/ChannelSettings/components/UserPanel.js +47 -45
  61. package/ChannelSettings/components/UserPanel.js.map +1 -1
  62. package/ChannelSettings/context.js +105 -105
  63. package/ChannelSettings.js +35 -32
  64. package/ChannelSettings.js.map +1 -1
  65. package/CreateChannel/components/CreateChannelUI.js +33 -29
  66. package/CreateChannel/components/CreateChannelUI.js.map +1 -1
  67. package/CreateChannel/components/InviteUsers.js +143 -139
  68. package/CreateChannel/components/InviteUsers.js.map +1 -1
  69. package/CreateChannel/components/SelectChannelType.js +76 -65
  70. package/CreateChannel/components/SelectChannelType.js.map +1 -1
  71. package/CreateChannel/context.js +4 -4
  72. package/CreateChannel.js +27 -23
  73. package/CreateChannel.js.map +1 -1
  74. package/CreateOpenChannel/components/CreateOpenChannelUI.js +63 -52
  75. package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  76. package/CreateOpenChannel/context.js +41 -41
  77. package/CreateOpenChannel.js +28 -17
  78. package/CreateOpenChannel.js.map +1 -1
  79. package/EditUserProfile/components/EditUserProfileUI.js +110 -99
  80. package/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  81. package/EditUserProfile/context.js +12 -12
  82. package/EditUserProfile.js +27 -16
  83. package/EditUserProfile.js.map +1 -1
  84. package/GroupChannel/components/FileViewer.js +62 -58
  85. package/GroupChannel/components/FileViewer.js.map +1 -1
  86. package/GroupChannel/components/FrozenNotification.js +10 -10
  87. package/GroupChannel/components/GroupChannelHeader.js +30 -28
  88. package/GroupChannel/components/GroupChannelHeader.js.map +1 -1
  89. package/GroupChannel/components/GroupChannelUI.js +68 -68
  90. package/GroupChannel/components/Message.js +66 -77
  91. package/GroupChannel/components/Message.js.map +1 -1
  92. package/GroupChannel/components/MessageInputWrapper.js +63 -62
  93. package/GroupChannel/components/MessageInputWrapper.js.map +1 -1
  94. package/GroupChannel/components/MessageList.js +154 -155
  95. package/GroupChannel/components/MessageList.js.map +1 -1
  96. package/GroupChannel/components/RemoveMessageModal.js +32 -27
  97. package/GroupChannel/components/RemoveMessageModal.js.map +1 -1
  98. package/GroupChannel/components/SuggestedMentionList.js +14 -14
  99. package/GroupChannel/components/SuggestedReplies.js +15 -14
  100. package/GroupChannel/components/SuggestedReplies.js.map +1 -1
  101. package/GroupChannel/components/TypingIndicator.js +59 -59
  102. package/GroupChannel/components/UnreadCount.js +26 -26
  103. package/GroupChannel/context.js +568 -568
  104. package/GroupChannel.js +65 -65
  105. package/GroupChannelList/components/AddGroupChannel.js +30 -27
  106. package/GroupChannelList/components/AddGroupChannel.js.map +1 -1
  107. package/GroupChannelList/components/GroupChannelListHeader.js +34 -28
  108. package/GroupChannelList/components/GroupChannelListHeader.js.map +1 -1
  109. package/GroupChannelList/components/GroupChannelListItem.js +39 -35
  110. package/GroupChannelList/components/GroupChannelListItem.js.map +1 -1
  111. package/GroupChannelList/components/GroupChannelListUI.js +86 -83
  112. package/GroupChannelList/components/GroupChannelListUI.js.map +1 -1
  113. package/GroupChannelList/components/GroupChannelPreviewAction.js +48 -44
  114. package/GroupChannelList/components/GroupChannelPreviewAction.js.map +1 -1
  115. package/GroupChannelList/context.js +81 -97
  116. package/GroupChannelList/context.js.map +1 -1
  117. package/GroupChannelList.js +43 -40
  118. package/GroupChannelList.js.map +1 -1
  119. package/Message/context.js +21 -21
  120. package/Message/hooks/useDirtyGetMentions.js +52 -52
  121. package/MessageSearch/components/MessageSearchUI.js +71 -72
  122. package/MessageSearch/components/MessageSearchUI.js.map +1 -1
  123. package/MessageSearch/context.js +247 -247
  124. package/MessageSearch.js +59 -59
  125. package/OpenChannel/components/FrozenChannelNotification.js +9 -9
  126. package/OpenChannel/components/OpenChannelHeader.js +43 -38
  127. package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  128. package/OpenChannel/components/OpenChannelInput.js +47 -45
  129. package/OpenChannel/components/OpenChannelInput.js.map +1 -1
  130. package/OpenChannel/components/OpenChannelMessage.js +158 -157
  131. package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  132. package/OpenChannel/components/OpenChannelMessageList.js +95 -94
  133. package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  134. package/OpenChannel/components/OpenChannelUI.js +71 -70
  135. package/OpenChannel/components/OpenChannelUI.js.map +1 -1
  136. package/OpenChannel/context.js +23 -18
  137. package/OpenChannel/context.js.map +1 -1
  138. package/OpenChannel.js +44 -43
  139. package/OpenChannel.js.map +1 -1
  140. package/OpenChannelList/components/OpenChannelListUI.js +102 -92
  141. package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  142. package/OpenChannelList/components/OpenChannelPreview.js +20 -20
  143. package/OpenChannelList/context.js +3 -3
  144. package/OpenChannelList.js +34 -24
  145. package/OpenChannelList.js.map +1 -1
  146. package/OpenChannelSettings/components/EditDetailsModal.js +82 -73
  147. package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  148. package/OpenChannelSettings/components/OpenChannelProfile.js +47 -38
  149. package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  150. package/OpenChannelSettings/components/OpenChannelSettingsUI.js +61 -57
  151. package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  152. package/OpenChannelSettings/components/OperatorUI.js +454 -450
  153. package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  154. package/OpenChannelSettings/components/ParticipantUI.js +21 -17
  155. package/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  156. package/OpenChannelSettings/context.js +114 -114
  157. package/OpenChannelSettings.js +29 -25
  158. package/OpenChannelSettings.js.map +1 -1
  159. package/README.md +2 -13
  160. package/SendbirdProvider.js +1139 -1183
  161. package/SendbirdProvider.js.map +1 -1
  162. package/Thread/components/ParentMessageInfo.js +240 -239
  163. package/Thread/components/ParentMessageInfo.js.map +1 -1
  164. package/Thread/components/ParentMessageInfoItem.js +148 -148
  165. package/Thread/components/ThreadHeader.js +23 -26
  166. package/Thread/components/ThreadHeader.js.map +1 -1
  167. package/Thread/components/ThreadList.js +122 -122
  168. package/Thread/components/ThreadListItem.js +341 -340
  169. package/Thread/components/ThreadListItem.js.map +1 -1
  170. package/Thread/components/ThreadMessageInput.js +167 -165
  171. package/Thread/components/ThreadMessageInput.js.map +1 -1
  172. package/Thread/components/ThreadUI.js +207 -207
  173. package/Thread/context/types.js +21 -21
  174. package/Thread/context.js +1283 -1281
  175. package/Thread/context.js.map +1 -1
  176. package/Thread.js +73 -73
  177. package/VoicePlayer/context.js +3 -3
  178. package/VoicePlayer/useVoicePlayer.js +68 -60
  179. package/VoicePlayer/useVoicePlayer.js.map +1 -1
  180. package/VoiceRecorder/context.js +21 -127
  181. package/VoiceRecorder/context.js.map +1 -1
  182. package/VoiceRecorder/useVoiceRecorder.js +105 -96
  183. package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  184. package/chunks/{bundle-DiuoVXwl.js → bundle--nVHk3fx.js} +161 -162
  185. package/chunks/{bundle-DiuoVXwl.js.map → bundle--nVHk3fx.js.map} +1 -1
  186. package/chunks/{bundle-CUPPssXo.js → bundle-2uJIsyo2.js} +27 -27
  187. package/chunks/bundle-2uJIsyo2.js.map +1 -0
  188. package/chunks/bundle-3amhHjNa.js +120 -0
  189. package/chunks/bundle-3amhHjNa.js.map +1 -0
  190. package/chunks/{bundle-DZcgZWKq.js → bundle-7oF7KbGv.js} +2 -2
  191. package/chunks/{bundle-DZcgZWKq.js.map → bundle-7oF7KbGv.js.map} +1 -1
  192. package/chunks/{bundle-CXtl77MC.js → bundle-9MhshueU.js} +21 -21
  193. package/chunks/bundle-9MhshueU.js.map +1 -0
  194. package/chunks/{bundle-COLsFI7t.js → bundle-B5N2u5f-.js} +1 -1
  195. package/chunks/bundle-B5N2u5f-.js.map +1 -0
  196. package/chunks/{bundle-DGnpw8up.js → bundle-B7barEsR.js} +19 -19
  197. package/chunks/bundle-B7barEsR.js.map +1 -0
  198. package/chunks/{bundle-mRqHYNyY.js → bundle-B8gKMDtp.js} +28 -28
  199. package/chunks/bundle-B8gKMDtp.js.map +1 -0
  200. package/chunks/{bundle-D8JekjLy.js → bundle-BAvMd_j0.js} +45 -46
  201. package/chunks/bundle-BAvMd_j0.js.map +1 -0
  202. package/chunks/{bundle-DfDCjniq.js → bundle-BHn3F_OF.js} +17 -17
  203. package/chunks/bundle-BHn3F_OF.js.map +1 -0
  204. package/chunks/{bundle-BbeHRXOp.js → bundle-BJ46V6XQ.js} +10 -10
  205. package/chunks/bundle-BJ46V6XQ.js.map +1 -0
  206. package/chunks/{bundle-DQKxIg_X.js → bundle-BKho3Uub.js} +11 -11
  207. package/chunks/bundle-BKho3Uub.js.map +1 -0
  208. package/chunks/{bundle-BTLVyMgj.js → bundle-BOSnopxk.js} +8 -8
  209. package/chunks/bundle-BOSnopxk.js.map +1 -0
  210. package/chunks/{bundle-DbwlpQTj.js → bundle-BTD0sBED.js} +89 -89
  211. package/chunks/{bundle-DbwlpQTj.js.map → bundle-BTD0sBED.js.map} +1 -1
  212. package/chunks/{bundle-CkgVJjMI.js → bundle-BTkRy0wv.js} +94 -94
  213. package/chunks/{bundle-CkgVJjMI.js.map → bundle-BTkRy0wv.js.map} +1 -1
  214. package/chunks/{bundle-DwApARpe.js → bundle-BWCGFXhj.js} +732 -731
  215. package/chunks/bundle-BWCGFXhj.js.map +1 -0
  216. package/chunks/{bundle-BX_IXLSp.js → bundle-BWuyd0AD.js} +37 -37
  217. package/chunks/bundle-BWuyd0AD.js.map +1 -0
  218. package/chunks/{bundle-DOG83iYO.js → bundle-BZd5IHBF.js} +83 -83
  219. package/chunks/{bundle-DOG83iYO.js.map → bundle-BZd5IHBF.js.map} +1 -1
  220. package/chunks/{bundle-BiINvVSK.js → bundle-B__zC9zD.js} +131 -132
  221. package/chunks/{bundle-DBBVxbFA.js.map → bundle-B__zC9zD.js.map} +1 -1
  222. package/chunks/bundle-BbWD2VuS.js +93 -0
  223. package/chunks/bundle-BbWD2VuS.js.map +1 -0
  224. package/chunks/{bundle-CDnCdfIC.js → bundle-Bi8Wfc2I.js} +1326 -1327
  225. package/chunks/{bundle-CDnCdfIC.js.map → bundle-Bi8Wfc2I.js.map} +1 -1
  226. package/chunks/{bundle-BcKA_SAt.js → bundle-BjrRhdgd.js} +258 -258
  227. package/chunks/{bundle-BcKA_SAt.js.map → bundle-BjrRhdgd.js.map} +1 -1
  228. package/chunks/{bundle-CYXIQgUE.js → bundle-BmTGlIgs.js} +920 -923
  229. package/chunks/{bundle-CYXIQgUE.js.map → bundle-BmTGlIgs.js.map} +1 -1
  230. package/chunks/{bundle-BhkcPTQE.js → bundle-BtY8jyVv.js} +26 -26
  231. package/chunks/{bundle-BhkcPTQE.js.map → bundle-BtY8jyVv.js.map} +1 -1
  232. package/chunks/{bundle-C3K7W_E-.js → bundle-BvG71y_P.js} +31 -31
  233. package/chunks/bundle-BvG71y_P.js.map +1 -0
  234. package/chunks/{bundle-DS5ljghe.js → bundle-BvaqGh4L.js} +5 -5
  235. package/chunks/bundle-BvaqGh4L.js.map +1 -0
  236. package/chunks/{bundle-tIPAQa1P.js → bundle-Bx5vhTbU.js} +11 -11
  237. package/chunks/bundle-Bx5vhTbU.js.map +1 -0
  238. package/chunks/{bundle-DkspvEHK.js → bundle-Byig85JJ.js} +185 -185
  239. package/chunks/{bundle-DkspvEHK.js.map → bundle-Byig85JJ.js.map} +1 -1
  240. package/chunks/bundle-BymWz1lX.js +30 -0
  241. package/chunks/bundle-BymWz1lX.js.map +1 -0
  242. package/chunks/{bundle-DZl__KhG.js → bundle-ByvmbZD0.js} +36 -29
  243. package/chunks/bundle-ByvmbZD0.js.map +1 -0
  244. package/chunks/{bundle-DZie-lCF.js → bundle-C040958G.js} +2 -2
  245. package/chunks/{bundle-DZie-lCF.js.map → bundle-C040958G.js.map} +1 -1
  246. package/chunks/{bundle-Danvz0zD.js → bundle-C1ds4cil.js} +1 -1
  247. package/chunks/{bundle-Danvz0zD.js.map → bundle-C1ds4cil.js.map} +1 -1
  248. package/chunks/{bundle-D4x1_hkl.js → bundle-C1hw1sij.js} +26 -26
  249. package/chunks/bundle-C1hw1sij.js.map +1 -0
  250. package/chunks/bundle-C4Z-NWqF.js +279 -0
  251. package/chunks/bundle-C4Z-NWqF.js.map +1 -0
  252. package/chunks/{bundle-BLGMGsvT.js → bundle-C8im5l9B.js} +234 -234
  253. package/chunks/{bundle-BLGMGsvT.js.map → bundle-C8im5l9B.js.map} +1 -1
  254. package/chunks/{bundle-Dc7E6GJc.js → bundle-CD9AzC6s.js} +35 -35
  255. package/chunks/bundle-CD9AzC6s.js.map +1 -0
  256. package/chunks/{bundle-DpCn3P9s.js → bundle-CDwtSJbC.js} +210 -206
  257. package/chunks/{bundle-CwHpV2cp.js.map → bundle-CDwtSJbC.js.map} +1 -1
  258. package/chunks/{bundle-BbusXHy3.js → bundle-CIwVkd-E.js} +234 -234
  259. package/chunks/{bundle-BbusXHy3.js.map → bundle-CIwVkd-E.js.map} +1 -1
  260. package/chunks/{bundle-B9sTU4LX.js → bundle-CJk_QDUV.js} +58 -58
  261. package/chunks/bundle-CJk_QDUV.js.map +1 -0
  262. package/chunks/{bundle-BPvfVEd8.js → bundle-CNJMLyGJ.js} +61 -61
  263. package/chunks/bundle-CNJMLyGJ.js.map +1 -0
  264. package/chunks/{bundle-CUd4X5O2.js → bundle-CT8ZXUi2.js} +12 -12
  265. package/chunks/bundle-CT8ZXUi2.js.map +1 -0
  266. package/chunks/{bundle-Bf6VvPhp.js → bundle-C_Vyt_ii.js} +25 -25
  267. package/chunks/bundle-C_Vyt_ii.js.map +1 -0
  268. package/chunks/{bundle-Bkbg_RQ-.js → bundle-CaaUNO3F.js} +2 -2
  269. package/chunks/{bundle-Bkbg_RQ-.js.map → bundle-CaaUNO3F.js.map} +1 -1
  270. package/chunks/{bundle-DL_Xts3y.js → bundle-Ci146LvO.js} +370 -368
  271. package/chunks/{bundle-DL_Xts3y.js.map → bundle-Ci146LvO.js.map} +1 -1
  272. package/chunks/{bundle-fxTywxQ4.js → bundle-Clhqc2C_.js} +6 -6
  273. package/chunks/bundle-Clhqc2C_.js.map +1 -0
  274. package/chunks/{bundle-B7J4Fm0y.js → bundle-D2i2ti1U.js} +36 -36
  275. package/chunks/bundle-D2i2ti1U.js.map +1 -0
  276. package/chunks/{bundle-CY2Lga-4.js → bundle-DDhhxSv0.js} +64 -65
  277. package/chunks/bundle-DDhhxSv0.js.map +1 -0
  278. package/chunks/{bundle-DWW0XPV9.js → bundle-DDkUg3Os.js} +118 -118
  279. package/chunks/{bundle-DWW0XPV9.js.map → bundle-DDkUg3Os.js.map} +1 -1
  280. package/chunks/{bundle-Otcx8Wxy.js → bundle-DJTSztr0.js} +124 -124
  281. package/chunks/bundle-DJTSztr0.js.map +1 -0
  282. package/chunks/{bundle-WmbZYtqM.js → bundle-DNMURwG9.js} +120 -120
  283. package/chunks/bundle-DNMURwG9.js.map +1 -0
  284. package/chunks/{bundle-B_fxVgAX.js → bundle-DO1vNias.js} +244 -244
  285. package/chunks/{bundle-B_fxVgAX.js.map → bundle-DO1vNias.js.map} +1 -1
  286. package/chunks/{bundle-D5lQwKgM.js → bundle-DQ2q-zNM.js} +1 -1
  287. package/chunks/bundle-DQ2q-zNM.js.map +1 -0
  288. package/chunks/{bundle-5yHWoLVJ.js → bundle-DQFIz2Zf.js} +11 -11
  289. package/chunks/bundle-DQFIz2Zf.js.map +1 -0
  290. package/chunks/{bundle-DpkEqNiD.js → bundle-DSOf9RKe.js} +1 -1
  291. package/chunks/bundle-DSOf9RKe.js.map +1 -0
  292. package/chunks/{bundle-BOUVMTAt.js → bundle-DThbnyZd.js} +25 -25
  293. package/chunks/bundle-DThbnyZd.js.map +1 -0
  294. package/chunks/{bundle-CwHpV2cp.js → bundle-DXCQovsu.js} +213 -213
  295. package/{cjs/chunks/bundle-66eVSkB5.js.map → chunks/bundle-DXCQovsu.js.map} +1 -1
  296. package/chunks/{bundle-BmFbOU4C.js → bundle-D_eJq5Xk.js} +12 -12
  297. package/chunks/bundle-D_eJq5Xk.js.map +1 -0
  298. package/chunks/{bundle-CXxeDfXV.js → bundle-DaAoUDJk.js} +164 -164
  299. package/chunks/{bundle-CXxeDfXV.js.map → bundle-DaAoUDJk.js.map} +1 -1
  300. package/chunks/{bundle-CMZVPZeM.js → bundle-DaoHZIZy.js} +51 -51
  301. package/chunks/bundle-DaoHZIZy.js.map +1 -0
  302. package/chunks/{bundle-BlK-fMQm.js → bundle-Diqj6For.js} +71 -71
  303. package/chunks/bundle-Diqj6For.js.map +1 -0
  304. package/chunks/{bundle-CKf9oBLV.js → bundle-DlfN5GTa.js} +160 -160
  305. package/chunks/{bundle-CKf9oBLV.js.map → bundle-DlfN5GTa.js.map} +1 -1
  306. package/chunks/{bundle-BPj0X5TA.js → bundle-DmYqVYeD.js} +6 -6
  307. package/chunks/bundle-DmYqVYeD.js.map +1 -0
  308. package/chunks/{bundle-DBBVxbFA.js → bundle-DpGWywZ5.js} +138 -138
  309. package/chunks/bundle-DpGWywZ5.js.map +1 -0
  310. package/chunks/{bundle-BPbwxMIx.js → bundle-DzxiMlgV.js} +11 -12
  311. package/chunks/bundle-DzxiMlgV.js.map +1 -0
  312. package/chunks/{bundle-BwJTKHEl.js → bundle-Gx0ryc_f.js} +72 -72
  313. package/chunks/bundle-Gx0ryc_f.js.map +1 -0
  314. package/chunks/{bundle-BMPm6lKq.js → bundle-HoQqraNc.js} +23 -23
  315. package/chunks/bundle-HoQqraNc.js.map +1 -0
  316. package/chunks/{bundle-CllFAkeZ.js → bundle-IGQYX_K1.js} +152 -1079
  317. package/chunks/bundle-IGQYX_K1.js.map +1 -0
  318. package/chunks/{bundle-DfhJ_oFZ.js → bundle-Jir4hfa9.js} +13 -13
  319. package/chunks/bundle-Jir4hfa9.js.map +1 -0
  320. package/chunks/{bundle-Dk211z5R.js → bundle-LYAWKk4n.js} +78 -79
  321. package/chunks/bundle-LYAWKk4n.js.map +1 -0
  322. package/chunks/{bundle-OIgXk-TJ.js → bundle-QxUVt4Ms.js} +15 -15
  323. package/chunks/bundle-QxUVt4Ms.js.map +1 -0
  324. package/chunks/{bundle-C2A3dCIs.js → bundle-ZsYMd8JA.js} +192 -185
  325. package/chunks/{bundle-C2A3dCIs.js.map → bundle-ZsYMd8JA.js.map} +1 -1
  326. package/chunks/{bundle-BKCDSKx6.js → bundle-_-vntp1z.js} +28 -28
  327. package/chunks/bundle-_-vntp1z.js.map +1 -0
  328. package/chunks/{bundle-BzYv4x2T.js → bundle-afCfXO2C.js} +22 -22
  329. package/chunks/bundle-afCfXO2C.js.map +1 -0
  330. package/chunks/{bundle-D4rjbjNv.js → bundle-dC3DwujZ.js} +18 -18
  331. package/chunks/bundle-dC3DwujZ.js.map +1 -0
  332. package/chunks/{bundle-CUDCHaXM.js → bundle-fRP_rTVb.js} +75 -74
  333. package/chunks/bundle-fRP_rTVb.js.map +1 -0
  334. package/chunks/{bundle-Dzm909k5.js → bundle-h3a36twH.js} +48 -48
  335. package/chunks/bundle-h3a36twH.js.map +1 -0
  336. package/chunks/{bundle-XogVJY7Q.js → bundle-k3XccyCm.js} +333 -333
  337. package/chunks/{bundle-XogVJY7Q.js.map → bundle-k3XccyCm.js.map} +1 -1
  338. package/chunks/{bundle-Y3Y435SA.js → bundle-oCSRGy9i.js} +29 -29
  339. package/chunks/bundle-oCSRGy9i.js.map +1 -0
  340. package/chunks/{bundle-BLMDgHS-.js → bundle-uBJzoaNT.js} +82 -82
  341. package/chunks/bundle-uBJzoaNT.js.map +1 -0
  342. package/chunks/{bundle-BKTUnkiE.js → bundle-yZ1rqvSQ.js} +3 -3
  343. package/chunks/{bundle-BKTUnkiE.js.map → bundle-yZ1rqvSQ.js.map} +1 -1
  344. package/cjs/App.js +377 -378
  345. package/cjs/App.js.map +1 -1
  346. package/cjs/Channel/components/ChannelHeader.js +36 -34
  347. package/cjs/Channel/components/ChannelHeader.js.map +1 -1
  348. package/cjs/Channel/components/ChannelUI.js +74 -74
  349. package/cjs/Channel/components/FileViewer.js +37 -33
  350. package/cjs/Channel/components/FileViewer.js.map +1 -1
  351. package/cjs/Channel/components/FrozenNotification.js +5 -5
  352. package/cjs/Channel/components/Message.js +80 -81
  353. package/cjs/Channel/components/Message.js.map +1 -1
  354. package/cjs/Channel/components/MessageInput.js +72 -70
  355. package/cjs/Channel/components/MessageInput.js.map +1 -1
  356. package/cjs/Channel/components/MessageInputWrapper.js +45 -43
  357. package/cjs/Channel/components/MessageInputWrapper.js.map +1 -1
  358. package/cjs/Channel/components/MessageList.js +249 -250
  359. package/cjs/Channel/components/MessageList.js.map +1 -1
  360. package/cjs/Channel/components/RemoveMessageModal.js +38 -33
  361. package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
  362. package/cjs/Channel/components/SuggestedMentionList.js +29 -30
  363. package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
  364. package/cjs/Channel/components/TypingIndicator.js +6 -6
  365. package/cjs/Channel/components/UnreadCount.js +7 -7
  366. package/cjs/Channel/context.js +1453 -1453
  367. package/cjs/Channel/hooks/useHandleUploadFiles.js +125 -120
  368. package/cjs/Channel/hooks/useHandleUploadFiles.js.map +1 -1
  369. package/cjs/Channel/hooks/useInitialMessagesFetch.js +6 -6
  370. package/cjs/Channel/utils/compareMessagesForGrouping.js +50 -51
  371. package/cjs/Channel/utils/compareMessagesForGrouping.js.map +1 -1
  372. package/cjs/Channel/utils/getMessagePartsInfo.js +26 -27
  373. package/cjs/Channel/utils/getMessagePartsInfo.js.map +1 -1
  374. package/cjs/Channel.js +71 -71
  375. package/cjs/ChannelList/components/AddChannel.js +29 -26
  376. package/cjs/ChannelList/components/AddChannel.js.map +1 -1
  377. package/cjs/ChannelList/components/ChannelListHeader.js +13 -8
  378. package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
  379. package/cjs/ChannelList/components/ChannelListUI.js +109 -106
  380. package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
  381. package/cjs/ChannelList/components/ChannelPreview.js +43 -38
  382. package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
  383. package/cjs/ChannelList/components/ChannelPreviewAction.js +16 -12
  384. package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
  385. package/cjs/ChannelList/context.js +9 -10
  386. package/cjs/ChannelList/context.js.map +1 -1
  387. package/cjs/ChannelList.js +43 -40
  388. package/cjs/ChannelList.js.map +1 -1
  389. package/cjs/ChannelSettings/components/ChannelProfile.js +57 -47
  390. package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
  391. package/cjs/ChannelSettings/components/ChannelSettingsHeader.js +23 -20
  392. package/cjs/ChannelSettings/components/ChannelSettingsHeader.js.map +1 -1
  393. package/cjs/ChannelSettings/components/ChannelSettingsUI.js +78 -75
  394. package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
  395. package/cjs/ChannelSettings/components/EditDetailsModal.js +90 -80
  396. package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
  397. package/cjs/ChannelSettings/components/LeaveChannel.js +63 -53
  398. package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
  399. package/cjs/ChannelSettings/components/ModerationPanel.js +447 -445
  400. package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
  401. package/cjs/ChannelSettings/components/UserListItem.js +49 -49
  402. package/cjs/ChannelSettings/components/UserPanel.js +47 -45
  403. package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
  404. package/cjs/ChannelSettings/context.js +105 -105
  405. package/cjs/ChannelSettings.js +35 -32
  406. package/cjs/ChannelSettings.js.map +1 -1
  407. package/cjs/CreateChannel/components/CreateChannelUI.js +33 -29
  408. package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
  409. package/cjs/CreateChannel/components/InviteUsers.js +143 -139
  410. package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
  411. package/cjs/CreateChannel/components/SelectChannelType.js +76 -65
  412. package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
  413. package/cjs/CreateChannel/context.js +4 -4
  414. package/cjs/CreateChannel.js +27 -23
  415. package/cjs/CreateChannel.js.map +1 -1
  416. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +63 -52
  417. package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
  418. package/cjs/CreateOpenChannel/context.js +41 -41
  419. package/cjs/CreateOpenChannel.js +28 -17
  420. package/cjs/CreateOpenChannel.js.map +1 -1
  421. package/cjs/EditUserProfile/components/EditUserProfileUI.js +110 -99
  422. package/cjs/EditUserProfile/components/EditUserProfileUI.js.map +1 -1
  423. package/cjs/EditUserProfile/context.js +12 -12
  424. package/cjs/EditUserProfile.js +27 -16
  425. package/cjs/EditUserProfile.js.map +1 -1
  426. package/cjs/GroupChannel/components/FileViewer.js +62 -58
  427. package/cjs/GroupChannel/components/FileViewer.js.map +1 -1
  428. package/cjs/GroupChannel/components/FrozenNotification.js +10 -10
  429. package/cjs/GroupChannel/components/GroupChannelHeader.js +30 -28
  430. package/cjs/GroupChannel/components/GroupChannelHeader.js.map +1 -1
  431. package/cjs/GroupChannel/components/GroupChannelUI.js +68 -68
  432. package/cjs/GroupChannel/components/Message.js +66 -77
  433. package/cjs/GroupChannel/components/Message.js.map +1 -1
  434. package/cjs/GroupChannel/components/MessageInputWrapper.js +62 -61
  435. package/cjs/GroupChannel/components/MessageInputWrapper.js.map +1 -1
  436. package/cjs/GroupChannel/components/MessageList.js +154 -155
  437. package/cjs/GroupChannel/components/MessageList.js.map +1 -1
  438. package/cjs/GroupChannel/components/RemoveMessageModal.js +32 -27
  439. package/cjs/GroupChannel/components/RemoveMessageModal.js.map +1 -1
  440. package/cjs/GroupChannel/components/SuggestedMentionList.js +14 -14
  441. package/cjs/GroupChannel/components/SuggestedReplies.js +15 -14
  442. package/cjs/GroupChannel/components/SuggestedReplies.js.map +1 -1
  443. package/cjs/GroupChannel/components/TypingIndicator.js +59 -59
  444. package/cjs/GroupChannel/components/UnreadCount.js +26 -26
  445. package/cjs/GroupChannel/context.js +568 -568
  446. package/cjs/GroupChannel.js +65 -65
  447. package/cjs/GroupChannelList/components/AddGroupChannel.js +30 -27
  448. package/cjs/GroupChannelList/components/AddGroupChannel.js.map +1 -1
  449. package/cjs/GroupChannelList/components/GroupChannelListHeader.js +34 -28
  450. package/cjs/GroupChannelList/components/GroupChannelListHeader.js.map +1 -1
  451. package/cjs/GroupChannelList/components/GroupChannelListItem.js +39 -35
  452. package/cjs/GroupChannelList/components/GroupChannelListItem.js.map +1 -1
  453. package/cjs/GroupChannelList/components/GroupChannelListUI.js +86 -83
  454. package/cjs/GroupChannelList/components/GroupChannelListUI.js.map +1 -1
  455. package/cjs/GroupChannelList/components/GroupChannelPreviewAction.js +48 -44
  456. package/cjs/GroupChannelList/components/GroupChannelPreviewAction.js.map +1 -1
  457. package/cjs/GroupChannelList/context.js +81 -97
  458. package/cjs/GroupChannelList/context.js.map +1 -1
  459. package/cjs/GroupChannelList.js +43 -40
  460. package/cjs/GroupChannelList.js.map +1 -1
  461. package/cjs/Message/context.js +21 -21
  462. package/cjs/Message/hooks/useDirtyGetMentions.js +52 -52
  463. package/cjs/MessageSearch/components/MessageSearchUI.js +71 -72
  464. package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
  465. package/cjs/MessageSearch/context.js +247 -247
  466. package/cjs/MessageSearch.js +59 -59
  467. package/cjs/OpenChannel/components/FrozenChannelNotification.js +9 -9
  468. package/cjs/OpenChannel/components/OpenChannelHeader.js +43 -38
  469. package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
  470. package/cjs/OpenChannel/components/OpenChannelInput.js +47 -45
  471. package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
  472. package/cjs/OpenChannel/components/OpenChannelMessage.js +158 -157
  473. package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
  474. package/cjs/OpenChannel/components/OpenChannelMessageList.js +95 -94
  475. package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
  476. package/cjs/OpenChannel/components/OpenChannelUI.js +71 -70
  477. package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
  478. package/cjs/OpenChannel/context.js +23 -18
  479. package/cjs/OpenChannel/context.js.map +1 -1
  480. package/cjs/OpenChannel.js +44 -43
  481. package/cjs/OpenChannel.js.map +1 -1
  482. package/cjs/OpenChannelList/components/OpenChannelListUI.js +102 -92
  483. package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
  484. package/cjs/OpenChannelList/components/OpenChannelPreview.js +20 -20
  485. package/cjs/OpenChannelList/context.js +3 -3
  486. package/cjs/OpenChannelList.js +34 -24
  487. package/cjs/OpenChannelList.js.map +1 -1
  488. package/cjs/OpenChannelSettings/components/EditDetailsModal.js +82 -73
  489. package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
  490. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +47 -38
  491. package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
  492. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +61 -57
  493. package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
  494. package/cjs/OpenChannelSettings/components/OperatorUI.js +454 -450
  495. package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
  496. package/cjs/OpenChannelSettings/components/ParticipantUI.js +21 -17
  497. package/cjs/OpenChannelSettings/components/ParticipantUI.js.map +1 -1
  498. package/cjs/OpenChannelSettings/context.js +114 -114
  499. package/cjs/OpenChannelSettings.js +29 -25
  500. package/cjs/OpenChannelSettings.js.map +1 -1
  501. package/cjs/SendbirdProvider.js +1139 -1183
  502. package/cjs/SendbirdProvider.js.map +1 -1
  503. package/cjs/Thread/components/ParentMessageInfo.js +240 -239
  504. package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
  505. package/cjs/Thread/components/ParentMessageInfoItem.js +148 -148
  506. package/cjs/Thread/components/ThreadHeader.js +22 -25
  507. package/cjs/Thread/components/ThreadHeader.js.map +1 -1
  508. package/cjs/Thread/components/ThreadList.js +122 -122
  509. package/cjs/Thread/components/ThreadListItem.js +341 -340
  510. package/cjs/Thread/components/ThreadListItem.js.map +1 -1
  511. package/cjs/Thread/components/ThreadMessageInput.js +167 -165
  512. package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
  513. package/cjs/Thread/components/ThreadUI.js +207 -207
  514. package/cjs/Thread/context/types.js +21 -21
  515. package/cjs/Thread/context.js +1283 -1281
  516. package/cjs/Thread/context.js.map +1 -1
  517. package/cjs/Thread.js +73 -73
  518. package/cjs/VoicePlayer/context.js +3 -3
  519. package/cjs/VoicePlayer/useVoicePlayer.js +68 -60
  520. package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
  521. package/cjs/VoiceRecorder/context.js +25 -127
  522. package/cjs/VoiceRecorder/context.js.map +1 -1
  523. package/cjs/VoiceRecorder/useVoiceRecorder.js +105 -96
  524. package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
  525. package/cjs/chunks/{bundle-BRjBigtB.js → bundle-1XtsxT8L.js} +10 -10
  526. package/cjs/chunks/bundle-1XtsxT8L.js.map +1 -0
  527. package/cjs/chunks/{bundle-CVSpiKNJ.js → bundle-4vdy6J5u.js} +17 -17
  528. package/cjs/chunks/bundle-4vdy6J5u.js.map +1 -0
  529. package/cjs/chunks/{bundle-BuYf2Pa8.js → bundle-5_kPn4wU.js} +77 -79
  530. package/cjs/chunks/bundle-5_kPn4wU.js.map +1 -0
  531. package/cjs/chunks/{bundle-ByBh6M0g.js → bundle-7UHC8ujA.js} +94 -94
  532. package/cjs/chunks/bundle-7UHC8ujA.js.map +1 -0
  533. package/cjs/chunks/{bundle-DessEmBr.js → bundle-8VyIP0TE.js} +1 -1
  534. package/cjs/chunks/bundle-8VyIP0TE.js.map +1 -0
  535. package/cjs/chunks/{bundle-C80RIOub.js → bundle-B-olJv7b.js} +1326 -1327
  536. package/cjs/chunks/{bundle-C80RIOub.js.map → bundle-B-olJv7b.js.map} +1 -1
  537. package/cjs/chunks/{bundle-DBdGwyXE.js → bundle-B31bbem0.js} +192 -185
  538. package/cjs/chunks/bundle-B31bbem0.js.map +1 -0
  539. package/cjs/chunks/{bundle-CFWumCsy.js → bundle-BBoPpUMg.js} +22 -22
  540. package/cjs/chunks/bundle-BBoPpUMg.js.map +1 -0
  541. package/cjs/chunks/{bundle-C0LFi1ur.js → bundle-BLc7P6Sp.js} +244 -244
  542. package/cjs/chunks/bundle-BLc7P6Sp.js.map +1 -0
  543. package/cjs/chunks/{bundle-XEpryGfs.js → bundle-BOkZUm8a.js} +27 -27
  544. package/cjs/chunks/bundle-BOkZUm8a.js.map +1 -0
  545. package/cjs/chunks/{bundle-BiXN0Ylc.js → bundle-BSAWCcb_.js} +920 -923
  546. package/cjs/chunks/{bundle-BiXN0Ylc.js.map → bundle-BSAWCcb_.js.map} +1 -1
  547. package/cjs/chunks/bundle-BTU876jx.js +95 -0
  548. package/cjs/chunks/{bundle-BRUrQgUE.js.map → bundle-BTU876jx.js.map} +1 -1
  549. package/cjs/chunks/{bundle-BRUrQgUE.js → bundle-BTod-EOk.js} +83 -83
  550. package/cjs/chunks/bundle-BTod-EOk.js.map +1 -0
  551. package/cjs/chunks/{bundle-BwvM-P29.js → bundle-BWGOXLHb.js} +1 -1
  552. package/cjs/chunks/{bundle-BwvM-P29.js.map → bundle-BWGOXLHb.js.map} +1 -1
  553. package/cjs/chunks/{bundle-DbS-u43Y.js → bundle-BXEGf4g2.js} +164 -164
  554. package/cjs/chunks/bundle-BXEGf4g2.js.map +1 -0
  555. package/cjs/chunks/{bundle-juHuQ6-V.js → bundle-B_51Svr9.js} +3 -3
  556. package/cjs/chunks/{bundle-juHuQ6-V.js.map → bundle-B_51Svr9.js.map} +1 -1
  557. package/cjs/chunks/{bundle-DdSNUhSn.js → bundle-BaAUvjl9.js} +6 -6
  558. package/cjs/chunks/bundle-BaAUvjl9.js.map +1 -0
  559. package/cjs/chunks/{bundle-D3tBia0F.js → bundle-BaM5Ed34.js} +160 -160
  560. package/cjs/chunks/{bundle-D3tBia0F.js.map → bundle-BaM5Ed34.js.map} +1 -1
  561. package/cjs/chunks/{bundle-CZObcUAk.js → bundle-BaQc9oOW.js} +29 -29
  562. package/cjs/chunks/bundle-BaQc9oOW.js.map +1 -0
  563. package/cjs/chunks/{bundle-pZbKLQPU.js → bundle-BhCAlWKP.js} +11 -11
  564. package/cjs/chunks/bundle-BhCAlWKP.js.map +1 -0
  565. package/cjs/chunks/{bundle-B3N7ehMH.js → bundle-Bi-soOXA.js} +258 -258
  566. package/cjs/chunks/bundle-Bi-soOXA.js.map +1 -0
  567. package/cjs/chunks/{bundle-D8-ob9Ia.js → bundle-BjgfoBVC.js} +26 -26
  568. package/cjs/chunks/bundle-BjgfoBVC.js.map +1 -0
  569. package/cjs/chunks/{bundle-BDbnsPGF.js → bundle-BoLhr7Ko.js} +36 -28
  570. package/cjs/chunks/bundle-BoLhr7Ko.js.map +1 -0
  571. package/cjs/chunks/{bundle-D5AiwZE4.js → bundle-BrNoc2XZ.js} +185 -185
  572. package/cjs/chunks/bundle-BrNoc2XZ.js.map +1 -0
  573. package/cjs/chunks/{bundle-BwEcnJDm.js → bundle-BwQ4BJif.js} +71 -71
  574. package/cjs/chunks/bundle-BwQ4BJif.js.map +1 -0
  575. package/cjs/chunks/{bundle-GtlapnzG.js → bundle-ByyccRIt.js} +210 -206
  576. package/cjs/chunks/{bundle-DvWHV-PM.js.map → bundle-ByyccRIt.js.map} +1 -1
  577. package/cjs/chunks/{bundle-Dn17aH6v.js → bundle-C1XVsHlE.js} +51 -51
  578. package/cjs/chunks/bundle-C1XVsHlE.js.map +1 -0
  579. package/cjs/chunks/{bundle-Df0cAbH6.js → bundle-C3DKUT4Q.js} +26 -26
  580. package/cjs/chunks/bundle-C3DKUT4Q.js.map +1 -0
  581. package/cjs/chunks/{bundle-ZuDe6I0q.js → bundle-C3RFfU6_.js} +89 -89
  582. package/cjs/chunks/bundle-C3RFfU6_.js.map +1 -0
  583. package/cjs/chunks/{bundle-C8aAwUsg.js → bundle-C51HeaX4.js} +25 -25
  584. package/cjs/chunks/bundle-C51HeaX4.js.map +1 -0
  585. package/cjs/chunks/{bundle-D9hSjP4_.js → bundle-C6a-umLQ.js} +131 -132
  586. package/{chunks/bundle-BiINvVSK.js.map → cjs/chunks/bundle-C6a-umLQ.js.map} +1 -1
  587. package/cjs/chunks/{bundle-C-zGGOpz.js → bundle-C93-onMF.js} +12 -12
  588. package/cjs/chunks/bundle-C93-onMF.js.map +1 -0
  589. package/cjs/chunks/{bundle-C7_tieEZ.js → bundle-CAUMYdVU.js} +19 -19
  590. package/cjs/chunks/bundle-CAUMYdVU.js.map +1 -0
  591. package/cjs/chunks/{bundle-Djp6Qheo.js → bundle-CDIVI7bT.js} +146 -1073
  592. package/cjs/chunks/bundle-CDIVI7bT.js.map +1 -0
  593. package/cjs/chunks/{bundle-u8pJrzSP.js → bundle-CE6bFQmu.js} +118 -118
  594. package/cjs/chunks/bundle-CE6bFQmu.js.map +1 -0
  595. package/cjs/chunks/{bundle-SdH24Cv9.js → bundle-CLOaQmX9.js} +138 -138
  596. package/cjs/chunks/bundle-CLOaQmX9.js.map +1 -0
  597. package/cjs/chunks/{bundle-7zHCY6TY.js → bundle-CQ34zxiR.js} +36 -36
  598. package/cjs/chunks/bundle-CQ34zxiR.js.map +1 -0
  599. package/cjs/chunks/{bundle-B6uiunjG.js → bundle-CR04Yhbr.js} +8 -8
  600. package/cjs/chunks/bundle-CR04Yhbr.js.map +1 -0
  601. package/cjs/chunks/bundle-CZfcXYaX.js +292 -0
  602. package/cjs/chunks/bundle-CZfcXYaX.js.map +1 -0
  603. package/cjs/chunks/{bundle-66eVSkB5.js → bundle-Cgl5e8xs.js} +213 -213
  604. package/cjs/chunks/bundle-Cgl5e8xs.js.map +1 -0
  605. package/cjs/chunks/{bundle-BoCS4RH3.js → bundle-CmpLg1_S.js} +15 -15
  606. package/cjs/chunks/bundle-CmpLg1_S.js.map +1 -0
  607. package/cjs/chunks/{bundle-DsKL-Ede.js → bundle-Com-Z-XI.js} +82 -82
  608. package/cjs/chunks/bundle-Com-Z-XI.js.map +1 -0
  609. package/cjs/chunks/{bundle-BrD0IuOc.js → bundle-CsJKON_3.js} +120 -120
  610. package/cjs/chunks/bundle-CsJKON_3.js.map +1 -0
  611. package/cjs/chunks/{bundle-B6hKU81Z.js → bundle-D-qAbZhp.js} +48 -48
  612. package/cjs/chunks/bundle-D-qAbZhp.js.map +1 -0
  613. package/cjs/chunks/{bundle-DPoAoYEl.js → bundle-D4aDRH9m.js} +1 -1
  614. package/cjs/chunks/bundle-D4aDRH9m.js.map +1 -0
  615. package/cjs/chunks/{bundle-BF3NYKgh.js → bundle-D6E8Fmnl.js} +333 -333
  616. package/cjs/chunks/{bundle-BF3NYKgh.js.map → bundle-D6E8Fmnl.js.map} +1 -1
  617. package/cjs/chunks/{bundle-q2tBQOdq.js → bundle-D8gia2Hg.js} +11 -12
  618. package/cjs/chunks/bundle-D8gia2Hg.js.map +1 -0
  619. package/cjs/chunks/{bundle-IVTygAtE.js → bundle-DAIf7fWo.js} +28 -28
  620. package/cjs/chunks/bundle-DAIf7fWo.js.map +1 -0
  621. package/cjs/chunks/{bundle-BmEl3iIW.js → bundle-DAj-1QVM.js} +2 -2
  622. package/cjs/chunks/{bundle-BmEl3iIW.js.map → bundle-DAj-1QVM.js.map} +1 -1
  623. package/cjs/chunks/{bundle-DI-qrtXL.js → bundle-DAxedY0T.js} +23 -23
  624. package/cjs/chunks/bundle-DAxedY0T.js.map +1 -0
  625. package/cjs/chunks/{bundle-DR-T3oW9.js → bundle-DMGpM9Ye.js} +370 -368
  626. package/cjs/chunks/{bundle-DR-T3oW9.js.map → bundle-DMGpM9Ye.js.map} +1 -1
  627. package/cjs/chunks/{bundle-BzR58JaC.js → bundle-DQy218lT.js} +31 -31
  628. package/cjs/chunks/bundle-DQy218lT.js.map +1 -0
  629. package/cjs/chunks/{bundle-BJBClQcM.js → bundle-DRp9IuV2.js} +28 -28
  630. package/cjs/chunks/bundle-DRp9IuV2.js.map +1 -0
  631. package/cjs/chunks/{bundle-DbykvtHO.js → bundle-DRy7eNJ0.js} +11 -11
  632. package/cjs/chunks/bundle-DRy7eNJ0.js.map +1 -0
  633. package/cjs/chunks/{bundle-ChIhNCh1.js → bundle-DTCz0BH1.js} +161 -162
  634. package/cjs/chunks/bundle-DTCz0BH1.js.map +1 -0
  635. package/cjs/chunks/{bundle-DDmTdnuT.js → bundle-DcSTnNI0.js} +64 -65
  636. package/cjs/chunks/bundle-DcSTnNI0.js.map +1 -0
  637. package/cjs/chunks/{bundle-DIxulCCm.js → bundle-DdxJqNSP.js} +1 -1
  638. package/cjs/chunks/bundle-DdxJqNSP.js.map +1 -0
  639. package/cjs/chunks/{bundle-t1Tb_Gz2.js → bundle-DeQZn8GZ.js} +75 -74
  640. package/cjs/chunks/bundle-DeQZn8GZ.js.map +1 -0
  641. package/cjs/chunks/{bundle-0W_w8lRK.js → bundle-Dehhi1FZ.js} +37 -37
  642. package/cjs/chunks/bundle-Dehhi1FZ.js.map +1 -0
  643. package/cjs/chunks/{bundle-DnXNmdmw.js → bundle-DfcEln0Z.js} +34 -34
  644. package/cjs/chunks/bundle-DfcEln0Z.js.map +1 -0
  645. package/cjs/chunks/bundle-DmX69_-l.js +32 -0
  646. package/cjs/chunks/bundle-DmX69_-l.js.map +1 -0
  647. package/cjs/chunks/{bundle-DLdV8LNR.js → bundle-Dnq2YP_l.js} +6 -6
  648. package/cjs/chunks/bundle-Dnq2YP_l.js.map +1 -0
  649. package/cjs/chunks/{bundle-C-gA8UhR.js → bundle-Dww6fCVQ.js} +13 -13
  650. package/cjs/chunks/bundle-Dww6fCVQ.js.map +1 -0
  651. package/cjs/chunks/{bundle-oUs61pbv.js → bundle-DxSB9NRz.js} +61 -61
  652. package/cjs/chunks/bundle-DxSB9NRz.js.map +1 -0
  653. package/cjs/chunks/{bundle-CY1bUkfG.js → bundle-HGbi-rCv.js} +1 -1
  654. package/cjs/chunks/bundle-HGbi-rCv.js.map +1 -0
  655. package/cjs/chunks/{bundle-DYZo-ek9.js → bundle-JtgSY0zB.js} +58 -58
  656. package/cjs/chunks/bundle-JtgSY0zB.js.map +1 -0
  657. package/cjs/chunks/{bundle-DlPLp6fm.js → bundle-L3FEqZsK.js} +234 -234
  658. package/cjs/chunks/bundle-L3FEqZsK.js.map +1 -0
  659. package/cjs/chunks/{bundle-DHuWzY0s.js → bundle-N_CwOE5a.js} +124 -124
  660. package/cjs/chunks/bundle-N_CwOE5a.js.map +1 -0
  661. package/cjs/chunks/bundle-Q4icQ1qH.js +122 -0
  662. package/{chunks/bundle-CVu64-xY.js.map → cjs/chunks/bundle-Q4icQ1qH.js.map} +1 -1
  663. package/cjs/chunks/{bundle-C-noHeKZ.js → bundle-T4lp5F85.js} +25 -25
  664. package/cjs/chunks/bundle-T4lp5F85.js.map +1 -0
  665. package/cjs/chunks/{bundle-CBmExSEr.js → bundle-Tjx9wNAv.js} +21 -21
  666. package/cjs/chunks/bundle-Tjx9wNAv.js.map +1 -0
  667. package/cjs/chunks/{bundle-CZz2cvTG.js → bundle-X03vJTEw.js} +45 -46
  668. package/cjs/chunks/bundle-X03vJTEw.js.map +1 -0
  669. package/cjs/chunks/{bundle-jkB4LAcp.js → bundle-_ekaw3iI.js} +18 -18
  670. package/cjs/chunks/bundle-_ekaw3iI.js.map +1 -0
  671. package/cjs/chunks/{bundle-CEueJUxG.js → bundle-bqRlVm3u.js} +12 -12
  672. package/cjs/chunks/bundle-bqRlVm3u.js.map +1 -0
  673. package/cjs/chunks/{bundle-DvWHV-PM.js → bundle-gtkPlUrw.js} +234 -234
  674. package/cjs/chunks/bundle-gtkPlUrw.js.map +1 -0
  675. package/cjs/chunks/{bundle-D4pqJjg-.js → bundle-miB6ue8g.js} +72 -72
  676. package/cjs/chunks/bundle-miB6ue8g.js.map +1 -0
  677. package/cjs/chunks/{bundle-E9H8fQL4.js → bundle-oeWNUdCB.js} +11 -11
  678. package/cjs/chunks/bundle-oeWNUdCB.js.map +1 -0
  679. package/cjs/chunks/{bundle-BufWOg42.js → bundle-qI5gnScC.js} +5 -5
  680. package/cjs/chunks/bundle-qI5gnScC.js.map +1 -0
  681. package/cjs/chunks/{bundle--yYCgVRq.js → bundle-wMKhbE3c.js} +2 -2
  682. package/cjs/chunks/{bundle--yYCgVRq.js.map → bundle-wMKhbE3c.js.map} +1 -1
  683. package/cjs/chunks/{bundle-D3Gxy8S0.js → bundle-wl1uuzU7.js} +733 -730
  684. package/cjs/chunks/bundle-wl1uuzU7.js.map +1 -0
  685. package/cjs/handlers/OpenChannelHandler.js +2 -2
  686. package/cjs/handlers/SessionHandler.js +2 -2
  687. package/cjs/hooks/useModal.js +25 -48
  688. package/cjs/hooks/useModal.js.map +1 -1
  689. package/cjs/index.js +80 -81
  690. package/cjs/index.js.map +1 -1
  691. package/cjs/pubSub/topics.js +1 -1
  692. package/cjs/sendbirdSelectors.js +550 -550
  693. package/cjs/ui/Accordion.js +25 -25
  694. package/cjs/ui/AccordionGroup.js +40 -40
  695. package/cjs/ui/AdminMessage.js +13 -13
  696. package/cjs/ui/Avatar.js +4 -4
  697. package/cjs/ui/Badge.js +18 -18
  698. package/cjs/ui/BottomSheet.js +40 -26
  699. package/cjs/ui/BottomSheet.js.map +1 -1
  700. package/cjs/ui/Button.js +41 -41
  701. package/cjs/ui/ChannelAvatar.js +21 -21
  702. package/cjs/ui/Checkbox.js +15 -15
  703. package/cjs/ui/ConnectionStatus.js +11 -11
  704. package/cjs/ui/ContextMenu.js +180 -267
  705. package/cjs/ui/ContextMenu.js.map +1 -1
  706. package/cjs/ui/DateSeparator.js +13 -13
  707. package/cjs/ui/EmojiReactions.js +167 -164
  708. package/cjs/ui/EmojiReactions.js.map +1 -1
  709. package/cjs/ui/FallbackTemplateMessageItemBody.tsx.js +20 -21
  710. package/cjs/ui/FallbackTemplateMessageItemBody.tsx.js.map +1 -1
  711. package/cjs/ui/FeedbackIconButton.js +14 -14
  712. package/cjs/ui/FileMessageItemBody.js +65 -66
  713. package/cjs/ui/FileMessageItemBody.js.map +1 -1
  714. package/cjs/ui/FileViewer.js +23 -17
  715. package/cjs/ui/FileViewer.js.map +1 -1
  716. package/cjs/ui/Header.js +53 -0
  717. package/cjs/ui/Header.js.map +1 -0
  718. package/cjs/ui/Icon.js +844 -964
  719. package/cjs/ui/Icon.js.map +1 -1
  720. package/cjs/ui/IconButton.js +18 -18
  721. package/cjs/ui/ImageRenderer.js +151 -151
  722. package/cjs/ui/Input.js +15 -15
  723. package/cjs/ui/Label.js +4 -4
  724. package/cjs/ui/LinkLabel.js +21 -21
  725. package/cjs/ui/Loader.js +11 -11
  726. package/cjs/ui/LoadingTemplateMessageItemBody.tsx.js +13 -14
  727. package/cjs/ui/LoadingTemplateMessageItemBody.tsx.js.map +1 -1
  728. package/cjs/ui/MentionLabel.js +50 -50
  729. package/cjs/ui/MentionUserLabel.js +4 -4
  730. package/cjs/ui/MessageContent.js +586 -581
  731. package/cjs/ui/MessageContent.js.map +1 -1
  732. package/cjs/ui/MessageFeedbackFailedModal.js +34 -22
  733. package/cjs/ui/MessageFeedbackFailedModal.js.map +1 -1
  734. package/cjs/ui/MessageFeedbackModal.js +66 -54
  735. package/cjs/ui/MessageFeedbackModal.js.map +1 -1
  736. package/cjs/ui/MessageInput/hooks/usePaste.js +7 -7
  737. package/cjs/ui/MessageInput.js +423 -424
  738. package/cjs/ui/MessageInput.js.map +1 -1
  739. package/cjs/ui/MessageItemMenu.js +134 -134
  740. package/cjs/ui/MessageItemReactionMenu.js +42 -42
  741. package/cjs/ui/MessageSearchFileItem.js +77 -78
  742. package/cjs/ui/MessageSearchFileItem.js.map +1 -1
  743. package/cjs/ui/MessageSearchItem.js +50 -50
  744. package/cjs/ui/MessageStatus.js +11 -12
  745. package/cjs/ui/MessageStatus.js.map +1 -1
  746. package/cjs/ui/MessageTemplate.js +1 -2
  747. package/cjs/ui/MessageTemplate.js.map +1 -1
  748. package/cjs/ui/MobileFeedbackMenu.js +36 -25
  749. package/cjs/ui/MobileFeedbackMenu.js.map +1 -1
  750. package/cjs/ui/Modal.js +21 -8
  751. package/cjs/ui/Modal.js.map +1 -1
  752. package/cjs/ui/MutedAvatarOverlay.js +14 -14
  753. package/cjs/ui/OGMessageItemBody.js +76 -76
  754. package/cjs/ui/OpenChannelAdminMessage.js +9 -9
  755. package/cjs/ui/OpenChannelAvatar.js +15 -15
  756. package/cjs/ui/OpenchannelConversationHeader.js +22 -22
  757. package/cjs/ui/OpenchannelFileMessage.js +117 -117
  758. package/cjs/ui/OpenchannelOGMessage.js +146 -146
  759. package/cjs/ui/OpenchannelThumbnailMessage.js +155 -155
  760. package/cjs/ui/OpenchannelUserMessage.js +128 -128
  761. package/cjs/ui/PlaceHolder.js +45 -45
  762. package/cjs/ui/PlaybackTime.js +11 -11
  763. package/cjs/ui/ProgressBar.js +12 -12
  764. package/cjs/ui/QuoteMessage.js +69 -70
  765. package/cjs/ui/QuoteMessage.js.map +1 -1
  766. package/cjs/ui/QuoteMessageInput.js +66 -67
  767. package/cjs/ui/QuoteMessageInput.js.map +1 -1
  768. package/cjs/ui/ReactionBadge.js +20 -20
  769. package/cjs/ui/ReactionButton.js +17 -17
  770. package/cjs/ui/SortByRow.js +23 -23
  771. package/cjs/ui/TemplateMessageItemBody.js +423 -424
  772. package/cjs/ui/TemplateMessageItemBody.js.map +1 -1
  773. package/cjs/ui/TextButton.js +9 -9
  774. package/cjs/ui/TextMessageItemBody.js +44 -44
  775. package/cjs/ui/ThreadReplies.js +34 -34
  776. package/cjs/ui/ThumbnailMessageItemBody.js +36 -37
  777. package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
  778. package/cjs/ui/Toggle.js +110 -110
  779. package/cjs/ui/Tooltip.js +9 -9
  780. package/cjs/ui/TooltipWrapper.js +13 -13
  781. package/cjs/ui/TypingIndicatorBubble.js +56 -56
  782. package/cjs/ui/UnknownMessageItemBody.js +19 -20
  783. package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
  784. package/cjs/ui/UserListItem.js +56 -56
  785. package/cjs/ui/UserProfile.js +45 -45
  786. package/cjs/ui/VoiceMessageInput.js +9 -9
  787. package/cjs/ui/VoiceMessageItemBody.js +62 -54
  788. package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
  789. package/cjs/ui/Word.js +41 -41
  790. package/cjs/useSendbirdStateContext.js +15 -15
  791. package/cjs/utils/message/getOutgoingMessageState.js +32 -32
  792. package/cjs/utils/message/isVoiceMessage.js +2 -3
  793. package/cjs/utils/message/isVoiceMessage.js.map +1 -1
  794. package/cjs/withSendbird.js +17 -17
  795. package/dist/index.css +195 -169
  796. package/dist/index.css.map +1 -1
  797. package/handlers/OpenChannelHandler.js +2 -2
  798. package/handlers/SessionHandler.js +2 -2
  799. package/hooks/useModal.js +22 -50
  800. package/hooks/useModal.js.map +1 -1
  801. package/index.js +80 -81
  802. package/index.js.map +1 -1
  803. package/package.json +13 -5
  804. package/pubSub/topics.js +1 -1
  805. package/sendbirdSelectors.js +550 -550
  806. package/types/lib/pubSub/topics.d.ts +2 -2
  807. package/types/lib/types.d.ts +50 -15
  808. package/types/modules/App/index.d.ts +17 -10
  809. package/types/modules/Channel/context/ChannelProvider.d.ts +1 -4
  810. package/types/modules/ChannelList/components/ChannelPreviewAction.d.ts +2 -2
  811. package/types/modules/ChannelSettings/components/ChannelSettingsUI/ChannelSettingsHeader.d.ts +4 -3
  812. package/types/modules/GroupChannel/components/FileViewer/FileViewerView.d.ts +2 -2
  813. package/types/modules/GroupChannel/components/GroupChannelHeader/GroupChannelHeaderView.d.ts +3 -2
  814. package/types/modules/GroupChannel/components/GroupChannelHeader/index.d.ts +3 -2
  815. package/types/modules/GroupChannel/components/MessageInputWrapper/MessageInputWrapperView.d.ts +1 -1
  816. package/types/modules/GroupChannel/components/MessageInputWrapper/VoiceMessageInputWrapper.d.ts +2 -2
  817. package/types/modules/GroupChannel/components/MessageInputWrapper/index.d.ts +1 -1
  818. package/types/modules/GroupChannel/components/SuggestedReplies/index.d.ts +3 -1
  819. package/types/modules/GroupChannelList/components/GroupChannelListHeader/index.d.ts +4 -2
  820. package/types/modules/MessageSearch/context/MessageSearchProvider.d.ts +1 -1
  821. package/types/modules/OpenChannelApp/index.d.ts +3 -3
  822. package/types/modules/Thread/components/ThreadHeader/index.d.ts +2 -2
  823. package/types/ui/Header/index.d.ts +45 -0
  824. package/types/ui/Icon/index.d.ts +2 -3
  825. package/types/ui/Label/index.d.ts +3 -4
  826. package/types/ui/MessageInput/hooks/usePaste/consts.d.ts +1 -1
  827. package/types/ui/Modal/index.d.ts +2 -4
  828. package/types/ui/TextButton/index.d.ts +1 -1
  829. package/types/ui/Toggle/ToggleContainer.d.ts +2 -1
  830. package/types/utils/index.d.ts +0 -1
  831. package/types/utils/utils.d.ts +2 -0
  832. package/ui/Accordion.js +25 -25
  833. package/ui/AccordionGroup.js +40 -40
  834. package/ui/AdminMessage.js +13 -13
  835. package/ui/Avatar.js +4 -4
  836. package/ui/Badge.js +18 -18
  837. package/ui/BottomSheet.js +40 -26
  838. package/ui/BottomSheet.js.map +1 -1
  839. package/ui/Button.js +41 -41
  840. package/ui/ChannelAvatar.js +21 -21
  841. package/ui/Checkbox.js +15 -15
  842. package/ui/ConnectionStatus.js +11 -11
  843. package/ui/ContextMenu.js +180 -267
  844. package/ui/ContextMenu.js.map +1 -1
  845. package/ui/DateSeparator.js +13 -13
  846. package/ui/EmojiReactions.js +167 -164
  847. package/ui/EmojiReactions.js.map +1 -1
  848. package/ui/FallbackTemplateMessageItemBody.tsx.js +20 -21
  849. package/ui/FallbackTemplateMessageItemBody.tsx.js.map +1 -1
  850. package/ui/FeedbackIconButton.js +14 -14
  851. package/ui/FileMessageItemBody.js +65 -66
  852. package/ui/FileMessageItemBody.js.map +1 -1
  853. package/ui/FileViewer.js +23 -17
  854. package/ui/FileViewer.js.map +1 -1
  855. package/ui/Header.js +45 -0
  856. package/ui/Header.js.map +1 -0
  857. package/ui/Icon.js +845 -965
  858. package/ui/Icon.js.map +1 -1
  859. package/ui/IconButton.js +18 -18
  860. package/ui/ImageRenderer.js +151 -151
  861. package/ui/Input.js +15 -15
  862. package/ui/Label.js +3 -3
  863. package/ui/LinkLabel.js +21 -21
  864. package/ui/Loader.js +11 -11
  865. package/ui/LoadingTemplateMessageItemBody.tsx.js +13 -14
  866. package/ui/LoadingTemplateMessageItemBody.tsx.js.map +1 -1
  867. package/ui/MentionLabel.js +50 -50
  868. package/ui/MentionUserLabel.js +4 -4
  869. package/ui/MessageContent.js +586 -581
  870. package/ui/MessageContent.js.map +1 -1
  871. package/ui/MessageFeedbackFailedModal.js +34 -22
  872. package/ui/MessageFeedbackFailedModal.js.map +1 -1
  873. package/ui/MessageFeedbackModal.js +66 -54
  874. package/ui/MessageFeedbackModal.js.map +1 -1
  875. package/ui/MessageInput/hooks/usePaste.js +7 -7
  876. package/ui/MessageInput.js +423 -424
  877. package/ui/MessageInput.js.map +1 -1
  878. package/ui/MessageItemMenu.js +134 -134
  879. package/ui/MessageItemReactionMenu.js +42 -42
  880. package/ui/MessageSearchFileItem.js +77 -78
  881. package/ui/MessageSearchFileItem.js.map +1 -1
  882. package/ui/MessageSearchItem.js +50 -50
  883. package/ui/MessageStatus.js +11 -12
  884. package/ui/MessageStatus.js.map +1 -1
  885. package/ui/MessageTemplate.js +1 -2
  886. package/ui/MessageTemplate.js.map +1 -1
  887. package/ui/MobileFeedbackMenu.js +36 -25
  888. package/ui/MobileFeedbackMenu.js.map +1 -1
  889. package/ui/Modal.js +21 -8
  890. package/ui/Modal.js.map +1 -1
  891. package/ui/MutedAvatarOverlay.js +14 -14
  892. package/ui/OGMessageItemBody.js +76 -76
  893. package/ui/OpenChannelAdminMessage.js +9 -9
  894. package/ui/OpenChannelAvatar.js +15 -15
  895. package/ui/OpenchannelConversationHeader.js +22 -22
  896. package/ui/OpenchannelFileMessage.js +117 -117
  897. package/ui/OpenchannelOGMessage.js +146 -146
  898. package/ui/OpenchannelThumbnailMessage.js +155 -155
  899. package/ui/OpenchannelUserMessage.js +128 -128
  900. package/ui/PlaceHolder.js +45 -45
  901. package/ui/PlaybackTime.js +11 -11
  902. package/ui/ProgressBar.js +12 -12
  903. package/ui/QuoteMessage.js +69 -70
  904. package/ui/QuoteMessage.js.map +1 -1
  905. package/ui/QuoteMessageInput.js +66 -67
  906. package/ui/QuoteMessageInput.js.map +1 -1
  907. package/ui/ReactionBadge.js +20 -20
  908. package/ui/ReactionButton.js +17 -17
  909. package/ui/SortByRow.js +23 -23
  910. package/ui/TemplateMessageItemBody.js +423 -424
  911. package/ui/TemplateMessageItemBody.js.map +1 -1
  912. package/ui/TextButton.js +9 -9
  913. package/ui/TextMessageItemBody.js +44 -44
  914. package/ui/ThreadReplies.js +34 -34
  915. package/ui/ThumbnailMessageItemBody.js +36 -37
  916. package/ui/ThumbnailMessageItemBody.js.map +1 -1
  917. package/ui/Toggle.js +110 -110
  918. package/ui/Tooltip.js +9 -9
  919. package/ui/TooltipWrapper.js +13 -13
  920. package/ui/TypingIndicatorBubble.js +56 -56
  921. package/ui/UnknownMessageItemBody.js +19 -20
  922. package/ui/UnknownMessageItemBody.js.map +1 -1
  923. package/ui/UserListItem.js +56 -56
  924. package/ui/UserProfile.js +45 -45
  925. package/ui/VoiceMessageInput.js +9 -9
  926. package/ui/VoiceMessageItemBody.js +62 -54
  927. package/ui/VoiceMessageItemBody.js.map +1 -1
  928. package/ui/Word.js +41 -41
  929. package/useSendbirdStateContext.js +15 -15
  930. package/utils/message/getOutgoingMessageState.js +32 -32
  931. package/utils/message/isVoiceMessage.js +2 -3
  932. package/utils/message/isVoiceMessage.js.map +1 -1
  933. package/withSendbird.js +17 -17
  934. package/chunks/bundle-5yHWoLVJ.js.map +0 -1
  935. package/chunks/bundle-B7J4Fm0y.js.map +0 -1
  936. package/chunks/bundle-B9rwLbgh.js +0 -36
  937. package/chunks/bundle-B9rwLbgh.js.map +0 -1
  938. package/chunks/bundle-B9sTU4LX.js.map +0 -1
  939. package/chunks/bundle-BKCDSKx6.js.map +0 -1
  940. package/chunks/bundle-BLMDgHS-.js.map +0 -1
  941. package/chunks/bundle-BMPm6lKq.js.map +0 -1
  942. package/chunks/bundle-BOUVMTAt.js.map +0 -1
  943. package/chunks/bundle-BPbwxMIx.js.map +0 -1
  944. package/chunks/bundle-BPj0X5TA.js.map +0 -1
  945. package/chunks/bundle-BPvfVEd8.js.map +0 -1
  946. package/chunks/bundle-BTLVyMgj.js.map +0 -1
  947. package/chunks/bundle-BX_IXLSp.js.map +0 -1
  948. package/chunks/bundle-BbeHRXOp.js.map +0 -1
  949. package/chunks/bundle-Bdw6eUSG.js +0 -4
  950. package/chunks/bundle-Bdw6eUSG.js.map +0 -1
  951. package/chunks/bundle-Bf6VvPhp.js.map +0 -1
  952. package/chunks/bundle-BlK-fMQm.js.map +0 -1
  953. package/chunks/bundle-BmFbOU4C.js.map +0 -1
  954. package/chunks/bundle-BwJTKHEl.js.map +0 -1
  955. package/chunks/bundle-BzYv4x2T.js.map +0 -1
  956. package/chunks/bundle-C3K7W_E-.js.map +0 -1
  957. package/chunks/bundle-CMZVPZeM.js.map +0 -1
  958. package/chunks/bundle-COLsFI7t.js.map +0 -1
  959. package/chunks/bundle-CSOdmQ75.js +0 -65
  960. package/chunks/bundle-CSOdmQ75.js.map +0 -1
  961. package/chunks/bundle-CUDCHaXM.js.map +0 -1
  962. package/chunks/bundle-CUPPssXo.js.map +0 -1
  963. package/chunks/bundle-CUd4X5O2.js.map +0 -1
  964. package/chunks/bundle-CVu64-xY.js +0 -122
  965. package/chunks/bundle-CXtl77MC.js.map +0 -1
  966. package/chunks/bundle-CY2Lga-4.js.map +0 -1
  967. package/chunks/bundle-CllFAkeZ.js.map +0 -1
  968. package/chunks/bundle-D4rjbjNv.js.map +0 -1
  969. package/chunks/bundle-D4x1_hkl.js.map +0 -1
  970. package/chunks/bundle-D5lQwKgM.js.map +0 -1
  971. package/chunks/bundle-D8JekjLy.js.map +0 -1
  972. package/chunks/bundle-DGnpw8up.js.map +0 -1
  973. package/chunks/bundle-DQKxIg_X.js.map +0 -1
  974. package/chunks/bundle-DS5ljghe.js.map +0 -1
  975. package/chunks/bundle-DZl__KhG.js.map +0 -1
  976. package/chunks/bundle-Dc7E6GJc.js.map +0 -1
  977. package/chunks/bundle-DfDCjniq.js.map +0 -1
  978. package/chunks/bundle-DfhJ_oFZ.js.map +0 -1
  979. package/chunks/bundle-Dk211z5R.js.map +0 -1
  980. package/chunks/bundle-DpCn3P9s.js.map +0 -1
  981. package/chunks/bundle-DpkEqNiD.js.map +0 -1
  982. package/chunks/bundle-DwApARpe.js.map +0 -1
  983. package/chunks/bundle-Dzm909k5.js.map +0 -1
  984. package/chunks/bundle-OIgXk-TJ.js.map +0 -1
  985. package/chunks/bundle-Otcx8Wxy.js.map +0 -1
  986. package/chunks/bundle-WmbZYtqM.js.map +0 -1
  987. package/chunks/bundle-Y3Y435SA.js.map +0 -1
  988. package/chunks/bundle-fxTywxQ4.js.map +0 -1
  989. package/chunks/bundle-mRqHYNyY.js.map +0 -1
  990. package/chunks/bundle-tIPAQa1P.js.map +0 -1
  991. package/cjs/chunks/bundle-0W_w8lRK.js.map +0 -1
  992. package/cjs/chunks/bundle-7zHCY6TY.js.map +0 -1
  993. package/cjs/chunks/bundle-B3N7ehMH.js.map +0 -1
  994. package/cjs/chunks/bundle-B6hKU81Z.js.map +0 -1
  995. package/cjs/chunks/bundle-B6uiunjG.js.map +0 -1
  996. package/cjs/chunks/bundle-BDbnsPGF.js.map +0 -1
  997. package/cjs/chunks/bundle-BJBClQcM.js.map +0 -1
  998. package/cjs/chunks/bundle-BRjBigtB.js.map +0 -1
  999. package/cjs/chunks/bundle-Bka-H9ks.js +0 -7
  1000. package/cjs/chunks/bundle-Bka-H9ks.js.map +0 -1
  1001. package/cjs/chunks/bundle-BoCS4RH3.js.map +0 -1
  1002. package/cjs/chunks/bundle-BrD0IuOc.js.map +0 -1
  1003. package/cjs/chunks/bundle-BuYf2Pa8.js.map +0 -1
  1004. package/cjs/chunks/bundle-BufWOg42.js.map +0 -1
  1005. package/cjs/chunks/bundle-BwEcnJDm.js.map +0 -1
  1006. package/cjs/chunks/bundle-ByBh6M0g.js.map +0 -1
  1007. package/cjs/chunks/bundle-BzR58JaC.js.map +0 -1
  1008. package/cjs/chunks/bundle-C-gA8UhR.js.map +0 -1
  1009. package/cjs/chunks/bundle-C-noHeKZ.js.map +0 -1
  1010. package/cjs/chunks/bundle-C-zGGOpz.js.map +0 -1
  1011. package/cjs/chunks/bundle-C0LFi1ur.js.map +0 -1
  1012. package/cjs/chunks/bundle-C7_tieEZ.js.map +0 -1
  1013. package/cjs/chunks/bundle-C8aAwUsg.js.map +0 -1
  1014. package/cjs/chunks/bundle-CBmExSEr.js.map +0 -1
  1015. package/cjs/chunks/bundle-CEueJUxG.js.map +0 -1
  1016. package/cjs/chunks/bundle-CFWumCsy.js.map +0 -1
  1017. package/cjs/chunks/bundle-CVSpiKNJ.js.map +0 -1
  1018. package/cjs/chunks/bundle-CY1bUkfG.js.map +0 -1
  1019. package/cjs/chunks/bundle-CZObcUAk.js.map +0 -1
  1020. package/cjs/chunks/bundle-CZz2cvTG.js.map +0 -1
  1021. package/cjs/chunks/bundle-Cc-KyTf-.js +0 -38
  1022. package/cjs/chunks/bundle-Cc-KyTf-.js.map +0 -1
  1023. package/cjs/chunks/bundle-ChIhNCh1.js.map +0 -1
  1024. package/cjs/chunks/bundle-D3Gxy8S0.js.map +0 -1
  1025. package/cjs/chunks/bundle-D4pqJjg-.js.map +0 -1
  1026. package/cjs/chunks/bundle-D5AiwZE4.js.map +0 -1
  1027. package/cjs/chunks/bundle-D8-ob9Ia.js.map +0 -1
  1028. package/cjs/chunks/bundle-D9hSjP4_.js.map +0 -1
  1029. package/cjs/chunks/bundle-DBdGwyXE.js.map +0 -1
  1030. package/cjs/chunks/bundle-DDmTdnuT.js.map +0 -1
  1031. package/cjs/chunks/bundle-DHuWzY0s.js.map +0 -1
  1032. package/cjs/chunks/bundle-DI-qrtXL.js.map +0 -1
  1033. package/cjs/chunks/bundle-DIxulCCm.js.map +0 -1
  1034. package/cjs/chunks/bundle-DLdV8LNR.js.map +0 -1
  1035. package/cjs/chunks/bundle-DPoAoYEl.js.map +0 -1
  1036. package/cjs/chunks/bundle-DYZo-ek9.js.map +0 -1
  1037. package/cjs/chunks/bundle-DbS-u43Y.js.map +0 -1
  1038. package/cjs/chunks/bundle-DbykvtHO.js.map +0 -1
  1039. package/cjs/chunks/bundle-DdSNUhSn.js.map +0 -1
  1040. package/cjs/chunks/bundle-DessEmBr.js.map +0 -1
  1041. package/cjs/chunks/bundle-Df0cAbH6.js.map +0 -1
  1042. package/cjs/chunks/bundle-Djp6Qheo.js.map +0 -1
  1043. package/cjs/chunks/bundle-DlPLp6fm.js.map +0 -1
  1044. package/cjs/chunks/bundle-Dn17aH6v.js.map +0 -1
  1045. package/cjs/chunks/bundle-DnXNmdmw.js.map +0 -1
  1046. package/cjs/chunks/bundle-DsKL-Ede.js.map +0 -1
  1047. package/cjs/chunks/bundle-E9H8fQL4.js.map +0 -1
  1048. package/cjs/chunks/bundle-GtlapnzG.js.map +0 -1
  1049. package/cjs/chunks/bundle-IVTygAtE.js.map +0 -1
  1050. package/cjs/chunks/bundle-SdH24Cv9.js.map +0 -1
  1051. package/cjs/chunks/bundle-XEpryGfs.js.map +0 -1
  1052. package/cjs/chunks/bundle-ZuDe6I0q.js.map +0 -1
  1053. package/cjs/chunks/bundle-fG1bRzYE.js +0 -72
  1054. package/cjs/chunks/bundle-fG1bRzYE.js.map +0 -1
  1055. package/cjs/chunks/bundle-jkB4LAcp.js.map +0 -1
  1056. package/cjs/chunks/bundle-oUs61pbv.js.map +0 -1
  1057. package/cjs/chunks/bundle-pZbKLQPU.js.map +0 -1
  1058. package/cjs/chunks/bundle-q2tBQOdq.js.map +0 -1
  1059. package/cjs/chunks/bundle-t1Tb_Gz2.js.map +0 -1
  1060. package/cjs/chunks/bundle-ti18J4ii.js +0 -124
  1061. package/cjs/chunks/bundle-ti18J4ii.js.map +0 -1
  1062. package/cjs/chunks/bundle-u8pJrzSP.js.map +0 -1
  1063. package/types/modules/OpenChannelApp/stories/utils.d.ts +0 -6
package/Thread/context.js CHANGED
@@ -1,1327 +1,1329 @@
1
1
  import React__default, { useEffect, useCallback, useReducer, useMemo } from 'react';
2
- import { c as compareIds, s as scrollIntoLast, g as getParentMessageFrom, u as useSendMultipleFilesMessage, a as getNicknamesMapFromMembers } from '../chunks/bundle-CXxeDfXV.js';
3
- import { U as UserProfileProvider } from '../chunks/bundle-DGnpw8up.js';
2
+ import { c as compareIds, s as scrollIntoLast, g as getParentMessageFrom, u as useSendMultipleFilesMessage, a as getNicknamesMapFromMembers } from '../chunks/bundle-DaAoUDJk.js';
3
+ import { U as UserProfileProvider } from '../chunks/bundle-B7barEsR.js';
4
4
  import { useSendbirdStateContext } from '../useSendbirdStateContext.js';
5
- import { _ as __assign, c as __spreadArray, a as __awaiter, b as __generator } from '../chunks/bundle-DZcgZWKq.js';
5
+ import { _ as __assign, c as __spreadArray, a as __awaiter, b as __generator } from '../chunks/bundle-7oF7KbGv.js';
6
6
  import { ChannelStateTypes, ThreadListStateTypes, ParentMessageStateTypes } from './context/types.js';
7
7
  import { ChannelType } from '@sendbird/chat';
8
- import { p as pubSubTopics, a as shouldPubSubPublishToThread, b as PUBSUB_TOPICS, P as PublishingModuleType } from '../chunks/bundle-BX_IXLSp.js';
9
- import { s as ON_FILE_INFO_UPLOADED, t as ON_TYPING_STATUS_UPDATED } from '../chunks/bundle-Bf6VvPhp.js';
8
+ import { p as pubSubTopics, a as shouldPubSubPublishToThread, b as PUBSUB_TOPICS, P as PublishingModuleType } from '../chunks/bundle-BWuyd0AD.js';
9
+ import { s as ON_FILE_INFO_UPLOADED, t as ON_TYPING_STATUS_UPDATED } from '../chunks/bundle-C_Vyt_ii.js';
10
10
  import { GroupChannelHandler } from '@sendbird/chat/groupChannel';
11
- import { u as uuidv4 } from '../chunks/bundle-BbeHRXOp.js';
12
- import { c as compareIds$1 } from '../chunks/bundle-DQKxIg_X.js';
11
+ import { u as uuidv4 } from '../chunks/bundle-BJ46V6XQ.js';
12
+ import { c as compareIds$1 } from '../chunks/bundle-BKho3Uub.js';
13
13
  import { MessageType, SendingStatus, MessageMetaArray } from '@sendbird/chat/message';
14
- import { e as SCROLL_BOTTOM_DELAY_FOR_SEND, a as VOICE_MESSAGE_FILE_NAME, b as VOICE_MESSAGE_MIME_TYPE, M as META_ARRAY_VOICE_DURATION_KEY, j as META_ARRAY_MESSAGE_TYPE_KEY, k as META_ARRAY_MESSAGE_TYPE_VALUE__VOICE } from '../chunks/bundle-Dc7E6GJc.js';
15
- import '../chunks/bundle-DWW0XPV9.js';
14
+ import { b as SCROLL_BOTTOM_DELAY_FOR_SEND, g as VOICE_MESSAGE_FILE_NAME, h as VOICE_MESSAGE_MIME_TYPE, M as META_ARRAY_VOICE_DURATION_KEY, i as META_ARRAY_MESSAGE_TYPE_KEY, j as META_ARRAY_MESSAGE_TYPE_VALUE__VOICE } from '../chunks/bundle-CD9AzC6s.js';
15
+ import '../chunks/bundle-DDkUg3Os.js';
16
16
  import '../utils/message/getOutgoingMessageState.js';
17
17
  import '../withSendbird.js';
18
18
 
19
- var PREV_THREADS_FETCH_SIZE = 30;
19
+ var PREV_THREADS_FETCH_SIZE = 30;
20
20
  var NEXT_THREADS_FETCH_SIZE = 30;
21
21
 
22
- var ThreadContextActionTypes;
23
- (function (ThreadContextActionTypes) {
24
- // initialize
25
- ThreadContextActionTypes["INIT_USER_ID"] = "INIT_USER_ID";
26
- // channel
27
- ThreadContextActionTypes["GET_CHANNEL_START"] = "GET_CHANNEL_START";
28
- ThreadContextActionTypes["GET_CHANNEL_SUCCESS"] = "GET_CHANNEL_SUCCESS";
29
- ThreadContextActionTypes["GET_CHANNEL_FAILURE"] = "GET_CHANNEL_FAILURE";
30
- // emojis
31
- ThreadContextActionTypes["SET_EMOJI_CONTAINER"] = "SET_EMOJI_CONTAINER";
32
- // parent message
33
- ThreadContextActionTypes["GET_PARENT_MESSAGE_START"] = "GET_PARENT_MESSAGE_START";
34
- ThreadContextActionTypes["GET_PARENT_MESSAGE_SUCCESS"] = "GET_PARENT_MESSAGE_SUCCESS";
35
- ThreadContextActionTypes["GET_PARENT_MESSAGE_FAILURE"] = "GET_PARENT_MESSAGE_FAILURE";
36
- // fetch threads
37
- ThreadContextActionTypes["INITIALIZE_THREAD_LIST_START"] = "INITIALIZE_THREAD_LIST_START";
38
- ThreadContextActionTypes["INITIALIZE_THREAD_LIST_SUCCESS"] = "INITIALIZE_THREAD_LIST_SUCCESS";
39
- ThreadContextActionTypes["INITIALIZE_THREAD_LIST_FAILURE"] = "INITIALIZE_THREAD_LIST_FAILURE";
40
- ThreadContextActionTypes["GET_PREV_MESSAGES_START"] = "GET_PREV_MESSAGES_START";
41
- ThreadContextActionTypes["GET_PREV_MESSAGES_SUCESS"] = "GET_PREV_MESSAGES_SUCESS";
42
- ThreadContextActionTypes["GET_PREV_MESSAGES_FAILURE"] = "GET_PREV_MESSAGES_FAILURE";
43
- ThreadContextActionTypes["GET_NEXT_MESSAGES_START"] = "GET_NEXT_MESSAGES_START";
44
- ThreadContextActionTypes["GET_NEXT_MESSAGES_SUCESS"] = "GET_NEXT_MESSAGES_SUCESS";
45
- ThreadContextActionTypes["GET_NEXT_MESSAGES_FAILURE"] = "GET_NEXT_MESSAGES_FAILURE";
46
- // handle messages
47
- ThreadContextActionTypes["SEND_MESSAGE_START"] = "SEND_MESSAGE_START";
48
- ThreadContextActionTypes["SEND_MESSAGE_SUCESS"] = "SEND_MESSAGE_SUCESS";
49
- ThreadContextActionTypes["SEND_MESSAGE_FAILURE"] = "SEND_MESSAGE_FAILURE";
50
- ThreadContextActionTypes["RESEND_MESSAGE_START"] = "RESEND_MESSAGE_START";
51
- ThreadContextActionTypes["ON_MESSAGE_DELETED_BY_REQ_ID"] = "ON_MESSAGE_DELETED_BY_REQ_ID";
52
- // event handlers - message status change
53
- ThreadContextActionTypes["ON_MESSAGE_RECEIVED"] = "ON_MESSAGE_RECEIVED";
54
- ThreadContextActionTypes["ON_MESSAGE_UPDATED"] = "ON_MESSAGE_UPDATED";
55
- ThreadContextActionTypes["ON_MESSAGE_DELETED"] = "ON_MESSAGE_DELETED";
56
- ThreadContextActionTypes["ON_REACTION_UPDATED"] = "ON_REACTION_UPDATED";
57
- ThreadContextActionTypes["ON_FILE_INFO_UPLOADED"] = "ON_FILE_INFO_UPLOADED";
58
- // event handlers - user status change
59
- ThreadContextActionTypes["ON_USER_MUTED"] = "ON_USER_MUTED";
60
- ThreadContextActionTypes["ON_USER_UNMUTED"] = "ON_USER_UNMUTED";
61
- ThreadContextActionTypes["ON_USER_BANNED"] = "ON_USER_BANNED";
62
- ThreadContextActionTypes["ON_USER_UNBANNED"] = "ON_USER_UNBANNED";
63
- ThreadContextActionTypes["ON_USER_LEFT"] = "ON_USER_LEFT";
64
- // event handler - channel status change
65
- ThreadContextActionTypes["ON_CHANNEL_FROZEN"] = "ON_CHANNEL_FROZEN";
66
- ThreadContextActionTypes["ON_CHANNEL_UNFROZEN"] = "ON_CHANNEL_UNFROZEN";
67
- ThreadContextActionTypes["ON_OPERATOR_UPDATED"] = "ON_OPERATOR_UPDATED";
68
- // event handler - typing status change
69
- ThreadContextActionTypes["ON_TYPING_STATUS_UPDATED"] = "ON_TYPING_STATUS_UPDATED";
22
+ var ThreadContextActionTypes;
23
+ (function (ThreadContextActionTypes) {
24
+ // initialize
25
+ ThreadContextActionTypes["INIT_USER_ID"] = "INIT_USER_ID";
26
+ // channel
27
+ ThreadContextActionTypes["GET_CHANNEL_START"] = "GET_CHANNEL_START";
28
+ ThreadContextActionTypes["GET_CHANNEL_SUCCESS"] = "GET_CHANNEL_SUCCESS";
29
+ ThreadContextActionTypes["GET_CHANNEL_FAILURE"] = "GET_CHANNEL_FAILURE";
30
+ // emojis
31
+ ThreadContextActionTypes["SET_EMOJI_CONTAINER"] = "SET_EMOJI_CONTAINER";
32
+ // parent message
33
+ ThreadContextActionTypes["GET_PARENT_MESSAGE_START"] = "GET_PARENT_MESSAGE_START";
34
+ ThreadContextActionTypes["GET_PARENT_MESSAGE_SUCCESS"] = "GET_PARENT_MESSAGE_SUCCESS";
35
+ ThreadContextActionTypes["GET_PARENT_MESSAGE_FAILURE"] = "GET_PARENT_MESSAGE_FAILURE";
36
+ // fetch threads
37
+ ThreadContextActionTypes["INITIALIZE_THREAD_LIST_START"] = "INITIALIZE_THREAD_LIST_START";
38
+ ThreadContextActionTypes["INITIALIZE_THREAD_LIST_SUCCESS"] = "INITIALIZE_THREAD_LIST_SUCCESS";
39
+ ThreadContextActionTypes["INITIALIZE_THREAD_LIST_FAILURE"] = "INITIALIZE_THREAD_LIST_FAILURE";
40
+ ThreadContextActionTypes["GET_PREV_MESSAGES_START"] = "GET_PREV_MESSAGES_START";
41
+ ThreadContextActionTypes["GET_PREV_MESSAGES_SUCESS"] = "GET_PREV_MESSAGES_SUCESS";
42
+ ThreadContextActionTypes["GET_PREV_MESSAGES_FAILURE"] = "GET_PREV_MESSAGES_FAILURE";
43
+ ThreadContextActionTypes["GET_NEXT_MESSAGES_START"] = "GET_NEXT_MESSAGES_START";
44
+ ThreadContextActionTypes["GET_NEXT_MESSAGES_SUCESS"] = "GET_NEXT_MESSAGES_SUCESS";
45
+ ThreadContextActionTypes["GET_NEXT_MESSAGES_FAILURE"] = "GET_NEXT_MESSAGES_FAILURE";
46
+ // handle messages
47
+ ThreadContextActionTypes["SEND_MESSAGE_START"] = "SEND_MESSAGE_START";
48
+ ThreadContextActionTypes["SEND_MESSAGE_SUCESS"] = "SEND_MESSAGE_SUCESS";
49
+ ThreadContextActionTypes["SEND_MESSAGE_FAILURE"] = "SEND_MESSAGE_FAILURE";
50
+ ThreadContextActionTypes["RESEND_MESSAGE_START"] = "RESEND_MESSAGE_START";
51
+ ThreadContextActionTypes["ON_MESSAGE_DELETED_BY_REQ_ID"] = "ON_MESSAGE_DELETED_BY_REQ_ID";
52
+ // event handlers - message status change
53
+ ThreadContextActionTypes["ON_MESSAGE_RECEIVED"] = "ON_MESSAGE_RECEIVED";
54
+ ThreadContextActionTypes["ON_MESSAGE_UPDATED"] = "ON_MESSAGE_UPDATED";
55
+ ThreadContextActionTypes["ON_MESSAGE_DELETED"] = "ON_MESSAGE_DELETED";
56
+ ThreadContextActionTypes["ON_REACTION_UPDATED"] = "ON_REACTION_UPDATED";
57
+ ThreadContextActionTypes["ON_FILE_INFO_UPLOADED"] = "ON_FILE_INFO_UPLOADED";
58
+ // event handlers - user status change
59
+ ThreadContextActionTypes["ON_USER_MUTED"] = "ON_USER_MUTED";
60
+ ThreadContextActionTypes["ON_USER_UNMUTED"] = "ON_USER_UNMUTED";
61
+ ThreadContextActionTypes["ON_USER_BANNED"] = "ON_USER_BANNED";
62
+ ThreadContextActionTypes["ON_USER_UNBANNED"] = "ON_USER_UNBANNED";
63
+ ThreadContextActionTypes["ON_USER_LEFT"] = "ON_USER_LEFT";
64
+ // event handler - channel status change
65
+ ThreadContextActionTypes["ON_CHANNEL_FROZEN"] = "ON_CHANNEL_FROZEN";
66
+ ThreadContextActionTypes["ON_CHANNEL_UNFROZEN"] = "ON_CHANNEL_UNFROZEN";
67
+ ThreadContextActionTypes["ON_OPERATOR_UPDATED"] = "ON_OPERATOR_UPDATED";
68
+ // event handler - typing status change
69
+ ThreadContextActionTypes["ON_TYPING_STATUS_UPDATED"] = "ON_TYPING_STATUS_UPDATED";
70
70
  })(ThreadContextActionTypes || (ThreadContextActionTypes = {}));
71
71
 
72
- function reducer(state, action) {
73
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
74
- switch (action.type) {
75
- // initialize
76
- case ThreadContextActionTypes.INIT_USER_ID: {
77
- return __assign(__assign({}, state), { currentUserId: action.payload });
78
- }
79
- case ThreadContextActionTypes.GET_CHANNEL_START: {
80
- return __assign(__assign({}, state), { channelState: ChannelStateTypes.LOADING, currentChannel: null });
81
- }
82
- case ThreadContextActionTypes.GET_CHANNEL_SUCCESS: {
83
- var groupChannel = action.payload.groupChannel;
84
- return __assign(__assign({}, state), { channelState: ChannelStateTypes.INITIALIZED, currentChannel: groupChannel,
85
- // only support in normal group channel
86
- isMuted: ((_b = (_a = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.members) === null || _a === void 0 ? void 0 : _a.find(function (member) { return (member === null || member === void 0 ? void 0 : member.userId) === state.currentUserId; })) === null || _b === void 0 ? void 0 : _b.isMuted) || false, isChannelFrozen: (groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.isFrozen) || false });
87
- }
88
- case ThreadContextActionTypes.GET_CHANNEL_FAILURE: {
89
- return __assign(__assign({}, state), { channelState: ChannelStateTypes.INVALID, currentChannel: null });
90
- }
91
- case ThreadContextActionTypes.SET_EMOJI_CONTAINER: {
92
- var emojiContainer = action.payload.emojiContainer;
93
- return __assign(__assign({}, state), { emojiContainer: emojiContainer });
94
- }
95
- case ThreadContextActionTypes.GET_PARENT_MESSAGE_START: {
96
- return __assign(__assign({}, state), { parentMessageState: ParentMessageStateTypes.LOADING, parentMessage: null });
97
- }
98
- case ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS: {
99
- return __assign(__assign({}, state), { parentMessageState: ParentMessageStateTypes.INITIALIZED, parentMessage: action.payload.parentMessage });
100
- }
101
- case ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE: {
102
- return __assign(__assign({}, state), { parentMessageState: ParentMessageStateTypes.INVALID, parentMessage: null });
103
- }
104
- // fetch threads
105
- case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START: {
106
- return __assign(__assign({}, state), { threadListState: ThreadListStateTypes.LOADING, allThreadMessages: [] });
107
- }
108
- case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS: {
109
- var _z = action.payload, parentMessage = _z.parentMessage, anchorMessage = _z.anchorMessage, threadedMessages = _z.threadedMessages;
110
- var anchorMessageCreatedAt_1 = (!(anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.messageId)) ? parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.createdAt : anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.createdAt;
111
- var anchorIndex = threadedMessages.findIndex(function (message) { return (message === null || message === void 0 ? void 0 : message.createdAt) > anchorMessageCreatedAt_1; });
112
- var prevThreadMessages = anchorIndex > -1 ? threadedMessages.slice(0, anchorIndex) : threadedMessages;
113
- var anchorThreadMessage = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.messageId) ? [anchorMessage] : [];
114
- var nextThreadMessages = anchorIndex > -1 ? threadedMessages.slice(anchorIndex) : [];
115
- return __assign(__assign({}, state), { threadListState: ThreadListStateTypes.INITIALIZED, hasMorePrev: anchorIndex === -1 || anchorIndex === PREV_THREADS_FETCH_SIZE, hasMoreNext: threadedMessages.length - anchorIndex === NEXT_THREADS_FETCH_SIZE, allThreadMessages: [prevThreadMessages, anchorThreadMessage, nextThreadMessages].flat() });
116
- }
117
- case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE: {
118
- return __assign(__assign({}, state), { threadListState: ThreadListStateTypes.INVALID, allThreadMessages: [] });
119
- }
120
- case ThreadContextActionTypes.GET_NEXT_MESSAGES_START: {
121
- return __assign({}, state);
122
- }
123
- case ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS: {
124
- var threadedMessages = action.payload.threadedMessages;
125
- return __assign(__assign({}, state), { hasMoreNext: threadedMessages.length === NEXT_THREADS_FETCH_SIZE, allThreadMessages: __spreadArray(__spreadArray([], state.allThreadMessages, true), threadedMessages, true) });
126
- }
127
- case ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE: {
128
- return __assign(__assign({}, state), { hasMoreNext: false });
129
- }
130
- case ThreadContextActionTypes.GET_PREV_MESSAGES_START: {
131
- return __assign({}, state);
132
- }
133
- case ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS: {
134
- var threadedMessages = action.payload.threadedMessages;
135
- return __assign(__assign({}, state), { hasMorePrev: threadedMessages.length === PREV_THREADS_FETCH_SIZE, allThreadMessages: __spreadArray(__spreadArray([], threadedMessages, true), state.allThreadMessages, true) });
136
- }
137
- case ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE: {
138
- return __assign(__assign({}, state), { hasMorePrev: false });
139
- }
140
- // event handlers - message status change
141
- case ThreadContextActionTypes.ON_MESSAGE_RECEIVED: {
142
- var _0 = action.payload, channel = _0.channel, message_1 = _0.message;
143
- if (((_c = state.currentChannel) === null || _c === void 0 ? void 0 : _c.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)
144
- || state.hasMoreNext
145
- || ((_d = message_1 === null || message_1 === void 0 ? void 0 : message_1.parentMessage) === null || _d === void 0 ? void 0 : _d.messageId) !== ((_e = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _e === void 0 ? void 0 : _e.messageId)) {
146
- return state;
147
- }
148
- var isAlreadyReceived = state.allThreadMessages.findIndex(function (m) { return (m.messageId === message_1.messageId); }) > -1;
149
- return __assign(__assign({}, state), { parentMessage: ((_f = state.parentMessage) === null || _f === void 0 ? void 0 : _f.messageId) === (message_1 === null || message_1 === void 0 ? void 0 : message_1.messageId) ? message_1 : state.parentMessage, allThreadMessages: isAlreadyReceived
150
- ? state.allThreadMessages.map(function (m) { return (m.messageId === message_1.messageId ? message_1 : m); })
151
- : __spreadArray(__spreadArray([], state.allThreadMessages.filter(function (m) { return (m === null || m === void 0 ? void 0 : m.reqId) !== (message_1 === null || message_1 === void 0 ? void 0 : message_1.reqId); }), true), [
152
- message_1,
153
- ], false) });
154
- }
155
- case ThreadContextActionTypes.ON_MESSAGE_UPDATED: {
156
- var _1 = action.payload, channel = _1.channel, message_2 = _1.message;
157
- if (((_g = state.currentChannel) === null || _g === void 0 ? void 0 : _g.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
158
- return state;
159
- }
160
- return __assign(__assign({}, state), { parentMessage: ((_h = state.parentMessage) === null || _h === void 0 ? void 0 : _h.messageId) === (message_2 === null || message_2 === void 0 ? void 0 : message_2.messageId)
161
- ? message_2
162
- : state.parentMessage, allThreadMessages: (_j = state.allThreadMessages) === null || _j === void 0 ? void 0 : _j.map(function (msg) { return (((msg === null || msg === void 0 ? void 0 : msg.messageId) === (message_2 === null || message_2 === void 0 ? void 0 : message_2.messageId)) ? message_2 : msg); }) });
163
- }
164
- case ThreadContextActionTypes.ON_MESSAGE_DELETED: {
165
- var _2 = action.payload, channel = _2.channel, messageId_1 = _2.messageId;
166
- if (((_k = state.currentChannel) === null || _k === void 0 ? void 0 : _k.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
167
- return state;
168
- }
169
- if (((_l = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _l === void 0 ? void 0 : _l.messageId) === messageId_1) {
170
- return __assign(__assign({}, state), { parentMessage: null, parentMessageState: ParentMessageStateTypes.NIL, allThreadMessages: [] });
171
- }
172
- return __assign(__assign({}, state), { allThreadMessages: (_m = state.allThreadMessages) === null || _m === void 0 ? void 0 : _m.filter(function (msg) { return ((msg === null || msg === void 0 ? void 0 : msg.messageId) !== messageId_1); }), localThreadMessages: (_o = state.localThreadMessages) === null || _o === void 0 ? void 0 : _o.filter(function (msg) { return ((msg === null || msg === void 0 ? void 0 : msg.messageId) !== messageId_1); }) });
173
- }
174
- case ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID: {
175
- return __assign(__assign({}, state), { localThreadMessages: state.localThreadMessages.filter(function (m) { return (!compareIds(m.reqId, action.payload)); }) });
176
- }
177
- case ThreadContextActionTypes.ON_REACTION_UPDATED: {
178
- var reactionEvent_1 = (_p = action.payload) === null || _p === void 0 ? void 0 : _p.reactionEvent;
179
- if (((_q = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _q === void 0 ? void 0 : _q.messageId) === (reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId)) {
180
- (_s = (_r = state.parentMessage) === null || _r === void 0 ? void 0 : _r.applyReactionEvent) === null || _s === void 0 ? void 0 : _s.call(_r, reactionEvent_1);
181
- }
182
- return __assign(__assign({}, state), { allThreadMessages: state.allThreadMessages.map(function (m) {
183
- var _a;
184
- if ((reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId) === (m === null || m === void 0 ? void 0 : m.messageId)) {
185
- (_a = m === null || m === void 0 ? void 0 : m.applyReactionEvent) === null || _a === void 0 ? void 0 : _a.call(m, reactionEvent_1);
186
- return m;
187
- }
188
- return m;
189
- }) });
190
- }
191
- // event handlers - user status change
192
- case ThreadContextActionTypes.ON_USER_MUTED: {
193
- var _3 = action.payload, channel = _3.channel, user = _3.user;
194
- if (((_t = state.currentChannel) === null || _t === void 0 ? void 0 : _t.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
195
- return state;
196
- }
197
- return __assign(__assign({}, state), { isMuted: true });
198
- }
199
- case ThreadContextActionTypes.ON_USER_UNMUTED: {
200
- var _4 = action.payload, channel = _4.channel, user = _4.user;
201
- if (((_u = state.currentChannel) === null || _u === void 0 ? void 0 : _u.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
202
- return state;
203
- }
204
- return __assign(__assign({}, state), { isMuted: false });
205
- }
206
- case ThreadContextActionTypes.ON_USER_BANNED: {
207
- return __assign(__assign({}, state), { channelState: ChannelStateTypes.NIL, threadListState: ThreadListStateTypes.NIL, parentMessageState: ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, allThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
208
- }
209
- case ThreadContextActionTypes.ON_USER_UNBANNED: {
210
- return __assign({}, state);
211
- }
212
- case ThreadContextActionTypes.ON_USER_LEFT: {
213
- return __assign(__assign({}, state), { channelState: ChannelStateTypes.NIL, threadListState: ThreadListStateTypes.NIL, parentMessageState: ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, allThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
214
- }
215
- // event handler - channel status change
216
- case ThreadContextActionTypes.ON_CHANNEL_FROZEN: {
217
- return __assign(__assign({}, state), { isChannelFrozen: true });
218
- }
219
- case ThreadContextActionTypes.ON_CHANNEL_UNFROZEN: {
220
- return __assign(__assign({}, state), { isChannelFrozen: false });
221
- }
222
- case ThreadContextActionTypes.ON_OPERATOR_UPDATED: {
223
- var channel = action.payload.channel;
224
- if ((channel === null || channel === void 0 ? void 0 : channel.url) === ((_v = state.currentChannel) === null || _v === void 0 ? void 0 : _v.url)) {
225
- return __assign(__assign({}, state), { currentChannel: channel });
226
- }
227
- return state;
228
- }
229
- // message
230
- case ThreadContextActionTypes.SEND_MESSAGE_START: {
231
- var message = action.payload.message;
232
- return __assign(__assign({}, state), { localThreadMessages: __spreadArray(__spreadArray([], state.localThreadMessages, true), [
233
- message,
234
- ], false) });
235
- }
236
- case ThreadContextActionTypes.SEND_MESSAGE_SUCESS: {
237
- var message_3 = action.payload.message;
238
- return __assign(__assign({}, state), { allThreadMessages: __spreadArray(__spreadArray([], state.allThreadMessages.filter(function (m) { return (!compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId)); }), true), [
239
- message_3,
240
- ], false), localThreadMessages: state.localThreadMessages.filter(function (m) { return (!compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId)); }) });
241
- }
242
- case ThreadContextActionTypes.SEND_MESSAGE_FAILURE: {
243
- var message_4 = action.payload.message;
244
- return __assign(__assign({}, state), { localThreadMessages: state.localThreadMessages.map(function (m) { return (compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_4 === null || message_4 === void 0 ? void 0 : message_4.reqId)
245
- ? message_4
246
- : m); }) });
247
- }
248
- case ThreadContextActionTypes.RESEND_MESSAGE_START: {
249
- var message_5 = action.payload.message;
250
- return __assign(__assign({}, state), { localThreadMessages: state.localThreadMessages.map(function (m) { return (compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_5 === null || message_5 === void 0 ? void 0 : message_5.reqId)
251
- ? message_5
252
- : m); }) });
253
- }
254
- case ThreadContextActionTypes.ON_FILE_INFO_UPLOADED: {
255
- var _5 = action.payload, channelUrl = _5.channelUrl, requestId_1 = _5.requestId, index = _5.index, uploadableFileInfo = _5.uploadableFileInfo, error = _5.error;
256
- if (!compareIds(channelUrl, (_w = state.currentChannel) === null || _w === void 0 ? void 0 : _w.url)) {
257
- return state;
258
- }
259
- /**
260
- * We don't have to do anything here because
261
- * onFailed() will be called so handle error there instead.
262
- */
263
- if (error)
264
- return state;
265
- var localThreadMessages = state.localThreadMessages;
266
- var messageToUpdate = localThreadMessages.find(function (message) { return compareIds(hasReqId(message) && message.reqId, requestId_1); });
267
- var fileInfoList = (_x = messageToUpdate
268
- .messageParams) === null || _x === void 0 ? void 0 : _x.fileInfoList;
269
- if (Array.isArray(fileInfoList)) {
270
- fileInfoList[index] = uploadableFileInfo;
271
- }
272
- return __assign(__assign({}, state), { localThreadMessages: localThreadMessages });
273
- }
274
- case ThreadContextActionTypes.ON_TYPING_STATUS_UPDATED: {
275
- var _6 = action.payload, channel = _6.channel, typingMembers = _6.typingMembers;
276
- if (!compareIds(channel.url, (_y = state.currentChannel) === null || _y === void 0 ? void 0 : _y.url)) {
277
- return state;
278
- }
279
- return __assign(__assign({}, state), { typingMembers: typingMembers });
280
- }
281
- default: {
282
- return state;
283
- }
284
- }
285
- }
286
- function hasReqId(message) {
287
- return 'reqId' in message;
72
+ function reducer(state, action) {
73
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
74
+ switch (action.type) {
75
+ // initialize
76
+ case ThreadContextActionTypes.INIT_USER_ID: {
77
+ return __assign(__assign({}, state), { currentUserId: action.payload });
78
+ }
79
+ case ThreadContextActionTypes.GET_CHANNEL_START: {
80
+ return __assign(__assign({}, state), { channelState: ChannelStateTypes.LOADING, currentChannel: null });
81
+ }
82
+ case ThreadContextActionTypes.GET_CHANNEL_SUCCESS: {
83
+ var groupChannel = action.payload.groupChannel;
84
+ return __assign(__assign({}, state), { channelState: ChannelStateTypes.INITIALIZED, currentChannel: groupChannel,
85
+ // only support in normal group channel
86
+ isMuted: ((_b = (_a = groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.members) === null || _a === void 0 ? void 0 : _a.find(function (member) { return (member === null || member === void 0 ? void 0 : member.userId) === state.currentUserId; })) === null || _b === void 0 ? void 0 : _b.isMuted) || false, isChannelFrozen: (groupChannel === null || groupChannel === void 0 ? void 0 : groupChannel.isFrozen) || false });
87
+ }
88
+ case ThreadContextActionTypes.GET_CHANNEL_FAILURE: {
89
+ return __assign(__assign({}, state), { channelState: ChannelStateTypes.INVALID, currentChannel: null });
90
+ }
91
+ case ThreadContextActionTypes.SET_EMOJI_CONTAINER: {
92
+ var emojiContainer = action.payload.emojiContainer;
93
+ return __assign(__assign({}, state), { emojiContainer: emojiContainer });
94
+ }
95
+ case ThreadContextActionTypes.GET_PARENT_MESSAGE_START: {
96
+ return __assign(__assign({}, state), { parentMessageState: ParentMessageStateTypes.LOADING, parentMessage: null });
97
+ }
98
+ case ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS: {
99
+ return __assign(__assign({}, state), { parentMessageState: ParentMessageStateTypes.INITIALIZED, parentMessage: action.payload.parentMessage });
100
+ }
101
+ case ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE: {
102
+ return __assign(__assign({}, state), { parentMessageState: ParentMessageStateTypes.INVALID, parentMessage: null });
103
+ }
104
+ // fetch threads
105
+ case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START: {
106
+ return __assign(__assign({}, state), { threadListState: ThreadListStateTypes.LOADING, allThreadMessages: [] });
107
+ }
108
+ case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS: {
109
+ var _z = action.payload, parentMessage = _z.parentMessage, anchorMessage = _z.anchorMessage, threadedMessages = _z.threadedMessages;
110
+ var anchorMessageCreatedAt_1 = (!(anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.messageId)) ? parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.createdAt : anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.createdAt;
111
+ var anchorIndex = threadedMessages.findIndex(function (message) { return (message === null || message === void 0 ? void 0 : message.createdAt) > anchorMessageCreatedAt_1; });
112
+ var prevThreadMessages = anchorIndex > -1 ? threadedMessages.slice(0, anchorIndex) : threadedMessages;
113
+ var anchorThreadMessage = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.messageId) ? [anchorMessage] : [];
114
+ var nextThreadMessages = anchorIndex > -1 ? threadedMessages.slice(anchorIndex) : [];
115
+ return __assign(__assign({}, state), { threadListState: ThreadListStateTypes.INITIALIZED, hasMorePrev: anchorIndex === -1 || anchorIndex === PREV_THREADS_FETCH_SIZE, hasMoreNext: threadedMessages.length - anchorIndex === NEXT_THREADS_FETCH_SIZE, allThreadMessages: [prevThreadMessages, anchorThreadMessage, nextThreadMessages].flat() });
116
+ }
117
+ case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE: {
118
+ return __assign(__assign({}, state), { threadListState: ThreadListStateTypes.INVALID, allThreadMessages: [] });
119
+ }
120
+ case ThreadContextActionTypes.GET_NEXT_MESSAGES_START: {
121
+ return __assign({}, state);
122
+ }
123
+ case ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS: {
124
+ var threadedMessages = action.payload.threadedMessages;
125
+ return __assign(__assign({}, state), { hasMoreNext: threadedMessages.length === NEXT_THREADS_FETCH_SIZE, allThreadMessages: __spreadArray(__spreadArray([], state.allThreadMessages, true), threadedMessages, true) });
126
+ }
127
+ case ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE: {
128
+ return __assign(__assign({}, state), { hasMoreNext: false });
129
+ }
130
+ case ThreadContextActionTypes.GET_PREV_MESSAGES_START: {
131
+ return __assign({}, state);
132
+ }
133
+ case ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS: {
134
+ var threadedMessages = action.payload.threadedMessages;
135
+ return __assign(__assign({}, state), { hasMorePrev: threadedMessages.length === PREV_THREADS_FETCH_SIZE, allThreadMessages: __spreadArray(__spreadArray([], threadedMessages, true), state.allThreadMessages, true) });
136
+ }
137
+ case ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE: {
138
+ return __assign(__assign({}, state), { hasMorePrev: false });
139
+ }
140
+ // event handlers - message status change
141
+ case ThreadContextActionTypes.ON_MESSAGE_RECEIVED: {
142
+ var _0 = action.payload, channel = _0.channel, message_1 = _0.message;
143
+ if (((_c = state.currentChannel) === null || _c === void 0 ? void 0 : _c.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)
144
+ || state.hasMoreNext
145
+ || ((_d = message_1 === null || message_1 === void 0 ? void 0 : message_1.parentMessage) === null || _d === void 0 ? void 0 : _d.messageId) !== ((_e = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _e === void 0 ? void 0 : _e.messageId)) {
146
+ return state;
147
+ }
148
+ var isAlreadyReceived = state.allThreadMessages.findIndex(function (m) { return (m.messageId === message_1.messageId); }) > -1;
149
+ return __assign(__assign({}, state), { parentMessage: ((_f = state.parentMessage) === null || _f === void 0 ? void 0 : _f.messageId) === (message_1 === null || message_1 === void 0 ? void 0 : message_1.messageId) ? message_1 : state.parentMessage, allThreadMessages: isAlreadyReceived
150
+ ? state.allThreadMessages.map(function (m) { return (m.messageId === message_1.messageId ? message_1 : m); })
151
+ : __spreadArray(__spreadArray([], state.allThreadMessages.filter(function (m) { return (m === null || m === void 0 ? void 0 : m.reqId) !== (message_1 === null || message_1 === void 0 ? void 0 : message_1.reqId); }), true), [
152
+ message_1,
153
+ ], false) });
154
+ }
155
+ case ThreadContextActionTypes.ON_MESSAGE_UPDATED: {
156
+ var _1 = action.payload, channel = _1.channel, message_2 = _1.message;
157
+ if (((_g = state.currentChannel) === null || _g === void 0 ? void 0 : _g.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
158
+ return state;
159
+ }
160
+ return __assign(__assign({}, state), { parentMessage: ((_h = state.parentMessage) === null || _h === void 0 ? void 0 : _h.messageId) === (message_2 === null || message_2 === void 0 ? void 0 : message_2.messageId)
161
+ ? message_2
162
+ : state.parentMessage, allThreadMessages: (_j = state.allThreadMessages) === null || _j === void 0 ? void 0 : _j.map(function (msg) { return (((msg === null || msg === void 0 ? void 0 : msg.messageId) === (message_2 === null || message_2 === void 0 ? void 0 : message_2.messageId)) ? message_2 : msg); }) });
163
+ }
164
+ case ThreadContextActionTypes.ON_MESSAGE_DELETED: {
165
+ var _2 = action.payload, channel = _2.channel, messageId_1 = _2.messageId;
166
+ if (((_k = state.currentChannel) === null || _k === void 0 ? void 0 : _k.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
167
+ return state;
168
+ }
169
+ if (((_l = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _l === void 0 ? void 0 : _l.messageId) === messageId_1) {
170
+ return __assign(__assign({}, state), { parentMessage: null, parentMessageState: ParentMessageStateTypes.NIL, allThreadMessages: [] });
171
+ }
172
+ return __assign(__assign({}, state), { allThreadMessages: (_m = state.allThreadMessages) === null || _m === void 0 ? void 0 : _m.filter(function (msg) { return ((msg === null || msg === void 0 ? void 0 : msg.messageId) !== messageId_1); }), localThreadMessages: (_o = state.localThreadMessages) === null || _o === void 0 ? void 0 : _o.filter(function (msg) { return ((msg === null || msg === void 0 ? void 0 : msg.messageId) !== messageId_1); }) });
173
+ }
174
+ case ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID: {
175
+ return __assign(__assign({}, state), { localThreadMessages: state.localThreadMessages.filter(function (m) { return (!compareIds(m.reqId, action.payload)); }) });
176
+ }
177
+ case ThreadContextActionTypes.ON_REACTION_UPDATED: {
178
+ var reactionEvent_1 = (_p = action.payload) === null || _p === void 0 ? void 0 : _p.reactionEvent;
179
+ if (((_q = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _q === void 0 ? void 0 : _q.messageId) === (reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId)) {
180
+ (_s = (_r = state.parentMessage) === null || _r === void 0 ? void 0 : _r.applyReactionEvent) === null || _s === void 0 ? void 0 : _s.call(_r, reactionEvent_1);
181
+ }
182
+ return __assign(__assign({}, state), { allThreadMessages: state.allThreadMessages.map(function (m) {
183
+ var _a;
184
+ if ((reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId) === (m === null || m === void 0 ? void 0 : m.messageId)) {
185
+ (_a = m === null || m === void 0 ? void 0 : m.applyReactionEvent) === null || _a === void 0 ? void 0 : _a.call(m, reactionEvent_1);
186
+ return m;
187
+ }
188
+ return m;
189
+ }) });
190
+ }
191
+ // event handlers - user status change
192
+ case ThreadContextActionTypes.ON_USER_MUTED: {
193
+ var _3 = action.payload, channel = _3.channel, user = _3.user;
194
+ if (((_t = state.currentChannel) === null || _t === void 0 ? void 0 : _t.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
195
+ return state;
196
+ }
197
+ return __assign(__assign({}, state), { isMuted: true });
198
+ }
199
+ case ThreadContextActionTypes.ON_USER_UNMUTED: {
200
+ var _4 = action.payload, channel = _4.channel, user = _4.user;
201
+ if (((_u = state.currentChannel) === null || _u === void 0 ? void 0 : _u.url) !== (channel === null || channel === void 0 ? void 0 : channel.url) || state.currentUserId !== (user === null || user === void 0 ? void 0 : user.userId)) {
202
+ return state;
203
+ }
204
+ return __assign(__assign({}, state), { isMuted: false });
205
+ }
206
+ case ThreadContextActionTypes.ON_USER_BANNED: {
207
+ return __assign(__assign({}, state), { channelState: ChannelStateTypes.NIL, threadListState: ThreadListStateTypes.NIL, parentMessageState: ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, allThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
208
+ }
209
+ case ThreadContextActionTypes.ON_USER_UNBANNED: {
210
+ return __assign({}, state);
211
+ }
212
+ case ThreadContextActionTypes.ON_USER_LEFT: {
213
+ return __assign(__assign({}, state), { channelState: ChannelStateTypes.NIL, threadListState: ThreadListStateTypes.NIL, parentMessageState: ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, allThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
214
+ }
215
+ // event handler - channel status change
216
+ case ThreadContextActionTypes.ON_CHANNEL_FROZEN: {
217
+ return __assign(__assign({}, state), { isChannelFrozen: true });
218
+ }
219
+ case ThreadContextActionTypes.ON_CHANNEL_UNFROZEN: {
220
+ return __assign(__assign({}, state), { isChannelFrozen: false });
221
+ }
222
+ case ThreadContextActionTypes.ON_OPERATOR_UPDATED: {
223
+ var channel = action.payload.channel;
224
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === ((_v = state.currentChannel) === null || _v === void 0 ? void 0 : _v.url)) {
225
+ return __assign(__assign({}, state), { currentChannel: channel });
226
+ }
227
+ return state;
228
+ }
229
+ // message
230
+ case ThreadContextActionTypes.SEND_MESSAGE_START: {
231
+ var message = action.payload.message;
232
+ return __assign(__assign({}, state), { localThreadMessages: __spreadArray(__spreadArray([], state.localThreadMessages, true), [
233
+ message,
234
+ ], false) });
235
+ }
236
+ case ThreadContextActionTypes.SEND_MESSAGE_SUCESS: {
237
+ var message_3 = action.payload.message;
238
+ return __assign(__assign({}, state), { allThreadMessages: __spreadArray(__spreadArray([], state.allThreadMessages.filter(function (m) { return (!compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId)); }), true), [
239
+ message_3,
240
+ ], false), localThreadMessages: state.localThreadMessages.filter(function (m) { return (!compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId)); }) });
241
+ }
242
+ case ThreadContextActionTypes.SEND_MESSAGE_FAILURE: {
243
+ var message_4 = action.payload.message;
244
+ return __assign(__assign({}, state), { localThreadMessages: state.localThreadMessages.map(function (m) { return (compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_4 === null || message_4 === void 0 ? void 0 : message_4.reqId)
245
+ ? message_4
246
+ : m); }) });
247
+ }
248
+ case ThreadContextActionTypes.RESEND_MESSAGE_START: {
249
+ var message_5 = action.payload.message;
250
+ return __assign(__assign({}, state), { localThreadMessages: state.localThreadMessages.map(function (m) { return (compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_5 === null || message_5 === void 0 ? void 0 : message_5.reqId)
251
+ ? message_5
252
+ : m); }) });
253
+ }
254
+ case ThreadContextActionTypes.ON_FILE_INFO_UPLOADED: {
255
+ var _5 = action.payload, channelUrl = _5.channelUrl, requestId_1 = _5.requestId, index = _5.index, uploadableFileInfo = _5.uploadableFileInfo, error = _5.error;
256
+ if (!compareIds(channelUrl, (_w = state.currentChannel) === null || _w === void 0 ? void 0 : _w.url)) {
257
+ return state;
258
+ }
259
+ /**
260
+ * We don't have to do anything here because
261
+ * onFailed() will be called so handle error there instead.
262
+ */
263
+ if (error)
264
+ return state;
265
+ var localThreadMessages = state.localThreadMessages;
266
+ var messageToUpdate = localThreadMessages.find(function (message) { return compareIds(hasReqId(message) && message.reqId, requestId_1); });
267
+ var fileInfoList = (_x = messageToUpdate
268
+ .messageParams) === null || _x === void 0 ? void 0 : _x.fileInfoList;
269
+ if (Array.isArray(fileInfoList)) {
270
+ fileInfoList[index] = uploadableFileInfo;
271
+ }
272
+ return __assign(__assign({}, state), { localThreadMessages: localThreadMessages });
273
+ }
274
+ case ThreadContextActionTypes.ON_TYPING_STATUS_UPDATED: {
275
+ var _6 = action.payload, channel = _6.channel, typingMembers = _6.typingMembers;
276
+ if (!compareIds(channel.url, (_y = state.currentChannel) === null || _y === void 0 ? void 0 : _y.url)) {
277
+ return state;
278
+ }
279
+ return __assign(__assign({}, state), { typingMembers: typingMembers });
280
+ }
281
+ default: {
282
+ return state;
283
+ }
284
+ }
285
+ }
286
+ function hasReqId(message) {
287
+ return 'reqId' in message;
288
288
  }
289
289
 
290
- var initialState = {
291
- currentChannel: null,
292
- allThreadMessages: [],
293
- localThreadMessages: [],
294
- parentMessage: null,
295
- channelState: ChannelStateTypes.NIL,
296
- parentMessageState: ParentMessageStateTypes.NIL,
297
- threadListState: ThreadListStateTypes.NIL,
298
- hasMorePrev: false,
299
- hasMoreNext: false,
300
- emojiContainer: {},
301
- isMuted: false,
302
- isChannelFrozen: false,
303
- currentUserId: '',
304
- typingMembers: [],
290
+ var initialState = {
291
+ currentChannel: null,
292
+ allThreadMessages: [],
293
+ localThreadMessages: [],
294
+ parentMessage: null,
295
+ channelState: ChannelStateTypes.NIL,
296
+ parentMessageState: ParentMessageStateTypes.NIL,
297
+ threadListState: ThreadListStateTypes.NIL,
298
+ hasMorePrev: false,
299
+ hasMoreNext: false,
300
+ emojiContainer: {},
301
+ isMuted: false,
302
+ isChannelFrozen: false,
303
+ currentUserId: '',
304
+ typingMembers: [],
305
305
  };
306
306
 
307
- function useGetChannel(_a, _b) {
308
- var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, message = _a.message;
309
- var sdk = _b.sdk, logger = _b.logger, threadDispatcher = _b.threadDispatcher;
310
- useEffect(function () {
311
- var _a, _b;
312
- // validation check
313
- if (sdkInit && channelUrl && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
314
- threadDispatcher({
315
- type: ThreadContextActionTypes.GET_CHANNEL_START,
316
- payload: null,
317
- });
318
- (_b = (_a = sdk.groupChannel).getChannel) === null || _b === void 0 ? void 0 : _b.call(_a, channelUrl).then(function (groupChannel) {
319
- logger.info('Thread | useInitialize: Get channel succeeded', groupChannel);
320
- threadDispatcher({
321
- type: ThreadContextActionTypes.GET_CHANNEL_SUCCESS,
322
- payload: { groupChannel: groupChannel },
323
- });
324
- }).catch(function (error) {
325
- logger.info('Thread | useInitialize: Get channel failed', error);
326
- threadDispatcher({
327
- type: ThreadContextActionTypes.GET_CHANNEL_FAILURE,
328
- payload: error,
329
- });
330
- });
331
- }
332
- }, [message, sdkInit]);
333
- /**
334
- * We don't use channelUrl here,
335
- * because Thread must operate independently of the channel.
336
- */
307
+ function useGetChannel(_a, _b) {
308
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, message = _a.message;
309
+ var sdk = _b.sdk, logger = _b.logger, threadDispatcher = _b.threadDispatcher;
310
+ useEffect(function () {
311
+ var _a, _b;
312
+ // validation check
313
+ if (sdkInit && channelUrl && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
314
+ threadDispatcher({
315
+ type: ThreadContextActionTypes.GET_CHANNEL_START,
316
+ payload: null,
317
+ });
318
+ (_b = (_a = sdk.groupChannel).getChannel) === null || _b === void 0 ? void 0 : _b.call(_a, channelUrl).then(function (groupChannel) {
319
+ logger.info('Thread | useInitialize: Get channel succeeded', groupChannel);
320
+ threadDispatcher({
321
+ type: ThreadContextActionTypes.GET_CHANNEL_SUCCESS,
322
+ payload: { groupChannel: groupChannel },
323
+ });
324
+ }).catch(function (error) {
325
+ logger.info('Thread | useInitialize: Get channel failed', error);
326
+ threadDispatcher({
327
+ type: ThreadContextActionTypes.GET_CHANNEL_FAILURE,
328
+ payload: error,
329
+ });
330
+ });
331
+ }
332
+ }, [message, sdkInit]);
333
+ /**
334
+ * We don't use channelUrl here,
335
+ * because Thread must operate independently of the channel.
336
+ */
337
337
  }
338
338
 
339
- function useGetAllEmoji(_a, _b) {
340
- var sdk = _a.sdk;
341
- var logger = _b.logger, threadDispatcher = _b.threadDispatcher;
342
- useEffect(function () {
343
- if (sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji) { // validation check
344
- sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji().then(function (emojiContainer) {
345
- logger.info('Thread | useGetAllEmoji: Getting emojis succeeded.', emojiContainer);
346
- threadDispatcher({
347
- type: ThreadContextActionTypes.SET_EMOJI_CONTAINER,
348
- payload: { emojiContainer: emojiContainer },
349
- });
350
- }).catch(function (error) {
351
- logger.info('Thread | useGetAllEmoji: Getting emojis failed.', error);
352
- });
353
- }
354
- }, [sdk]);
339
+ function useGetAllEmoji(_a, _b) {
340
+ var sdk = _a.sdk;
341
+ var logger = _b.logger, threadDispatcher = _b.threadDispatcher;
342
+ useEffect(function () {
343
+ if (sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji) { // validation check
344
+ sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji().then(function (emojiContainer) {
345
+ logger.info('Thread | useGetAllEmoji: Getting emojis succeeded.', emojiContainer);
346
+ threadDispatcher({
347
+ type: ThreadContextActionTypes.SET_EMOJI_CONTAINER,
348
+ payload: { emojiContainer: emojiContainer },
349
+ });
350
+ }).catch(function (error) {
351
+ logger.info('Thread | useGetAllEmoji: Getting emojis failed.', error);
352
+ });
353
+ }
354
+ }, [sdk]);
355
355
  }
356
356
 
357
- function useGetParentMessage(_a, _b) {
358
- var _this = this;
359
- var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, parentMessage = _a.parentMessage;
360
- var sdk = _b.sdk, logger = _b.logger, threadDispatcher = _b.threadDispatcher;
361
- useEffect(function () {
362
- var _a;
363
- // validation check
364
- if (sdkInit && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.message) === null || _a === void 0 ? void 0 : _a.getMessage)) {
365
- threadDispatcher({
366
- type: ThreadContextActionTypes.GET_PARENT_MESSAGE_START,
367
- payload: null,
368
- });
369
- var params_1 = {
370
- channelUrl: channelUrl,
371
- channelType: ChannelType.GROUP,
372
- messageId: parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId,
373
- includeMetaArray: true,
374
- includeReactions: true,
375
- includeThreadInfo: true,
376
- includeParentMessageInfo: true,
377
- };
378
- logger.info('Thread | useGetParentMessage: Get parent message start.', params_1);
379
- var fetchParentMessage = function () { return __awaiter(_this, void 0, void 0, function () {
380
- var data;
381
- var _a, _b;
382
- return __generator(this, function (_c) {
383
- switch (_c.label) {
384
- case 0: return [4 /*yield*/, ((_b = (_a = sdk.message).getMessage) === null || _b === void 0 ? void 0 : _b.call(_a, params_1))];
385
- case 1:
386
- data = _c.sent();
387
- return [2 /*return*/, data];
388
- }
389
- });
390
- }); };
391
- fetchParentMessage()
392
- .then(function (parentMsg) {
393
- logger.info('Thread | useGetParentMessage: Get parent message succeeded.', parentMessage);
394
- // @ts-ignore
395
- parentMsg.ogMetaData = (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.ogMetaData) || null; // ogMetaData is not included for now
396
- threadDispatcher({
397
- type: ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS,
398
- payload: { parentMessage: parentMsg },
399
- });
400
- })
401
- .catch(function (error) {
402
- logger.info('Thread | useGetParentMessage: Get parent message failed.', error);
403
- threadDispatcher({
404
- type: ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE,
405
- payload: error,
406
- });
407
- });
408
- }
409
- }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
410
- /**
411
- * We don't use channelUrl here,
412
- * because Thread must operate independently of the channel.
413
- */
357
+ function useGetParentMessage(_a, _b) {
358
+ var _this = this;
359
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, parentMessage = _a.parentMessage;
360
+ var sdk = _b.sdk, logger = _b.logger, threadDispatcher = _b.threadDispatcher;
361
+ useEffect(function () {
362
+ var _a;
363
+ // validation check
364
+ if (sdkInit && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.message) === null || _a === void 0 ? void 0 : _a.getMessage)) {
365
+ threadDispatcher({
366
+ type: ThreadContextActionTypes.GET_PARENT_MESSAGE_START,
367
+ payload: null,
368
+ });
369
+ var params_1 = {
370
+ channelUrl: channelUrl,
371
+ channelType: ChannelType.GROUP,
372
+ messageId: parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId,
373
+ includeMetaArray: true,
374
+ includeReactions: true,
375
+ includeThreadInfo: true,
376
+ includeParentMessageInfo: true,
377
+ };
378
+ logger.info('Thread | useGetParentMessage: Get parent message start.', params_1);
379
+ var fetchParentMessage = function () { return __awaiter(_this, void 0, void 0, function () {
380
+ var data;
381
+ var _a, _b;
382
+ return __generator(this, function (_c) {
383
+ switch (_c.label) {
384
+ case 0: return [4 /*yield*/, ((_b = (_a = sdk.message).getMessage) === null || _b === void 0 ? void 0 : _b.call(_a, params_1))];
385
+ case 1:
386
+ data = _c.sent();
387
+ return [2 /*return*/, data];
388
+ }
389
+ });
390
+ }); };
391
+ fetchParentMessage()
392
+ .then(function (parentMsg) {
393
+ logger.info('Thread | useGetParentMessage: Get parent message succeeded.', parentMessage);
394
+ // @ts-ignore
395
+ parentMsg.ogMetaData = (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.ogMetaData) || null; // ogMetaData is not included for now
396
+ threadDispatcher({
397
+ type: ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS,
398
+ payload: { parentMessage: parentMsg },
399
+ });
400
+ })
401
+ .catch(function (error) {
402
+ logger.info('Thread | useGetParentMessage: Get parent message failed.', error);
403
+ threadDispatcher({
404
+ type: ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE,
405
+ payload: error,
406
+ });
407
+ });
408
+ }
409
+ }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
410
+ /**
411
+ * We don't use channelUrl here,
412
+ * because Thread must operate independently of the channel.
413
+ */
414
414
  }
415
415
 
416
- function useHandleThreadPubsubEvents(_a, _b) {
417
- var sdkInit = _a.sdkInit, currentChannel = _a.currentChannel, parentMessage = _a.parentMessage;
418
- var pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
419
- useEffect(function () {
420
- var subscriber = new Map();
421
- if (pubSub === null || pubSub === void 0 ? void 0 : pubSub.subscribe) {
422
- // TODO: subscribe ON_FILE_INFO_UPLOADED
423
- subscriber.set(pubSubTopics.SEND_MESSAGE_START, pubSub.subscribe(pubSubTopics.SEND_MESSAGE_START, function (props) {
424
- var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
425
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId) && shouldPubSubPublishToThread(publishingModules)) {
426
- // TODO: const clonedMessage = cloneMessage(message);
427
- var pendingMessage = __assign({}, message);
428
- if (message.isMultipleFilesMessage()) {
429
- pendingMessage.fileInfoList = message.messageParams.fileInfoList.map(function (fileInfo) { return (__assign(__assign({}, fileInfo), { url: URL.createObjectURL(fileInfo.file) })); });
430
- }
431
- threadDispatcher({
432
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
433
- payload: {
434
- message: pendingMessage,
435
- },
436
- });
437
- }
438
- scrollIntoLast === null || scrollIntoLast === void 0 ? void 0 : scrollIntoLast();
439
- }));
440
- subscriber.set(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, pubSub.subscribe(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, function (props) {
441
- var response = props.response, publishingModules = props.publishingModules;
442
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === response.channelUrl && shouldPubSubPublishToThread(publishingModules)) {
443
- threadDispatcher({
444
- type: ON_FILE_INFO_UPLOADED,
445
- payload: response,
446
- });
447
- }
448
- }));
449
- subscriber.set(pubSubTopics.SEND_USER_MESSAGE, pubSub.subscribe(pubSubTopics.SEND_USER_MESSAGE, function (props) {
450
- var _a = props, channel = _a.channel, message = _a.message;
451
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)
452
- && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId)) {
453
- threadDispatcher({
454
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
455
- payload: { message: message },
456
- });
457
- }
458
- scrollIntoLast === null || scrollIntoLast === void 0 ? void 0 : scrollIntoLast();
459
- }));
460
- subscriber.set(pubSubTopics.SEND_MESSAGE_FAILED, pubSub.subscribe(pubSubTopics.SEND_MESSAGE_FAILED, function (props) {
461
- var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
462
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId) && shouldPubSubPublishToThread(publishingModules)) {
463
- threadDispatcher({
464
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
465
- payload: { message: message },
466
- });
467
- }
468
- }));
469
- subscriber.set(pubSubTopics.SEND_FILE_MESSAGE, pubSub.subscribe(pubSubTopics.SEND_FILE_MESSAGE, function (props) {
470
- var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
471
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && shouldPubSubPublishToThread(publishingModules)) {
472
- threadDispatcher({
473
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
474
- payload: { message: message },
475
- });
476
- }
477
- scrollIntoLast === null || scrollIntoLast === void 0 ? void 0 : scrollIntoLast();
478
- }));
479
- subscriber.set(pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSubTopics.UPDATE_USER_MESSAGE, function (props) {
480
- var _a = props, channel = _a.channel, message = _a.message;
481
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
482
- threadDispatcher({
483
- type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
484
- payload: { channel: channel, message: message },
485
- });
486
- }
487
- }));
488
- subscriber.set(pubSubTopics.DELETE_MESSAGE, pubSub.subscribe(pubSubTopics.DELETE_MESSAGE, function (props) {
489
- var _a = props, channel = _a.channel, messageId = _a.messageId;
490
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
491
- threadDispatcher({
492
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
493
- payload: { messageId: messageId },
494
- });
495
- }
496
- }));
497
- }
498
- return function () {
499
- subscriber === null || subscriber === void 0 ? void 0 : subscriber.forEach(function (s) {
500
- try {
501
- s === null || s === void 0 ? void 0 : s.remove();
502
- }
503
- catch (_a) {
504
- //
505
- }
506
- });
507
- };
508
- }, [sdkInit, currentChannel, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
416
+ function useHandleThreadPubsubEvents(_a, _b) {
417
+ var sdkInit = _a.sdkInit, currentChannel = _a.currentChannel, parentMessage = _a.parentMessage;
418
+ var pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
419
+ useEffect(function () {
420
+ var subscriber = new Map();
421
+ if (pubSub === null || pubSub === void 0 ? void 0 : pubSub.subscribe) {
422
+ // TODO: subscribe ON_FILE_INFO_UPLOADED
423
+ subscriber.set(pubSubTopics.SEND_MESSAGE_START, pubSub.subscribe(pubSubTopics.SEND_MESSAGE_START, function (props) {
424
+ var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
425
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId) && shouldPubSubPublishToThread(publishingModules)) {
426
+ // TODO: const clonedMessage = cloneMessage(message);
427
+ var pendingMessage = __assign({}, message);
428
+ if (message.isMultipleFilesMessage()) {
429
+ pendingMessage.fileInfoList = message.messageParams.fileInfoList.map(function (fileInfo) { return (__assign(__assign({}, fileInfo), { url: URL.createObjectURL(fileInfo.file) })); });
430
+ }
431
+ threadDispatcher({
432
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
433
+ payload: {
434
+ message: pendingMessage,
435
+ },
436
+ });
437
+ }
438
+ scrollIntoLast === null || scrollIntoLast === void 0 ? void 0 : scrollIntoLast();
439
+ }));
440
+ subscriber.set(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, pubSub.subscribe(PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, function (props) {
441
+ var response = props.response, publishingModules = props.publishingModules;
442
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === response.channelUrl && shouldPubSubPublishToThread(publishingModules)) {
443
+ threadDispatcher({
444
+ type: ON_FILE_INFO_UPLOADED,
445
+ payload: response,
446
+ });
447
+ }
448
+ }));
449
+ subscriber.set(pubSubTopics.SEND_USER_MESSAGE, pubSub.subscribe(pubSubTopics.SEND_USER_MESSAGE, function (props) {
450
+ var _a = props, channel = _a.channel, message = _a.message;
451
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)
452
+ && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId)) {
453
+ threadDispatcher({
454
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
455
+ payload: { message: message },
456
+ });
457
+ }
458
+ scrollIntoLast === null || scrollIntoLast === void 0 ? void 0 : scrollIntoLast();
459
+ }));
460
+ subscriber.set(pubSubTopics.SEND_MESSAGE_FAILED, pubSub.subscribe(pubSubTopics.SEND_MESSAGE_FAILED, function (props) {
461
+ var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
462
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId) && shouldPubSubPublishToThread(publishingModules)) {
463
+ threadDispatcher({
464
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
465
+ payload: { message: message },
466
+ });
467
+ }
468
+ }));
469
+ subscriber.set(pubSubTopics.SEND_FILE_MESSAGE, pubSub.subscribe(pubSubTopics.SEND_FILE_MESSAGE, function (props) {
470
+ var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
471
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && shouldPubSubPublishToThread(publishingModules)) {
472
+ threadDispatcher({
473
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
474
+ payload: { message: message },
475
+ });
476
+ }
477
+ scrollIntoLast === null || scrollIntoLast === void 0 ? void 0 : scrollIntoLast();
478
+ }));
479
+ subscriber.set(pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSubTopics.UPDATE_USER_MESSAGE, function (props) {
480
+ var _a = props, channel = _a.channel, message = _a.message;
481
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
482
+ threadDispatcher({
483
+ type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
484
+ payload: { channel: channel, message: message },
485
+ });
486
+ }
487
+ }));
488
+ subscriber.set(pubSubTopics.DELETE_MESSAGE, pubSub.subscribe(pubSubTopics.DELETE_MESSAGE, function (props) {
489
+ var _a = props, channel = _a.channel, messageId = _a.messageId;
490
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
491
+ threadDispatcher({
492
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
493
+ payload: { messageId: messageId },
494
+ });
495
+ }
496
+ }));
497
+ }
498
+ return function () {
499
+ subscriber === null || subscriber === void 0 ? void 0 : subscriber.forEach(function (s) {
500
+ try {
501
+ s === null || s === void 0 ? void 0 : s.remove();
502
+ }
503
+ catch (_a) {
504
+ //
505
+ }
506
+ });
507
+ };
508
+ }, [sdkInit, currentChannel, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
509
509
  }
510
510
 
511
- function useHandleChannelEvents(_a, _b) {
512
- var sdk = _a.sdk, currentChannel = _a.currentChannel;
513
- var logger = _b.logger, threadDispatcher = _b.threadDispatcher;
514
- useEffect(function () {
515
- var _a, _b, _c;
516
- var handlerId = uuidv4();
517
- // validation check
518
- if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler)
519
- && currentChannel) {
520
- var channelHandlerParams = {
521
- // message status change
522
- onMessageReceived: function (channel, message) {
523
- logger.info('Thread | useHandleChannelEvents: onMessageReceived', { channel: channel, message: message });
524
- threadDispatcher({
525
- type: ThreadContextActionTypes.ON_MESSAGE_RECEIVED,
526
- payload: { channel: channel, message: message },
527
- });
528
- },
529
- onMessageUpdated: function (channel, message) {
530
- logger.info('Thread | useHandleChannelEvents: onMessageUpdated', { channel: channel, message: message });
531
- threadDispatcher({
532
- type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
533
- payload: { channel: channel, message: message },
534
- });
535
- },
536
- onMessageDeleted: function (channel, messageId) {
537
- logger.info('Thread | useHandleChannelEvents: onMessageDeleted', { channel: channel, messageId: messageId });
538
- threadDispatcher({
539
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
540
- payload: { channel: channel, messageId: messageId },
541
- });
542
- },
543
- onReactionUpdated: function (channel, reactionEvent) {
544
- logger.info('Thread | useHandleChannelEvents: onReactionUpdated', { channel: channel, reactionEvent: reactionEvent });
545
- threadDispatcher({
546
- type: ThreadContextActionTypes.ON_REACTION_UPDATED,
547
- payload: { channel: channel, reactionEvent: reactionEvent },
548
- });
549
- },
550
- // user status change
551
- onUserMuted: function (channel, user) {
552
- logger.info('Thread | useHandleChannelEvents: onUserMuted', { channel: channel, user: user });
553
- threadDispatcher({
554
- type: ThreadContextActionTypes.ON_USER_MUTED,
555
- payload: { channel: channel, user: user },
556
- });
557
- },
558
- onUserUnmuted: function (channel, user) {
559
- logger.info('Thread | useHandleChannelEvents: onUserUnmuted', { channel: channel, user: user });
560
- threadDispatcher({
561
- type: ThreadContextActionTypes.ON_USER_UNMUTED,
562
- payload: { channel: channel, user: user },
563
- });
564
- },
565
- onUserBanned: function (channel, user) {
566
- logger.info('Thread | useHandleChannelEvents: onUserBanned', { channel: channel, user: user });
567
- threadDispatcher({
568
- type: ThreadContextActionTypes.ON_USER_BANNED,
569
- payload: { channel: channel, user: user },
570
- });
571
- },
572
- onUserUnbanned: function (channel, user) {
573
- logger.info('Thread | useHandleChannelEvents: onUserUnbanned', { channel: channel, user: user });
574
- threadDispatcher({
575
- type: ThreadContextActionTypes.ON_USER_UNBANNED,
576
- payload: { channel: channel, user: user },
577
- });
578
- },
579
- onUserLeft: function (channel, user) {
580
- logger.info('Thread | useHandleChannelEvents: onUserLeft', { channel: channel, user: user });
581
- threadDispatcher({
582
- type: ThreadContextActionTypes.ON_USER_LEFT,
583
- payload: { channel: channel, user: user },
584
- });
585
- },
586
- // channel status change
587
- onChannelFrozen: function (channel) {
588
- logger.info('Thread | useHandleChannelEvents: onChannelFrozen', { channel: channel });
589
- threadDispatcher({
590
- type: ThreadContextActionTypes.ON_CHANNEL_FROZEN,
591
- payload: { channel: channel },
592
- });
593
- },
594
- onChannelUnfrozen: function (channel) {
595
- logger.info('Thread | useHandleChannelEvents: onChannelUnfrozen', { channel: channel });
596
- threadDispatcher({
597
- type: ThreadContextActionTypes.ON_CHANNEL_UNFROZEN,
598
- payload: { channel: channel },
599
- });
600
- },
601
- onOperatorUpdated: function (channel, users) {
602
- logger.info('Thread | useHandleChannelEvents: onOperatorUpdated', { channel: channel, users: users });
603
- threadDispatcher({
604
- type: ThreadContextActionTypes.ON_OPERATOR_UPDATED,
605
- payload: { channel: channel, users: users },
606
- });
607
- },
608
- onTypingStatusUpdated: function (channel) {
609
- if (compareIds$1(channel === null || channel === void 0 ? void 0 : channel.url, currentChannel.url)) {
610
- logger.info('Channel | onTypingStatusUpdated', { channel: channel });
611
- var typingMembers = channel.getTypingUsers();
612
- threadDispatcher({
613
- type: ON_TYPING_STATUS_UPDATED,
614
- payload: {
615
- channel: channel,
616
- typingMembers: typingMembers,
617
- },
618
- });
619
- }
620
- },
621
- };
622
- var channelHandler = new GroupChannelHandler(channelHandlerParams);
623
- (_c = (_b = sdk.groupChannel).addGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId, channelHandler);
624
- logger.info('Thread | useHandleChannelEvents: Added channelHandler in Thread', { handlerId: handlerId, channelHandler: channelHandler });
625
- }
626
- return function () {
627
- var _a, _b, _c;
628
- // validation check
629
- if (handlerId && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler)) {
630
- (_c = (_b = sdk.groupChannel).removeGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId);
631
- logger.info('Thread | useHandleChannelEvents: Removed channelHandler in Thread.', handlerId);
632
- }
633
- };
634
- }, [
635
- sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel,
636
- currentChannel,
637
- ]);
511
+ function useHandleChannelEvents(_a, _b) {
512
+ var sdk = _a.sdk, currentChannel = _a.currentChannel;
513
+ var logger = _b.logger, threadDispatcher = _b.threadDispatcher;
514
+ useEffect(function () {
515
+ var _a, _b, _c;
516
+ var handlerId = uuidv4();
517
+ // validation check
518
+ if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler)
519
+ && currentChannel) {
520
+ var channelHandlerParams = {
521
+ // message status change
522
+ onMessageReceived: function (channel, message) {
523
+ logger.info('Thread | useHandleChannelEvents: onMessageReceived', { channel: channel, message: message });
524
+ threadDispatcher({
525
+ type: ThreadContextActionTypes.ON_MESSAGE_RECEIVED,
526
+ payload: { channel: channel, message: message },
527
+ });
528
+ },
529
+ onMessageUpdated: function (channel, message) {
530
+ logger.info('Thread | useHandleChannelEvents: onMessageUpdated', { channel: channel, message: message });
531
+ threadDispatcher({
532
+ type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
533
+ payload: { channel: channel, message: message },
534
+ });
535
+ },
536
+ onMessageDeleted: function (channel, messageId) {
537
+ logger.info('Thread | useHandleChannelEvents: onMessageDeleted', { channel: channel, messageId: messageId });
538
+ threadDispatcher({
539
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
540
+ payload: { channel: channel, messageId: messageId },
541
+ });
542
+ },
543
+ onReactionUpdated: function (channel, reactionEvent) {
544
+ logger.info('Thread | useHandleChannelEvents: onReactionUpdated', { channel: channel, reactionEvent: reactionEvent });
545
+ threadDispatcher({
546
+ type: ThreadContextActionTypes.ON_REACTION_UPDATED,
547
+ payload: { channel: channel, reactionEvent: reactionEvent },
548
+ });
549
+ },
550
+ // user status change
551
+ onUserMuted: function (channel, user) {
552
+ logger.info('Thread | useHandleChannelEvents: onUserMuted', { channel: channel, user: user });
553
+ threadDispatcher({
554
+ type: ThreadContextActionTypes.ON_USER_MUTED,
555
+ payload: { channel: channel, user: user },
556
+ });
557
+ },
558
+ onUserUnmuted: function (channel, user) {
559
+ logger.info('Thread | useHandleChannelEvents: onUserUnmuted', { channel: channel, user: user });
560
+ threadDispatcher({
561
+ type: ThreadContextActionTypes.ON_USER_UNMUTED,
562
+ payload: { channel: channel, user: user },
563
+ });
564
+ },
565
+ onUserBanned: function (channel, user) {
566
+ logger.info('Thread | useHandleChannelEvents: onUserBanned', { channel: channel, user: user });
567
+ threadDispatcher({
568
+ type: ThreadContextActionTypes.ON_USER_BANNED,
569
+ payload: { channel: channel, user: user },
570
+ });
571
+ },
572
+ onUserUnbanned: function (channel, user) {
573
+ logger.info('Thread | useHandleChannelEvents: onUserUnbanned', { channel: channel, user: user });
574
+ threadDispatcher({
575
+ type: ThreadContextActionTypes.ON_USER_UNBANNED,
576
+ payload: { channel: channel, user: user },
577
+ });
578
+ },
579
+ onUserLeft: function (channel, user) {
580
+ logger.info('Thread | useHandleChannelEvents: onUserLeft', { channel: channel, user: user });
581
+ threadDispatcher({
582
+ type: ThreadContextActionTypes.ON_USER_LEFT,
583
+ payload: { channel: channel, user: user },
584
+ });
585
+ },
586
+ // channel status change
587
+ onChannelFrozen: function (channel) {
588
+ logger.info('Thread | useHandleChannelEvents: onChannelFrozen', { channel: channel });
589
+ threadDispatcher({
590
+ type: ThreadContextActionTypes.ON_CHANNEL_FROZEN,
591
+ payload: { channel: channel },
592
+ });
593
+ },
594
+ onChannelUnfrozen: function (channel) {
595
+ logger.info('Thread | useHandleChannelEvents: onChannelUnfrozen', { channel: channel });
596
+ threadDispatcher({
597
+ type: ThreadContextActionTypes.ON_CHANNEL_UNFROZEN,
598
+ payload: { channel: channel },
599
+ });
600
+ },
601
+ onOperatorUpdated: function (channel, users) {
602
+ logger.info('Thread | useHandleChannelEvents: onOperatorUpdated', { channel: channel, users: users });
603
+ threadDispatcher({
604
+ type: ThreadContextActionTypes.ON_OPERATOR_UPDATED,
605
+ payload: { channel: channel, users: users },
606
+ });
607
+ },
608
+ onTypingStatusUpdated: function (channel) {
609
+ if (compareIds$1(channel === null || channel === void 0 ? void 0 : channel.url, currentChannel.url)) {
610
+ logger.info('Channel | onTypingStatusUpdated', { channel: channel });
611
+ var typingMembers = channel.getTypingUsers();
612
+ threadDispatcher({
613
+ type: ON_TYPING_STATUS_UPDATED,
614
+ payload: {
615
+ channel: channel,
616
+ typingMembers: typingMembers,
617
+ },
618
+ });
619
+ }
620
+ },
621
+ };
622
+ var channelHandler = new GroupChannelHandler(channelHandlerParams);
623
+ (_c = (_b = sdk.groupChannel).addGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId, channelHandler);
624
+ logger.info('Thread | useHandleChannelEvents: Added channelHandler in Thread', { handlerId: handlerId, channelHandler: channelHandler });
625
+ }
626
+ return function () {
627
+ var _a, _b, _c;
628
+ // validation check
629
+ if (handlerId && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler)) {
630
+ (_c = (_b = sdk.groupChannel).removeGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId);
631
+ logger.info('Thread | useHandleChannelEvents: Removed channelHandler in Thread.', handlerId);
632
+ }
633
+ };
634
+ }, [
635
+ sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel,
636
+ currentChannel,
637
+ ]);
638
638
  }
639
639
 
640
- function useSendFileMessageCallback(_a, _b) {
641
- var currentChannel = _a.currentChannel, onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
642
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
643
- var sendMessage = useCallback(function (file, quoteMessage) {
644
- return new Promise(function (resolve, reject) {
645
- var _a;
646
- var createParamsDefault = function () {
647
- var params = {};
648
- params.file = file;
649
- if (quoteMessage) {
650
- params.isReplyToChannel = true;
651
- params.parentMessageId = quoteMessage.messageId;
652
- }
653
- return params;
654
- };
655
- var params = (_a = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(file, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
656
- logger.info('Thread | useSendFileMessageCallback: Sending file message start.', params);
657
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(params).onPending(function (pendingMessage) {
658
- threadDispatcher({
659
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
660
- payload: {
661
- /* pubSub is used instead of messagesDispatcher
662
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
663
- // TODO: remove data pollution
664
- message: __assign(__assign({}, pendingMessage), { url: URL.createObjectURL(file),
665
- // pending thumbnail message seems to be failed
666
- requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
667
- },
668
- });
669
- setTimeout(function () { return scrollIntoLast(); }, SCROLL_BOTTOM_DELAY_FOR_SEND);
670
- }).onFailed(function (error, message) {
671
- message.localUrl = URL.createObjectURL(file);
672
- message.file = file;
673
- logger.info('Thread | useSendFileMessageCallback: Sending file message failed.', { message: message, error: error });
674
- threadDispatcher({
675
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
676
- payload: { message: message, error: error },
677
- });
678
- reject(error);
679
- }).onSucceeded(function (message) {
680
- logger.info('Thread | useSendFileMessageCallback: Sending file message succeeded.', message);
681
- pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
682
- channel: currentChannel,
683
- message: message,
684
- publishingModules: [PublishingModuleType.THREAD],
685
- });
686
- resolve(message);
687
- });
688
- });
689
- }, [currentChannel]);
690
- return sendMessage;
640
+ function useSendFileMessageCallback(_a, _b) {
641
+ var currentChannel = _a.currentChannel, onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
642
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
643
+ var sendMessage = useCallback(function (file, quoteMessage) {
644
+ return new Promise(function (resolve, reject) {
645
+ var _a;
646
+ var createParamsDefault = function () {
647
+ var params = {};
648
+ params.file = file;
649
+ if (quoteMessage) {
650
+ params.isReplyToChannel = true;
651
+ params.parentMessageId = quoteMessage.messageId;
652
+ }
653
+ return params;
654
+ };
655
+ var params = (_a = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(file, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
656
+ logger.info('Thread | useSendFileMessageCallback: Sending file message start.', params);
657
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(params).onPending(function (pendingMessage) {
658
+ threadDispatcher({
659
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
660
+ payload: {
661
+ /* pubSub is used instead of messagesDispatcher
662
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
663
+ // TODO: remove data pollution
664
+ message: __assign(__assign({}, pendingMessage), { url: URL.createObjectURL(file),
665
+ // pending thumbnail message seems to be failed
666
+ requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
667
+ },
668
+ });
669
+ setTimeout(function () { return scrollIntoLast(); }, SCROLL_BOTTOM_DELAY_FOR_SEND);
670
+ }).onFailed(function (error, message) {
671
+ message.localUrl = URL.createObjectURL(file);
672
+ message.file = file;
673
+ logger.info('Thread | useSendFileMessageCallback: Sending file message failed.', { message: message, error: error });
674
+ threadDispatcher({
675
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
676
+ payload: { message: message, error: error },
677
+ });
678
+ reject(error);
679
+ }).onSucceeded(function (message) {
680
+ logger.info('Thread | useSendFileMessageCallback: Sending file message succeeded.', message);
681
+ pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
682
+ channel: currentChannel,
683
+ message: message,
684
+ publishingModules: [PublishingModuleType.THREAD],
685
+ });
686
+ resolve(message);
687
+ });
688
+ });
689
+ }, [currentChannel]);
690
+ return sendMessage;
691
691
  }
692
692
 
693
- function useUpdateMessageCallback(_a, _b) {
694
- var currentChannel = _a.currentChannel, isMentionEnabled = _a.isMentionEnabled;
695
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
696
- // TODO: add type
697
- return useCallback(function (props) {
698
- var _a;
699
- var messageId = props.messageId, message = props.message, mentionedUsers = props.mentionedUsers, mentionTemplate = props.mentionTemplate;
700
- var createParamsDefault = function () {
701
- var params = {};
702
- params.message = message;
703
- if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
704
- params.mentionedUsers = mentionedUsers;
705
- }
706
- if (isMentionEnabled && mentionTemplate) {
707
- params.mentionedMessageTemplate = mentionTemplate;
708
- }
709
- else {
710
- params.mentionedMessageTemplate = message;
711
- }
712
- return params;
713
- };
714
- var params = createParamsDefault();
715
- logger.info('Thread | useUpdateMessageCallback: Message update start.', params);
716
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.updateUserMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, messageId, params).then(function (message) {
717
- logger.info('Thread | useUpdateMessageCallback: Message update succeeded.', message);
718
- threadDispatcher({
719
- type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
720
- payload: {
721
- channel: currentChannel,
722
- message: message,
723
- },
724
- });
725
- pubSub.publish(pubSubTopics.UPDATE_USER_MESSAGE, {
726
- fromSelector: true,
727
- channel: currentChannel,
728
- message: message,
729
- publishingModules: [PublishingModuleType.THREAD],
730
- });
731
- });
732
- }, [currentChannel, isMentionEnabled]);
693
+ function useUpdateMessageCallback(_a, _b) {
694
+ var currentChannel = _a.currentChannel, isMentionEnabled = _a.isMentionEnabled;
695
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
696
+ // TODO: add type
697
+ return useCallback(function (props) {
698
+ var _a;
699
+ var messageId = props.messageId, message = props.message, mentionedUsers = props.mentionedUsers, mentionTemplate = props.mentionTemplate;
700
+ var createParamsDefault = function () {
701
+ var params = {};
702
+ params.message = message;
703
+ if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
704
+ params.mentionedUsers = mentionedUsers;
705
+ }
706
+ if (isMentionEnabled && mentionTemplate) {
707
+ params.mentionedMessageTemplate = mentionTemplate;
708
+ }
709
+ else {
710
+ params.mentionedMessageTemplate = message;
711
+ }
712
+ return params;
713
+ };
714
+ var params = createParamsDefault();
715
+ logger.info('Thread | useUpdateMessageCallback: Message update start.', params);
716
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.updateUserMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, messageId, params).then(function (message) {
717
+ logger.info('Thread | useUpdateMessageCallback: Message update succeeded.', message);
718
+ threadDispatcher({
719
+ type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
720
+ payload: {
721
+ channel: currentChannel,
722
+ message: message,
723
+ },
724
+ });
725
+ pubSub.publish(pubSubTopics.UPDATE_USER_MESSAGE, {
726
+ fromSelector: true,
727
+ channel: currentChannel,
728
+ message: message,
729
+ publishingModules: [PublishingModuleType.THREAD],
730
+ });
731
+ });
732
+ }, [currentChannel, isMentionEnabled]);
733
733
  }
734
734
 
735
- function useDeleteMessageCallback(_a, _b) {
736
- var currentChannel = _a.currentChannel, threadDispatcher = _a.threadDispatcher;
737
- var logger = _b.logger;
738
- return useCallback(function (message) {
739
- logger.info('Thread | useDeleteMessageCallback: Deleting message.', message);
740
- var sendingStatus = message.sendingStatus;
741
- return new Promise(function (resolve, reject) {
742
- var _a;
743
- logger.info('Thread | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);
744
- // Message is only on local
745
- if (sendingStatus === 'failed' || sendingStatus === 'pending') {
746
- logger.info('Thread | useDeleteMessageCallback: Deleted message from local:', message);
747
- threadDispatcher({
748
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,
749
- payload: message.reqId,
750
- });
751
- resolve();
752
- }
753
- logger.info('Thread | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);
754
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message).then(function () {
755
- logger.info('Thread | useDeleteMessageCallback: Deleting message success!', message);
756
- threadDispatcher({
757
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
758
- payload: { message: message, channel: currentChannel },
759
- });
760
- resolve();
761
- }).catch(function (err) {
762
- logger.warning('Thread | useDeleteMessageCallback: Deleting message failed!', err);
763
- reject(err);
764
- });
765
- });
766
- }, [currentChannel]);
735
+ function useDeleteMessageCallback(_a, _b) {
736
+ var currentChannel = _a.currentChannel, threadDispatcher = _a.threadDispatcher;
737
+ var logger = _b.logger;
738
+ return useCallback(function (message) {
739
+ logger.info('Thread | useDeleteMessageCallback: Deleting message.', message);
740
+ var sendingStatus = message.sendingStatus;
741
+ return new Promise(function (resolve, reject) {
742
+ var _a;
743
+ logger.info('Thread | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);
744
+ // Message is only on local
745
+ if (sendingStatus === 'failed' || sendingStatus === 'pending') {
746
+ logger.info('Thread | useDeleteMessageCallback: Deleted message from local:', message);
747
+ threadDispatcher({
748
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,
749
+ payload: message.reqId,
750
+ });
751
+ resolve();
752
+ }
753
+ logger.info('Thread | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);
754
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message).then(function () {
755
+ logger.info('Thread | useDeleteMessageCallback: Deleting message success!', message);
756
+ threadDispatcher({
757
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
758
+ payload: { message: message, channel: currentChannel },
759
+ });
760
+ resolve();
761
+ }).catch(function (err) {
762
+ logger.warning('Thread | useDeleteMessageCallback: Deleting message failed!', err);
763
+ reject(err);
764
+ });
765
+ });
766
+ }, [currentChannel]);
767
767
  }
768
768
 
769
- function useToggleReactionCallback(_a, _b) {
770
- var currentChannel = _a.currentChannel;
771
- var logger = _b.logger;
772
- return useCallback(function (message, key, isReacted) {
773
- var _a, _b;
774
- if (isReacted) {
775
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteReaction) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message, key).then(function (res) {
776
- logger.info('Thread | useToggleReactionsCallback: Delete reaction succeeded.', res);
777
- }).catch(function (err) {
778
- logger.warning('Thread | useToggleReactionsCallback: Delete reaction failed.', err);
779
- });
780
- return;
781
- }
782
- (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.addReaction) === null || _b === void 0 ? void 0 : _b.call(currentChannel, message, key).then(function (res) {
783
- logger.info('Thread | useToggleReactionsCallback: Add reaction succeeded.', res);
784
- }).catch(function (err) {
785
- logger.warning('Thread | useToggleReactionsCallback: Add reaction failed.', err);
786
- });
787
- }, [currentChannel]);
769
+ function useToggleReactionCallback(_a, _b) {
770
+ var currentChannel = _a.currentChannel;
771
+ var logger = _b.logger;
772
+ return useCallback(function (message, key, isReacted) {
773
+ var _a, _b;
774
+ if (isReacted) {
775
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteReaction) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message, key).then(function (res) {
776
+ logger.info('Thread | useToggleReactionsCallback: Delete reaction succeeded.', res);
777
+ }).catch(function (err) {
778
+ logger.warning('Thread | useToggleReactionsCallback: Delete reaction failed.', err);
779
+ });
780
+ return;
781
+ }
782
+ (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.addReaction) === null || _b === void 0 ? void 0 : _b.call(currentChannel, message, key).then(function (res) {
783
+ logger.info('Thread | useToggleReactionsCallback: Add reaction succeeded.', res);
784
+ }).catch(function (err) {
785
+ logger.warning('Thread | useToggleReactionsCallback: Add reaction failed.', err);
786
+ });
787
+ }, [currentChannel]);
788
788
  }
789
789
 
790
- function useSendUserMessageCallback(_a, _b) {
791
- var isMentionEnabled = _a.isMentionEnabled, currentChannel = _a.currentChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
792
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
793
- var sendMessage = useCallback(function (props) {
794
- var _a;
795
- var message = props.message, quoteMessage = props.quoteMessage, mentionTemplate = props.mentionTemplate, mentionedUsers = props.mentionedUsers;
796
- var createDefaultParams = function () {
797
- var params = {};
798
- params.message = message;
799
- var mentionedUsersLength = (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) || 0;
800
- if (isMentionEnabled && mentionedUsersLength) {
801
- params.mentionedUsers = mentionedUsers;
802
- }
803
- if (isMentionEnabled && mentionTemplate && mentionedUsersLength) {
804
- params.mentionedMessageTemplate = mentionTemplate;
805
- }
806
- if (quoteMessage) {
807
- params.isReplyToChannel = true;
808
- params.parentMessageId = quoteMessage.messageId;
809
- }
810
- return params;
811
- };
812
- var params = (_a = onBeforeSendUserMessage === null || onBeforeSendUserMessage === void 0 ? void 0 : onBeforeSendUserMessage(message, quoteMessage)) !== null && _a !== void 0 ? _a : createDefaultParams();
813
- logger.info('Thread | useSendUserMessageCallback: Sending user message start.', params);
814
- if (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage) {
815
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage(params).onPending(function (pendingMessage) {
816
- threadDispatcher({
817
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
818
- payload: { message: pendingMessage },
819
- });
820
- }).onFailed(function (error, message) {
821
- logger.info('Thread | useSendUserMessageCallback: Sending user message failed.', { message: message, error: error });
822
- threadDispatcher({
823
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
824
- payload: { error: error, message: message },
825
- });
826
- }).onSucceeded(function (message) {
827
- logger.info('Thread | useSendUserMessageCallback: Sending user message succeeded.', message);
828
- // because Thread doesn't subscribe SEND_USER_MESSAGE
829
- pubSub.publish(pubSubTopics.SEND_USER_MESSAGE, {
830
- channel: currentChannel,
831
- message: message,
832
- publishingModules: [PublishingModuleType.THREAD],
833
- });
834
- });
835
- }
836
- }, [isMentionEnabled, currentChannel]);
837
- return sendMessage;
790
+ function useSendUserMessageCallback(_a, _b) {
791
+ var isMentionEnabled = _a.isMentionEnabled, currentChannel = _a.currentChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
792
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
793
+ var sendMessage = useCallback(function (props) {
794
+ var _a;
795
+ var message = props.message, quoteMessage = props.quoteMessage, mentionTemplate = props.mentionTemplate, mentionedUsers = props.mentionedUsers;
796
+ var createDefaultParams = function () {
797
+ var params = {};
798
+ params.message = message;
799
+ var mentionedUsersLength = (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) || 0;
800
+ if (isMentionEnabled && mentionedUsersLength) {
801
+ params.mentionedUsers = mentionedUsers;
802
+ }
803
+ if (isMentionEnabled && mentionTemplate && mentionedUsersLength) {
804
+ params.mentionedMessageTemplate = mentionTemplate;
805
+ }
806
+ if (quoteMessage) {
807
+ params.isReplyToChannel = true;
808
+ params.parentMessageId = quoteMessage.messageId;
809
+ }
810
+ return params;
811
+ };
812
+ var params = (_a = onBeforeSendUserMessage === null || onBeforeSendUserMessage === void 0 ? void 0 : onBeforeSendUserMessage(message, quoteMessage)) !== null && _a !== void 0 ? _a : createDefaultParams();
813
+ logger.info('Thread | useSendUserMessageCallback: Sending user message start.', params);
814
+ if (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage) {
815
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage(params).onPending(function (pendingMessage) {
816
+ threadDispatcher({
817
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
818
+ payload: { message: pendingMessage },
819
+ });
820
+ }).onFailed(function (error, message) {
821
+ logger.info('Thread | useSendUserMessageCallback: Sending user message failed.', { message: message, error: error });
822
+ threadDispatcher({
823
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
824
+ payload: { error: error, message: message },
825
+ });
826
+ }).onSucceeded(function (message) {
827
+ logger.info('Thread | useSendUserMessageCallback: Sending user message succeeded.', message);
828
+ // because Thread doesn't subscribe SEND_USER_MESSAGE
829
+ pubSub.publish(pubSubTopics.SEND_USER_MESSAGE, {
830
+ channel: currentChannel,
831
+ message: message,
832
+ publishingModules: [PublishingModuleType.THREAD],
833
+ });
834
+ });
835
+ }
836
+ }, [isMentionEnabled, currentChannel]);
837
+ return sendMessage;
838
838
  }
839
839
 
840
- function useResendMessageCallback(_a, _b) {
841
- var currentChannel = _a.currentChannel;
842
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
843
- return useCallback(function (failedMessage) {
844
- var _a, _b, _c, _d, _e;
845
- if (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) {
846
- logger.info('Thread | useResendMessageCallback: Resending failedMessage start.', failedMessage);
847
- if (((_a = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isUserMessage) === null || _a === void 0 ? void 0 : _a.call(failedMessage)) || (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.messageType) === MessageType.USER) {
848
- try {
849
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage(failedMessage).onPending(function (message) {
850
- logger.info('Thread | useResendMessageCallback: Resending user message started.', message);
851
- threadDispatcher({
852
- type: ThreadContextActionTypes.RESEND_MESSAGE_START,
853
- payload: { message: message },
854
- });
855
- }).onSucceeded(function (message) {
856
- logger.info('Thread | useResendMessageCallback: Resending user message succeeded.', message);
857
- threadDispatcher({
858
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
859
- payload: { message: message },
860
- });
861
- pubSub.publish(pubSubTopics.SEND_USER_MESSAGE, {
862
- channel: currentChannel,
863
- message: message,
864
- publishingModules: [PublishingModuleType.THREAD],
865
- });
866
- }).onFailed(function (error) {
867
- logger.warning('Thread | useResendMessageCallback: Resending user message failed.', error);
868
- failedMessage.sendingStatus = SendingStatus.FAILED;
869
- threadDispatcher({
870
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
871
- payload: { message: failedMessage },
872
- });
873
- });
874
- }
875
- catch (err) {
876
- logger.warning('Thread | useResendMessageCallback: Resending user message failed.', err);
877
- failedMessage.sendingStatus = SendingStatus.FAILED;
878
- threadDispatcher({
879
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
880
- payload: { message: failedMessage },
881
- });
882
- }
883
- }
884
- else if ((_b = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isFileMessage) === null || _b === void 0 ? void 0 : _b.call(failedMessage)) {
885
- try {
886
- (_c = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage) === null || _c === void 0 ? void 0 : _c.call(currentChannel, failedMessage).onPending(function (message) {
887
- logger.info('Thread | useResendMessageCallback: Resending file message started.', message);
888
- threadDispatcher({
889
- type: ThreadContextActionTypes.RESEND_MESSAGE_START,
890
- payload: { message: message },
891
- });
892
- }).onSucceeded(function (message) {
893
- logger.info('Thread | useResendMessageCallback: Resending file message succeeded.', message);
894
- threadDispatcher({
895
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
896
- payload: { message: message },
897
- });
898
- pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
899
- channel: currentChannel,
900
- message: failedMessage,
901
- publishingModules: [PublishingModuleType.THREAD],
902
- });
903
- }).onFailed(function (error) {
904
- logger.warning('Thread | useResendMessageCallback: Resending file message failed.', error);
905
- failedMessage.sendingStatus = SendingStatus.FAILED;
906
- threadDispatcher({
907
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
908
- payload: { message: failedMessage },
909
- });
910
- });
911
- }
912
- catch (err) {
913
- logger.warning('Thread | useResendMessageCallback: Resending file message failed.', err);
914
- failedMessage.sendingStatus = SendingStatus.FAILED;
915
- threadDispatcher({
916
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
917
- payload: { message: failedMessage },
918
- });
919
- }
920
- }
921
- else if ((_d = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isMultipleFilesMessage) === null || _d === void 0 ? void 0 : _d.call(failedMessage)) {
922
- try {
923
- (_e = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage) === null || _e === void 0 ? void 0 : _e.call(currentChannel, failedMessage).onPending(function (message) {
924
- logger.info('Thread | useResendMessageCallback: Resending multiple files message started.', message);
925
- threadDispatcher({
926
- type: ThreadContextActionTypes.RESEND_MESSAGE_START,
927
- payload: { message: message },
928
- });
929
- }).onFileUploaded(function (requestId, index, uploadableFileInfo, error) {
930
- logger.info('Thread | useResendMessageCallback: onFileUploaded during resending multiple files message.', {
931
- requestId: requestId,
932
- index: index,
933
- error: error,
934
- uploadableFileInfo: uploadableFileInfo,
935
- });
936
- pubSub.publish(pubSubTopics.ON_FILE_INFO_UPLOADED, {
937
- response: {
938
- channelUrl: currentChannel.url,
939
- requestId: requestId,
940
- index: index,
941
- uploadableFileInfo: uploadableFileInfo,
942
- error: error,
943
- },
944
- publishingModules: [PublishingModuleType.THREAD],
945
- });
946
- }).onSucceeded(function (message) {
947
- logger.info('Thread | useResendMessageCallback: Resending MFM succeeded.', message);
948
- threadDispatcher({
949
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
950
- payload: { message: message },
951
- });
952
- pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
953
- channel: currentChannel,
954
- message: message,
955
- publishingModules: [PublishingModuleType.THREAD],
956
- });
957
- }).onFailed(function (error, message) {
958
- logger.warning('Thread | useResendMessageCallback: Resending MFM failed.', error);
959
- threadDispatcher({
960
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
961
- payload: { message: message },
962
- });
963
- });
964
- }
965
- catch (err) {
966
- logger.warning('Thread | useResendMessageCallback: Resending MFM failed.', err);
967
- threadDispatcher({
968
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
969
- payload: { message: failedMessage },
970
- });
971
- }
972
- }
973
- else {
974
- logger.warning('Thread | useResendMessageCallback: Message is not resendable.', failedMessage);
975
- failedMessage.sendingStatus = SendingStatus.FAILED;
976
- threadDispatcher({
977
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
978
- payload: { message: failedMessage },
979
- });
980
- }
981
- }
982
- }, [currentChannel]);
840
+ function useResendMessageCallback(_a, _b) {
841
+ var currentChannel = _a.currentChannel;
842
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
843
+ return useCallback(function (failedMessage) {
844
+ var _a, _b, _c, _d, _e;
845
+ if (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) {
846
+ logger.info('Thread | useResendMessageCallback: Resending failedMessage start.', failedMessage);
847
+ if (((_a = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isUserMessage) === null || _a === void 0 ? void 0 : _a.call(failedMessage)) || (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.messageType) === MessageType.USER) {
848
+ try {
849
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage(failedMessage).onPending(function (message) {
850
+ logger.info('Thread | useResendMessageCallback: Resending user message started.', message);
851
+ threadDispatcher({
852
+ type: ThreadContextActionTypes.RESEND_MESSAGE_START,
853
+ payload: { message: message },
854
+ });
855
+ }).onSucceeded(function (message) {
856
+ logger.info('Thread | useResendMessageCallback: Resending user message succeeded.', message);
857
+ threadDispatcher({
858
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
859
+ payload: { message: message },
860
+ });
861
+ pubSub.publish(pubSubTopics.SEND_USER_MESSAGE, {
862
+ channel: currentChannel,
863
+ message: message,
864
+ publishingModules: [PublishingModuleType.THREAD],
865
+ });
866
+ }).onFailed(function (error) {
867
+ logger.warning('Thread | useResendMessageCallback: Resending user message failed.', error);
868
+ failedMessage.sendingStatus = SendingStatus.FAILED;
869
+ threadDispatcher({
870
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
871
+ payload: { message: failedMessage },
872
+ });
873
+ });
874
+ }
875
+ catch (err) {
876
+ logger.warning('Thread | useResendMessageCallback: Resending user message failed.', err);
877
+ failedMessage.sendingStatus = SendingStatus.FAILED;
878
+ threadDispatcher({
879
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
880
+ payload: { message: failedMessage },
881
+ });
882
+ }
883
+ }
884
+ else if ((_b = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isFileMessage) === null || _b === void 0 ? void 0 : _b.call(failedMessage)) {
885
+ try {
886
+ (_c = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage) === null || _c === void 0 ? void 0 : _c.call(currentChannel, failedMessage).onPending(function (message) {
887
+ logger.info('Thread | useResendMessageCallback: Resending file message started.', message);
888
+ threadDispatcher({
889
+ type: ThreadContextActionTypes.RESEND_MESSAGE_START,
890
+ payload: { message: message },
891
+ });
892
+ }).onSucceeded(function (message) {
893
+ logger.info('Thread | useResendMessageCallback: Resending file message succeeded.', message);
894
+ threadDispatcher({
895
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
896
+ payload: { message: message },
897
+ });
898
+ pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
899
+ channel: currentChannel,
900
+ message: failedMessage,
901
+ publishingModules: [PublishingModuleType.THREAD],
902
+ });
903
+ }).onFailed(function (error) {
904
+ logger.warning('Thread | useResendMessageCallback: Resending file message failed.', error);
905
+ failedMessage.sendingStatus = SendingStatus.FAILED;
906
+ threadDispatcher({
907
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
908
+ payload: { message: failedMessage },
909
+ });
910
+ });
911
+ }
912
+ catch (err) {
913
+ logger.warning('Thread | useResendMessageCallback: Resending file message failed.', err);
914
+ failedMessage.sendingStatus = SendingStatus.FAILED;
915
+ threadDispatcher({
916
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
917
+ payload: { message: failedMessage },
918
+ });
919
+ }
920
+ }
921
+ else if ((_d = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isMultipleFilesMessage) === null || _d === void 0 ? void 0 : _d.call(failedMessage)) {
922
+ try {
923
+ (_e = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage) === null || _e === void 0 ? void 0 : _e.call(currentChannel, failedMessage).onPending(function (message) {
924
+ logger.info('Thread | useResendMessageCallback: Resending multiple files message started.', message);
925
+ threadDispatcher({
926
+ type: ThreadContextActionTypes.RESEND_MESSAGE_START,
927
+ payload: { message: message },
928
+ });
929
+ }).onFileUploaded(function (requestId, index, uploadableFileInfo, error) {
930
+ logger.info('Thread | useResendMessageCallback: onFileUploaded during resending multiple files message.', {
931
+ requestId: requestId,
932
+ index: index,
933
+ error: error,
934
+ uploadableFileInfo: uploadableFileInfo,
935
+ });
936
+ pubSub.publish(pubSubTopics.ON_FILE_INFO_UPLOADED, {
937
+ response: {
938
+ channelUrl: currentChannel.url,
939
+ requestId: requestId,
940
+ index: index,
941
+ uploadableFileInfo: uploadableFileInfo,
942
+ error: error,
943
+ },
944
+ publishingModules: [PublishingModuleType.THREAD],
945
+ });
946
+ }).onSucceeded(function (message) {
947
+ logger.info('Thread | useResendMessageCallback: Resending MFM succeeded.', message);
948
+ threadDispatcher({
949
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
950
+ payload: { message: message },
951
+ });
952
+ pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
953
+ channel: currentChannel,
954
+ message: message,
955
+ publishingModules: [PublishingModuleType.THREAD],
956
+ });
957
+ }).onFailed(function (error, message) {
958
+ logger.warning('Thread | useResendMessageCallback: Resending MFM failed.', error);
959
+ threadDispatcher({
960
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
961
+ payload: { message: message },
962
+ });
963
+ });
964
+ }
965
+ catch (err) {
966
+ logger.warning('Thread | useResendMessageCallback: Resending MFM failed.', err);
967
+ threadDispatcher({
968
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
969
+ payload: { message: failedMessage },
970
+ });
971
+ }
972
+ }
973
+ else {
974
+ logger.warning('Thread | useResendMessageCallback: Message is not resendable.', failedMessage);
975
+ failedMessage.sendingStatus = SendingStatus.FAILED;
976
+ threadDispatcher({
977
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
978
+ payload: { message: failedMessage },
979
+ });
980
+ }
981
+ }
982
+ }, [currentChannel]);
983
983
  }
984
984
 
985
- var useSendVoiceMessageCallback = function (_a, _b) {
986
- var currentChannel = _a.currentChannel, onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
987
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
988
- var sendMessage = useCallback(function (file, duration, quoteMessage) {
989
- var messageParams = (onBeforeSendVoiceMessage
990
- && typeof onBeforeSendVoiceMessage === 'function')
991
- ? onBeforeSendVoiceMessage(file, quoteMessage)
992
- : {
993
- file: file,
994
- fileName: VOICE_MESSAGE_FILE_NAME,
995
- mimeType: VOICE_MESSAGE_MIME_TYPE,
996
- metaArrays: [
997
- new MessageMetaArray({
998
- key: META_ARRAY_VOICE_DURATION_KEY,
999
- value: ["".concat(duration)],
1000
- }),
1001
- new MessageMetaArray({
1002
- key: META_ARRAY_MESSAGE_TYPE_KEY,
1003
- value: [META_ARRAY_MESSAGE_TYPE_VALUE__VOICE],
1004
- }),
1005
- ],
1006
- };
1007
- if (quoteMessage) {
1008
- messageParams.isReplyToChannel = true;
1009
- messageParams.parentMessageId = quoteMessage.messageId;
1010
- }
1011
- logger.info('Thread | useSendVoiceMessageCallback: Start sending voice message', messageParams);
1012
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(messageParams).onPending(function (pendingMessage) {
1013
- threadDispatcher({
1014
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
1015
- payload: {
1016
- /* pubSub is used instead of messagesDispatcher
1017
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1018
- // TODO: remove data pollution
1019
- message: __assign(__assign({}, pendingMessage), { url: URL.createObjectURL(file),
1020
- // pending thumbnail message seems to be failed
1021
- requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
1022
- },
1023
- });
1024
- setTimeout(function () { return scrollIntoLast(); }, SCROLL_BOTTOM_DELAY_FOR_SEND);
1025
- }).onFailed(function (error, message) {
1026
- message.localUrl = URL.createObjectURL(file);
1027
- message.file = file;
1028
- logger.info('Thread | useSendVoiceMessageCallback: Sending voice message failed.', { message: message, error: error });
1029
- threadDispatcher({
1030
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1031
- payload: { message: message, error: error },
1032
- });
1033
- }).onSucceeded(function (message) {
1034
- logger.info('Thread | useSendVoiceMessageCallback: Sending voice message succeeded.', message);
1035
- pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
1036
- channel: currentChannel,
1037
- message: message,
1038
- publishingModules: [PublishingModuleType.THREAD],
1039
- });
1040
- });
1041
- }, [
1042
- currentChannel,
1043
- onBeforeSendVoiceMessage,
1044
- ]);
1045
- return sendMessage;
985
+ var useSendVoiceMessageCallback = function (_a, _b) {
986
+ var currentChannel = _a.currentChannel, onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
987
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
988
+ var sendMessage = useCallback(function (file, duration, quoteMessage) {
989
+ var messageParams = (onBeforeSendVoiceMessage
990
+ && typeof onBeforeSendVoiceMessage === 'function')
991
+ ? onBeforeSendVoiceMessage(file, quoteMessage)
992
+ : {
993
+ file: file,
994
+ fileName: VOICE_MESSAGE_FILE_NAME,
995
+ mimeType: VOICE_MESSAGE_MIME_TYPE,
996
+ metaArrays: [
997
+ new MessageMetaArray({
998
+ key: META_ARRAY_VOICE_DURATION_KEY,
999
+ value: ["".concat(duration)],
1000
+ }),
1001
+ new MessageMetaArray({
1002
+ key: META_ARRAY_MESSAGE_TYPE_KEY,
1003
+ value: [META_ARRAY_MESSAGE_TYPE_VALUE__VOICE],
1004
+ }),
1005
+ ],
1006
+ };
1007
+ if (quoteMessage) {
1008
+ messageParams.isReplyToChannel = true;
1009
+ messageParams.parentMessageId = quoteMessage.messageId;
1010
+ }
1011
+ logger.info('Thread | useSendVoiceMessageCallback: Start sending voice message', messageParams);
1012
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(messageParams).onPending(function (pendingMessage) {
1013
+ threadDispatcher({
1014
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
1015
+ payload: {
1016
+ /* pubSub is used instead of messagesDispatcher
1017
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1018
+ // TODO: remove data pollution
1019
+ message: __assign(__assign({}, pendingMessage), { url: URL.createObjectURL(file),
1020
+ // pending thumbnail message seems to be failed
1021
+ requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
1022
+ },
1023
+ });
1024
+ setTimeout(function () { return scrollIntoLast(); }, SCROLL_BOTTOM_DELAY_FOR_SEND);
1025
+ }).onFailed(function (error, message) {
1026
+ message.localUrl = URL.createObjectURL(file);
1027
+ message.file = file;
1028
+ logger.info('Thread | useSendVoiceMessageCallback: Sending voice message failed.', { message: message, error: error });
1029
+ threadDispatcher({
1030
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1031
+ payload: { message: message, error: error },
1032
+ });
1033
+ }).onSucceeded(function (message) {
1034
+ logger.info('Thread | useSendVoiceMessageCallback: Sending voice message succeeded.', message);
1035
+ pubSub.publish(pubSubTopics.SEND_FILE_MESSAGE, {
1036
+ channel: currentChannel,
1037
+ message: message,
1038
+ publishingModules: [PublishingModuleType.THREAD],
1039
+ });
1040
+ });
1041
+ }, [
1042
+ currentChannel,
1043
+ onBeforeSendVoiceMessage,
1044
+ ]);
1045
+ return sendMessage;
1046
1046
  };
1047
1047
 
1048
- function getThreadMessageListParams(params) {
1049
- return __assign({ prevResultSize: PREV_THREADS_FETCH_SIZE, nextResultSize: NEXT_THREADS_FETCH_SIZE, includeMetaArray: true }, params);
1050
- }
1051
- var useThreadFetchers = function (_a) {
1052
- var isReactionEnabled = _a.isReactionEnabled, anchorMessage = _a.anchorMessage, staleParentMessage = _a.parentMessage, threadDispatcher = _a.threadDispatcher, logger = _a.logger, oldestMessageTimeStamp = _a.oldestMessageTimeStamp, latestMessageTimeStamp = _a.latestMessageTimeStamp, threadListState = _a.threadListState;
1053
- var stores = useSendbirdStateContext().stores;
1054
- var timestamp = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.createdAt) || 0;
1055
- var initialize = useCallback(function (callback) { return __awaiter(void 0, void 0, void 0, function () {
1056
- var params, _a, threadedMessages_1, parentMessage, error_1;
1057
- return __generator(this, function (_b) {
1058
- switch (_b.label) {
1059
- case 0:
1060
- if (!stores.sdkStore.initialized || !staleParentMessage)
1061
- return [2 /*return*/];
1062
- threadDispatcher({
1063
- type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START,
1064
- payload: null,
1065
- });
1066
- _b.label = 1;
1067
- case 1:
1068
- _b.trys.push([1, 3, , 4]);
1069
- params = getThreadMessageListParams({ includeReactions: isReactionEnabled });
1070
- logger.info('Thread | useGetThreadList: Initialize thread list start.', { timestamp: timestamp, params: params });
1071
- return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(timestamp, params)];
1072
- case 2:
1073
- _a = _b.sent(), threadedMessages_1 = _a.threadedMessages, parentMessage = _a.parentMessage;
1074
- logger.info('Thread | useGetThreadList: Initialize thread list succeeded.', { staleParentMessage: staleParentMessage, threadedMessages: threadedMessages_1 });
1075
- threadDispatcher({
1076
- type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS,
1077
- payload: { parentMessage: parentMessage, anchorMessage: anchorMessage, threadedMessages: threadedMessages_1 },
1078
- });
1079
- setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_1); });
1080
- return [3 /*break*/, 4];
1081
- case 3:
1082
- error_1 = _b.sent();
1083
- logger.info('Thread | useGetThreadList: Initialize thread list failed.', error_1);
1084
- threadDispatcher({
1085
- type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE,
1086
- payload: error_1,
1087
- });
1088
- return [3 /*break*/, 4];
1089
- case 4: return [2 /*return*/];
1090
- }
1091
- });
1092
- }); }, [stores.sdkStore.initialized, staleParentMessage, anchorMessage, isReactionEnabled]);
1093
- var loadPrevious = useCallback(function (callback) { return __awaiter(void 0, void 0, void 0, function () {
1094
- var params, _a, threadedMessages_2, parentMessage, error_2;
1095
- return __generator(this, function (_b) {
1096
- switch (_b.label) {
1097
- case 0:
1098
- if (threadListState !== ThreadListStateTypes.INITIALIZED || oldestMessageTimeStamp === 0 || !staleParentMessage)
1099
- return [2 /*return*/];
1100
- threadDispatcher({
1101
- type: ThreadContextActionTypes.GET_PREV_MESSAGES_START,
1102
- payload: null,
1103
- });
1104
- _b.label = 1;
1105
- case 1:
1106
- _b.trys.push([1, 3, , 4]);
1107
- params = getThreadMessageListParams({ nextResultSize: 0, includeReactions: isReactionEnabled });
1108
- return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(oldestMessageTimeStamp, params)];
1109
- case 2:
1110
- _a = _b.sent(), threadedMessages_2 = _a.threadedMessages, parentMessage = _a.parentMessage;
1111
- logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads succeeded.', { parentMessage: parentMessage, threadedMessages: threadedMessages_2 });
1112
- threadDispatcher({
1113
- type: ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS,
1114
- payload: { parentMessage: parentMessage, threadedMessages: threadedMessages_2 },
1115
- });
1116
- setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_2); });
1117
- return [3 /*break*/, 4];
1118
- case 3:
1119
- error_2 = _b.sent();
1120
- logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads failed.', error_2);
1121
- threadDispatcher({
1122
- type: ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE,
1123
- payload: error_2,
1124
- });
1125
- return [3 /*break*/, 4];
1126
- case 4: return [2 /*return*/];
1127
- }
1128
- });
1129
- }); }, [threadListState, oldestMessageTimeStamp, isReactionEnabled, staleParentMessage]);
1130
- var loadNext = useCallback(function (callback) { return __awaiter(void 0, void 0, void 0, function () {
1131
- var params, _a, threadedMessages_3, parentMessage, error_3;
1132
- return __generator(this, function (_b) {
1133
- switch (_b.label) {
1134
- case 0:
1135
- if (threadListState !== ThreadListStateTypes.INITIALIZED || latestMessageTimeStamp === 0 || !staleParentMessage)
1136
- return [2 /*return*/];
1137
- threadDispatcher({
1138
- type: ThreadContextActionTypes.GET_NEXT_MESSAGES_START,
1139
- payload: null,
1140
- });
1141
- _b.label = 1;
1142
- case 1:
1143
- _b.trys.push([1, 3, , 4]);
1144
- params = getThreadMessageListParams({ prevResultSize: 0, includeReactions: isReactionEnabled });
1145
- return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(latestMessageTimeStamp, params)];
1146
- case 2:
1147
- _a = _b.sent(), threadedMessages_3 = _a.threadedMessages, parentMessage = _a.parentMessage;
1148
- logger.info('Thread | useGetNextThreadsCallback: Fetch next threads succeeded.', { parentMessage: parentMessage, threadedMessages: threadedMessages_3 });
1149
- threadDispatcher({
1150
- type: ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS,
1151
- payload: { parentMessage: parentMessage, threadedMessages: threadedMessages_3 },
1152
- });
1153
- setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_3); });
1154
- return [3 /*break*/, 4];
1155
- case 3:
1156
- error_3 = _b.sent();
1157
- logger.info('Thread | useGetNextThreadsCallback: Fetch next threads failed.', error_3);
1158
- threadDispatcher({
1159
- type: ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE,
1160
- payload: error_3,
1161
- });
1162
- return [3 /*break*/, 4];
1163
- case 4: return [2 /*return*/];
1164
- }
1165
- });
1166
- }); }, [threadListState, latestMessageTimeStamp, isReactionEnabled, staleParentMessage]);
1167
- return {
1168
- initialize: initialize,
1169
- loadPrevious: loadPrevious,
1170
- loadNext: loadNext,
1171
- };
1048
+ function getThreadMessageListParams(params) {
1049
+ return __assign({ prevResultSize: PREV_THREADS_FETCH_SIZE, nextResultSize: NEXT_THREADS_FETCH_SIZE, includeMetaArray: true }, params);
1050
+ }
1051
+ var useThreadFetchers = function (_a) {
1052
+ var isReactionEnabled = _a.isReactionEnabled, anchorMessage = _a.anchorMessage, staleParentMessage = _a.parentMessage, threadDispatcher = _a.threadDispatcher, logger = _a.logger, oldestMessageTimeStamp = _a.oldestMessageTimeStamp, latestMessageTimeStamp = _a.latestMessageTimeStamp, threadListState = _a.threadListState;
1053
+ var stores = useSendbirdStateContext().stores;
1054
+ var timestamp = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.createdAt) || 0;
1055
+ var initialize = useCallback(function (callback) { return __awaiter(void 0, void 0, void 0, function () {
1056
+ var params, _a, threadedMessages_1, parentMessage, error_1;
1057
+ return __generator(this, function (_b) {
1058
+ switch (_b.label) {
1059
+ case 0:
1060
+ if (!stores.sdkStore.initialized || !staleParentMessage)
1061
+ return [2 /*return*/];
1062
+ threadDispatcher({
1063
+ type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START,
1064
+ payload: null,
1065
+ });
1066
+ _b.label = 1;
1067
+ case 1:
1068
+ _b.trys.push([1, 3, , 4]);
1069
+ params = getThreadMessageListParams({ includeReactions: isReactionEnabled });
1070
+ logger.info('Thread | useGetThreadList: Initialize thread list start.', { timestamp: timestamp, params: params });
1071
+ return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(timestamp, params)];
1072
+ case 2:
1073
+ _a = _b.sent(), threadedMessages_1 = _a.threadedMessages, parentMessage = _a.parentMessage;
1074
+ logger.info('Thread | useGetThreadList: Initialize thread list succeeded.', { staleParentMessage: staleParentMessage, threadedMessages: threadedMessages_1 });
1075
+ threadDispatcher({
1076
+ type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS,
1077
+ payload: { parentMessage: parentMessage, anchorMessage: anchorMessage, threadedMessages: threadedMessages_1 },
1078
+ });
1079
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_1); });
1080
+ return [3 /*break*/, 4];
1081
+ case 3:
1082
+ error_1 = _b.sent();
1083
+ logger.info('Thread | useGetThreadList: Initialize thread list failed.', error_1);
1084
+ threadDispatcher({
1085
+ type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE,
1086
+ payload: error_1,
1087
+ });
1088
+ return [3 /*break*/, 4];
1089
+ case 4: return [2 /*return*/];
1090
+ }
1091
+ });
1092
+ }); }, [stores.sdkStore.initialized, staleParentMessage, anchorMessage, isReactionEnabled]);
1093
+ var loadPrevious = useCallback(function (callback) { return __awaiter(void 0, void 0, void 0, function () {
1094
+ var params, _a, threadedMessages_2, parentMessage, error_2;
1095
+ return __generator(this, function (_b) {
1096
+ switch (_b.label) {
1097
+ case 0:
1098
+ if (threadListState !== ThreadListStateTypes.INITIALIZED || oldestMessageTimeStamp === 0 || !staleParentMessage)
1099
+ return [2 /*return*/];
1100
+ threadDispatcher({
1101
+ type: ThreadContextActionTypes.GET_PREV_MESSAGES_START,
1102
+ payload: null,
1103
+ });
1104
+ _b.label = 1;
1105
+ case 1:
1106
+ _b.trys.push([1, 3, , 4]);
1107
+ params = getThreadMessageListParams({ nextResultSize: 0, includeReactions: isReactionEnabled });
1108
+ return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(oldestMessageTimeStamp, params)];
1109
+ case 2:
1110
+ _a = _b.sent(), threadedMessages_2 = _a.threadedMessages, parentMessage = _a.parentMessage;
1111
+ logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads succeeded.', { parentMessage: parentMessage, threadedMessages: threadedMessages_2 });
1112
+ threadDispatcher({
1113
+ type: ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS,
1114
+ payload: { parentMessage: parentMessage, threadedMessages: threadedMessages_2 },
1115
+ });
1116
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_2); });
1117
+ return [3 /*break*/, 4];
1118
+ case 3:
1119
+ error_2 = _b.sent();
1120
+ logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads failed.', error_2);
1121
+ threadDispatcher({
1122
+ type: ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE,
1123
+ payload: error_2,
1124
+ });
1125
+ return [3 /*break*/, 4];
1126
+ case 4: return [2 /*return*/];
1127
+ }
1128
+ });
1129
+ }); }, [threadListState, oldestMessageTimeStamp, isReactionEnabled, staleParentMessage]);
1130
+ var loadNext = useCallback(function (callback) { return __awaiter(void 0, void 0, void 0, function () {
1131
+ var params, _a, threadedMessages_3, parentMessage, error_3;
1132
+ return __generator(this, function (_b) {
1133
+ switch (_b.label) {
1134
+ case 0:
1135
+ if (threadListState !== ThreadListStateTypes.INITIALIZED || latestMessageTimeStamp === 0 || !staleParentMessage)
1136
+ return [2 /*return*/];
1137
+ threadDispatcher({
1138
+ type: ThreadContextActionTypes.GET_NEXT_MESSAGES_START,
1139
+ payload: null,
1140
+ });
1141
+ _b.label = 1;
1142
+ case 1:
1143
+ _b.trys.push([1, 3, , 4]);
1144
+ params = getThreadMessageListParams({ prevResultSize: 0, includeReactions: isReactionEnabled });
1145
+ return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(latestMessageTimeStamp, params)];
1146
+ case 2:
1147
+ _a = _b.sent(), threadedMessages_3 = _a.threadedMessages, parentMessage = _a.parentMessage;
1148
+ logger.info('Thread | useGetNextThreadsCallback: Fetch next threads succeeded.', { parentMessage: parentMessage, threadedMessages: threadedMessages_3 });
1149
+ threadDispatcher({
1150
+ type: ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS,
1151
+ payload: { parentMessage: parentMessage, threadedMessages: threadedMessages_3 },
1152
+ });
1153
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_3); });
1154
+ return [3 /*break*/, 4];
1155
+ case 3:
1156
+ error_3 = _b.sent();
1157
+ logger.info('Thread | useGetNextThreadsCallback: Fetch next threads failed.', error_3);
1158
+ threadDispatcher({
1159
+ type: ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE,
1160
+ payload: error_3,
1161
+ });
1162
+ return [3 /*break*/, 4];
1163
+ case 4: return [2 /*return*/];
1164
+ }
1165
+ });
1166
+ }); }, [threadListState, latestMessageTimeStamp, isReactionEnabled, staleParentMessage]);
1167
+ return {
1168
+ initialize: initialize,
1169
+ loadPrevious: loadPrevious,
1170
+ loadNext: loadNext,
1171
+ };
1172
1172
  };
1173
1173
 
1174
- var ThreadContext = React__default.createContext(null);
1175
- var ThreadProvider = function (props) {
1176
- var _a, _b;
1177
- var children = props.children, channelUrl = props.channelUrl, onHeaderActionClick = props.onHeaderActionClick, onMoveToParentMessage = props.onMoveToParentMessage, onBeforeSendUserMessage = props.onBeforeSendUserMessage, onBeforeSendFileMessage = props.onBeforeSendFileMessage, onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage, onBeforeSendMultipleFilesMessage = props.onBeforeSendMultipleFilesMessage, onBeforeDownloadFileMessage = props.onBeforeDownloadFileMessage, isMultipleFilesMessageEnabled = props.isMultipleFilesMessageEnabled,
1178
- // User Profile
1179
- disableUserProfile = props.disableUserProfile, renderUserProfile = props.renderUserProfile;
1180
- var propsMessage = props === null || props === void 0 ? void 0 : props.message;
1181
- var propsParentMessage = getParentMessageFrom(propsMessage);
1182
- // Context from SendbirdProvider
1183
- var globalStore = useSendbirdStateContext();
1184
- var stores = globalStore.stores, config = globalStore.config;
1185
- // // stores
1186
- var sdkStore = stores.sdkStore, userStore = stores.userStore;
1187
- var sdk = sdkStore.sdk;
1188
- var user = userStore.user;
1189
- var sdkInit = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
1190
- // // config
1191
- var logger = config.logger, pubSub = config.pubSub, replyType = config.replyType, isMentionEnabled = config.isMentionEnabled, isReactionEnabled = config.isReactionEnabled, onUserProfileMessage = config.onUserProfileMessage;
1192
- // dux of Thread
1193
- var _c = useReducer(reducer, initialState), threadStore = _c[0], threadDispatcher = _c[1];
1194
- var currentChannel = threadStore.currentChannel, allThreadMessages = threadStore.allThreadMessages, localThreadMessages = threadStore.localThreadMessages, parentMessage = threadStore.parentMessage, channelState = threadStore.channelState, threadListState = threadStore.threadListState, parentMessageState = threadStore.parentMessageState, hasMorePrev = threadStore.hasMorePrev, hasMoreNext = threadStore.hasMoreNext, emojiContainer = threadStore.emojiContainer, isMuted = threadStore.isMuted, isChannelFrozen = threadStore.isChannelFrozen, currentUserId = threadStore.currentUserId, typingMembers = threadStore.typingMembers;
1195
- // Initialization
1196
- useEffect(function () {
1197
- threadDispatcher({
1198
- type: ThreadContextActionTypes.INIT_USER_ID,
1199
- payload: user === null || user === void 0 ? void 0 : user.userId,
1200
- });
1201
- }, [user]);
1202
- useGetChannel({
1203
- channelUrl: channelUrl,
1204
- sdkInit: sdkInit,
1205
- message: propsMessage,
1206
- }, { sdk: sdk, logger: logger, threadDispatcher: threadDispatcher });
1207
- useGetParentMessage({
1208
- channelUrl: channelUrl,
1209
- sdkInit: sdkInit,
1210
- parentMessage: propsParentMessage,
1211
- }, { sdk: sdk, logger: logger, threadDispatcher: threadDispatcher });
1212
- useGetAllEmoji({ sdk: sdk }, { logger: logger, threadDispatcher: threadDispatcher });
1213
- // Handle channel events
1214
- useHandleChannelEvents({
1215
- sdk: sdk,
1216
- currentChannel: currentChannel,
1217
- }, { logger: logger, threadDispatcher: threadDispatcher });
1218
- useHandleThreadPubsubEvents({
1219
- sdkInit: sdkInit,
1220
- currentChannel: currentChannel,
1221
- parentMessage: parentMessage,
1222
- }, { logger: logger, pubSub: pubSub, threadDispatcher: threadDispatcher });
1223
- var _d = useThreadFetchers({
1224
- parentMessage: parentMessage,
1225
- // anchorMessage should be null when parentMessage doesn't exist
1226
- anchorMessage: (propsMessage === null || propsMessage === void 0 ? void 0 : propsMessage.messageId) !== (propsParentMessage === null || propsParentMessage === void 0 ? void 0 : propsParentMessage.messageId) ? propsMessage : undefined,
1227
- logger: logger,
1228
- isReactionEnabled: isReactionEnabled,
1229
- threadDispatcher: threadDispatcher,
1230
- threadListState: threadListState,
1231
- oldestMessageTimeStamp: ((_a = allThreadMessages[0]) === null || _a === void 0 ? void 0 : _a.createdAt) || 0,
1232
- latestMessageTimeStamp: ((_b = allThreadMessages[allThreadMessages.length - 1]) === null || _b === void 0 ? void 0 : _b.createdAt) || 0,
1233
- }), initialize = _d.initialize, loadPrevious = _d.loadPrevious, loadNext = _d.loadNext;
1234
- useEffect(function () {
1235
- if (stores.sdkStore.initialized && config.isOnline) {
1236
- initialize();
1237
- }
1238
- }, [stores.sdkStore.initialized, config.isOnline, initialize]);
1239
- var toggleReaction = useToggleReactionCallback({ currentChannel: currentChannel }, { logger: logger });
1240
- // Send Message Hooks
1241
- var sendMessage = useSendUserMessageCallback({
1242
- isMentionEnabled: isMentionEnabled,
1243
- currentChannel: currentChannel,
1244
- onBeforeSendUserMessage: onBeforeSendUserMessage,
1245
- }, {
1246
- logger: logger,
1247
- pubSub: pubSub,
1248
- threadDispatcher: threadDispatcher,
1249
- });
1250
- var sendFileMessage = useSendFileMessageCallback({
1251
- currentChannel: currentChannel,
1252
- onBeforeSendFileMessage: onBeforeSendFileMessage,
1253
- }, {
1254
- logger: logger,
1255
- pubSub: pubSub,
1256
- threadDispatcher: threadDispatcher,
1257
- });
1258
- var sendVoiceMessage = useSendVoiceMessageCallback({
1259
- currentChannel: currentChannel,
1260
- onBeforeSendVoiceMessage: onBeforeSendVoiceMessage,
1261
- }, {
1262
- logger: logger,
1263
- pubSub: pubSub,
1264
- threadDispatcher: threadDispatcher,
1265
- });
1266
- var sendMultipleFilesMessage = useSendMultipleFilesMessage({
1267
- currentChannel: currentChannel,
1268
- onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
1269
- publishingModules: [PublishingModuleType.THREAD],
1270
- }, {
1271
- logger: logger,
1272
- pubSub: pubSub,
1273
- })[0];
1274
- var resendMessage = useResendMessageCallback({
1275
- currentChannel: currentChannel,
1276
- }, { logger: logger, pubSub: pubSub, threadDispatcher: threadDispatcher });
1277
- var updateMessage = useUpdateMessageCallback({
1278
- currentChannel: currentChannel,
1279
- isMentionEnabled: isMentionEnabled,
1280
- }, { logger: logger, pubSub: pubSub, threadDispatcher: threadDispatcher });
1281
- var deleteMessage = useDeleteMessageCallback({ currentChannel: currentChannel, threadDispatcher: threadDispatcher }, { logger: logger });
1282
- // memo
1283
- var nicknamesMap = useMemo(function () { return ((replyType && currentChannel)
1284
- ? getNicknamesMapFromMembers(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members)
1285
- : new Map()); }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members]);
1286
- return (React__default.createElement(ThreadContext.Provider, { value: {
1287
- // ThreadProviderProps
1288
- channelUrl: channelUrl,
1289
- message: propsMessage,
1290
- onHeaderActionClick: onHeaderActionClick,
1291
- onMoveToParentMessage: onMoveToParentMessage,
1292
- isMultipleFilesMessageEnabled: isMultipleFilesMessageEnabled,
1293
- onBeforeDownloadFileMessage: onBeforeDownloadFileMessage,
1294
- // ThreadContextInitialState
1295
- currentChannel: currentChannel,
1296
- allThreadMessages: allThreadMessages,
1297
- localThreadMessages: localThreadMessages,
1298
- parentMessage: parentMessage,
1299
- channelState: channelState,
1300
- threadListState: threadListState,
1301
- parentMessageState: parentMessageState,
1302
- hasMorePrev: hasMorePrev,
1303
- hasMoreNext: hasMoreNext,
1304
- emojiContainer: emojiContainer,
1305
- // hooks
1306
- fetchPrevThreads: loadPrevious,
1307
- fetchNextThreads: loadNext,
1308
- toggleReaction: toggleReaction,
1309
- sendMessage: sendMessage,
1310
- sendFileMessage: sendFileMessage,
1311
- sendVoiceMessage: sendVoiceMessage,
1312
- sendMultipleFilesMessage: sendMultipleFilesMessage,
1313
- resendMessage: resendMessage,
1314
- updateMessage: updateMessage,
1315
- deleteMessage: deleteMessage,
1316
- // context
1317
- nicknamesMap: nicknamesMap,
1318
- isMuted: isMuted,
1319
- isChannelFrozen: isChannelFrozen,
1320
- currentUserId: currentUserId,
1321
- typingMembers: typingMembers,
1322
- } },
1323
- React__default.createElement(UserProfileProvider, { disableUserProfile: disableUserProfile !== null && disableUserProfile !== void 0 ? disableUserProfile : config.disableUserProfile, renderUserProfile: renderUserProfile, onUserProfileMessage: onUserProfileMessage }, children)));
1324
- };
1174
+ var ThreadContext = React__default.createContext(null);
1175
+ var ThreadProvider = function (props) {
1176
+ var _a, _b;
1177
+ var children = props.children, channelUrl = props.channelUrl, onHeaderActionClick = props.onHeaderActionClick, onMoveToParentMessage = props.onMoveToParentMessage, onBeforeSendUserMessage = props.onBeforeSendUserMessage, onBeforeSendFileMessage = props.onBeforeSendFileMessage, onBeforeSendVoiceMessage = props.onBeforeSendVoiceMessage, onBeforeSendMultipleFilesMessage = props.onBeforeSendMultipleFilesMessage, onBeforeDownloadFileMessage = props.onBeforeDownloadFileMessage, isMultipleFilesMessageEnabled = props.isMultipleFilesMessageEnabled,
1178
+ // User Profile
1179
+ disableUserProfile = props.disableUserProfile, renderUserProfile = props.renderUserProfile;
1180
+ var propsMessage = props === null || props === void 0 ? void 0 : props.message;
1181
+ var propsParentMessage = getParentMessageFrom(propsMessage);
1182
+ // Context from SendbirdProvider
1183
+ var globalStore = useSendbirdStateContext();
1184
+ var stores = globalStore.stores, config = globalStore.config;
1185
+ // // stores
1186
+ var sdkStore = stores.sdkStore, userStore = stores.userStore;
1187
+ var sdk = sdkStore.sdk;
1188
+ var user = userStore.user;
1189
+ var sdkInit = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
1190
+ // // config
1191
+ var logger = config.logger, pubSub = config.pubSub, onUserProfileMessage = config.onUserProfileMessage;
1192
+ var isMentionEnabled = config.groupChannel.enableMention;
1193
+ var isReactionEnabled = config.groupChannel.enableReactions;
1194
+ // dux of Thread
1195
+ var _c = useReducer(reducer, initialState), threadStore = _c[0], threadDispatcher = _c[1];
1196
+ var currentChannel = threadStore.currentChannel, allThreadMessages = threadStore.allThreadMessages, localThreadMessages = threadStore.localThreadMessages, parentMessage = threadStore.parentMessage, channelState = threadStore.channelState, threadListState = threadStore.threadListState, parentMessageState = threadStore.parentMessageState, hasMorePrev = threadStore.hasMorePrev, hasMoreNext = threadStore.hasMoreNext, emojiContainer = threadStore.emojiContainer, isMuted = threadStore.isMuted, isChannelFrozen = threadStore.isChannelFrozen, currentUserId = threadStore.currentUserId, typingMembers = threadStore.typingMembers;
1197
+ // Initialization
1198
+ useEffect(function () {
1199
+ threadDispatcher({
1200
+ type: ThreadContextActionTypes.INIT_USER_ID,
1201
+ payload: user === null || user === void 0 ? void 0 : user.userId,
1202
+ });
1203
+ }, [user]);
1204
+ useGetChannel({
1205
+ channelUrl: channelUrl,
1206
+ sdkInit: sdkInit,
1207
+ message: propsMessage,
1208
+ }, { sdk: sdk, logger: logger, threadDispatcher: threadDispatcher });
1209
+ useGetParentMessage({
1210
+ channelUrl: channelUrl,
1211
+ sdkInit: sdkInit,
1212
+ parentMessage: propsParentMessage,
1213
+ }, { sdk: sdk, logger: logger, threadDispatcher: threadDispatcher });
1214
+ useGetAllEmoji({ sdk: sdk }, { logger: logger, threadDispatcher: threadDispatcher });
1215
+ // Handle channel events
1216
+ useHandleChannelEvents({
1217
+ sdk: sdk,
1218
+ currentChannel: currentChannel,
1219
+ }, { logger: logger, threadDispatcher: threadDispatcher });
1220
+ useHandleThreadPubsubEvents({
1221
+ sdkInit: sdkInit,
1222
+ currentChannel: currentChannel,
1223
+ parentMessage: parentMessage,
1224
+ }, { logger: logger, pubSub: pubSub, threadDispatcher: threadDispatcher });
1225
+ var _d = useThreadFetchers({
1226
+ parentMessage: parentMessage,
1227
+ // anchorMessage should be null when parentMessage doesn't exist
1228
+ anchorMessage: (propsMessage === null || propsMessage === void 0 ? void 0 : propsMessage.messageId) !== (propsParentMessage === null || propsParentMessage === void 0 ? void 0 : propsParentMessage.messageId) ? propsMessage : undefined,
1229
+ logger: logger,
1230
+ isReactionEnabled: isReactionEnabled,
1231
+ threadDispatcher: threadDispatcher,
1232
+ threadListState: threadListState,
1233
+ oldestMessageTimeStamp: ((_a = allThreadMessages[0]) === null || _a === void 0 ? void 0 : _a.createdAt) || 0,
1234
+ latestMessageTimeStamp: ((_b = allThreadMessages[allThreadMessages.length - 1]) === null || _b === void 0 ? void 0 : _b.createdAt) || 0,
1235
+ }), initialize = _d.initialize, loadPrevious = _d.loadPrevious, loadNext = _d.loadNext;
1236
+ useEffect(function () {
1237
+ if (stores.sdkStore.initialized && config.isOnline) {
1238
+ initialize();
1239
+ }
1240
+ }, [stores.sdkStore.initialized, config.isOnline, initialize]);
1241
+ var toggleReaction = useToggleReactionCallback({ currentChannel: currentChannel }, { logger: logger });
1242
+ // Send Message Hooks
1243
+ var sendMessage = useSendUserMessageCallback({
1244
+ isMentionEnabled: isMentionEnabled,
1245
+ currentChannel: currentChannel,
1246
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
1247
+ }, {
1248
+ logger: logger,
1249
+ pubSub: pubSub,
1250
+ threadDispatcher: threadDispatcher,
1251
+ });
1252
+ var sendFileMessage = useSendFileMessageCallback({
1253
+ currentChannel: currentChannel,
1254
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
1255
+ }, {
1256
+ logger: logger,
1257
+ pubSub: pubSub,
1258
+ threadDispatcher: threadDispatcher,
1259
+ });
1260
+ var sendVoiceMessage = useSendVoiceMessageCallback({
1261
+ currentChannel: currentChannel,
1262
+ onBeforeSendVoiceMessage: onBeforeSendVoiceMessage,
1263
+ }, {
1264
+ logger: logger,
1265
+ pubSub: pubSub,
1266
+ threadDispatcher: threadDispatcher,
1267
+ });
1268
+ var sendMultipleFilesMessage = useSendMultipleFilesMessage({
1269
+ currentChannel: currentChannel,
1270
+ onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
1271
+ publishingModules: [PublishingModuleType.THREAD],
1272
+ }, {
1273
+ logger: logger,
1274
+ pubSub: pubSub,
1275
+ })[0];
1276
+ var resendMessage = useResendMessageCallback({
1277
+ currentChannel: currentChannel,
1278
+ }, { logger: logger, pubSub: pubSub, threadDispatcher: threadDispatcher });
1279
+ var updateMessage = useUpdateMessageCallback({
1280
+ currentChannel: currentChannel,
1281
+ isMentionEnabled: isMentionEnabled,
1282
+ }, { logger: logger, pubSub: pubSub, threadDispatcher: threadDispatcher });
1283
+ var deleteMessage = useDeleteMessageCallback({ currentChannel: currentChannel, threadDispatcher: threadDispatcher }, { logger: logger });
1284
+ // memo
1285
+ var nicknamesMap = useMemo(function () { return ((config.groupChannel.replyType !== 'none' && currentChannel)
1286
+ ? getNicknamesMapFromMembers(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members)
1287
+ : new Map()); }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members]);
1288
+ return (React__default.createElement(ThreadContext.Provider, { value: {
1289
+ // ThreadProviderProps
1290
+ channelUrl: channelUrl,
1291
+ message: propsMessage,
1292
+ onHeaderActionClick: onHeaderActionClick,
1293
+ onMoveToParentMessage: onMoveToParentMessage,
1294
+ isMultipleFilesMessageEnabled: isMultipleFilesMessageEnabled,
1295
+ onBeforeDownloadFileMessage: onBeforeDownloadFileMessage,
1296
+ // ThreadContextInitialState
1297
+ currentChannel: currentChannel,
1298
+ allThreadMessages: allThreadMessages,
1299
+ localThreadMessages: localThreadMessages,
1300
+ parentMessage: parentMessage,
1301
+ channelState: channelState,
1302
+ threadListState: threadListState,
1303
+ parentMessageState: parentMessageState,
1304
+ hasMorePrev: hasMorePrev,
1305
+ hasMoreNext: hasMoreNext,
1306
+ emojiContainer: emojiContainer,
1307
+ // hooks
1308
+ fetchPrevThreads: loadPrevious,
1309
+ fetchNextThreads: loadNext,
1310
+ toggleReaction: toggleReaction,
1311
+ sendMessage: sendMessage,
1312
+ sendFileMessage: sendFileMessage,
1313
+ sendVoiceMessage: sendVoiceMessage,
1314
+ sendMultipleFilesMessage: sendMultipleFilesMessage,
1315
+ resendMessage: resendMessage,
1316
+ updateMessage: updateMessage,
1317
+ deleteMessage: deleteMessage,
1318
+ // context
1319
+ nicknamesMap: nicknamesMap,
1320
+ isMuted: isMuted,
1321
+ isChannelFrozen: isChannelFrozen,
1322
+ currentUserId: currentUserId,
1323
+ typingMembers: typingMembers,
1324
+ } },
1325
+ React__default.createElement(UserProfileProvider, { disableUserProfile: disableUserProfile !== null && disableUserProfile !== void 0 ? disableUserProfile : !config.common.enableUsingDefaultUserProfile, renderUserProfile: renderUserProfile, onUserProfileMessage: onUserProfileMessage }, children)));
1326
+ };
1325
1327
  var useThreadContext = function () { return React__default.useContext(ThreadContext); };
1326
1328
 
1327
1329
  export { ThreadProvider, useThreadContext };