@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
@@ -1,1329 +1,1331 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var useSendMultipleFilesMessage = require('../chunks/bundle-DbS-u43Y.js');
5
- var UserProfileContext = require('../chunks/bundle-C7_tieEZ.js');
4
+ var useSendMultipleFilesMessage = require('../chunks/bundle-BXEGf4g2.js');
5
+ var UserProfileContext = require('../chunks/bundle-CAUMYdVU.js');
6
6
  var useSendbirdStateContext = require('../useSendbirdStateContext.js');
7
- var _tslib = require('../chunks/bundle-CY1bUkfG.js');
7
+ var _tslib = require('../chunks/bundle-HGbi-rCv.js');
8
8
  var Thread_context_types = require('./context/types.js');
9
9
  var SendbirdChat = require('@sendbird/chat');
10
- var pubSub_topics = require('../chunks/bundle-0W_w8lRK.js');
11
- var actionTypes = require('../chunks/bundle-C-noHeKZ.js');
10
+ var pubSub_topics = require('../chunks/bundle-Dehhi1FZ.js');
11
+ var actionTypes = require('../chunks/bundle-T4lp5F85.js');
12
12
  var groupChannel = require('@sendbird/chat/groupChannel');
13
- var uuid = require('../chunks/bundle-BRjBigtB.js');
14
- var compareIds = require('../chunks/bundle-DbykvtHO.js');
13
+ var uuid = require('../chunks/bundle-1XtsxT8L.js');
14
+ var compareIds = require('../chunks/bundle-DRy7eNJ0.js');
15
15
  var message = require('@sendbird/chat/message');
16
- var consts = require('../chunks/bundle-DnXNmdmw.js');
17
- require('../chunks/bundle-u8pJrzSP.js');
16
+ var consts = require('../chunks/bundle-DfcEln0Z.js');
17
+ require('../chunks/bundle-CE6bFQmu.js');
18
18
  require('../utils/message/getOutgoingMessageState.js');
19
19
  require('../withSendbird.js');
20
20
 
21
- var PREV_THREADS_FETCH_SIZE = 30;
21
+ var PREV_THREADS_FETCH_SIZE = 30;
22
22
  var NEXT_THREADS_FETCH_SIZE = 30;
23
23
 
24
- var ThreadContextActionTypes;
25
- (function (ThreadContextActionTypes) {
26
- // initialize
27
- ThreadContextActionTypes["INIT_USER_ID"] = "INIT_USER_ID";
28
- // channel
29
- ThreadContextActionTypes["GET_CHANNEL_START"] = "GET_CHANNEL_START";
30
- ThreadContextActionTypes["GET_CHANNEL_SUCCESS"] = "GET_CHANNEL_SUCCESS";
31
- ThreadContextActionTypes["GET_CHANNEL_FAILURE"] = "GET_CHANNEL_FAILURE";
32
- // emojis
33
- ThreadContextActionTypes["SET_EMOJI_CONTAINER"] = "SET_EMOJI_CONTAINER";
34
- // parent message
35
- ThreadContextActionTypes["GET_PARENT_MESSAGE_START"] = "GET_PARENT_MESSAGE_START";
36
- ThreadContextActionTypes["GET_PARENT_MESSAGE_SUCCESS"] = "GET_PARENT_MESSAGE_SUCCESS";
37
- ThreadContextActionTypes["GET_PARENT_MESSAGE_FAILURE"] = "GET_PARENT_MESSAGE_FAILURE";
38
- // fetch threads
39
- ThreadContextActionTypes["INITIALIZE_THREAD_LIST_START"] = "INITIALIZE_THREAD_LIST_START";
40
- ThreadContextActionTypes["INITIALIZE_THREAD_LIST_SUCCESS"] = "INITIALIZE_THREAD_LIST_SUCCESS";
41
- ThreadContextActionTypes["INITIALIZE_THREAD_LIST_FAILURE"] = "INITIALIZE_THREAD_LIST_FAILURE";
42
- ThreadContextActionTypes["GET_PREV_MESSAGES_START"] = "GET_PREV_MESSAGES_START";
43
- ThreadContextActionTypes["GET_PREV_MESSAGES_SUCESS"] = "GET_PREV_MESSAGES_SUCESS";
44
- ThreadContextActionTypes["GET_PREV_MESSAGES_FAILURE"] = "GET_PREV_MESSAGES_FAILURE";
45
- ThreadContextActionTypes["GET_NEXT_MESSAGES_START"] = "GET_NEXT_MESSAGES_START";
46
- ThreadContextActionTypes["GET_NEXT_MESSAGES_SUCESS"] = "GET_NEXT_MESSAGES_SUCESS";
47
- ThreadContextActionTypes["GET_NEXT_MESSAGES_FAILURE"] = "GET_NEXT_MESSAGES_FAILURE";
48
- // handle messages
49
- ThreadContextActionTypes["SEND_MESSAGE_START"] = "SEND_MESSAGE_START";
50
- ThreadContextActionTypes["SEND_MESSAGE_SUCESS"] = "SEND_MESSAGE_SUCESS";
51
- ThreadContextActionTypes["SEND_MESSAGE_FAILURE"] = "SEND_MESSAGE_FAILURE";
52
- ThreadContextActionTypes["RESEND_MESSAGE_START"] = "RESEND_MESSAGE_START";
53
- ThreadContextActionTypes["ON_MESSAGE_DELETED_BY_REQ_ID"] = "ON_MESSAGE_DELETED_BY_REQ_ID";
54
- // event handlers - message status change
55
- ThreadContextActionTypes["ON_MESSAGE_RECEIVED"] = "ON_MESSAGE_RECEIVED";
56
- ThreadContextActionTypes["ON_MESSAGE_UPDATED"] = "ON_MESSAGE_UPDATED";
57
- ThreadContextActionTypes["ON_MESSAGE_DELETED"] = "ON_MESSAGE_DELETED";
58
- ThreadContextActionTypes["ON_REACTION_UPDATED"] = "ON_REACTION_UPDATED";
59
- ThreadContextActionTypes["ON_FILE_INFO_UPLOADED"] = "ON_FILE_INFO_UPLOADED";
60
- // event handlers - user status change
61
- ThreadContextActionTypes["ON_USER_MUTED"] = "ON_USER_MUTED";
62
- ThreadContextActionTypes["ON_USER_UNMUTED"] = "ON_USER_UNMUTED";
63
- ThreadContextActionTypes["ON_USER_BANNED"] = "ON_USER_BANNED";
64
- ThreadContextActionTypes["ON_USER_UNBANNED"] = "ON_USER_UNBANNED";
65
- ThreadContextActionTypes["ON_USER_LEFT"] = "ON_USER_LEFT";
66
- // event handler - channel status change
67
- ThreadContextActionTypes["ON_CHANNEL_FROZEN"] = "ON_CHANNEL_FROZEN";
68
- ThreadContextActionTypes["ON_CHANNEL_UNFROZEN"] = "ON_CHANNEL_UNFROZEN";
69
- ThreadContextActionTypes["ON_OPERATOR_UPDATED"] = "ON_OPERATOR_UPDATED";
70
- // event handler - typing status change
71
- ThreadContextActionTypes["ON_TYPING_STATUS_UPDATED"] = "ON_TYPING_STATUS_UPDATED";
24
+ var ThreadContextActionTypes;
25
+ (function (ThreadContextActionTypes) {
26
+ // initialize
27
+ ThreadContextActionTypes["INIT_USER_ID"] = "INIT_USER_ID";
28
+ // channel
29
+ ThreadContextActionTypes["GET_CHANNEL_START"] = "GET_CHANNEL_START";
30
+ ThreadContextActionTypes["GET_CHANNEL_SUCCESS"] = "GET_CHANNEL_SUCCESS";
31
+ ThreadContextActionTypes["GET_CHANNEL_FAILURE"] = "GET_CHANNEL_FAILURE";
32
+ // emojis
33
+ ThreadContextActionTypes["SET_EMOJI_CONTAINER"] = "SET_EMOJI_CONTAINER";
34
+ // parent message
35
+ ThreadContextActionTypes["GET_PARENT_MESSAGE_START"] = "GET_PARENT_MESSAGE_START";
36
+ ThreadContextActionTypes["GET_PARENT_MESSAGE_SUCCESS"] = "GET_PARENT_MESSAGE_SUCCESS";
37
+ ThreadContextActionTypes["GET_PARENT_MESSAGE_FAILURE"] = "GET_PARENT_MESSAGE_FAILURE";
38
+ // fetch threads
39
+ ThreadContextActionTypes["INITIALIZE_THREAD_LIST_START"] = "INITIALIZE_THREAD_LIST_START";
40
+ ThreadContextActionTypes["INITIALIZE_THREAD_LIST_SUCCESS"] = "INITIALIZE_THREAD_LIST_SUCCESS";
41
+ ThreadContextActionTypes["INITIALIZE_THREAD_LIST_FAILURE"] = "INITIALIZE_THREAD_LIST_FAILURE";
42
+ ThreadContextActionTypes["GET_PREV_MESSAGES_START"] = "GET_PREV_MESSAGES_START";
43
+ ThreadContextActionTypes["GET_PREV_MESSAGES_SUCESS"] = "GET_PREV_MESSAGES_SUCESS";
44
+ ThreadContextActionTypes["GET_PREV_MESSAGES_FAILURE"] = "GET_PREV_MESSAGES_FAILURE";
45
+ ThreadContextActionTypes["GET_NEXT_MESSAGES_START"] = "GET_NEXT_MESSAGES_START";
46
+ ThreadContextActionTypes["GET_NEXT_MESSAGES_SUCESS"] = "GET_NEXT_MESSAGES_SUCESS";
47
+ ThreadContextActionTypes["GET_NEXT_MESSAGES_FAILURE"] = "GET_NEXT_MESSAGES_FAILURE";
48
+ // handle messages
49
+ ThreadContextActionTypes["SEND_MESSAGE_START"] = "SEND_MESSAGE_START";
50
+ ThreadContextActionTypes["SEND_MESSAGE_SUCESS"] = "SEND_MESSAGE_SUCESS";
51
+ ThreadContextActionTypes["SEND_MESSAGE_FAILURE"] = "SEND_MESSAGE_FAILURE";
52
+ ThreadContextActionTypes["RESEND_MESSAGE_START"] = "RESEND_MESSAGE_START";
53
+ ThreadContextActionTypes["ON_MESSAGE_DELETED_BY_REQ_ID"] = "ON_MESSAGE_DELETED_BY_REQ_ID";
54
+ // event handlers - message status change
55
+ ThreadContextActionTypes["ON_MESSAGE_RECEIVED"] = "ON_MESSAGE_RECEIVED";
56
+ ThreadContextActionTypes["ON_MESSAGE_UPDATED"] = "ON_MESSAGE_UPDATED";
57
+ ThreadContextActionTypes["ON_MESSAGE_DELETED"] = "ON_MESSAGE_DELETED";
58
+ ThreadContextActionTypes["ON_REACTION_UPDATED"] = "ON_REACTION_UPDATED";
59
+ ThreadContextActionTypes["ON_FILE_INFO_UPLOADED"] = "ON_FILE_INFO_UPLOADED";
60
+ // event handlers - user status change
61
+ ThreadContextActionTypes["ON_USER_MUTED"] = "ON_USER_MUTED";
62
+ ThreadContextActionTypes["ON_USER_UNMUTED"] = "ON_USER_UNMUTED";
63
+ ThreadContextActionTypes["ON_USER_BANNED"] = "ON_USER_BANNED";
64
+ ThreadContextActionTypes["ON_USER_UNBANNED"] = "ON_USER_UNBANNED";
65
+ ThreadContextActionTypes["ON_USER_LEFT"] = "ON_USER_LEFT";
66
+ // event handler - channel status change
67
+ ThreadContextActionTypes["ON_CHANNEL_FROZEN"] = "ON_CHANNEL_FROZEN";
68
+ ThreadContextActionTypes["ON_CHANNEL_UNFROZEN"] = "ON_CHANNEL_UNFROZEN";
69
+ ThreadContextActionTypes["ON_OPERATOR_UPDATED"] = "ON_OPERATOR_UPDATED";
70
+ // event handler - typing status change
71
+ ThreadContextActionTypes["ON_TYPING_STATUS_UPDATED"] = "ON_TYPING_STATUS_UPDATED";
72
72
  })(ThreadContextActionTypes || (ThreadContextActionTypes = {}));
73
73
 
74
- function reducer(state, action) {
75
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
76
- switch (action.type) {
77
- // initialize
78
- case ThreadContextActionTypes.INIT_USER_ID: {
79
- return _tslib.__assign(_tslib.__assign({}, state), { currentUserId: action.payload });
80
- }
81
- case ThreadContextActionTypes.GET_CHANNEL_START: {
82
- return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.LOADING, currentChannel: null });
83
- }
84
- case ThreadContextActionTypes.GET_CHANNEL_SUCCESS: {
85
- var groupChannel = action.payload.groupChannel;
86
- return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.INITIALIZED, currentChannel: groupChannel,
87
- // only support in normal group channel
88
- 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 });
89
- }
90
- case ThreadContextActionTypes.GET_CHANNEL_FAILURE: {
91
- return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.INVALID, currentChannel: null });
92
- }
93
- case ThreadContextActionTypes.SET_EMOJI_CONTAINER: {
94
- var emojiContainer = action.payload.emojiContainer;
95
- return _tslib.__assign(_tslib.__assign({}, state), { emojiContainer: emojiContainer });
96
- }
97
- case ThreadContextActionTypes.GET_PARENT_MESSAGE_START: {
98
- return _tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.LOADING, parentMessage: null });
99
- }
100
- case ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS: {
101
- return _tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.INITIALIZED, parentMessage: action.payload.parentMessage });
102
- }
103
- case ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE: {
104
- return _tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.INVALID, parentMessage: null });
105
- }
106
- // fetch threads
107
- case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START: {
108
- return _tslib.__assign(_tslib.__assign({}, state), { threadListState: Thread_context_types.ThreadListStateTypes.LOADING, allThreadMessages: [] });
109
- }
110
- case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS: {
111
- var _z = action.payload, parentMessage = _z.parentMessage, anchorMessage = _z.anchorMessage, threadedMessages = _z.threadedMessages;
112
- 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;
113
- var anchorIndex = threadedMessages.findIndex(function (message) { return (message === null || message === void 0 ? void 0 : message.createdAt) > anchorMessageCreatedAt_1; });
114
- var prevThreadMessages = anchorIndex > -1 ? threadedMessages.slice(0, anchorIndex) : threadedMessages;
115
- var anchorThreadMessage = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.messageId) ? [anchorMessage] : [];
116
- var nextThreadMessages = anchorIndex > -1 ? threadedMessages.slice(anchorIndex) : [];
117
- return _tslib.__assign(_tslib.__assign({}, state), { threadListState: Thread_context_types.ThreadListStateTypes.INITIALIZED, hasMorePrev: anchorIndex === -1 || anchorIndex === PREV_THREADS_FETCH_SIZE, hasMoreNext: threadedMessages.length - anchorIndex === NEXT_THREADS_FETCH_SIZE, allThreadMessages: [prevThreadMessages, anchorThreadMessage, nextThreadMessages].flat() });
118
- }
119
- case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE: {
120
- return _tslib.__assign(_tslib.__assign({}, state), { threadListState: Thread_context_types.ThreadListStateTypes.INVALID, allThreadMessages: [] });
121
- }
122
- case ThreadContextActionTypes.GET_NEXT_MESSAGES_START: {
123
- return _tslib.__assign({}, state);
124
- }
125
- case ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS: {
126
- var threadedMessages = action.payload.threadedMessages;
127
- return _tslib.__assign(_tslib.__assign({}, state), { hasMoreNext: threadedMessages.length === NEXT_THREADS_FETCH_SIZE, allThreadMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allThreadMessages, true), threadedMessages, true) });
128
- }
129
- case ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE: {
130
- return _tslib.__assign(_tslib.__assign({}, state), { hasMoreNext: false });
131
- }
132
- case ThreadContextActionTypes.GET_PREV_MESSAGES_START: {
133
- return _tslib.__assign({}, state);
134
- }
135
- case ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS: {
136
- var threadedMessages = action.payload.threadedMessages;
137
- return _tslib.__assign(_tslib.__assign({}, state), { hasMorePrev: threadedMessages.length === PREV_THREADS_FETCH_SIZE, allThreadMessages: _tslib.__spreadArray(_tslib.__spreadArray([], threadedMessages, true), state.allThreadMessages, true) });
138
- }
139
- case ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE: {
140
- return _tslib.__assign(_tslib.__assign({}, state), { hasMorePrev: false });
141
- }
142
- // event handlers - message status change
143
- case ThreadContextActionTypes.ON_MESSAGE_RECEIVED: {
144
- var _0 = action.payload, channel = _0.channel, message_1 = _0.message;
145
- if (((_c = state.currentChannel) === null || _c === void 0 ? void 0 : _c.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)
146
- || state.hasMoreNext
147
- || ((_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)) {
148
- return state;
149
- }
150
- var isAlreadyReceived = state.allThreadMessages.findIndex(function (m) { return (m.messageId === message_1.messageId); }) > -1;
151
- return _tslib.__assign(_tslib.__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
152
- ? state.allThreadMessages.map(function (m) { return (m.messageId === message_1.messageId ? message_1 : m); })
153
- : _tslib.__spreadArray(_tslib.__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), [
154
- message_1,
155
- ], false) });
156
- }
157
- case ThreadContextActionTypes.ON_MESSAGE_UPDATED: {
158
- var _1 = action.payload, channel = _1.channel, message_2 = _1.message;
159
- if (((_g = state.currentChannel) === null || _g === void 0 ? void 0 : _g.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
160
- return state;
161
- }
162
- return _tslib.__assign(_tslib.__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)
163
- ? message_2
164
- : 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); }) });
165
- }
166
- case ThreadContextActionTypes.ON_MESSAGE_DELETED: {
167
- var _2 = action.payload, channel = _2.channel, messageId_1 = _2.messageId;
168
- if (((_k = state.currentChannel) === null || _k === void 0 ? void 0 : _k.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
169
- return state;
170
- }
171
- if (((_l = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _l === void 0 ? void 0 : _l.messageId) === messageId_1) {
172
- return _tslib.__assign(_tslib.__assign({}, state), { parentMessage: null, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, allThreadMessages: [] });
173
- }
174
- return _tslib.__assign(_tslib.__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); }) });
175
- }
176
- case ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID: {
177
- return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: state.localThreadMessages.filter(function (m) { return (!useSendMultipleFilesMessage.compareIds(m.reqId, action.payload)); }) });
178
- }
179
- case ThreadContextActionTypes.ON_REACTION_UPDATED: {
180
- var reactionEvent_1 = (_p = action.payload) === null || _p === void 0 ? void 0 : _p.reactionEvent;
181
- 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)) {
182
- (_s = (_r = state.parentMessage) === null || _r === void 0 ? void 0 : _r.applyReactionEvent) === null || _s === void 0 ? void 0 : _s.call(_r, reactionEvent_1);
183
- }
184
- return _tslib.__assign(_tslib.__assign({}, state), { allThreadMessages: state.allThreadMessages.map(function (m) {
185
- var _a;
186
- if ((reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId) === (m === null || m === void 0 ? void 0 : m.messageId)) {
187
- (_a = m === null || m === void 0 ? void 0 : m.applyReactionEvent) === null || _a === void 0 ? void 0 : _a.call(m, reactionEvent_1);
188
- return m;
189
- }
190
- return m;
191
- }) });
192
- }
193
- // event handlers - user status change
194
- case ThreadContextActionTypes.ON_USER_MUTED: {
195
- var _3 = action.payload, channel = _3.channel, user = _3.user;
196
- 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)) {
197
- return state;
198
- }
199
- return _tslib.__assign(_tslib.__assign({}, state), { isMuted: true });
200
- }
201
- case ThreadContextActionTypes.ON_USER_UNMUTED: {
202
- var _4 = action.payload, channel = _4.channel, user = _4.user;
203
- 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)) {
204
- return state;
205
- }
206
- return _tslib.__assign(_tslib.__assign({}, state), { isMuted: false });
207
- }
208
- case ThreadContextActionTypes.ON_USER_BANNED: {
209
- return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.NIL, threadListState: Thread_context_types.ThreadListStateTypes.NIL, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, allThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
210
- }
211
- case ThreadContextActionTypes.ON_USER_UNBANNED: {
212
- return _tslib.__assign({}, state);
213
- }
214
- case ThreadContextActionTypes.ON_USER_LEFT: {
215
- return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.NIL, threadListState: Thread_context_types.ThreadListStateTypes.NIL, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, allThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
216
- }
217
- // event handler - channel status change
218
- case ThreadContextActionTypes.ON_CHANNEL_FROZEN: {
219
- return _tslib.__assign(_tslib.__assign({}, state), { isChannelFrozen: true });
220
- }
221
- case ThreadContextActionTypes.ON_CHANNEL_UNFROZEN: {
222
- return _tslib.__assign(_tslib.__assign({}, state), { isChannelFrozen: false });
223
- }
224
- case ThreadContextActionTypes.ON_OPERATOR_UPDATED: {
225
- var channel = action.payload.channel;
226
- if ((channel === null || channel === void 0 ? void 0 : channel.url) === ((_v = state.currentChannel) === null || _v === void 0 ? void 0 : _v.url)) {
227
- return _tslib.__assign(_tslib.__assign({}, state), { currentChannel: channel });
228
- }
229
- return state;
230
- }
231
- // message
232
- case ThreadContextActionTypes.SEND_MESSAGE_START: {
233
- var message = action.payload.message;
234
- return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.localThreadMessages, true), [
235
- message,
236
- ], false) });
237
- }
238
- case ThreadContextActionTypes.SEND_MESSAGE_SUCESS: {
239
- var message_3 = action.payload.message;
240
- return _tslib.__assign(_tslib.__assign({}, state), { allThreadMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allThreadMessages.filter(function (m) { return (!useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId)); }), true), [
241
- message_3,
242
- ], false), localThreadMessages: state.localThreadMessages.filter(function (m) { return (!useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId)); }) });
243
- }
244
- case ThreadContextActionTypes.SEND_MESSAGE_FAILURE: {
245
- var message_4 = action.payload.message;
246
- return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: state.localThreadMessages.map(function (m) { return (useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_4 === null || message_4 === void 0 ? void 0 : message_4.reqId)
247
- ? message_4
248
- : m); }) });
249
- }
250
- case ThreadContextActionTypes.RESEND_MESSAGE_START: {
251
- var message_5 = action.payload.message;
252
- return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: state.localThreadMessages.map(function (m) { return (useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_5 === null || message_5 === void 0 ? void 0 : message_5.reqId)
253
- ? message_5
254
- : m); }) });
255
- }
256
- case ThreadContextActionTypes.ON_FILE_INFO_UPLOADED: {
257
- var _5 = action.payload, channelUrl = _5.channelUrl, requestId_1 = _5.requestId, index = _5.index, uploadableFileInfo = _5.uploadableFileInfo, error = _5.error;
258
- if (!useSendMultipleFilesMessage.compareIds(channelUrl, (_w = state.currentChannel) === null || _w === void 0 ? void 0 : _w.url)) {
259
- return state;
260
- }
261
- /**
262
- * We don't have to do anything here because
263
- * onFailed() will be called so handle error there instead.
264
- */
265
- if (error)
266
- return state;
267
- var localThreadMessages = state.localThreadMessages;
268
- var messageToUpdate = localThreadMessages.find(function (message) { return useSendMultipleFilesMessage.compareIds(hasReqId(message) && message.reqId, requestId_1); });
269
- var fileInfoList = (_x = messageToUpdate
270
- .messageParams) === null || _x === void 0 ? void 0 : _x.fileInfoList;
271
- if (Array.isArray(fileInfoList)) {
272
- fileInfoList[index] = uploadableFileInfo;
273
- }
274
- return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: localThreadMessages });
275
- }
276
- case ThreadContextActionTypes.ON_TYPING_STATUS_UPDATED: {
277
- var _6 = action.payload, channel = _6.channel, typingMembers = _6.typingMembers;
278
- if (!useSendMultipleFilesMessage.compareIds(channel.url, (_y = state.currentChannel) === null || _y === void 0 ? void 0 : _y.url)) {
279
- return state;
280
- }
281
- return _tslib.__assign(_tslib.__assign({}, state), { typingMembers: typingMembers });
282
- }
283
- default: {
284
- return state;
285
- }
286
- }
287
- }
288
- function hasReqId(message) {
289
- return 'reqId' in message;
74
+ function reducer(state, action) {
75
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
76
+ switch (action.type) {
77
+ // initialize
78
+ case ThreadContextActionTypes.INIT_USER_ID: {
79
+ return _tslib.__assign(_tslib.__assign({}, state), { currentUserId: action.payload });
80
+ }
81
+ case ThreadContextActionTypes.GET_CHANNEL_START: {
82
+ return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.LOADING, currentChannel: null });
83
+ }
84
+ case ThreadContextActionTypes.GET_CHANNEL_SUCCESS: {
85
+ var groupChannel = action.payload.groupChannel;
86
+ return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.INITIALIZED, currentChannel: groupChannel,
87
+ // only support in normal group channel
88
+ 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 });
89
+ }
90
+ case ThreadContextActionTypes.GET_CHANNEL_FAILURE: {
91
+ return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.INVALID, currentChannel: null });
92
+ }
93
+ case ThreadContextActionTypes.SET_EMOJI_CONTAINER: {
94
+ var emojiContainer = action.payload.emojiContainer;
95
+ return _tslib.__assign(_tslib.__assign({}, state), { emojiContainer: emojiContainer });
96
+ }
97
+ case ThreadContextActionTypes.GET_PARENT_MESSAGE_START: {
98
+ return _tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.LOADING, parentMessage: null });
99
+ }
100
+ case ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS: {
101
+ return _tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.INITIALIZED, parentMessage: action.payload.parentMessage });
102
+ }
103
+ case ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE: {
104
+ return _tslib.__assign(_tslib.__assign({}, state), { parentMessageState: Thread_context_types.ParentMessageStateTypes.INVALID, parentMessage: null });
105
+ }
106
+ // fetch threads
107
+ case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START: {
108
+ return _tslib.__assign(_tslib.__assign({}, state), { threadListState: Thread_context_types.ThreadListStateTypes.LOADING, allThreadMessages: [] });
109
+ }
110
+ case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS: {
111
+ var _z = action.payload, parentMessage = _z.parentMessage, anchorMessage = _z.anchorMessage, threadedMessages = _z.threadedMessages;
112
+ 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;
113
+ var anchorIndex = threadedMessages.findIndex(function (message) { return (message === null || message === void 0 ? void 0 : message.createdAt) > anchorMessageCreatedAt_1; });
114
+ var prevThreadMessages = anchorIndex > -1 ? threadedMessages.slice(0, anchorIndex) : threadedMessages;
115
+ var anchorThreadMessage = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.messageId) ? [anchorMessage] : [];
116
+ var nextThreadMessages = anchorIndex > -1 ? threadedMessages.slice(anchorIndex) : [];
117
+ return _tslib.__assign(_tslib.__assign({}, state), { threadListState: Thread_context_types.ThreadListStateTypes.INITIALIZED, hasMorePrev: anchorIndex === -1 || anchorIndex === PREV_THREADS_FETCH_SIZE, hasMoreNext: threadedMessages.length - anchorIndex === NEXT_THREADS_FETCH_SIZE, allThreadMessages: [prevThreadMessages, anchorThreadMessage, nextThreadMessages].flat() });
118
+ }
119
+ case ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE: {
120
+ return _tslib.__assign(_tslib.__assign({}, state), { threadListState: Thread_context_types.ThreadListStateTypes.INVALID, allThreadMessages: [] });
121
+ }
122
+ case ThreadContextActionTypes.GET_NEXT_MESSAGES_START: {
123
+ return _tslib.__assign({}, state);
124
+ }
125
+ case ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS: {
126
+ var threadedMessages = action.payload.threadedMessages;
127
+ return _tslib.__assign(_tslib.__assign({}, state), { hasMoreNext: threadedMessages.length === NEXT_THREADS_FETCH_SIZE, allThreadMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allThreadMessages, true), threadedMessages, true) });
128
+ }
129
+ case ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE: {
130
+ return _tslib.__assign(_tslib.__assign({}, state), { hasMoreNext: false });
131
+ }
132
+ case ThreadContextActionTypes.GET_PREV_MESSAGES_START: {
133
+ return _tslib.__assign({}, state);
134
+ }
135
+ case ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS: {
136
+ var threadedMessages = action.payload.threadedMessages;
137
+ return _tslib.__assign(_tslib.__assign({}, state), { hasMorePrev: threadedMessages.length === PREV_THREADS_FETCH_SIZE, allThreadMessages: _tslib.__spreadArray(_tslib.__spreadArray([], threadedMessages, true), state.allThreadMessages, true) });
138
+ }
139
+ case ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE: {
140
+ return _tslib.__assign(_tslib.__assign({}, state), { hasMorePrev: false });
141
+ }
142
+ // event handlers - message status change
143
+ case ThreadContextActionTypes.ON_MESSAGE_RECEIVED: {
144
+ var _0 = action.payload, channel = _0.channel, message_1 = _0.message;
145
+ if (((_c = state.currentChannel) === null || _c === void 0 ? void 0 : _c.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)
146
+ || state.hasMoreNext
147
+ || ((_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)) {
148
+ return state;
149
+ }
150
+ var isAlreadyReceived = state.allThreadMessages.findIndex(function (m) { return (m.messageId === message_1.messageId); }) > -1;
151
+ return _tslib.__assign(_tslib.__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
152
+ ? state.allThreadMessages.map(function (m) { return (m.messageId === message_1.messageId ? message_1 : m); })
153
+ : _tslib.__spreadArray(_tslib.__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), [
154
+ message_1,
155
+ ], false) });
156
+ }
157
+ case ThreadContextActionTypes.ON_MESSAGE_UPDATED: {
158
+ var _1 = action.payload, channel = _1.channel, message_2 = _1.message;
159
+ if (((_g = state.currentChannel) === null || _g === void 0 ? void 0 : _g.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
160
+ return state;
161
+ }
162
+ return _tslib.__assign(_tslib.__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)
163
+ ? message_2
164
+ : 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); }) });
165
+ }
166
+ case ThreadContextActionTypes.ON_MESSAGE_DELETED: {
167
+ var _2 = action.payload, channel = _2.channel, messageId_1 = _2.messageId;
168
+ if (((_k = state.currentChannel) === null || _k === void 0 ? void 0 : _k.url) !== (channel === null || channel === void 0 ? void 0 : channel.url)) {
169
+ return state;
170
+ }
171
+ if (((_l = state === null || state === void 0 ? void 0 : state.parentMessage) === null || _l === void 0 ? void 0 : _l.messageId) === messageId_1) {
172
+ return _tslib.__assign(_tslib.__assign({}, state), { parentMessage: null, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, allThreadMessages: [] });
173
+ }
174
+ return _tslib.__assign(_tslib.__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); }) });
175
+ }
176
+ case ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID: {
177
+ return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: state.localThreadMessages.filter(function (m) { return (!useSendMultipleFilesMessage.compareIds(m.reqId, action.payload)); }) });
178
+ }
179
+ case ThreadContextActionTypes.ON_REACTION_UPDATED: {
180
+ var reactionEvent_1 = (_p = action.payload) === null || _p === void 0 ? void 0 : _p.reactionEvent;
181
+ 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)) {
182
+ (_s = (_r = state.parentMessage) === null || _r === void 0 ? void 0 : _r.applyReactionEvent) === null || _s === void 0 ? void 0 : _s.call(_r, reactionEvent_1);
183
+ }
184
+ return _tslib.__assign(_tslib.__assign({}, state), { allThreadMessages: state.allThreadMessages.map(function (m) {
185
+ var _a;
186
+ if ((reactionEvent_1 === null || reactionEvent_1 === void 0 ? void 0 : reactionEvent_1.messageId) === (m === null || m === void 0 ? void 0 : m.messageId)) {
187
+ (_a = m === null || m === void 0 ? void 0 : m.applyReactionEvent) === null || _a === void 0 ? void 0 : _a.call(m, reactionEvent_1);
188
+ return m;
189
+ }
190
+ return m;
191
+ }) });
192
+ }
193
+ // event handlers - user status change
194
+ case ThreadContextActionTypes.ON_USER_MUTED: {
195
+ var _3 = action.payload, channel = _3.channel, user = _3.user;
196
+ 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)) {
197
+ return state;
198
+ }
199
+ return _tslib.__assign(_tslib.__assign({}, state), { isMuted: true });
200
+ }
201
+ case ThreadContextActionTypes.ON_USER_UNMUTED: {
202
+ var _4 = action.payload, channel = _4.channel, user = _4.user;
203
+ 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)) {
204
+ return state;
205
+ }
206
+ return _tslib.__assign(_tslib.__assign({}, state), { isMuted: false });
207
+ }
208
+ case ThreadContextActionTypes.ON_USER_BANNED: {
209
+ return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.NIL, threadListState: Thread_context_types.ThreadListStateTypes.NIL, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, allThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
210
+ }
211
+ case ThreadContextActionTypes.ON_USER_UNBANNED: {
212
+ return _tslib.__assign({}, state);
213
+ }
214
+ case ThreadContextActionTypes.ON_USER_LEFT: {
215
+ return _tslib.__assign(_tslib.__assign({}, state), { channelState: Thread_context_types.ChannelStateTypes.NIL, threadListState: Thread_context_types.ThreadListStateTypes.NIL, parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL, currentChannel: null, parentMessage: null, allThreadMessages: [], hasMorePrev: false, hasMoreNext: false });
216
+ }
217
+ // event handler - channel status change
218
+ case ThreadContextActionTypes.ON_CHANNEL_FROZEN: {
219
+ return _tslib.__assign(_tslib.__assign({}, state), { isChannelFrozen: true });
220
+ }
221
+ case ThreadContextActionTypes.ON_CHANNEL_UNFROZEN: {
222
+ return _tslib.__assign(_tslib.__assign({}, state), { isChannelFrozen: false });
223
+ }
224
+ case ThreadContextActionTypes.ON_OPERATOR_UPDATED: {
225
+ var channel = action.payload.channel;
226
+ if ((channel === null || channel === void 0 ? void 0 : channel.url) === ((_v = state.currentChannel) === null || _v === void 0 ? void 0 : _v.url)) {
227
+ return _tslib.__assign(_tslib.__assign({}, state), { currentChannel: channel });
228
+ }
229
+ return state;
230
+ }
231
+ // message
232
+ case ThreadContextActionTypes.SEND_MESSAGE_START: {
233
+ var message = action.payload.message;
234
+ return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.localThreadMessages, true), [
235
+ message,
236
+ ], false) });
237
+ }
238
+ case ThreadContextActionTypes.SEND_MESSAGE_SUCESS: {
239
+ var message_3 = action.payload.message;
240
+ return _tslib.__assign(_tslib.__assign({}, state), { allThreadMessages: _tslib.__spreadArray(_tslib.__spreadArray([], state.allThreadMessages.filter(function (m) { return (!useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId)); }), true), [
241
+ message_3,
242
+ ], false), localThreadMessages: state.localThreadMessages.filter(function (m) { return (!useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_3 === null || message_3 === void 0 ? void 0 : message_3.reqId)); }) });
243
+ }
244
+ case ThreadContextActionTypes.SEND_MESSAGE_FAILURE: {
245
+ var message_4 = action.payload.message;
246
+ return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: state.localThreadMessages.map(function (m) { return (useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_4 === null || message_4 === void 0 ? void 0 : message_4.reqId)
247
+ ? message_4
248
+ : m); }) });
249
+ }
250
+ case ThreadContextActionTypes.RESEND_MESSAGE_START: {
251
+ var message_5 = action.payload.message;
252
+ return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: state.localThreadMessages.map(function (m) { return (useSendMultipleFilesMessage.compareIds(m === null || m === void 0 ? void 0 : m.reqId, message_5 === null || message_5 === void 0 ? void 0 : message_5.reqId)
253
+ ? message_5
254
+ : m); }) });
255
+ }
256
+ case ThreadContextActionTypes.ON_FILE_INFO_UPLOADED: {
257
+ var _5 = action.payload, channelUrl = _5.channelUrl, requestId_1 = _5.requestId, index = _5.index, uploadableFileInfo = _5.uploadableFileInfo, error = _5.error;
258
+ if (!useSendMultipleFilesMessage.compareIds(channelUrl, (_w = state.currentChannel) === null || _w === void 0 ? void 0 : _w.url)) {
259
+ return state;
260
+ }
261
+ /**
262
+ * We don't have to do anything here because
263
+ * onFailed() will be called so handle error there instead.
264
+ */
265
+ if (error)
266
+ return state;
267
+ var localThreadMessages = state.localThreadMessages;
268
+ var messageToUpdate = localThreadMessages.find(function (message) { return useSendMultipleFilesMessage.compareIds(hasReqId(message) && message.reqId, requestId_1); });
269
+ var fileInfoList = (_x = messageToUpdate
270
+ .messageParams) === null || _x === void 0 ? void 0 : _x.fileInfoList;
271
+ if (Array.isArray(fileInfoList)) {
272
+ fileInfoList[index] = uploadableFileInfo;
273
+ }
274
+ return _tslib.__assign(_tslib.__assign({}, state), { localThreadMessages: localThreadMessages });
275
+ }
276
+ case ThreadContextActionTypes.ON_TYPING_STATUS_UPDATED: {
277
+ var _6 = action.payload, channel = _6.channel, typingMembers = _6.typingMembers;
278
+ if (!useSendMultipleFilesMessage.compareIds(channel.url, (_y = state.currentChannel) === null || _y === void 0 ? void 0 : _y.url)) {
279
+ return state;
280
+ }
281
+ return _tslib.__assign(_tslib.__assign({}, state), { typingMembers: typingMembers });
282
+ }
283
+ default: {
284
+ return state;
285
+ }
286
+ }
287
+ }
288
+ function hasReqId(message) {
289
+ return 'reqId' in message;
290
290
  }
291
291
 
292
- var initialState = {
293
- currentChannel: null,
294
- allThreadMessages: [],
295
- localThreadMessages: [],
296
- parentMessage: null,
297
- channelState: Thread_context_types.ChannelStateTypes.NIL,
298
- parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
299
- threadListState: Thread_context_types.ThreadListStateTypes.NIL,
300
- hasMorePrev: false,
301
- hasMoreNext: false,
302
- emojiContainer: {},
303
- isMuted: false,
304
- isChannelFrozen: false,
305
- currentUserId: '',
306
- typingMembers: [],
292
+ var initialState = {
293
+ currentChannel: null,
294
+ allThreadMessages: [],
295
+ localThreadMessages: [],
296
+ parentMessage: null,
297
+ channelState: Thread_context_types.ChannelStateTypes.NIL,
298
+ parentMessageState: Thread_context_types.ParentMessageStateTypes.NIL,
299
+ threadListState: Thread_context_types.ThreadListStateTypes.NIL,
300
+ hasMorePrev: false,
301
+ hasMoreNext: false,
302
+ emojiContainer: {},
303
+ isMuted: false,
304
+ isChannelFrozen: false,
305
+ currentUserId: '',
306
+ typingMembers: [],
307
307
  };
308
308
 
309
- function useGetChannel(_a, _b) {
310
- var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, message = _a.message;
311
- var sdk = _b.sdk, logger = _b.logger, threadDispatcher = _b.threadDispatcher;
312
- React.useEffect(function () {
313
- var _a, _b;
314
- // validation check
315
- if (sdkInit && channelUrl && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
316
- threadDispatcher({
317
- type: ThreadContextActionTypes.GET_CHANNEL_START,
318
- payload: null,
319
- });
320
- (_b = (_a = sdk.groupChannel).getChannel) === null || _b === void 0 ? void 0 : _b.call(_a, channelUrl).then(function (groupChannel) {
321
- logger.info('Thread | useInitialize: Get channel succeeded', groupChannel);
322
- threadDispatcher({
323
- type: ThreadContextActionTypes.GET_CHANNEL_SUCCESS,
324
- payload: { groupChannel: groupChannel },
325
- });
326
- }).catch(function (error) {
327
- logger.info('Thread | useInitialize: Get channel failed', error);
328
- threadDispatcher({
329
- type: ThreadContextActionTypes.GET_CHANNEL_FAILURE,
330
- payload: error,
331
- });
332
- });
333
- }
334
- }, [message, sdkInit]);
335
- /**
336
- * We don't use channelUrl here,
337
- * because Thread must operate independently of the channel.
338
- */
309
+ function useGetChannel(_a, _b) {
310
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, message = _a.message;
311
+ var sdk = _b.sdk, logger = _b.logger, threadDispatcher = _b.threadDispatcher;
312
+ React.useEffect(function () {
313
+ var _a, _b;
314
+ // validation check
315
+ if (sdkInit && channelUrl && (sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel)) {
316
+ threadDispatcher({
317
+ type: ThreadContextActionTypes.GET_CHANNEL_START,
318
+ payload: null,
319
+ });
320
+ (_b = (_a = sdk.groupChannel).getChannel) === null || _b === void 0 ? void 0 : _b.call(_a, channelUrl).then(function (groupChannel) {
321
+ logger.info('Thread | useInitialize: Get channel succeeded', groupChannel);
322
+ threadDispatcher({
323
+ type: ThreadContextActionTypes.GET_CHANNEL_SUCCESS,
324
+ payload: { groupChannel: groupChannel },
325
+ });
326
+ }).catch(function (error) {
327
+ logger.info('Thread | useInitialize: Get channel failed', error);
328
+ threadDispatcher({
329
+ type: ThreadContextActionTypes.GET_CHANNEL_FAILURE,
330
+ payload: error,
331
+ });
332
+ });
333
+ }
334
+ }, [message, sdkInit]);
335
+ /**
336
+ * We don't use channelUrl here,
337
+ * because Thread must operate independently of the channel.
338
+ */
339
339
  }
340
340
 
341
- function useGetAllEmoji(_a, _b) {
342
- var sdk = _a.sdk;
343
- var logger = _b.logger, threadDispatcher = _b.threadDispatcher;
344
- React.useEffect(function () {
345
- if (sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji) { // validation check
346
- sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji().then(function (emojiContainer) {
347
- logger.info('Thread | useGetAllEmoji: Getting emojis succeeded.', emojiContainer);
348
- threadDispatcher({
349
- type: ThreadContextActionTypes.SET_EMOJI_CONTAINER,
350
- payload: { emojiContainer: emojiContainer },
351
- });
352
- }).catch(function (error) {
353
- logger.info('Thread | useGetAllEmoji: Getting emojis failed.', error);
354
- });
355
- }
356
- }, [sdk]);
341
+ function useGetAllEmoji(_a, _b) {
342
+ var sdk = _a.sdk;
343
+ var logger = _b.logger, threadDispatcher = _b.threadDispatcher;
344
+ React.useEffect(function () {
345
+ if (sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji) { // validation check
346
+ sdk === null || sdk === void 0 ? void 0 : sdk.getAllEmoji().then(function (emojiContainer) {
347
+ logger.info('Thread | useGetAllEmoji: Getting emojis succeeded.', emojiContainer);
348
+ threadDispatcher({
349
+ type: ThreadContextActionTypes.SET_EMOJI_CONTAINER,
350
+ payload: { emojiContainer: emojiContainer },
351
+ });
352
+ }).catch(function (error) {
353
+ logger.info('Thread | useGetAllEmoji: Getting emojis failed.', error);
354
+ });
355
+ }
356
+ }, [sdk]);
357
357
  }
358
358
 
359
- function useGetParentMessage(_a, _b) {
360
- var _this = this;
361
- var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, parentMessage = _a.parentMessage;
362
- var sdk = _b.sdk, logger = _b.logger, threadDispatcher = _b.threadDispatcher;
363
- React.useEffect(function () {
364
- var _a;
365
- // validation check
366
- if (sdkInit && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.message) === null || _a === void 0 ? void 0 : _a.getMessage)) {
367
- threadDispatcher({
368
- type: ThreadContextActionTypes.GET_PARENT_MESSAGE_START,
369
- payload: null,
370
- });
371
- var params_1 = {
372
- channelUrl: channelUrl,
373
- channelType: SendbirdChat.ChannelType.GROUP,
374
- messageId: parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId,
375
- includeMetaArray: true,
376
- includeReactions: true,
377
- includeThreadInfo: true,
378
- includeParentMessageInfo: true,
379
- };
380
- logger.info('Thread | useGetParentMessage: Get parent message start.', params_1);
381
- var fetchParentMessage = function () { return _tslib.__awaiter(_this, void 0, void 0, function () {
382
- var data;
383
- var _a, _b;
384
- return _tslib.__generator(this, function (_c) {
385
- switch (_c.label) {
386
- case 0: return [4 /*yield*/, ((_b = (_a = sdk.message).getMessage) === null || _b === void 0 ? void 0 : _b.call(_a, params_1))];
387
- case 1:
388
- data = _c.sent();
389
- return [2 /*return*/, data];
390
- }
391
- });
392
- }); };
393
- fetchParentMessage()
394
- .then(function (parentMsg) {
395
- logger.info('Thread | useGetParentMessage: Get parent message succeeded.', parentMessage);
396
- // @ts-ignore
397
- parentMsg.ogMetaData = (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.ogMetaData) || null; // ogMetaData is not included for now
398
- threadDispatcher({
399
- type: ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS,
400
- payload: { parentMessage: parentMsg },
401
- });
402
- })
403
- .catch(function (error) {
404
- logger.info('Thread | useGetParentMessage: Get parent message failed.', error);
405
- threadDispatcher({
406
- type: ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE,
407
- payload: error,
408
- });
409
- });
410
- }
411
- }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
412
- /**
413
- * We don't use channelUrl here,
414
- * because Thread must operate independently of the channel.
415
- */
359
+ function useGetParentMessage(_a, _b) {
360
+ var _this = this;
361
+ var channelUrl = _a.channelUrl, sdkInit = _a.sdkInit, parentMessage = _a.parentMessage;
362
+ var sdk = _b.sdk, logger = _b.logger, threadDispatcher = _b.threadDispatcher;
363
+ React.useEffect(function () {
364
+ var _a;
365
+ // validation check
366
+ if (sdkInit && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.message) === null || _a === void 0 ? void 0 : _a.getMessage)) {
367
+ threadDispatcher({
368
+ type: ThreadContextActionTypes.GET_PARENT_MESSAGE_START,
369
+ payload: null,
370
+ });
371
+ var params_1 = {
372
+ channelUrl: channelUrl,
373
+ channelType: SendbirdChat.ChannelType.GROUP,
374
+ messageId: parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId,
375
+ includeMetaArray: true,
376
+ includeReactions: true,
377
+ includeThreadInfo: true,
378
+ includeParentMessageInfo: true,
379
+ };
380
+ logger.info('Thread | useGetParentMessage: Get parent message start.', params_1);
381
+ var fetchParentMessage = function () { return _tslib.__awaiter(_this, void 0, void 0, function () {
382
+ var data;
383
+ var _a, _b;
384
+ return _tslib.__generator(this, function (_c) {
385
+ switch (_c.label) {
386
+ case 0: return [4 /*yield*/, ((_b = (_a = sdk.message).getMessage) === null || _b === void 0 ? void 0 : _b.call(_a, params_1))];
387
+ case 1:
388
+ data = _c.sent();
389
+ return [2 /*return*/, data];
390
+ }
391
+ });
392
+ }); };
393
+ fetchParentMessage()
394
+ .then(function (parentMsg) {
395
+ logger.info('Thread | useGetParentMessage: Get parent message succeeded.', parentMessage);
396
+ // @ts-ignore
397
+ parentMsg.ogMetaData = (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.ogMetaData) || null; // ogMetaData is not included for now
398
+ threadDispatcher({
399
+ type: ThreadContextActionTypes.GET_PARENT_MESSAGE_SUCCESS,
400
+ payload: { parentMessage: parentMsg },
401
+ });
402
+ })
403
+ .catch(function (error) {
404
+ logger.info('Thread | useGetParentMessage: Get parent message failed.', error);
405
+ threadDispatcher({
406
+ type: ThreadContextActionTypes.GET_PARENT_MESSAGE_FAILURE,
407
+ payload: error,
408
+ });
409
+ });
410
+ }
411
+ }, [sdkInit, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
412
+ /**
413
+ * We don't use channelUrl here,
414
+ * because Thread must operate independently of the channel.
415
+ */
416
416
  }
417
417
 
418
- function useHandleThreadPubsubEvents(_a, _b) {
419
- var sdkInit = _a.sdkInit, currentChannel = _a.currentChannel, parentMessage = _a.parentMessage;
420
- var pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
421
- React.useEffect(function () {
422
- var subscriber = new Map();
423
- if (pubSub === null || pubSub === void 0 ? void 0 : pubSub.subscribe) {
424
- // TODO: subscribe ON_FILE_INFO_UPLOADED
425
- subscriber.set(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, function (props) {
426
- var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
427
- 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) && pubSub_topics.shouldPubSubPublishToThread(publishingModules)) {
428
- // TODO: const clonedMessage = cloneMessage(message);
429
- var pendingMessage = _tslib.__assign({}, message);
430
- if (message.isMultipleFilesMessage()) {
431
- pendingMessage.fileInfoList = message.messageParams.fileInfoList.map(function (fileInfo) { return (_tslib.__assign(_tslib.__assign({}, fileInfo), { url: URL.createObjectURL(fileInfo.file) })); });
432
- }
433
- threadDispatcher({
434
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
435
- payload: {
436
- message: pendingMessage,
437
- },
438
- });
439
- }
440
- useSendMultipleFilesMessage.scrollIntoLast === null || useSendMultipleFilesMessage.scrollIntoLast === void 0 ? void 0 : useSendMultipleFilesMessage.scrollIntoLast();
441
- }));
442
- subscriber.set(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, function (props) {
443
- var response = props.response, publishingModules = props.publishingModules;
444
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === response.channelUrl && pubSub_topics.shouldPubSubPublishToThread(publishingModules)) {
445
- threadDispatcher({
446
- type: actionTypes.ON_FILE_INFO_UPLOADED,
447
- payload: response,
448
- });
449
- }
450
- }));
451
- subscriber.set(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, function (props) {
452
- var _a = props, channel = _a.channel, message = _a.message;
453
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)
454
- && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId)) {
455
- threadDispatcher({
456
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
457
- payload: { message: message },
458
- });
459
- }
460
- useSendMultipleFilesMessage.scrollIntoLast === null || useSendMultipleFilesMessage.scrollIntoLast === void 0 ? void 0 : useSendMultipleFilesMessage.scrollIntoLast();
461
- }));
462
- subscriber.set(pubSub_topics.pubSubTopics.SEND_MESSAGE_FAILED, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_MESSAGE_FAILED, function (props) {
463
- var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
464
- 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) && pubSub_topics.shouldPubSubPublishToThread(publishingModules)) {
465
- threadDispatcher({
466
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
467
- payload: { message: message },
468
- });
469
- }
470
- }));
471
- subscriber.set(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, function (props) {
472
- var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
473
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && pubSub_topics.shouldPubSubPublishToThread(publishingModules)) {
474
- threadDispatcher({
475
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
476
- payload: { message: message },
477
- });
478
- }
479
- useSendMultipleFilesMessage.scrollIntoLast === null || useSendMultipleFilesMessage.scrollIntoLast === void 0 ? void 0 : useSendMultipleFilesMessage.scrollIntoLast();
480
- }));
481
- subscriber.set(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, function (props) {
482
- var _a = props, channel = _a.channel, message = _a.message;
483
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
484
- threadDispatcher({
485
- type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
486
- payload: { channel: channel, message: message },
487
- });
488
- }
489
- }));
490
- subscriber.set(pubSub_topics.pubSubTopics.DELETE_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.DELETE_MESSAGE, function (props) {
491
- var _a = props, channel = _a.channel, messageId = _a.messageId;
492
- if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
493
- threadDispatcher({
494
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
495
- payload: { messageId: messageId },
496
- });
497
- }
498
- }));
499
- }
500
- return function () {
501
- subscriber === null || subscriber === void 0 ? void 0 : subscriber.forEach(function (s) {
502
- try {
503
- s === null || s === void 0 ? void 0 : s.remove();
504
- }
505
- catch (_a) {
506
- //
507
- }
508
- });
509
- };
510
- }, [sdkInit, currentChannel, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
418
+ function useHandleThreadPubsubEvents(_a, _b) {
419
+ var sdkInit = _a.sdkInit, currentChannel = _a.currentChannel, parentMessage = _a.parentMessage;
420
+ var pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
421
+ React.useEffect(function () {
422
+ var subscriber = new Map();
423
+ if (pubSub === null || pubSub === void 0 ? void 0 : pubSub.subscribe) {
424
+ // TODO: subscribe ON_FILE_INFO_UPLOADED
425
+ subscriber.set(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_MESSAGE_START, function (props) {
426
+ var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
427
+ 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) && pubSub_topics.shouldPubSubPublishToThread(publishingModules)) {
428
+ // TODO: const clonedMessage = cloneMessage(message);
429
+ var pendingMessage = _tslib.__assign({}, message);
430
+ if (message.isMultipleFilesMessage()) {
431
+ pendingMessage.fileInfoList = message.messageParams.fileInfoList.map(function (fileInfo) { return (_tslib.__assign(_tslib.__assign({}, fileInfo), { url: URL.createObjectURL(fileInfo.file) })); });
432
+ }
433
+ threadDispatcher({
434
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
435
+ payload: {
436
+ message: pendingMessage,
437
+ },
438
+ });
439
+ }
440
+ useSendMultipleFilesMessage.scrollIntoLast === null || useSendMultipleFilesMessage.scrollIntoLast === void 0 ? void 0 : useSendMultipleFilesMessage.scrollIntoLast();
441
+ }));
442
+ subscriber.set(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, pubSub.subscribe(pubSub_topics.PUBSUB_TOPICS.ON_FILE_INFO_UPLOADED, function (props) {
443
+ var response = props.response, publishingModules = props.publishingModules;
444
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === response.channelUrl && pubSub_topics.shouldPubSubPublishToThread(publishingModules)) {
445
+ threadDispatcher({
446
+ type: actionTypes.ON_FILE_INFO_UPLOADED,
447
+ payload: response,
448
+ });
449
+ }
450
+ }));
451
+ subscriber.set(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, function (props) {
452
+ var _a = props, channel = _a.channel, message = _a.message;
453
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)
454
+ && (message === null || message === void 0 ? void 0 : message.parentMessageId) === (parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId)) {
455
+ threadDispatcher({
456
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
457
+ payload: { message: message },
458
+ });
459
+ }
460
+ useSendMultipleFilesMessage.scrollIntoLast === null || useSendMultipleFilesMessage.scrollIntoLast === void 0 ? void 0 : useSendMultipleFilesMessage.scrollIntoLast();
461
+ }));
462
+ subscriber.set(pubSub_topics.pubSubTopics.SEND_MESSAGE_FAILED, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_MESSAGE_FAILED, function (props) {
463
+ var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
464
+ 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) && pubSub_topics.shouldPubSubPublishToThread(publishingModules)) {
465
+ threadDispatcher({
466
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
467
+ payload: { message: message },
468
+ });
469
+ }
470
+ }));
471
+ subscriber.set(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, function (props) {
472
+ var channel = props.channel, message = props.message, publishingModules = props.publishingModules;
473
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url) && pubSub_topics.shouldPubSubPublishToThread(publishingModules)) {
474
+ threadDispatcher({
475
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
476
+ payload: { message: message },
477
+ });
478
+ }
479
+ useSendMultipleFilesMessage.scrollIntoLast === null || useSendMultipleFilesMessage.scrollIntoLast === void 0 ? void 0 : useSendMultipleFilesMessage.scrollIntoLast();
480
+ }));
481
+ subscriber.set(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, function (props) {
482
+ var _a = props, channel = _a.channel, message = _a.message;
483
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
484
+ threadDispatcher({
485
+ type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
486
+ payload: { channel: channel, message: message },
487
+ });
488
+ }
489
+ }));
490
+ subscriber.set(pubSub_topics.pubSubTopics.DELETE_MESSAGE, pubSub.subscribe(pubSub_topics.pubSubTopics.DELETE_MESSAGE, function (props) {
491
+ var _a = props, channel = _a.channel, messageId = _a.messageId;
492
+ if ((currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.url) === (channel === null || channel === void 0 ? void 0 : channel.url)) {
493
+ threadDispatcher({
494
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
495
+ payload: { messageId: messageId },
496
+ });
497
+ }
498
+ }));
499
+ }
500
+ return function () {
501
+ subscriber === null || subscriber === void 0 ? void 0 : subscriber.forEach(function (s) {
502
+ try {
503
+ s === null || s === void 0 ? void 0 : s.remove();
504
+ }
505
+ catch (_a) {
506
+ //
507
+ }
508
+ });
509
+ };
510
+ }, [sdkInit, currentChannel, parentMessage === null || parentMessage === void 0 ? void 0 : parentMessage.messageId]);
511
511
  }
512
512
 
513
- function useHandleChannelEvents(_a, _b) {
514
- var sdk = _a.sdk, currentChannel = _a.currentChannel;
515
- var logger = _b.logger, threadDispatcher = _b.threadDispatcher;
516
- React.useEffect(function () {
517
- var _a, _b, _c;
518
- var handlerId = uuid.uuidv4();
519
- // validation check
520
- if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler)
521
- && currentChannel) {
522
- var channelHandlerParams = {
523
- // message status change
524
- onMessageReceived: function (channel, message) {
525
- logger.info('Thread | useHandleChannelEvents: onMessageReceived', { channel: channel, message: message });
526
- threadDispatcher({
527
- type: ThreadContextActionTypes.ON_MESSAGE_RECEIVED,
528
- payload: { channel: channel, message: message },
529
- });
530
- },
531
- onMessageUpdated: function (channel, message) {
532
- logger.info('Thread | useHandleChannelEvents: onMessageUpdated', { channel: channel, message: message });
533
- threadDispatcher({
534
- type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
535
- payload: { channel: channel, message: message },
536
- });
537
- },
538
- onMessageDeleted: function (channel, messageId) {
539
- logger.info('Thread | useHandleChannelEvents: onMessageDeleted', { channel: channel, messageId: messageId });
540
- threadDispatcher({
541
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
542
- payload: { channel: channel, messageId: messageId },
543
- });
544
- },
545
- onReactionUpdated: function (channel, reactionEvent) {
546
- logger.info('Thread | useHandleChannelEvents: onReactionUpdated', { channel: channel, reactionEvent: reactionEvent });
547
- threadDispatcher({
548
- type: ThreadContextActionTypes.ON_REACTION_UPDATED,
549
- payload: { channel: channel, reactionEvent: reactionEvent },
550
- });
551
- },
552
- // user status change
553
- onUserMuted: function (channel, user) {
554
- logger.info('Thread | useHandleChannelEvents: onUserMuted', { channel: channel, user: user });
555
- threadDispatcher({
556
- type: ThreadContextActionTypes.ON_USER_MUTED,
557
- payload: { channel: channel, user: user },
558
- });
559
- },
560
- onUserUnmuted: function (channel, user) {
561
- logger.info('Thread | useHandleChannelEvents: onUserUnmuted', { channel: channel, user: user });
562
- threadDispatcher({
563
- type: ThreadContextActionTypes.ON_USER_UNMUTED,
564
- payload: { channel: channel, user: user },
565
- });
566
- },
567
- onUserBanned: function (channel, user) {
568
- logger.info('Thread | useHandleChannelEvents: onUserBanned', { channel: channel, user: user });
569
- threadDispatcher({
570
- type: ThreadContextActionTypes.ON_USER_BANNED,
571
- payload: { channel: channel, user: user },
572
- });
573
- },
574
- onUserUnbanned: function (channel, user) {
575
- logger.info('Thread | useHandleChannelEvents: onUserUnbanned', { channel: channel, user: user });
576
- threadDispatcher({
577
- type: ThreadContextActionTypes.ON_USER_UNBANNED,
578
- payload: { channel: channel, user: user },
579
- });
580
- },
581
- onUserLeft: function (channel, user) {
582
- logger.info('Thread | useHandleChannelEvents: onUserLeft', { channel: channel, user: user });
583
- threadDispatcher({
584
- type: ThreadContextActionTypes.ON_USER_LEFT,
585
- payload: { channel: channel, user: user },
586
- });
587
- },
588
- // channel status change
589
- onChannelFrozen: function (channel) {
590
- logger.info('Thread | useHandleChannelEvents: onChannelFrozen', { channel: channel });
591
- threadDispatcher({
592
- type: ThreadContextActionTypes.ON_CHANNEL_FROZEN,
593
- payload: { channel: channel },
594
- });
595
- },
596
- onChannelUnfrozen: function (channel) {
597
- logger.info('Thread | useHandleChannelEvents: onChannelUnfrozen', { channel: channel });
598
- threadDispatcher({
599
- type: ThreadContextActionTypes.ON_CHANNEL_UNFROZEN,
600
- payload: { channel: channel },
601
- });
602
- },
603
- onOperatorUpdated: function (channel, users) {
604
- logger.info('Thread | useHandleChannelEvents: onOperatorUpdated', { channel: channel, users: users });
605
- threadDispatcher({
606
- type: ThreadContextActionTypes.ON_OPERATOR_UPDATED,
607
- payload: { channel: channel, users: users },
608
- });
609
- },
610
- onTypingStatusUpdated: function (channel) {
611
- if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentChannel.url)) {
612
- logger.info('Channel | onTypingStatusUpdated', { channel: channel });
613
- var typingMembers = channel.getTypingUsers();
614
- threadDispatcher({
615
- type: actionTypes.ON_TYPING_STATUS_UPDATED,
616
- payload: {
617
- channel: channel,
618
- typingMembers: typingMembers,
619
- },
620
- });
621
- }
622
- },
623
- };
624
- var channelHandler = new groupChannel.GroupChannelHandler(channelHandlerParams);
625
- (_c = (_b = sdk.groupChannel).addGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId, channelHandler);
626
- logger.info('Thread | useHandleChannelEvents: Added channelHandler in Thread', { handlerId: handlerId, channelHandler: channelHandler });
627
- }
628
- return function () {
629
- var _a, _b, _c;
630
- // validation check
631
- if (handlerId && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler)) {
632
- (_c = (_b = sdk.groupChannel).removeGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId);
633
- logger.info('Thread | useHandleChannelEvents: Removed channelHandler in Thread.', handlerId);
634
- }
635
- };
636
- }, [
637
- sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel,
638
- currentChannel,
639
- ]);
513
+ function useHandleChannelEvents(_a, _b) {
514
+ var sdk = _a.sdk, currentChannel = _a.currentChannel;
515
+ var logger = _b.logger, threadDispatcher = _b.threadDispatcher;
516
+ React.useEffect(function () {
517
+ var _a, _b, _c;
518
+ var handlerId = uuid.uuidv4();
519
+ // validation check
520
+ if (((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.addGroupChannelHandler)
521
+ && currentChannel) {
522
+ var channelHandlerParams = {
523
+ // message status change
524
+ onMessageReceived: function (channel, message) {
525
+ logger.info('Thread | useHandleChannelEvents: onMessageReceived', { channel: channel, message: message });
526
+ threadDispatcher({
527
+ type: ThreadContextActionTypes.ON_MESSAGE_RECEIVED,
528
+ payload: { channel: channel, message: message },
529
+ });
530
+ },
531
+ onMessageUpdated: function (channel, message) {
532
+ logger.info('Thread | useHandleChannelEvents: onMessageUpdated', { channel: channel, message: message });
533
+ threadDispatcher({
534
+ type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
535
+ payload: { channel: channel, message: message },
536
+ });
537
+ },
538
+ onMessageDeleted: function (channel, messageId) {
539
+ logger.info('Thread | useHandleChannelEvents: onMessageDeleted', { channel: channel, messageId: messageId });
540
+ threadDispatcher({
541
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
542
+ payload: { channel: channel, messageId: messageId },
543
+ });
544
+ },
545
+ onReactionUpdated: function (channel, reactionEvent) {
546
+ logger.info('Thread | useHandleChannelEvents: onReactionUpdated', { channel: channel, reactionEvent: reactionEvent });
547
+ threadDispatcher({
548
+ type: ThreadContextActionTypes.ON_REACTION_UPDATED,
549
+ payload: { channel: channel, reactionEvent: reactionEvent },
550
+ });
551
+ },
552
+ // user status change
553
+ onUserMuted: function (channel, user) {
554
+ logger.info('Thread | useHandleChannelEvents: onUserMuted', { channel: channel, user: user });
555
+ threadDispatcher({
556
+ type: ThreadContextActionTypes.ON_USER_MUTED,
557
+ payload: { channel: channel, user: user },
558
+ });
559
+ },
560
+ onUserUnmuted: function (channel, user) {
561
+ logger.info('Thread | useHandleChannelEvents: onUserUnmuted', { channel: channel, user: user });
562
+ threadDispatcher({
563
+ type: ThreadContextActionTypes.ON_USER_UNMUTED,
564
+ payload: { channel: channel, user: user },
565
+ });
566
+ },
567
+ onUserBanned: function (channel, user) {
568
+ logger.info('Thread | useHandleChannelEvents: onUserBanned', { channel: channel, user: user });
569
+ threadDispatcher({
570
+ type: ThreadContextActionTypes.ON_USER_BANNED,
571
+ payload: { channel: channel, user: user },
572
+ });
573
+ },
574
+ onUserUnbanned: function (channel, user) {
575
+ logger.info('Thread | useHandleChannelEvents: onUserUnbanned', { channel: channel, user: user });
576
+ threadDispatcher({
577
+ type: ThreadContextActionTypes.ON_USER_UNBANNED,
578
+ payload: { channel: channel, user: user },
579
+ });
580
+ },
581
+ onUserLeft: function (channel, user) {
582
+ logger.info('Thread | useHandleChannelEvents: onUserLeft', { channel: channel, user: user });
583
+ threadDispatcher({
584
+ type: ThreadContextActionTypes.ON_USER_LEFT,
585
+ payload: { channel: channel, user: user },
586
+ });
587
+ },
588
+ // channel status change
589
+ onChannelFrozen: function (channel) {
590
+ logger.info('Thread | useHandleChannelEvents: onChannelFrozen', { channel: channel });
591
+ threadDispatcher({
592
+ type: ThreadContextActionTypes.ON_CHANNEL_FROZEN,
593
+ payload: { channel: channel },
594
+ });
595
+ },
596
+ onChannelUnfrozen: function (channel) {
597
+ logger.info('Thread | useHandleChannelEvents: onChannelUnfrozen', { channel: channel });
598
+ threadDispatcher({
599
+ type: ThreadContextActionTypes.ON_CHANNEL_UNFROZEN,
600
+ payload: { channel: channel },
601
+ });
602
+ },
603
+ onOperatorUpdated: function (channel, users) {
604
+ logger.info('Thread | useHandleChannelEvents: onOperatorUpdated', { channel: channel, users: users });
605
+ threadDispatcher({
606
+ type: ThreadContextActionTypes.ON_OPERATOR_UPDATED,
607
+ payload: { channel: channel, users: users },
608
+ });
609
+ },
610
+ onTypingStatusUpdated: function (channel) {
611
+ if (compareIds.compareIds(channel === null || channel === void 0 ? void 0 : channel.url, currentChannel.url)) {
612
+ logger.info('Channel | onTypingStatusUpdated', { channel: channel });
613
+ var typingMembers = channel.getTypingUsers();
614
+ threadDispatcher({
615
+ type: actionTypes.ON_TYPING_STATUS_UPDATED,
616
+ payload: {
617
+ channel: channel,
618
+ typingMembers: typingMembers,
619
+ },
620
+ });
621
+ }
622
+ },
623
+ };
624
+ var channelHandler = new groupChannel.GroupChannelHandler(channelHandlerParams);
625
+ (_c = (_b = sdk.groupChannel).addGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId, channelHandler);
626
+ logger.info('Thread | useHandleChannelEvents: Added channelHandler in Thread', { handlerId: handlerId, channelHandler: channelHandler });
627
+ }
628
+ return function () {
629
+ var _a, _b, _c;
630
+ // validation check
631
+ if (handlerId && ((_a = sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel) === null || _a === void 0 ? void 0 : _a.removeGroupChannelHandler)) {
632
+ (_c = (_b = sdk.groupChannel).removeGroupChannelHandler) === null || _c === void 0 ? void 0 : _c.call(_b, handlerId);
633
+ logger.info('Thread | useHandleChannelEvents: Removed channelHandler in Thread.', handlerId);
634
+ }
635
+ };
636
+ }, [
637
+ sdk === null || sdk === void 0 ? void 0 : sdk.groupChannel,
638
+ currentChannel,
639
+ ]);
640
640
  }
641
641
 
642
- function useSendFileMessageCallback(_a, _b) {
643
- var currentChannel = _a.currentChannel, onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
644
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
645
- var sendMessage = React.useCallback(function (file, quoteMessage) {
646
- return new Promise(function (resolve, reject) {
647
- var _a;
648
- var createParamsDefault = function () {
649
- var params = {};
650
- params.file = file;
651
- if (quoteMessage) {
652
- params.isReplyToChannel = true;
653
- params.parentMessageId = quoteMessage.messageId;
654
- }
655
- return params;
656
- };
657
- var params = (_a = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(file, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
658
- logger.info('Thread | useSendFileMessageCallback: Sending file message start.', params);
659
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(params).onPending(function (pendingMessage) {
660
- threadDispatcher({
661
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
662
- payload: {
663
- /* pubSub is used instead of messagesDispatcher
664
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
665
- // TODO: remove data pollution
666
- message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(file),
667
- // pending thumbnail message seems to be failed
668
- requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
669
- },
670
- });
671
- setTimeout(function () { return useSendMultipleFilesMessage.scrollIntoLast(); }, consts.SCROLL_BOTTOM_DELAY_FOR_SEND);
672
- }).onFailed(function (error, message) {
673
- message.localUrl = URL.createObjectURL(file);
674
- message.file = file;
675
- logger.info('Thread | useSendFileMessageCallback: Sending file message failed.', { message: message, error: error });
676
- threadDispatcher({
677
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
678
- payload: { message: message, error: error },
679
- });
680
- reject(error);
681
- }).onSucceeded(function (message) {
682
- logger.info('Thread | useSendFileMessageCallback: Sending file message succeeded.', message);
683
- pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
684
- channel: currentChannel,
685
- message: message,
686
- publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
687
- });
688
- resolve(message);
689
- });
690
- });
691
- }, [currentChannel]);
692
- return sendMessage;
642
+ function useSendFileMessageCallback(_a, _b) {
643
+ var currentChannel = _a.currentChannel, onBeforeSendFileMessage = _a.onBeforeSendFileMessage;
644
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
645
+ var sendMessage = React.useCallback(function (file, quoteMessage) {
646
+ return new Promise(function (resolve, reject) {
647
+ var _a;
648
+ var createParamsDefault = function () {
649
+ var params = {};
650
+ params.file = file;
651
+ if (quoteMessage) {
652
+ params.isReplyToChannel = true;
653
+ params.parentMessageId = quoteMessage.messageId;
654
+ }
655
+ return params;
656
+ };
657
+ var params = (_a = onBeforeSendFileMessage === null || onBeforeSendFileMessage === void 0 ? void 0 : onBeforeSendFileMessage(file, quoteMessage)) !== null && _a !== void 0 ? _a : createParamsDefault();
658
+ logger.info('Thread | useSendFileMessageCallback: Sending file message start.', params);
659
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(params).onPending(function (pendingMessage) {
660
+ threadDispatcher({
661
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
662
+ payload: {
663
+ /* pubSub is used instead of messagesDispatcher
664
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
665
+ // TODO: remove data pollution
666
+ message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(file),
667
+ // pending thumbnail message seems to be failed
668
+ requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
669
+ },
670
+ });
671
+ setTimeout(function () { return useSendMultipleFilesMessage.scrollIntoLast(); }, consts.SCROLL_BOTTOM_DELAY_FOR_SEND);
672
+ }).onFailed(function (error, message) {
673
+ message.localUrl = URL.createObjectURL(file);
674
+ message.file = file;
675
+ logger.info('Thread | useSendFileMessageCallback: Sending file message failed.', { message: message, error: error });
676
+ threadDispatcher({
677
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
678
+ payload: { message: message, error: error },
679
+ });
680
+ reject(error);
681
+ }).onSucceeded(function (message) {
682
+ logger.info('Thread | useSendFileMessageCallback: Sending file message succeeded.', message);
683
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
684
+ channel: currentChannel,
685
+ message: message,
686
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
687
+ });
688
+ resolve(message);
689
+ });
690
+ });
691
+ }, [currentChannel]);
692
+ return sendMessage;
693
693
  }
694
694
 
695
- function useUpdateMessageCallback(_a, _b) {
696
- var currentChannel = _a.currentChannel, isMentionEnabled = _a.isMentionEnabled;
697
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
698
- // TODO: add type
699
- return React.useCallback(function (props) {
700
- var _a;
701
- var messageId = props.messageId, message = props.message, mentionedUsers = props.mentionedUsers, mentionTemplate = props.mentionTemplate;
702
- var createParamsDefault = function () {
703
- var params = {};
704
- params.message = message;
705
- if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
706
- params.mentionedUsers = mentionedUsers;
707
- }
708
- if (isMentionEnabled && mentionTemplate) {
709
- params.mentionedMessageTemplate = mentionTemplate;
710
- }
711
- else {
712
- params.mentionedMessageTemplate = message;
713
- }
714
- return params;
715
- };
716
- var params = createParamsDefault();
717
- logger.info('Thread | useUpdateMessageCallback: Message update start.', params);
718
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.updateUserMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, messageId, params).then(function (message) {
719
- logger.info('Thread | useUpdateMessageCallback: Message update succeeded.', message);
720
- threadDispatcher({
721
- type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
722
- payload: {
723
- channel: currentChannel,
724
- message: message,
725
- },
726
- });
727
- pubSub.publish(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, {
728
- fromSelector: true,
729
- channel: currentChannel,
730
- message: message,
731
- publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
732
- });
733
- });
734
- }, [currentChannel, isMentionEnabled]);
695
+ function useUpdateMessageCallback(_a, _b) {
696
+ var currentChannel = _a.currentChannel, isMentionEnabled = _a.isMentionEnabled;
697
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
698
+ // TODO: add type
699
+ return React.useCallback(function (props) {
700
+ var _a;
701
+ var messageId = props.messageId, message = props.message, mentionedUsers = props.mentionedUsers, mentionTemplate = props.mentionTemplate;
702
+ var createParamsDefault = function () {
703
+ var params = {};
704
+ params.message = message;
705
+ if (isMentionEnabled && (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) > 0) {
706
+ params.mentionedUsers = mentionedUsers;
707
+ }
708
+ if (isMentionEnabled && mentionTemplate) {
709
+ params.mentionedMessageTemplate = mentionTemplate;
710
+ }
711
+ else {
712
+ params.mentionedMessageTemplate = message;
713
+ }
714
+ return params;
715
+ };
716
+ var params = createParamsDefault();
717
+ logger.info('Thread | useUpdateMessageCallback: Message update start.', params);
718
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.updateUserMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, messageId, params).then(function (message) {
719
+ logger.info('Thread | useUpdateMessageCallback: Message update succeeded.', message);
720
+ threadDispatcher({
721
+ type: ThreadContextActionTypes.ON_MESSAGE_UPDATED,
722
+ payload: {
723
+ channel: currentChannel,
724
+ message: message,
725
+ },
726
+ });
727
+ pubSub.publish(pubSub_topics.pubSubTopics.UPDATE_USER_MESSAGE, {
728
+ fromSelector: true,
729
+ channel: currentChannel,
730
+ message: message,
731
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
732
+ });
733
+ });
734
+ }, [currentChannel, isMentionEnabled]);
735
735
  }
736
736
 
737
- function useDeleteMessageCallback(_a, _b) {
738
- var currentChannel = _a.currentChannel, threadDispatcher = _a.threadDispatcher;
739
- var logger = _b.logger;
740
- return React.useCallback(function (message) {
741
- logger.info('Thread | useDeleteMessageCallback: Deleting message.', message);
742
- var sendingStatus = message.sendingStatus;
743
- return new Promise(function (resolve, reject) {
744
- var _a;
745
- logger.info('Thread | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);
746
- // Message is only on local
747
- if (sendingStatus === 'failed' || sendingStatus === 'pending') {
748
- logger.info('Thread | useDeleteMessageCallback: Deleted message from local:', message);
749
- threadDispatcher({
750
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,
751
- payload: message.reqId,
752
- });
753
- resolve();
754
- }
755
- logger.info('Thread | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);
756
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message).then(function () {
757
- logger.info('Thread | useDeleteMessageCallback: Deleting message success!', message);
758
- threadDispatcher({
759
- type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
760
- payload: { message: message, channel: currentChannel },
761
- });
762
- resolve();
763
- }).catch(function (err) {
764
- logger.warning('Thread | useDeleteMessageCallback: Deleting message failed!', err);
765
- reject(err);
766
- });
767
- });
768
- }, [currentChannel]);
737
+ function useDeleteMessageCallback(_a, _b) {
738
+ var currentChannel = _a.currentChannel, threadDispatcher = _a.threadDispatcher;
739
+ var logger = _b.logger;
740
+ return React.useCallback(function (message) {
741
+ logger.info('Thread | useDeleteMessageCallback: Deleting message.', message);
742
+ var sendingStatus = message.sendingStatus;
743
+ return new Promise(function (resolve, reject) {
744
+ var _a;
745
+ logger.info('Thread | useDeleteMessageCallback: Deleting message requestState:', sendingStatus);
746
+ // Message is only on local
747
+ if (sendingStatus === 'failed' || sendingStatus === 'pending') {
748
+ logger.info('Thread | useDeleteMessageCallback: Deleted message from local:', message);
749
+ threadDispatcher({
750
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,
751
+ payload: message.reqId,
752
+ });
753
+ resolve();
754
+ }
755
+ logger.info('Thread | useDeleteMessageCallback: Deleting message from remote:', sendingStatus);
756
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteMessage) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message).then(function () {
757
+ logger.info('Thread | useDeleteMessageCallback: Deleting message success!', message);
758
+ threadDispatcher({
759
+ type: ThreadContextActionTypes.ON_MESSAGE_DELETED,
760
+ payload: { message: message, channel: currentChannel },
761
+ });
762
+ resolve();
763
+ }).catch(function (err) {
764
+ logger.warning('Thread | useDeleteMessageCallback: Deleting message failed!', err);
765
+ reject(err);
766
+ });
767
+ });
768
+ }, [currentChannel]);
769
769
  }
770
770
 
771
- function useToggleReactionCallback(_a, _b) {
772
- var currentChannel = _a.currentChannel;
773
- var logger = _b.logger;
774
- return React.useCallback(function (message, key, isReacted) {
775
- var _a, _b;
776
- if (isReacted) {
777
- (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteReaction) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message, key).then(function (res) {
778
- logger.info('Thread | useToggleReactionsCallback: Delete reaction succeeded.', res);
779
- }).catch(function (err) {
780
- logger.warning('Thread | useToggleReactionsCallback: Delete reaction failed.', err);
781
- });
782
- return;
783
- }
784
- (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.addReaction) === null || _b === void 0 ? void 0 : _b.call(currentChannel, message, key).then(function (res) {
785
- logger.info('Thread | useToggleReactionsCallback: Add reaction succeeded.', res);
786
- }).catch(function (err) {
787
- logger.warning('Thread | useToggleReactionsCallback: Add reaction failed.', err);
788
- });
789
- }, [currentChannel]);
771
+ function useToggleReactionCallback(_a, _b) {
772
+ var currentChannel = _a.currentChannel;
773
+ var logger = _b.logger;
774
+ return React.useCallback(function (message, key, isReacted) {
775
+ var _a, _b;
776
+ if (isReacted) {
777
+ (_a = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.deleteReaction) === null || _a === void 0 ? void 0 : _a.call(currentChannel, message, key).then(function (res) {
778
+ logger.info('Thread | useToggleReactionsCallback: Delete reaction succeeded.', res);
779
+ }).catch(function (err) {
780
+ logger.warning('Thread | useToggleReactionsCallback: Delete reaction failed.', err);
781
+ });
782
+ return;
783
+ }
784
+ (_b = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.addReaction) === null || _b === void 0 ? void 0 : _b.call(currentChannel, message, key).then(function (res) {
785
+ logger.info('Thread | useToggleReactionsCallback: Add reaction succeeded.', res);
786
+ }).catch(function (err) {
787
+ logger.warning('Thread | useToggleReactionsCallback: Add reaction failed.', err);
788
+ });
789
+ }, [currentChannel]);
790
790
  }
791
791
 
792
- function useSendUserMessageCallback(_a, _b) {
793
- var isMentionEnabled = _a.isMentionEnabled, currentChannel = _a.currentChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
794
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
795
- var sendMessage = React.useCallback(function (props) {
796
- var _a;
797
- var message = props.message, quoteMessage = props.quoteMessage, mentionTemplate = props.mentionTemplate, mentionedUsers = props.mentionedUsers;
798
- var createDefaultParams = function () {
799
- var params = {};
800
- params.message = message;
801
- var mentionedUsersLength = (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) || 0;
802
- if (isMentionEnabled && mentionedUsersLength) {
803
- params.mentionedUsers = mentionedUsers;
804
- }
805
- if (isMentionEnabled && mentionTemplate && mentionedUsersLength) {
806
- params.mentionedMessageTemplate = mentionTemplate;
807
- }
808
- if (quoteMessage) {
809
- params.isReplyToChannel = true;
810
- params.parentMessageId = quoteMessage.messageId;
811
- }
812
- return params;
813
- };
814
- var params = (_a = onBeforeSendUserMessage === null || onBeforeSendUserMessage === void 0 ? void 0 : onBeforeSendUserMessage(message, quoteMessage)) !== null && _a !== void 0 ? _a : createDefaultParams();
815
- logger.info('Thread | useSendUserMessageCallback: Sending user message start.', params);
816
- if (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage) {
817
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage(params).onPending(function (pendingMessage) {
818
- threadDispatcher({
819
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
820
- payload: { message: pendingMessage },
821
- });
822
- }).onFailed(function (error, message) {
823
- logger.info('Thread | useSendUserMessageCallback: Sending user message failed.', { message: message, error: error });
824
- threadDispatcher({
825
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
826
- payload: { error: error, message: message },
827
- });
828
- }).onSucceeded(function (message) {
829
- logger.info('Thread | useSendUserMessageCallback: Sending user message succeeded.', message);
830
- // because Thread doesn't subscribe SEND_USER_MESSAGE
831
- pubSub.publish(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, {
832
- channel: currentChannel,
833
- message: message,
834
- publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
835
- });
836
- });
837
- }
838
- }, [isMentionEnabled, currentChannel]);
839
- return sendMessage;
792
+ function useSendUserMessageCallback(_a, _b) {
793
+ var isMentionEnabled = _a.isMentionEnabled, currentChannel = _a.currentChannel, onBeforeSendUserMessage = _a.onBeforeSendUserMessage;
794
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
795
+ var sendMessage = React.useCallback(function (props) {
796
+ var _a;
797
+ var message = props.message, quoteMessage = props.quoteMessage, mentionTemplate = props.mentionTemplate, mentionedUsers = props.mentionedUsers;
798
+ var createDefaultParams = function () {
799
+ var params = {};
800
+ params.message = message;
801
+ var mentionedUsersLength = (mentionedUsers === null || mentionedUsers === void 0 ? void 0 : mentionedUsers.length) || 0;
802
+ if (isMentionEnabled && mentionedUsersLength) {
803
+ params.mentionedUsers = mentionedUsers;
804
+ }
805
+ if (isMentionEnabled && mentionTemplate && mentionedUsersLength) {
806
+ params.mentionedMessageTemplate = mentionTemplate;
807
+ }
808
+ if (quoteMessage) {
809
+ params.isReplyToChannel = true;
810
+ params.parentMessageId = quoteMessage.messageId;
811
+ }
812
+ return params;
813
+ };
814
+ var params = (_a = onBeforeSendUserMessage === null || onBeforeSendUserMessage === void 0 ? void 0 : onBeforeSendUserMessage(message, quoteMessage)) !== null && _a !== void 0 ? _a : createDefaultParams();
815
+ logger.info('Thread | useSendUserMessageCallback: Sending user message start.', params);
816
+ if (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage) {
817
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendUserMessage(params).onPending(function (pendingMessage) {
818
+ threadDispatcher({
819
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
820
+ payload: { message: pendingMessage },
821
+ });
822
+ }).onFailed(function (error, message) {
823
+ logger.info('Thread | useSendUserMessageCallback: Sending user message failed.', { message: message, error: error });
824
+ threadDispatcher({
825
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
826
+ payload: { error: error, message: message },
827
+ });
828
+ }).onSucceeded(function (message) {
829
+ logger.info('Thread | useSendUserMessageCallback: Sending user message succeeded.', message);
830
+ // because Thread doesn't subscribe SEND_USER_MESSAGE
831
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, {
832
+ channel: currentChannel,
833
+ message: message,
834
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
835
+ });
836
+ });
837
+ }
838
+ }, [isMentionEnabled, currentChannel]);
839
+ return sendMessage;
840
840
  }
841
841
 
842
- function useResendMessageCallback(_a, _b) {
843
- var currentChannel = _a.currentChannel;
844
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
845
- return React.useCallback(function (failedMessage) {
846
- var _a, _b, _c, _d, _e;
847
- if (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) {
848
- logger.info('Thread | useResendMessageCallback: Resending failedMessage start.', failedMessage);
849
- 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) === message.MessageType.USER) {
850
- try {
851
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage(failedMessage).onPending(function (message) {
852
- logger.info('Thread | useResendMessageCallback: Resending user message started.', message);
853
- threadDispatcher({
854
- type: ThreadContextActionTypes.RESEND_MESSAGE_START,
855
- payload: { message: message },
856
- });
857
- }).onSucceeded(function (message) {
858
- logger.info('Thread | useResendMessageCallback: Resending user message succeeded.', message);
859
- threadDispatcher({
860
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
861
- payload: { message: message },
862
- });
863
- pubSub.publish(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, {
864
- channel: currentChannel,
865
- message: message,
866
- publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
867
- });
868
- }).onFailed(function (error) {
869
- logger.warning('Thread | useResendMessageCallback: Resending user message failed.', error);
870
- failedMessage.sendingStatus = message.SendingStatus.FAILED;
871
- threadDispatcher({
872
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
873
- payload: { message: failedMessage },
874
- });
875
- });
876
- }
877
- catch (err) {
878
- logger.warning('Thread | useResendMessageCallback: Resending user message failed.', err);
879
- failedMessage.sendingStatus = message.SendingStatus.FAILED;
880
- threadDispatcher({
881
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
882
- payload: { message: failedMessage },
883
- });
884
- }
885
- }
886
- else if ((_b = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isFileMessage) === null || _b === void 0 ? void 0 : _b.call(failedMessage)) {
887
- try {
888
- (_c = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage) === null || _c === void 0 ? void 0 : _c.call(currentChannel, failedMessage).onPending(function (message) {
889
- logger.info('Thread | useResendMessageCallback: Resending file message started.', message);
890
- threadDispatcher({
891
- type: ThreadContextActionTypes.RESEND_MESSAGE_START,
892
- payload: { message: message },
893
- });
894
- }).onSucceeded(function (message) {
895
- logger.info('Thread | useResendMessageCallback: Resending file message succeeded.', message);
896
- threadDispatcher({
897
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
898
- payload: { message: message },
899
- });
900
- pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
901
- channel: currentChannel,
902
- message: failedMessage,
903
- publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
904
- });
905
- }).onFailed(function (error) {
906
- logger.warning('Thread | useResendMessageCallback: Resending file message failed.', error);
907
- failedMessage.sendingStatus = message.SendingStatus.FAILED;
908
- threadDispatcher({
909
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
910
- payload: { message: failedMessage },
911
- });
912
- });
913
- }
914
- catch (err) {
915
- logger.warning('Thread | useResendMessageCallback: Resending file message failed.', err);
916
- failedMessage.sendingStatus = message.SendingStatus.FAILED;
917
- threadDispatcher({
918
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
919
- payload: { message: failedMessage },
920
- });
921
- }
922
- }
923
- else if ((_d = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isMultipleFilesMessage) === null || _d === void 0 ? void 0 : _d.call(failedMessage)) {
924
- try {
925
- (_e = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage) === null || _e === void 0 ? void 0 : _e.call(currentChannel, failedMessage).onPending(function (message) {
926
- logger.info('Thread | useResendMessageCallback: Resending multiple files message started.', message);
927
- threadDispatcher({
928
- type: ThreadContextActionTypes.RESEND_MESSAGE_START,
929
- payload: { message: message },
930
- });
931
- }).onFileUploaded(function (requestId, index, uploadableFileInfo, error) {
932
- logger.info('Thread | useResendMessageCallback: onFileUploaded during resending multiple files message.', {
933
- requestId: requestId,
934
- index: index,
935
- error: error,
936
- uploadableFileInfo: uploadableFileInfo,
937
- });
938
- pubSub.publish(pubSub_topics.pubSubTopics.ON_FILE_INFO_UPLOADED, {
939
- response: {
940
- channelUrl: currentChannel.url,
941
- requestId: requestId,
942
- index: index,
943
- uploadableFileInfo: uploadableFileInfo,
944
- error: error,
945
- },
946
- publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
947
- });
948
- }).onSucceeded(function (message) {
949
- logger.info('Thread | useResendMessageCallback: Resending MFM succeeded.', message);
950
- threadDispatcher({
951
- type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
952
- payload: { message: message },
953
- });
954
- pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
955
- channel: currentChannel,
956
- message: message,
957
- publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
958
- });
959
- }).onFailed(function (error, message) {
960
- logger.warning('Thread | useResendMessageCallback: Resending MFM failed.', error);
961
- threadDispatcher({
962
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
963
- payload: { message: message },
964
- });
965
- });
966
- }
967
- catch (err) {
968
- logger.warning('Thread | useResendMessageCallback: Resending MFM failed.', err);
969
- threadDispatcher({
970
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
971
- payload: { message: failedMessage },
972
- });
973
- }
974
- }
975
- else {
976
- logger.warning('Thread | useResendMessageCallback: Message is not resendable.', failedMessage);
977
- failedMessage.sendingStatus = message.SendingStatus.FAILED;
978
- threadDispatcher({
979
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
980
- payload: { message: failedMessage },
981
- });
982
- }
983
- }
984
- }, [currentChannel]);
842
+ function useResendMessageCallback(_a, _b) {
843
+ var currentChannel = _a.currentChannel;
844
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
845
+ return React.useCallback(function (failedMessage) {
846
+ var _a, _b, _c, _d, _e;
847
+ if (failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isResendable) {
848
+ logger.info('Thread | useResendMessageCallback: Resending failedMessage start.', failedMessage);
849
+ 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) === message.MessageType.USER) {
850
+ try {
851
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage(failedMessage).onPending(function (message) {
852
+ logger.info('Thread | useResendMessageCallback: Resending user message started.', message);
853
+ threadDispatcher({
854
+ type: ThreadContextActionTypes.RESEND_MESSAGE_START,
855
+ payload: { message: message },
856
+ });
857
+ }).onSucceeded(function (message) {
858
+ logger.info('Thread | useResendMessageCallback: Resending user message succeeded.', message);
859
+ threadDispatcher({
860
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
861
+ payload: { message: message },
862
+ });
863
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_USER_MESSAGE, {
864
+ channel: currentChannel,
865
+ message: message,
866
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
867
+ });
868
+ }).onFailed(function (error) {
869
+ logger.warning('Thread | useResendMessageCallback: Resending user message failed.', error);
870
+ failedMessage.sendingStatus = message.SendingStatus.FAILED;
871
+ threadDispatcher({
872
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
873
+ payload: { message: failedMessage },
874
+ });
875
+ });
876
+ }
877
+ catch (err) {
878
+ logger.warning('Thread | useResendMessageCallback: Resending user message failed.', err);
879
+ failedMessage.sendingStatus = message.SendingStatus.FAILED;
880
+ threadDispatcher({
881
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
882
+ payload: { message: failedMessage },
883
+ });
884
+ }
885
+ }
886
+ else if ((_b = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isFileMessage) === null || _b === void 0 ? void 0 : _b.call(failedMessage)) {
887
+ try {
888
+ (_c = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage) === null || _c === void 0 ? void 0 : _c.call(currentChannel, failedMessage).onPending(function (message) {
889
+ logger.info('Thread | useResendMessageCallback: Resending file message started.', message);
890
+ threadDispatcher({
891
+ type: ThreadContextActionTypes.RESEND_MESSAGE_START,
892
+ payload: { message: message },
893
+ });
894
+ }).onSucceeded(function (message) {
895
+ logger.info('Thread | useResendMessageCallback: Resending file message succeeded.', message);
896
+ threadDispatcher({
897
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
898
+ payload: { message: message },
899
+ });
900
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
901
+ channel: currentChannel,
902
+ message: failedMessage,
903
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
904
+ });
905
+ }).onFailed(function (error) {
906
+ logger.warning('Thread | useResendMessageCallback: Resending file message failed.', error);
907
+ failedMessage.sendingStatus = message.SendingStatus.FAILED;
908
+ threadDispatcher({
909
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
910
+ payload: { message: failedMessage },
911
+ });
912
+ });
913
+ }
914
+ catch (err) {
915
+ logger.warning('Thread | useResendMessageCallback: Resending file message failed.', err);
916
+ failedMessage.sendingStatus = message.SendingStatus.FAILED;
917
+ threadDispatcher({
918
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
919
+ payload: { message: failedMessage },
920
+ });
921
+ }
922
+ }
923
+ else if ((_d = failedMessage === null || failedMessage === void 0 ? void 0 : failedMessage.isMultipleFilesMessage) === null || _d === void 0 ? void 0 : _d.call(failedMessage)) {
924
+ try {
925
+ (_e = currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.resendMessage) === null || _e === void 0 ? void 0 : _e.call(currentChannel, failedMessage).onPending(function (message) {
926
+ logger.info('Thread | useResendMessageCallback: Resending multiple files message started.', message);
927
+ threadDispatcher({
928
+ type: ThreadContextActionTypes.RESEND_MESSAGE_START,
929
+ payload: { message: message },
930
+ });
931
+ }).onFileUploaded(function (requestId, index, uploadableFileInfo, error) {
932
+ logger.info('Thread | useResendMessageCallback: onFileUploaded during resending multiple files message.', {
933
+ requestId: requestId,
934
+ index: index,
935
+ error: error,
936
+ uploadableFileInfo: uploadableFileInfo,
937
+ });
938
+ pubSub.publish(pubSub_topics.pubSubTopics.ON_FILE_INFO_UPLOADED, {
939
+ response: {
940
+ channelUrl: currentChannel.url,
941
+ requestId: requestId,
942
+ index: index,
943
+ uploadableFileInfo: uploadableFileInfo,
944
+ error: error,
945
+ },
946
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
947
+ });
948
+ }).onSucceeded(function (message) {
949
+ logger.info('Thread | useResendMessageCallback: Resending MFM succeeded.', message);
950
+ threadDispatcher({
951
+ type: ThreadContextActionTypes.SEND_MESSAGE_SUCESS,
952
+ payload: { message: message },
953
+ });
954
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
955
+ channel: currentChannel,
956
+ message: message,
957
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
958
+ });
959
+ }).onFailed(function (error, message) {
960
+ logger.warning('Thread | useResendMessageCallback: Resending MFM failed.', error);
961
+ threadDispatcher({
962
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
963
+ payload: { message: message },
964
+ });
965
+ });
966
+ }
967
+ catch (err) {
968
+ logger.warning('Thread | useResendMessageCallback: Resending MFM failed.', err);
969
+ threadDispatcher({
970
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
971
+ payload: { message: failedMessage },
972
+ });
973
+ }
974
+ }
975
+ else {
976
+ logger.warning('Thread | useResendMessageCallback: Message is not resendable.', failedMessage);
977
+ failedMessage.sendingStatus = message.SendingStatus.FAILED;
978
+ threadDispatcher({
979
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
980
+ payload: { message: failedMessage },
981
+ });
982
+ }
983
+ }
984
+ }, [currentChannel]);
985
985
  }
986
986
 
987
- var useSendVoiceMessageCallback = function (_a, _b) {
988
- var currentChannel = _a.currentChannel, onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
989
- var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
990
- var sendMessage = React.useCallback(function (file, duration, quoteMessage) {
991
- var messageParams = (onBeforeSendVoiceMessage
992
- && typeof onBeforeSendVoiceMessage === 'function')
993
- ? onBeforeSendVoiceMessage(file, quoteMessage)
994
- : {
995
- file: file,
996
- fileName: consts.VOICE_MESSAGE_FILE_NAME,
997
- mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
998
- metaArrays: [
999
- new message.MessageMetaArray({
1000
- key: consts.META_ARRAY_VOICE_DURATION_KEY,
1001
- value: ["".concat(duration)],
1002
- }),
1003
- new message.MessageMetaArray({
1004
- key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
1005
- value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE],
1006
- }),
1007
- ],
1008
- };
1009
- if (quoteMessage) {
1010
- messageParams.isReplyToChannel = true;
1011
- messageParams.parentMessageId = quoteMessage.messageId;
1012
- }
1013
- logger.info('Thread | useSendVoiceMessageCallback: Start sending voice message', messageParams);
1014
- currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(messageParams).onPending(function (pendingMessage) {
1015
- threadDispatcher({
1016
- type: ThreadContextActionTypes.SEND_MESSAGE_START,
1017
- payload: {
1018
- /* pubSub is used instead of messagesDispatcher
1019
- to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1020
- // TODO: remove data pollution
1021
- message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(file),
1022
- // pending thumbnail message seems to be failed
1023
- requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
1024
- },
1025
- });
1026
- setTimeout(function () { return useSendMultipleFilesMessage.scrollIntoLast(); }, consts.SCROLL_BOTTOM_DELAY_FOR_SEND);
1027
- }).onFailed(function (error, message) {
1028
- message.localUrl = URL.createObjectURL(file);
1029
- message.file = file;
1030
- logger.info('Thread | useSendVoiceMessageCallback: Sending voice message failed.', { message: message, error: error });
1031
- threadDispatcher({
1032
- type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1033
- payload: { message: message, error: error },
1034
- });
1035
- }).onSucceeded(function (message) {
1036
- logger.info('Thread | useSendVoiceMessageCallback: Sending voice message succeeded.', message);
1037
- pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
1038
- channel: currentChannel,
1039
- message: message,
1040
- publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
1041
- });
1042
- });
1043
- }, [
1044
- currentChannel,
1045
- onBeforeSendVoiceMessage,
1046
- ]);
1047
- return sendMessage;
987
+ var useSendVoiceMessageCallback = function (_a, _b) {
988
+ var currentChannel = _a.currentChannel, onBeforeSendVoiceMessage = _a.onBeforeSendVoiceMessage;
989
+ var logger = _b.logger, pubSub = _b.pubSub, threadDispatcher = _b.threadDispatcher;
990
+ var sendMessage = React.useCallback(function (file, duration, quoteMessage) {
991
+ var messageParams = (onBeforeSendVoiceMessage
992
+ && typeof onBeforeSendVoiceMessage === 'function')
993
+ ? onBeforeSendVoiceMessage(file, quoteMessage)
994
+ : {
995
+ file: file,
996
+ fileName: consts.VOICE_MESSAGE_FILE_NAME,
997
+ mimeType: consts.VOICE_MESSAGE_MIME_TYPE,
998
+ metaArrays: [
999
+ new message.MessageMetaArray({
1000
+ key: consts.META_ARRAY_VOICE_DURATION_KEY,
1001
+ value: ["".concat(duration)],
1002
+ }),
1003
+ new message.MessageMetaArray({
1004
+ key: consts.META_ARRAY_MESSAGE_TYPE_KEY,
1005
+ value: [consts.META_ARRAY_MESSAGE_TYPE_VALUE__VOICE],
1006
+ }),
1007
+ ],
1008
+ };
1009
+ if (quoteMessage) {
1010
+ messageParams.isReplyToChannel = true;
1011
+ messageParams.parentMessageId = quoteMessage.messageId;
1012
+ }
1013
+ logger.info('Thread | useSendVoiceMessageCallback: Start sending voice message', messageParams);
1014
+ currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.sendFileMessage(messageParams).onPending(function (pendingMessage) {
1015
+ threadDispatcher({
1016
+ type: ThreadContextActionTypes.SEND_MESSAGE_START,
1017
+ payload: {
1018
+ /* pubSub is used instead of messagesDispatcher
1019
+ to avoid redundantly calling `messageActionTypes.SEND_MESSAGE_START` */
1020
+ // TODO: remove data pollution
1021
+ message: _tslib.__assign(_tslib.__assign({}, pendingMessage), { url: URL.createObjectURL(file),
1022
+ // pending thumbnail message seems to be failed
1023
+ requestState: 'pending', isUserMessage: pendingMessage.isUserMessage, isFileMessage: pendingMessage.isFileMessage, isAdminMessage: pendingMessage.isAdminMessage, isMultipleFilesMessage: pendingMessage.isMultipleFilesMessage }),
1024
+ },
1025
+ });
1026
+ setTimeout(function () { return useSendMultipleFilesMessage.scrollIntoLast(); }, consts.SCROLL_BOTTOM_DELAY_FOR_SEND);
1027
+ }).onFailed(function (error, message) {
1028
+ message.localUrl = URL.createObjectURL(file);
1029
+ message.file = file;
1030
+ logger.info('Thread | useSendVoiceMessageCallback: Sending voice message failed.', { message: message, error: error });
1031
+ threadDispatcher({
1032
+ type: ThreadContextActionTypes.SEND_MESSAGE_FAILURE,
1033
+ payload: { message: message, error: error },
1034
+ });
1035
+ }).onSucceeded(function (message) {
1036
+ logger.info('Thread | useSendVoiceMessageCallback: Sending voice message succeeded.', message);
1037
+ pubSub.publish(pubSub_topics.pubSubTopics.SEND_FILE_MESSAGE, {
1038
+ channel: currentChannel,
1039
+ message: message,
1040
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
1041
+ });
1042
+ });
1043
+ }, [
1044
+ currentChannel,
1045
+ onBeforeSendVoiceMessage,
1046
+ ]);
1047
+ return sendMessage;
1048
1048
  };
1049
1049
 
1050
- function getThreadMessageListParams(params) {
1051
- return _tslib.__assign({ prevResultSize: PREV_THREADS_FETCH_SIZE, nextResultSize: NEXT_THREADS_FETCH_SIZE, includeMetaArray: true }, params);
1052
- }
1053
- var useThreadFetchers = function (_a) {
1054
- 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;
1055
- var stores = useSendbirdStateContext.useSendbirdStateContext().stores;
1056
- var timestamp = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.createdAt) || 0;
1057
- var initialize = React.useCallback(function (callback) { return _tslib.__awaiter(void 0, void 0, void 0, function () {
1058
- var params, _a, threadedMessages_1, parentMessage, error_1;
1059
- return _tslib.__generator(this, function (_b) {
1060
- switch (_b.label) {
1061
- case 0:
1062
- if (!stores.sdkStore.initialized || !staleParentMessage)
1063
- return [2 /*return*/];
1064
- threadDispatcher({
1065
- type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START,
1066
- payload: null,
1067
- });
1068
- _b.label = 1;
1069
- case 1:
1070
- _b.trys.push([1, 3, , 4]);
1071
- params = getThreadMessageListParams({ includeReactions: isReactionEnabled });
1072
- logger.info('Thread | useGetThreadList: Initialize thread list start.', { timestamp: timestamp, params: params });
1073
- return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(timestamp, params)];
1074
- case 2:
1075
- _a = _b.sent(), threadedMessages_1 = _a.threadedMessages, parentMessage = _a.parentMessage;
1076
- logger.info('Thread | useGetThreadList: Initialize thread list succeeded.', { staleParentMessage: staleParentMessage, threadedMessages: threadedMessages_1 });
1077
- threadDispatcher({
1078
- type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS,
1079
- payload: { parentMessage: parentMessage, anchorMessage: anchorMessage, threadedMessages: threadedMessages_1 },
1080
- });
1081
- setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_1); });
1082
- return [3 /*break*/, 4];
1083
- case 3:
1084
- error_1 = _b.sent();
1085
- logger.info('Thread | useGetThreadList: Initialize thread list failed.', error_1);
1086
- threadDispatcher({
1087
- type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE,
1088
- payload: error_1,
1089
- });
1090
- return [3 /*break*/, 4];
1091
- case 4: return [2 /*return*/];
1092
- }
1093
- });
1094
- }); }, [stores.sdkStore.initialized, staleParentMessage, anchorMessage, isReactionEnabled]);
1095
- var loadPrevious = React.useCallback(function (callback) { return _tslib.__awaiter(void 0, void 0, void 0, function () {
1096
- var params, _a, threadedMessages_2, parentMessage, error_2;
1097
- return _tslib.__generator(this, function (_b) {
1098
- switch (_b.label) {
1099
- case 0:
1100
- if (threadListState !== Thread_context_types.ThreadListStateTypes.INITIALIZED || oldestMessageTimeStamp === 0 || !staleParentMessage)
1101
- return [2 /*return*/];
1102
- threadDispatcher({
1103
- type: ThreadContextActionTypes.GET_PREV_MESSAGES_START,
1104
- payload: null,
1105
- });
1106
- _b.label = 1;
1107
- case 1:
1108
- _b.trys.push([1, 3, , 4]);
1109
- params = getThreadMessageListParams({ nextResultSize: 0, includeReactions: isReactionEnabled });
1110
- return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(oldestMessageTimeStamp, params)];
1111
- case 2:
1112
- _a = _b.sent(), threadedMessages_2 = _a.threadedMessages, parentMessage = _a.parentMessage;
1113
- logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads succeeded.', { parentMessage: parentMessage, threadedMessages: threadedMessages_2 });
1114
- threadDispatcher({
1115
- type: ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS,
1116
- payload: { parentMessage: parentMessage, threadedMessages: threadedMessages_2 },
1117
- });
1118
- setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_2); });
1119
- return [3 /*break*/, 4];
1120
- case 3:
1121
- error_2 = _b.sent();
1122
- logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads failed.', error_2);
1123
- threadDispatcher({
1124
- type: ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE,
1125
- payload: error_2,
1126
- });
1127
- return [3 /*break*/, 4];
1128
- case 4: return [2 /*return*/];
1129
- }
1130
- });
1131
- }); }, [threadListState, oldestMessageTimeStamp, isReactionEnabled, staleParentMessage]);
1132
- var loadNext = React.useCallback(function (callback) { return _tslib.__awaiter(void 0, void 0, void 0, function () {
1133
- var params, _a, threadedMessages_3, parentMessage, error_3;
1134
- return _tslib.__generator(this, function (_b) {
1135
- switch (_b.label) {
1136
- case 0:
1137
- if (threadListState !== Thread_context_types.ThreadListStateTypes.INITIALIZED || latestMessageTimeStamp === 0 || !staleParentMessage)
1138
- return [2 /*return*/];
1139
- threadDispatcher({
1140
- type: ThreadContextActionTypes.GET_NEXT_MESSAGES_START,
1141
- payload: null,
1142
- });
1143
- _b.label = 1;
1144
- case 1:
1145
- _b.trys.push([1, 3, , 4]);
1146
- params = getThreadMessageListParams({ prevResultSize: 0, includeReactions: isReactionEnabled });
1147
- return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(latestMessageTimeStamp, params)];
1148
- case 2:
1149
- _a = _b.sent(), threadedMessages_3 = _a.threadedMessages, parentMessage = _a.parentMessage;
1150
- logger.info('Thread | useGetNextThreadsCallback: Fetch next threads succeeded.', { parentMessage: parentMessage, threadedMessages: threadedMessages_3 });
1151
- threadDispatcher({
1152
- type: ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS,
1153
- payload: { parentMessage: parentMessage, threadedMessages: threadedMessages_3 },
1154
- });
1155
- setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_3); });
1156
- return [3 /*break*/, 4];
1157
- case 3:
1158
- error_3 = _b.sent();
1159
- logger.info('Thread | useGetNextThreadsCallback: Fetch next threads failed.', error_3);
1160
- threadDispatcher({
1161
- type: ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE,
1162
- payload: error_3,
1163
- });
1164
- return [3 /*break*/, 4];
1165
- case 4: return [2 /*return*/];
1166
- }
1167
- });
1168
- }); }, [threadListState, latestMessageTimeStamp, isReactionEnabled, staleParentMessage]);
1169
- return {
1170
- initialize: initialize,
1171
- loadPrevious: loadPrevious,
1172
- loadNext: loadNext,
1173
- };
1050
+ function getThreadMessageListParams(params) {
1051
+ return _tslib.__assign({ prevResultSize: PREV_THREADS_FETCH_SIZE, nextResultSize: NEXT_THREADS_FETCH_SIZE, includeMetaArray: true }, params);
1052
+ }
1053
+ var useThreadFetchers = function (_a) {
1054
+ 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;
1055
+ var stores = useSendbirdStateContext.useSendbirdStateContext().stores;
1056
+ var timestamp = (anchorMessage === null || anchorMessage === void 0 ? void 0 : anchorMessage.createdAt) || 0;
1057
+ var initialize = React.useCallback(function (callback) { return _tslib.__awaiter(void 0, void 0, void 0, function () {
1058
+ var params, _a, threadedMessages_1, parentMessage, error_1;
1059
+ return _tslib.__generator(this, function (_b) {
1060
+ switch (_b.label) {
1061
+ case 0:
1062
+ if (!stores.sdkStore.initialized || !staleParentMessage)
1063
+ return [2 /*return*/];
1064
+ threadDispatcher({
1065
+ type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_START,
1066
+ payload: null,
1067
+ });
1068
+ _b.label = 1;
1069
+ case 1:
1070
+ _b.trys.push([1, 3, , 4]);
1071
+ params = getThreadMessageListParams({ includeReactions: isReactionEnabled });
1072
+ logger.info('Thread | useGetThreadList: Initialize thread list start.', { timestamp: timestamp, params: params });
1073
+ return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(timestamp, params)];
1074
+ case 2:
1075
+ _a = _b.sent(), threadedMessages_1 = _a.threadedMessages, parentMessage = _a.parentMessage;
1076
+ logger.info('Thread | useGetThreadList: Initialize thread list succeeded.', { staleParentMessage: staleParentMessage, threadedMessages: threadedMessages_1 });
1077
+ threadDispatcher({
1078
+ type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_SUCCESS,
1079
+ payload: { parentMessage: parentMessage, anchorMessage: anchorMessage, threadedMessages: threadedMessages_1 },
1080
+ });
1081
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_1); });
1082
+ return [3 /*break*/, 4];
1083
+ case 3:
1084
+ error_1 = _b.sent();
1085
+ logger.info('Thread | useGetThreadList: Initialize thread list failed.', error_1);
1086
+ threadDispatcher({
1087
+ type: ThreadContextActionTypes.INITIALIZE_THREAD_LIST_FAILURE,
1088
+ payload: error_1,
1089
+ });
1090
+ return [3 /*break*/, 4];
1091
+ case 4: return [2 /*return*/];
1092
+ }
1093
+ });
1094
+ }); }, [stores.sdkStore.initialized, staleParentMessage, anchorMessage, isReactionEnabled]);
1095
+ var loadPrevious = React.useCallback(function (callback) { return _tslib.__awaiter(void 0, void 0, void 0, function () {
1096
+ var params, _a, threadedMessages_2, parentMessage, error_2;
1097
+ return _tslib.__generator(this, function (_b) {
1098
+ switch (_b.label) {
1099
+ case 0:
1100
+ if (threadListState !== Thread_context_types.ThreadListStateTypes.INITIALIZED || oldestMessageTimeStamp === 0 || !staleParentMessage)
1101
+ return [2 /*return*/];
1102
+ threadDispatcher({
1103
+ type: ThreadContextActionTypes.GET_PREV_MESSAGES_START,
1104
+ payload: null,
1105
+ });
1106
+ _b.label = 1;
1107
+ case 1:
1108
+ _b.trys.push([1, 3, , 4]);
1109
+ params = getThreadMessageListParams({ nextResultSize: 0, includeReactions: isReactionEnabled });
1110
+ return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(oldestMessageTimeStamp, params)];
1111
+ case 2:
1112
+ _a = _b.sent(), threadedMessages_2 = _a.threadedMessages, parentMessage = _a.parentMessage;
1113
+ logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads succeeded.', { parentMessage: parentMessage, threadedMessages: threadedMessages_2 });
1114
+ threadDispatcher({
1115
+ type: ThreadContextActionTypes.GET_PREV_MESSAGES_SUCESS,
1116
+ payload: { parentMessage: parentMessage, threadedMessages: threadedMessages_2 },
1117
+ });
1118
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_2); });
1119
+ return [3 /*break*/, 4];
1120
+ case 3:
1121
+ error_2 = _b.sent();
1122
+ logger.info('Thread | useGetPrevThreadsCallback: Fetch prev threads failed.', error_2);
1123
+ threadDispatcher({
1124
+ type: ThreadContextActionTypes.GET_PREV_MESSAGES_FAILURE,
1125
+ payload: error_2,
1126
+ });
1127
+ return [3 /*break*/, 4];
1128
+ case 4: return [2 /*return*/];
1129
+ }
1130
+ });
1131
+ }); }, [threadListState, oldestMessageTimeStamp, isReactionEnabled, staleParentMessage]);
1132
+ var loadNext = React.useCallback(function (callback) { return _tslib.__awaiter(void 0, void 0, void 0, function () {
1133
+ var params, _a, threadedMessages_3, parentMessage, error_3;
1134
+ return _tslib.__generator(this, function (_b) {
1135
+ switch (_b.label) {
1136
+ case 0:
1137
+ if (threadListState !== Thread_context_types.ThreadListStateTypes.INITIALIZED || latestMessageTimeStamp === 0 || !staleParentMessage)
1138
+ return [2 /*return*/];
1139
+ threadDispatcher({
1140
+ type: ThreadContextActionTypes.GET_NEXT_MESSAGES_START,
1141
+ payload: null,
1142
+ });
1143
+ _b.label = 1;
1144
+ case 1:
1145
+ _b.trys.push([1, 3, , 4]);
1146
+ params = getThreadMessageListParams({ prevResultSize: 0, includeReactions: isReactionEnabled });
1147
+ return [4 /*yield*/, staleParentMessage.getThreadedMessagesByTimestamp(latestMessageTimeStamp, params)];
1148
+ case 2:
1149
+ _a = _b.sent(), threadedMessages_3 = _a.threadedMessages, parentMessage = _a.parentMessage;
1150
+ logger.info('Thread | useGetNextThreadsCallback: Fetch next threads succeeded.', { parentMessage: parentMessage, threadedMessages: threadedMessages_3 });
1151
+ threadDispatcher({
1152
+ type: ThreadContextActionTypes.GET_NEXT_MESSAGES_SUCESS,
1153
+ payload: { parentMessage: parentMessage, threadedMessages: threadedMessages_3 },
1154
+ });
1155
+ setTimeout(function () { return callback === null || callback === void 0 ? void 0 : callback(threadedMessages_3); });
1156
+ return [3 /*break*/, 4];
1157
+ case 3:
1158
+ error_3 = _b.sent();
1159
+ logger.info('Thread | useGetNextThreadsCallback: Fetch next threads failed.', error_3);
1160
+ threadDispatcher({
1161
+ type: ThreadContextActionTypes.GET_NEXT_MESSAGES_FAILURE,
1162
+ payload: error_3,
1163
+ });
1164
+ return [3 /*break*/, 4];
1165
+ case 4: return [2 /*return*/];
1166
+ }
1167
+ });
1168
+ }); }, [threadListState, latestMessageTimeStamp, isReactionEnabled, staleParentMessage]);
1169
+ return {
1170
+ initialize: initialize,
1171
+ loadPrevious: loadPrevious,
1172
+ loadNext: loadNext,
1173
+ };
1174
1174
  };
1175
1175
 
1176
- var ThreadContext = React.createContext(null);
1177
- var ThreadProvider = function (props) {
1178
- var _a, _b;
1179
- 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,
1180
- // User Profile
1181
- disableUserProfile = props.disableUserProfile, renderUserProfile = props.renderUserProfile;
1182
- var propsMessage = props === null || props === void 0 ? void 0 : props.message;
1183
- var propsParentMessage = useSendMultipleFilesMessage.getParentMessageFrom(propsMessage);
1184
- // Context from SendbirdProvider
1185
- var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1186
- var stores = globalStore.stores, config = globalStore.config;
1187
- // // stores
1188
- var sdkStore = stores.sdkStore, userStore = stores.userStore;
1189
- var sdk = sdkStore.sdk;
1190
- var user = userStore.user;
1191
- var sdkInit = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
1192
- // // config
1193
- var logger = config.logger, pubSub = config.pubSub, replyType = config.replyType, isMentionEnabled = config.isMentionEnabled, isReactionEnabled = config.isReactionEnabled, onUserProfileMessage = config.onUserProfileMessage;
1194
- // dux of Thread
1195
- var _c = React.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
- React.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
- React.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.useSendMultipleFilesMessage({
1269
- currentChannel: currentChannel,
1270
- onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
1271
- publishingModules: [pubSub_topics.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 = React.useMemo(function () { return ((replyType && currentChannel)
1286
- ? useSendMultipleFilesMessage.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.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.createElement(UserProfileContext.UserProfileProvider, { disableUserProfile: disableUserProfile !== null && disableUserProfile !== void 0 ? disableUserProfile : config.disableUserProfile, renderUserProfile: renderUserProfile, onUserProfileMessage: onUserProfileMessage }, children)));
1326
- };
1176
+ var ThreadContext = React.createContext(null);
1177
+ var ThreadProvider = function (props) {
1178
+ var _a, _b;
1179
+ 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,
1180
+ // User Profile
1181
+ disableUserProfile = props.disableUserProfile, renderUserProfile = props.renderUserProfile;
1182
+ var propsMessage = props === null || props === void 0 ? void 0 : props.message;
1183
+ var propsParentMessage = useSendMultipleFilesMessage.getParentMessageFrom(propsMessage);
1184
+ // Context from SendbirdProvider
1185
+ var globalStore = useSendbirdStateContext.useSendbirdStateContext();
1186
+ var stores = globalStore.stores, config = globalStore.config;
1187
+ // // stores
1188
+ var sdkStore = stores.sdkStore, userStore = stores.userStore;
1189
+ var sdk = sdkStore.sdk;
1190
+ var user = userStore.user;
1191
+ var sdkInit = sdkStore === null || sdkStore === void 0 ? void 0 : sdkStore.initialized;
1192
+ // // config
1193
+ var logger = config.logger, pubSub = config.pubSub, onUserProfileMessage = config.onUserProfileMessage;
1194
+ var isMentionEnabled = config.groupChannel.enableMention;
1195
+ var isReactionEnabled = config.groupChannel.enableReactions;
1196
+ // dux of Thread
1197
+ var _c = React.useReducer(reducer, initialState), threadStore = _c[0], threadDispatcher = _c[1];
1198
+ 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;
1199
+ // Initialization
1200
+ React.useEffect(function () {
1201
+ threadDispatcher({
1202
+ type: ThreadContextActionTypes.INIT_USER_ID,
1203
+ payload: user === null || user === void 0 ? void 0 : user.userId,
1204
+ });
1205
+ }, [user]);
1206
+ useGetChannel({
1207
+ channelUrl: channelUrl,
1208
+ sdkInit: sdkInit,
1209
+ message: propsMessage,
1210
+ }, { sdk: sdk, logger: logger, threadDispatcher: threadDispatcher });
1211
+ useGetParentMessage({
1212
+ channelUrl: channelUrl,
1213
+ sdkInit: sdkInit,
1214
+ parentMessage: propsParentMessage,
1215
+ }, { sdk: sdk, logger: logger, threadDispatcher: threadDispatcher });
1216
+ useGetAllEmoji({ sdk: sdk }, { logger: logger, threadDispatcher: threadDispatcher });
1217
+ // Handle channel events
1218
+ useHandleChannelEvents({
1219
+ sdk: sdk,
1220
+ currentChannel: currentChannel,
1221
+ }, { logger: logger, threadDispatcher: threadDispatcher });
1222
+ useHandleThreadPubsubEvents({
1223
+ sdkInit: sdkInit,
1224
+ currentChannel: currentChannel,
1225
+ parentMessage: parentMessage,
1226
+ }, { logger: logger, pubSub: pubSub, threadDispatcher: threadDispatcher });
1227
+ var _d = useThreadFetchers({
1228
+ parentMessage: parentMessage,
1229
+ // anchorMessage should be null when parentMessage doesn't exist
1230
+ anchorMessage: (propsMessage === null || propsMessage === void 0 ? void 0 : propsMessage.messageId) !== (propsParentMessage === null || propsParentMessage === void 0 ? void 0 : propsParentMessage.messageId) ? propsMessage : undefined,
1231
+ logger: logger,
1232
+ isReactionEnabled: isReactionEnabled,
1233
+ threadDispatcher: threadDispatcher,
1234
+ threadListState: threadListState,
1235
+ oldestMessageTimeStamp: ((_a = allThreadMessages[0]) === null || _a === void 0 ? void 0 : _a.createdAt) || 0,
1236
+ latestMessageTimeStamp: ((_b = allThreadMessages[allThreadMessages.length - 1]) === null || _b === void 0 ? void 0 : _b.createdAt) || 0,
1237
+ }), initialize = _d.initialize, loadPrevious = _d.loadPrevious, loadNext = _d.loadNext;
1238
+ React.useEffect(function () {
1239
+ if (stores.sdkStore.initialized && config.isOnline) {
1240
+ initialize();
1241
+ }
1242
+ }, [stores.sdkStore.initialized, config.isOnline, initialize]);
1243
+ var toggleReaction = useToggleReactionCallback({ currentChannel: currentChannel }, { logger: logger });
1244
+ // Send Message Hooks
1245
+ var sendMessage = useSendUserMessageCallback({
1246
+ isMentionEnabled: isMentionEnabled,
1247
+ currentChannel: currentChannel,
1248
+ onBeforeSendUserMessage: onBeforeSendUserMessage,
1249
+ }, {
1250
+ logger: logger,
1251
+ pubSub: pubSub,
1252
+ threadDispatcher: threadDispatcher,
1253
+ });
1254
+ var sendFileMessage = useSendFileMessageCallback({
1255
+ currentChannel: currentChannel,
1256
+ onBeforeSendFileMessage: onBeforeSendFileMessage,
1257
+ }, {
1258
+ logger: logger,
1259
+ pubSub: pubSub,
1260
+ threadDispatcher: threadDispatcher,
1261
+ });
1262
+ var sendVoiceMessage = useSendVoiceMessageCallback({
1263
+ currentChannel: currentChannel,
1264
+ onBeforeSendVoiceMessage: onBeforeSendVoiceMessage,
1265
+ }, {
1266
+ logger: logger,
1267
+ pubSub: pubSub,
1268
+ threadDispatcher: threadDispatcher,
1269
+ });
1270
+ var sendMultipleFilesMessage = useSendMultipleFilesMessage.useSendMultipleFilesMessage({
1271
+ currentChannel: currentChannel,
1272
+ onBeforeSendMultipleFilesMessage: onBeforeSendMultipleFilesMessage,
1273
+ publishingModules: [pubSub_topics.PublishingModuleType.THREAD],
1274
+ }, {
1275
+ logger: logger,
1276
+ pubSub: pubSub,
1277
+ })[0];
1278
+ var resendMessage = useResendMessageCallback({
1279
+ currentChannel: currentChannel,
1280
+ }, { logger: logger, pubSub: pubSub, threadDispatcher: threadDispatcher });
1281
+ var updateMessage = useUpdateMessageCallback({
1282
+ currentChannel: currentChannel,
1283
+ isMentionEnabled: isMentionEnabled,
1284
+ }, { logger: logger, pubSub: pubSub, threadDispatcher: threadDispatcher });
1285
+ var deleteMessage = useDeleteMessageCallback({ currentChannel: currentChannel, threadDispatcher: threadDispatcher }, { logger: logger });
1286
+ // memo
1287
+ var nicknamesMap = React.useMemo(function () { return ((config.groupChannel.replyType !== 'none' && currentChannel)
1288
+ ? useSendMultipleFilesMessage.getNicknamesMapFromMembers(currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members)
1289
+ : new Map()); }, [currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.members]);
1290
+ return (React.createElement(ThreadContext.Provider, { value: {
1291
+ // ThreadProviderProps
1292
+ channelUrl: channelUrl,
1293
+ message: propsMessage,
1294
+ onHeaderActionClick: onHeaderActionClick,
1295
+ onMoveToParentMessage: onMoveToParentMessage,
1296
+ isMultipleFilesMessageEnabled: isMultipleFilesMessageEnabled,
1297
+ onBeforeDownloadFileMessage: onBeforeDownloadFileMessage,
1298
+ // ThreadContextInitialState
1299
+ currentChannel: currentChannel,
1300
+ allThreadMessages: allThreadMessages,
1301
+ localThreadMessages: localThreadMessages,
1302
+ parentMessage: parentMessage,
1303
+ channelState: channelState,
1304
+ threadListState: threadListState,
1305
+ parentMessageState: parentMessageState,
1306
+ hasMorePrev: hasMorePrev,
1307
+ hasMoreNext: hasMoreNext,
1308
+ emojiContainer: emojiContainer,
1309
+ // hooks
1310
+ fetchPrevThreads: loadPrevious,
1311
+ fetchNextThreads: loadNext,
1312
+ toggleReaction: toggleReaction,
1313
+ sendMessage: sendMessage,
1314
+ sendFileMessage: sendFileMessage,
1315
+ sendVoiceMessage: sendVoiceMessage,
1316
+ sendMultipleFilesMessage: sendMultipleFilesMessage,
1317
+ resendMessage: resendMessage,
1318
+ updateMessage: updateMessage,
1319
+ deleteMessage: deleteMessage,
1320
+ // context
1321
+ nicknamesMap: nicknamesMap,
1322
+ isMuted: isMuted,
1323
+ isChannelFrozen: isChannelFrozen,
1324
+ currentUserId: currentUserId,
1325
+ typingMembers: typingMembers,
1326
+ } },
1327
+ React.createElement(UserProfileContext.UserProfileProvider, { disableUserProfile: disableUserProfile !== null && disableUserProfile !== void 0 ? disableUserProfile : !config.common.enableUsingDefaultUserProfile, renderUserProfile: renderUserProfile, onUserProfileMessage: onUserProfileMessage }, children)));
1328
+ };
1327
1329
  var useThreadContext = function () { return React.useContext(ThreadContext); };
1328
1330
 
1329
1331
  exports.ThreadProvider = ThreadProvider;