stream-chat-react-native-core 7.0.0-rc.9 → 7.0.0

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 (315) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Attachment/Gallery.js +16 -3
  3. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  4. package/lib/commonjs/components/Attachment/ImageReloadIndicator.js.map +1 -1
  5. package/lib/commonjs/components/Channel/Channel.js +8 -5
  6. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  7. package/lib/commonjs/components/Channel/hooks/useChannelDataState.js.map +1 -1
  8. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +2 -0
  9. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  10. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  11. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  12. package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  13. package/lib/commonjs/components/Message/Message.js +12 -6
  14. package/lib/commonjs/components/Message/Message.js.map +1 -1
  15. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  16. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +14 -6
  17. package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  18. package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  19. package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  20. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +3 -1
  21. package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  22. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  23. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  24. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +2 -1
  25. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  26. package/lib/commonjs/components/MessageList/MessageList.js +9 -7
  27. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  28. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +18 -24
  29. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  30. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js +1 -1
  31. package/lib/commonjs/components/MessageList/utils/getGroupStyles.js.map +1 -1
  32. package/lib/commonjs/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  33. package/lib/commonjs/components/MessageList/utils/getReadState.js +20 -0
  34. package/lib/commonjs/components/MessageList/utils/getReadState.js.map +1 -0
  35. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  36. package/lib/commonjs/components/Poll/components/Button.js.map +1 -1
  37. package/lib/commonjs/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  38. package/lib/commonjs/components/Reply/Reply.js +2 -2
  39. package/lib/commonjs/components/Reply/Reply.js.map +1 -1
  40. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -0
  41. package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  42. package/lib/commonjs/components/ThreadList/ThreadListItem.js.map +1 -1
  43. package/lib/commonjs/components/index.js +15 -4
  44. package/lib/commonjs/components/index.js.map +1 -1
  45. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js +5 -1
  46. package/lib/commonjs/contexts/channelsStateContext/useChannelState.js.map +1 -1
  47. package/lib/commonjs/contexts/debugContext/DebugContext.js.map +1 -1
  48. package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  49. package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
  50. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  51. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  52. package/lib/commonjs/contexts/pollContext/pollContext.js.map +1 -1
  53. package/lib/commonjs/contexts/threadContext/ThreadContext.js.map +1 -1
  54. package/lib/commonjs/contexts/threadsContext/ThreadListItemContext.js.map +1 -1
  55. package/lib/commonjs/hooks/index.js +11 -0
  56. package/lib/commonjs/hooks/index.js.map +1 -1
  57. package/lib/commonjs/i18n/en.json +3 -0
  58. package/lib/commonjs/i18n/es.json +3 -0
  59. package/lib/commonjs/i18n/fr.json +3 -0
  60. package/lib/commonjs/i18n/he.json +3 -0
  61. package/lib/commonjs/i18n/hi.json +2 -0
  62. package/lib/commonjs/i18n/it.json +3 -0
  63. package/lib/commonjs/i18n/ja.json +1 -0
  64. package/lib/commonjs/i18n/ko.json +1 -0
  65. package/lib/commonjs/i18n/nl.json +2 -0
  66. package/lib/commonjs/i18n/pt-br.json +3 -0
  67. package/lib/commonjs/i18n/ru.json +4 -0
  68. package/lib/commonjs/i18n/tr.json +2 -0
  69. package/lib/commonjs/utils/removeReservedFields.js.map +1 -1
  70. package/lib/commonjs/utils/utils.js +1 -3
  71. package/lib/commonjs/utils/utils.js.map +1 -1
  72. package/lib/commonjs/version.json +1 -1
  73. package/lib/module/components/Attachment/Gallery.js +16 -3
  74. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  75. package/lib/module/components/Attachment/ImageReloadIndicator.js.map +1 -1
  76. package/lib/module/components/Channel/Channel.js +8 -5
  77. package/lib/module/components/Channel/Channel.js.map +1 -1
  78. package/lib/module/components/Channel/hooks/useChannelDataState.js.map +1 -1
  79. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +2 -0
  80. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  81. package/lib/module/components/Chat/Chat.js.map +1 -1
  82. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
  83. package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js.map +1 -1
  84. package/lib/module/components/Message/Message.js +12 -6
  85. package/lib/module/components/Message/Message.js.map +1 -1
  86. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  87. package/lib/module/components/Message/MessageSimple/MessageStatus.js +14 -6
  88. package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
  89. package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
  90. package/lib/module/components/Message/MessageSimple/utils/renderText.js.map +1 -1
  91. package/lib/module/components/Message/hooks/useCreateMessageContext.js +3 -1
  92. package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
  93. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  94. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  95. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +2 -1
  96. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  97. package/lib/module/components/MessageList/MessageList.js +9 -7
  98. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  99. package/lib/module/components/MessageList/hooks/useMessageList.js +18 -24
  100. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  101. package/lib/module/components/MessageList/utils/getGroupStyles.js +1 -1
  102. package/lib/module/components/MessageList/utils/getGroupStyles.js.map +1 -1
  103. package/lib/module/components/MessageList/utils/getLastReceivedMessage.js.map +1 -1
  104. package/lib/module/components/MessageList/utils/getReadState.js +20 -0
  105. package/lib/module/components/MessageList/utils/getReadState.js.map +1 -0
  106. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  107. package/lib/module/components/Poll/components/Button.js.map +1 -1
  108. package/lib/module/components/Poll/components/PollResults/PollResultItem.js.map +1 -1
  109. package/lib/module/components/Reply/Reply.js +2 -2
  110. package/lib/module/components/Reply/Reply.js.map +1 -1
  111. package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -0
  112. package/lib/module/components/Thread/components/ThreadFooterComponent.js.map +1 -1
  113. package/lib/module/components/ThreadList/ThreadListItem.js.map +1 -1
  114. package/lib/module/components/index.js +15 -4
  115. package/lib/module/components/index.js.map +1 -1
  116. package/lib/module/contexts/channelsStateContext/useChannelState.js +5 -1
  117. package/lib/module/contexts/channelsStateContext/useChannelState.js.map +1 -1
  118. package/lib/module/contexts/debugContext/DebugContext.js.map +1 -1
  119. package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js.map +1 -1
  120. package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
  121. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  122. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  123. package/lib/module/contexts/pollContext/pollContext.js.map +1 -1
  124. package/lib/module/contexts/threadContext/ThreadContext.js.map +1 -1
  125. package/lib/module/contexts/threadsContext/ThreadListItemContext.js.map +1 -1
  126. package/lib/module/hooks/index.js +11 -0
  127. package/lib/module/hooks/index.js.map +1 -1
  128. package/lib/module/i18n/en.json +3 -0
  129. package/lib/module/i18n/es.json +3 -0
  130. package/lib/module/i18n/fr.json +3 -0
  131. package/lib/module/i18n/he.json +3 -0
  132. package/lib/module/i18n/hi.json +2 -0
  133. package/lib/module/i18n/it.json +3 -0
  134. package/lib/module/i18n/ja.json +1 -0
  135. package/lib/module/i18n/ko.json +1 -0
  136. package/lib/module/i18n/nl.json +2 -0
  137. package/lib/module/i18n/pt-br.json +3 -0
  138. package/lib/module/i18n/ru.json +4 -0
  139. package/lib/module/i18n/tr.json +2 -0
  140. package/lib/module/utils/removeReservedFields.js.map +1 -1
  141. package/lib/module/utils/utils.js +1 -3
  142. package/lib/module/utils/utils.js.map +1 -1
  143. package/lib/module/version.json +1 -1
  144. package/lib/typescript/components/Attachment/Gallery.d.ts +3 -3
  145. package/lib/typescript/components/Attachment/Gallery.d.ts.map +1 -1
  146. package/lib/typescript/components/Attachment/ImageReloadIndicator.d.ts +4 -3
  147. package/lib/typescript/components/Attachment/ImageReloadIndicator.d.ts.map +1 -1
  148. package/lib/typescript/components/Channel/Channel.d.ts +3 -4
  149. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  150. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts +2 -3
  151. package/lib/typescript/components/Channel/hooks/useChannelDataState.d.ts.map +1 -1
  152. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  153. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts.map +1 -1
  154. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts +4 -4
  155. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts +1 -1
  156. package/lib/typescript/components/ChannelPreview/hooks/useLatestMessagePreview.d.ts +1 -1
  157. package/lib/typescript/components/Chat/Chat.d.ts +0 -9
  158. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  159. package/lib/typescript/components/KeyboardCompatibleView/KeyboardCompatibleView.d.ts.map +1 -1
  160. package/lib/typescript/components/Message/Message.d.ts +4 -5
  161. package/lib/typescript/components/Message/Message.d.ts.map +1 -1
  162. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts +2 -3
  163. package/lib/typescript/components/Message/MessageSimple/MessageFooter.d.ts.map +1 -1
  164. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts +1 -1
  165. package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts.map +1 -1
  166. package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts.map +1 -1
  167. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts +2 -2
  168. package/lib/typescript/components/Message/MessageSimple/utils/renderText.d.ts.map +1 -1
  169. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
  170. package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts.map +1 -1
  171. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts.map +1 -1
  172. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +2 -2
  173. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts.map +1 -1
  174. package/lib/typescript/components/MessageList/MessageList.d.ts +3 -3
  175. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  176. package/lib/typescript/components/MessageList/MessageSystem.d.ts +2 -2
  177. package/lib/typescript/components/MessageList/MessageSystem.d.ts.map +1 -1
  178. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +11 -10
  179. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
  180. package/lib/typescript/components/MessageList/utils/getGroupStyles.d.ts.map +1 -1
  181. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts +2 -2
  182. package/lib/typescript/components/MessageList/utils/getLastReceivedMessage.d.ts.map +1 -1
  183. package/lib/typescript/components/MessageList/utils/getReadState.d.ts +9 -0
  184. package/lib/typescript/components/MessageList/utils/getReadState.d.ts.map +1 -0
  185. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts +2 -3
  186. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
  187. package/lib/typescript/components/Poll/components/Button.d.ts +2 -3
  188. package/lib/typescript/components/Poll/components/Button.d.ts.map +1 -1
  189. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts +2 -3
  190. package/lib/typescript/components/Poll/components/PollResults/PollResultItem.d.ts.map +1 -1
  191. package/lib/typescript/components/Reply/Reply.d.ts.map +1 -1
  192. package/lib/typescript/components/Thread/components/ThreadFooterComponent.d.ts.map +1 -1
  193. package/lib/typescript/components/ThreadList/ThreadListItem.d.ts.map +1 -1
  194. package/lib/typescript/components/index.d.ts +2 -1
  195. package/lib/typescript/components/index.d.ts.map +1 -1
  196. package/lib/typescript/contexts/channelsStateContext/useChannelState.d.ts.map +1 -1
  197. package/lib/typescript/contexts/debugContext/DebugContext.d.ts +2 -3
  198. package/lib/typescript/contexts/debugContext/DebugContext.d.ts.map +1 -1
  199. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts +3 -3
  200. package/lib/typescript/contexts/imageGalleryContext/ImageGalleryContext.d.ts.map +1 -1
  201. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +6 -4
  202. package/lib/typescript/contexts/messageContext/MessageContext.d.ts.map +1 -1
  203. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts +4 -5
  204. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  205. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +24 -20
  206. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  207. package/lib/typescript/contexts/pollContext/pollContext.d.ts +2 -3
  208. package/lib/typescript/contexts/pollContext/pollContext.d.ts.map +1 -1
  209. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts +4 -5
  210. package/lib/typescript/contexts/threadContext/ThreadContext.d.ts.map +1 -1
  211. package/lib/typescript/contexts/threadsContext/ThreadListItemContext.d.ts +3 -4
  212. package/lib/typescript/contexts/threadsContext/ThreadListItemContext.d.ts.map +1 -1
  213. package/lib/typescript/hooks/index.d.ts +1 -0
  214. package/lib/typescript/hooks/index.d.ts.map +1 -1
  215. package/lib/typescript/hooks/useTranslatedMessage.d.ts +55 -55
  216. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  217. package/lib/typescript/i18n/en.json +3 -0
  218. package/lib/typescript/i18n/es.json +3 -0
  219. package/lib/typescript/i18n/fr.json +3 -0
  220. package/lib/typescript/i18n/he.json +3 -0
  221. package/lib/typescript/i18n/hi.json +2 -0
  222. package/lib/typescript/i18n/it.json +3 -0
  223. package/lib/typescript/i18n/ja.json +1 -0
  224. package/lib/typescript/i18n/ko.json +1 -0
  225. package/lib/typescript/i18n/nl.json +2 -0
  226. package/lib/typescript/i18n/pt-br.json +3 -0
  227. package/lib/typescript/i18n/ru.json +4 -0
  228. package/lib/typescript/i18n/tr.json +2 -0
  229. package/lib/typescript/utils/i18n/Streami18n.d.ts +3 -0
  230. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  231. package/lib/typescript/utils/removeReservedFields.d.ts +2 -3
  232. package/lib/typescript/utils/removeReservedFields.d.ts.map +1 -1
  233. package/lib/typescript/utils/utils.d.ts +5 -6
  234. package/lib/typescript/utils/utils.d.ts.map +1 -1
  235. package/package.json +2 -2
  236. package/src/components/Attachment/Gallery.tsx +22 -7
  237. package/src/components/Attachment/ImageReloadIndicator.tsx +4 -5
  238. package/src/components/Channel/Channel.tsx +12 -9
  239. package/src/components/Channel/__tests__/Channel.test.js +2 -0
  240. package/src/components/Channel/hooks/useChannelDataState.ts +2 -4
  241. package/src/components/Channel/hooks/useCreateMessagesContext.ts +2 -0
  242. package/src/components/Chat/Chat.tsx +0 -9
  243. package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +8 -7
  244. package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +5 -4
  245. package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +5 -4
  246. package/src/components/ImageGallery/__tests__/ImageGalleryOverlay.test.tsx +3 -2
  247. package/src/components/KeyboardCompatibleView/KeyboardCompatibleView.tsx +6 -1
  248. package/src/components/Message/Message.tsx +10 -13
  249. package/src/components/Message/MessageSimple/MessageFooter.tsx +2 -3
  250. package/src/components/Message/MessageSimple/MessageStatus.tsx +19 -17
  251. package/src/components/Message/MessageSimple/MessageTextContainer.tsx +3 -3
  252. package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +11 -5
  253. package/src/components/Message/MessageSimple/__tests__/MessageTextContainer.test.tsx +5 -4
  254. package/src/components/Message/MessageSimple/utils/renderText.tsx +2 -3
  255. package/src/components/Message/hooks/useCreateMessageContext.ts +3 -0
  256. package/src/components/Message/hooks/useMessageActionHandlers.ts +1 -3
  257. package/src/components/Message/hooks/useMessageActions.tsx +4 -3
  258. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingButton.tsx +1 -0
  259. package/src/components/MessageList/MessageList.tsx +24 -25
  260. package/src/components/MessageList/MessageSystem.tsx +2 -2
  261. package/src/components/MessageList/hooks/useMessageList.ts +48 -59
  262. package/src/components/MessageList/utils/getGroupStyles.ts +7 -5
  263. package/src/components/MessageList/utils/getLastReceivedMessage.ts +3 -3
  264. package/src/components/MessageList/utils/getReadState.ts +27 -0
  265. package/src/components/MessageMenu/__tests__/MessageUserReactions.test.tsx +2 -3
  266. package/src/components/MessageMenu/hooks/useFetchReactions.ts +2 -3
  267. package/src/components/Poll/components/Button.tsx +2 -4
  268. package/src/components/Poll/components/PollResults/PollResultItem.tsx +2 -3
  269. package/src/components/Reply/Reply.tsx +1 -2
  270. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +0 -15
  271. package/src/components/Thread/components/ThreadFooterComponent.tsx +1 -0
  272. package/src/components/ThreadList/ThreadListItem.tsx +6 -4
  273. package/src/components/index.ts +2 -1
  274. package/src/contexts/channelsStateContext/useChannelState.ts +5 -1
  275. package/src/contexts/debugContext/DebugContext.tsx +2 -4
  276. package/src/contexts/imageGalleryContext/ImageGalleryContext.tsx +5 -4
  277. package/src/contexts/messageContext/MessageContext.tsx +6 -4
  278. package/src/contexts/messageInputContext/MessageInputContext.tsx +5 -5
  279. package/src/contexts/messageInputContext/__tests__/sendMessage.test.tsx +6 -5
  280. package/src/contexts/messageInputContext/__tests__/updateMessage.test.tsx +3 -5
  281. package/src/contexts/messageInputContext/__tests__/useMessageDetailsForState.test.tsx +14 -9
  282. package/src/contexts/messagesContext/MessagesContext.tsx +25 -20
  283. package/src/contexts/pollContext/pollContext.tsx +2 -4
  284. package/src/contexts/threadContext/ThreadContext.tsx +4 -6
  285. package/src/contexts/threadsContext/ThreadListItemContext.tsx +3 -5
  286. package/src/hooks/index.ts +1 -0
  287. package/src/i18n/en.json +3 -0
  288. package/src/i18n/es.json +3 -0
  289. package/src/i18n/fr.json +3 -0
  290. package/src/i18n/he.json +3 -0
  291. package/src/i18n/hi.json +2 -0
  292. package/src/i18n/it.json +3 -0
  293. package/src/i18n/ja.json +1 -0
  294. package/src/i18n/ko.json +1 -0
  295. package/src/i18n/nl.json +2 -0
  296. package/src/i18n/pt-br.json +3 -0
  297. package/src/i18n/ru.json +4 -0
  298. package/src/i18n/tr.json +2 -0
  299. package/src/utils/removeReservedFields.ts +3 -5
  300. package/src/utils/utils.ts +5 -10
  301. package/src/version.json +1 -1
  302. package/lib/commonjs/components/MessageList/hooks/useLastReadData.js +0 -20
  303. package/lib/commonjs/components/MessageList/hooks/useLastReadData.js.map +0 -1
  304. package/lib/commonjs/components/MessageList/utils/getReadStates.js +0 -34
  305. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +0 -1
  306. package/lib/module/components/MessageList/hooks/useLastReadData.js +0 -20
  307. package/lib/module/components/MessageList/hooks/useLastReadData.js.map +0 -1
  308. package/lib/module/components/MessageList/utils/getReadStates.js +0 -34
  309. package/lib/module/components/MessageList/utils/getReadStates.js.map +0 -1
  310. package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts +0 -12
  311. package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts.map +0 -1
  312. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +0 -5
  313. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts.map +0 -1
  314. package/src/components/MessageList/hooks/useLastReadData.ts +0 -29
  315. package/src/components/MessageList/utils/getReadStates.ts +0 -55
@@ -1,8 +1,6 @@
1
1
  import React, { PropsWithChildren, useContext, useRef } from 'react';
2
2
 
3
- import type { Channel, ChannelState, StreamChat } from 'stream-chat';
4
-
5
- import type { MessageType } from '../../components/MessageList/hooks/useMessageList';
3
+ import type { Channel, ChannelState, LocalMessage, StreamChat } from 'stream-chat';
6
4
 
7
5
  import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
8
6
 
@@ -12,7 +10,7 @@ export type DebugDataType =
12
10
  data: Channel['data'];
13
11
  members: ChannelState['members'];
14
12
  }[]
15
- | MessageType[];
13
+ | LocalMessage[];
16
14
 
17
15
  export type DebugContextValue = {
18
16
  eventType?: string;
@@ -1,6 +1,7 @@
1
1
  import React, { PropsWithChildren, useContext, useState } from 'react';
2
2
 
3
- import type { MessageType } from '../../components/MessageList/hooks/useMessageList';
3
+ import { LocalMessage } from 'stream-chat';
4
+
4
5
  import type { UnknownType } from '../../types/types';
5
6
  import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
6
7
 
@@ -12,8 +13,8 @@ type SelectedMessage = {
12
13
  };
13
14
 
14
15
  export type ImageGalleryContextValue = {
15
- messages: MessageType[];
16
- setMessages: React.Dispatch<React.SetStateAction<MessageType[]>>;
16
+ messages: LocalMessage[];
17
+ setMessages: React.Dispatch<React.SetStateAction<LocalMessage[]>>;
17
18
  setSelectedMessage: React.Dispatch<React.SetStateAction<SelectedMessage | undefined>>;
18
19
  selectedMessage?: SelectedMessage;
19
20
  };
@@ -23,7 +24,7 @@ export const ImageGalleryContext = React.createContext(
23
24
  );
24
25
 
25
26
  export const ImageGalleryProvider = ({ children }: PropsWithChildren<UnknownType>) => {
26
- const [messages, setMessages] = useState<MessageType[]>([]);
27
+ const [messages, setMessages] = useState<LocalMessage[]>([]);
27
28
  const [selectedMessage, setSelectedMessage] = useState<SelectedMessage>();
28
29
 
29
30
  return (
@@ -1,6 +1,6 @@
1
1
  import React, { PropsWithChildren, useContext } from 'react';
2
2
 
3
- import type { Attachment } from 'stream-chat';
3
+ import type { Attachment, LocalMessage } from 'stream-chat';
4
4
 
5
5
  import type { ActionHandler } from '../../components/Attachment/Attachment';
6
6
  import { ReactionSummary } from '../../components/Message/hooks/useProcessReactions';
@@ -8,7 +8,7 @@ import type {
8
8
  MessagePressableHandlerPayload,
9
9
  PressableHandlerPayload,
10
10
  } from '../../components/Message/Message';
11
- import type { GroupType, MessageType } from '../../components/MessageList/hooks/useMessageList';
11
+ import type { GroupType } from '../../components/MessageList/hooks/useMessageList';
12
12
  import type { ChannelContextValue } from '../../contexts/channelContext/ChannelContext';
13
13
  import type { MessageContentType } from '../../contexts/messagesContext/MessagesContext';
14
14
  import type { DeepPartial } from '../../contexts/themeContext/ThemeContext';
@@ -48,13 +48,13 @@ export type MessageContextValue = {
48
48
  /**
49
49
  * A factory function that determines whether a message is AI generated or not.
50
50
  */
51
- isMessageAIGenerated: (message: MessageType) => boolean;
51
+ isMessageAIGenerated: (message: LocalMessage) => boolean;
52
52
  /** Whether or not this is the active user's message */
53
53
  isMyMessage: boolean;
54
54
  /** Whether or not this is the last message in a group of messages */
55
55
  lastGroupMessage: boolean;
56
56
  /** Current [message object](https://getstream.io/chat/docs/#message_format) */
57
- message: MessageType;
57
+ message: LocalMessage;
58
58
  /** Order to render the message content */
59
59
  messageContentOrder: MessageContentType[];
60
60
  /**
@@ -87,6 +87,8 @@ export type MessageContextValue = {
87
87
  /** The images attached to a message */
88
88
  otherAttachments: Attachment[];
89
89
  reactions: ReactionSummary[];
90
+ /** Whether or not the message has been read by the current user */
91
+ readBy: number | boolean;
90
92
  /** React set state function to set the state of `isEditedMessageOpen` */
91
93
  setIsEditedMessageOpen: React.Dispatch<React.SetStateAction<boolean>>;
92
94
  /**
@@ -13,6 +13,7 @@ import { Alert, Keyboard, Linking, TextInput, TextInputProps } from 'react-nativ
13
13
  import uniq from 'lodash/uniq';
14
14
  import {
15
15
  Attachment,
16
+ LocalMessage,
16
17
  logChatPromiseExecution,
17
18
  Message,
18
19
  SendFileAPIResponse,
@@ -52,7 +53,6 @@ import type { MessageInputProps } from '../../components/MessageInput/MessageInp
52
53
  import type { MoreOptionsButtonProps } from '../../components/MessageInput/MoreOptionsButton';
53
54
  import type { SendButtonProps } from '../../components/MessageInput/SendButton';
54
55
  import type { UploadProgressIndicatorProps } from '../../components/MessageInput/UploadProgressIndicator';
55
- import type { MessageType } from '../../components/MessageList/hooks/useMessageList';
56
56
  import type { Emoji } from '../../emoji-data';
57
57
  import {
58
58
  isDocumentPickerAvailable,
@@ -360,7 +360,7 @@ export type InputMessageInputContextValue = {
360
360
  SendButton: React.ComponentType<SendButtonProps>;
361
361
  sendImageAsync: boolean;
362
362
  sendMessage: (message: Partial<StreamMessage>) => Promise<void>;
363
- setQuotedMessageState: (message: MessageType) => void;
363
+ setQuotedMessageState: (message: LocalMessage) => void;
364
364
  /**
365
365
  * Custom UI component to render checkbox with text ("Also send to channel") in Thread's input box.
366
366
  * When ticked, message will also be sent in parent channel.
@@ -439,7 +439,7 @@ export type InputMessageInputContextValue = {
439
439
  * Variable that tracks the editing state.
440
440
  * It is defined with message type if the editing state is true, else its undefined.
441
441
  */
442
- editing?: MessageType;
442
+ editing?: LocalMessage;
443
443
  /**
444
444
  * Prop to override the default emoji search index in auto complete suggestion list.
445
445
  */
@@ -485,7 +485,7 @@ export type InputMessageInputContextValue = {
485
485
  */
486
486
  onChangeText?: (newText: string) => void;
487
487
  openPollCreationDialog?: ({ sendMessage }: Pick<LocalMessageInputContext, 'sendMessage'>) => void;
488
- quotedMessage?: MessageType;
488
+ quotedMessage?: LocalMessage;
489
489
  SendMessageDisallowedIndicator?: React.ComponentType;
490
490
  /**
491
491
  * ref for input setter function
@@ -1036,7 +1036,7 @@ export const MessageInputProvider = ({
1036
1036
  /**
1037
1037
  * If the message is bounced by moderation, we firstly remove the message from message list and then send a new message.
1038
1038
  */
1039
- if (message && isBouncedMessage(message as MessageType)) {
1039
+ if (message && isBouncedMessage(message)) {
1040
1040
  await removeMessage(message);
1041
1041
  }
1042
1042
  value.sendMessage({
@@ -3,7 +3,8 @@ import { act } from 'react-test-renderer';
3
3
 
4
4
  import { renderHook, waitFor } from '@testing-library/react-native';
5
5
 
6
- import type { MessageType } from '../../../components/MessageList/hooks/useMessageList';
6
+ import { LocalMessage } from 'stream-chat';
7
+
7
8
  import {
8
9
  generateFileUploadPreview,
9
10
  generateImageUploadPreview,
@@ -40,7 +41,7 @@ describe("MessageInputContext's sendMessage", () => {
40
41
  setSelectedFiles: jest.fn(),
41
42
  setSelectedImages: jest.fn(),
42
43
  }));
43
- const message: boolean | MessageType = generateMessage({
44
+ const message: LocalMessage | undefined = generateMessage({
44
45
  created_at: 'Sat Jul 02 2022 23:55:13 GMT+0530 (India Standard Time)',
45
46
  id: '7a85f744-cc89-4f82-a1d4-5456432cc8bf',
46
47
  updated_at: 'Sat Jul 02 2022 23:55:13 GMT+0530 (India Standard Time)',
@@ -49,7 +50,7 @@ describe("MessageInputContext's sendMessage", () => {
49
50
  image: 'fc86ddcb-bac4-400c-9afd-b0c0a1c0cd33',
50
51
  name: '50cbdd0e-ca7e-4478-9e2c-be0f1ac6a995',
51
52
  }),
52
- }) as unknown as MessageType;
53
+ }) as unknown as LocalMessage;
53
54
 
54
55
  it('exit sendMessage when file upload status failed', async () => {
55
56
  const initialProps = {
@@ -223,7 +224,7 @@ describe("MessageInputContext's sendMessage", () => {
223
224
  it('exit sendMessage when image upload has an error and catch block is executed', () => {
224
225
  const setQuotedMessageStateMock = jest.fn();
225
226
  const clearQuotedMessageStateMock = jest.fn();
226
- const generatedQuotedMessage: boolean | MessageType = message;
227
+ const generatedQuotedMessage: boolean | LocalMessage = message;
227
228
  const images = [
228
229
  generateImageUploadPreview({ state: FileState.UPLOADED }),
229
230
  generateImageUploadPreview({ state: FileState.FINISHED }),
@@ -268,7 +269,7 @@ describe("MessageInputContext's sendMessage", () => {
268
269
  const clearEditingStateMock = jest.fn();
269
270
  const editMessageMock = jest.fn().mockResolvedValue({ data: {} });
270
271
  const images = generateImageUploadPreview({ state: FileState.UPLOADED });
271
- const generatedMessage: boolean | MessageType = message;
272
+ const generatedMessage: boolean | LocalMessage = message;
272
273
  const initialProps = {
273
274
  clearEditingState: clearEditingStateMock,
274
275
  clearQuotedMessageState: clearQuotedMessageStateMock,
@@ -3,9 +3,7 @@ import { act } from 'react-test-renderer';
3
3
 
4
4
  import { renderHook } from '@testing-library/react-native';
5
5
 
6
- import type { StreamChat } from 'stream-chat';
7
-
8
- import type { MessageType } from '../../../components/MessageList/hooks/useMessageList';
6
+ import type { LocalMessage, StreamChat } from 'stream-chat';
9
7
 
10
8
  import { ChatContextValue, ChatProvider } from '../../../contexts/chatContext/ChatContext';
11
9
  import { generateMessage } from '../../../mock-builders/generator/message';
@@ -51,7 +49,7 @@ describe("MessageInputContext's updateMessage", () => {
51
49
  setSelectedImages: jest.fn(),
52
50
  }));
53
51
  const clearEditingStateMock = jest.fn();
54
- const generatedMessage: boolean | MessageType = generateMessage({
52
+ const generatedMessage: boolean | LocalMessage = generateMessage({
55
53
  created_at: 'Sat Jul 02 2022 23:55:13 GMT+0530 (India Standard Time)',
56
54
  id: '7a85f744-cc89-4f82-a1d4-5456432cc8bf',
57
55
  text: 'hey',
@@ -61,7 +59,7 @@ describe("MessageInputContext's updateMessage", () => {
61
59
  image: 'fc86ddcb-bac4-400c-9afd-b0c0a1c0cd33',
62
60
  name: '50cbdd0e-ca7e-4478-9e2c-be0f1ac6a995',
63
61
  }),
64
- }) as unknown as MessageType;
62
+ }) as unknown as LocalMessage;
65
63
 
66
64
  it('updateMessage throws error as clearEditingState is not available', async () => {
67
65
  const initialProps = {
@@ -1,6 +1,6 @@
1
1
  import { renderHook } from '@testing-library/react-native';
2
2
 
3
- import type { MessageType } from '../../../components';
3
+ import { LocalMessage } from 'stream-chat';
4
4
 
5
5
  import {
6
6
  generateFileAttachment,
@@ -13,24 +13,29 @@ import { generateUser } from '../../../mock-builders/generator/user';
13
13
  import { useMessageDetailsForState } from '../hooks/useMessageDetailsForState';
14
14
 
15
15
  describe('useMessageDetailsForState', () => {
16
- it.each([[{ message: true }], [{ initialValue: '', message: true }]])(
16
+ const message = generateMessage({ text: 'Dummy text' });
17
+ it.each([[{ message }, { initialValue: '', message }]])(
17
18
  'test state of useMessageDetailsForState when initialProps differ',
18
19
  () => {
19
- const { result } = renderHook(({ message }) => useMessageDetailsForState(message), {
20
- initialProps: { message: true },
21
- });
20
+ const { result } = renderHook(
21
+ ({ message }) => useMessageDetailsForState(message as unknown as LocalMessage),
22
+ {
23
+ initialProps: { message },
24
+ },
25
+ );
22
26
 
23
- expect(result.current.text).toBe('');
27
+ expect(result.current.text).toBe(message.text);
24
28
  },
25
29
  );
26
30
 
27
31
  it('showMoreOptions is true when initialValue and text is same', () => {
28
32
  const { result } = renderHook(
29
- ({ initialValue, message }) => useMessageDetailsForState(message, initialValue),
33
+ ({ initialValue, message }) =>
34
+ useMessageDetailsForState(message as unknown as LocalMessage, initialValue),
30
35
  {
31
36
  initialProps: {
32
37
  initialValue: 'Dummy text',
33
- message: generateMessage({ text: 'Dummy text' }) as MessageType,
38
+ message: generateMessage({ text: 'Dummy text' }),
34
39
  },
35
40
  },
36
41
  );
@@ -41,7 +46,7 @@ describe('useMessageDetailsForState', () => {
41
46
  it('fileUploads, imageUploads and mentionedUsers are not empty when attachments are present in message', () => {
42
47
  const { result } = renderHook(
43
48
  ({ initialValue, message }) =>
44
- useMessageDetailsForState(message as unknown as MessageType | boolean, initialValue),
49
+ useMessageDetailsForState(message as unknown as LocalMessage, initialValue),
45
50
  {
46
51
  initialProps: {
47
52
  initialValue: '',
@@ -2,7 +2,7 @@ import React, { PropsWithChildren, useContext } from 'react';
2
2
 
3
3
  import { PressableProps, ViewProps } from 'react-native';
4
4
 
5
- import type { Attachment, ChannelState, MessageResponse } from 'stream-chat';
5
+ import type { Attachment, ChannelState, LocalMessage, MessageResponse } from 'stream-chat';
6
6
 
7
7
  import type { PollContentProps, StreamingMessageViewProps } from '../../components';
8
8
  import type { AttachmentProps } from '../../components/Attachment/Attachment';
@@ -16,6 +16,7 @@ import type { GalleryProps } from '../../components/Attachment/Gallery';
16
16
  import type { GiphyProps } from '../../components/Attachment/Giphy';
17
17
  import type { ImageLoadingFailedIndicatorProps } from '../../components/Attachment/ImageLoadingFailedIndicator';
18
18
  import type { ImageLoadingIndicatorProps } from '../../components/Attachment/ImageLoadingIndicator';
19
+ import { ImageReloadIndicatorProps } from '../../components/Attachment/ImageReloadIndicator';
19
20
  import type { VideoThumbnailProps } from '../../components/Attachment/VideoThumbnail';
20
21
  import type {
21
22
  MessagePressableHandlerPayload,
@@ -40,7 +41,6 @@ import type { ReactionListTopProps } from '../../components/Message/MessageSimpl
40
41
  import type { MarkdownRules } from '../../components/Message/MessageSimple/utils/renderText';
41
42
  import type { MessageActionsParams } from '../../components/Message/utils/messageActions';
42
43
  import type { DateHeaderProps } from '../../components/MessageList/DateHeader';
43
- import type { MessageType } from '../../components/MessageList/hooks/useMessageList';
44
44
  import type { InlineDateSeparatorProps } from '../../components/MessageList/InlineDateSeparator';
45
45
  import type { MessageListProps } from '../../components/MessageList/MessageList';
46
46
  import type { MessageSystemProps } from '../../components/MessageList/MessageSystem';
@@ -107,7 +107,7 @@ export type MessagesContextValue = Pick<MessageContextValue, 'isMessageAIGenerat
107
107
  * Defaults to: [DateHeader](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/MessageList/DateHeader.tsx)
108
108
  **/
109
109
  DateHeader: React.ComponentType<DateHeaderProps>;
110
- deleteMessage: (message: MessageResponse) => Promise<void>;
110
+ deleteMessage: (message: LocalMessage) => Promise<void>;
111
111
  deleteReaction: (type: string, messageId: string) => Promise<void>;
112
112
 
113
113
  /** Should keyboard be dismissed when messaged is touched */
@@ -151,6 +151,11 @@ export type MessagesContextValue = Pick<MessageContextValue, 'isMessageAIGenerat
151
151
  */
152
152
  ImageLoadingFailedIndicator: React.ComponentType<ImageLoadingFailedIndicatorProps>;
153
153
 
154
+ /**
155
+ * The indicator rendered at the center of an image whenever its loading fails, used to trigger retries.
156
+ */
157
+ ImageReloadIndicator: React.ComponentType<ImageReloadIndicatorProps>;
158
+
154
159
  /**
155
160
  * The indicator rendered when image is loading. By default renders <ActivityIndicator/>
156
161
  */
@@ -289,15 +294,15 @@ export type MessagesContextValue = Pick<MessageContextValue, 'isMessageAIGenerat
289
294
  /**
290
295
  * Override the api request for retry message functionality.
291
296
  */
292
- retrySendMessage: (message: MessageType) => Promise<void>;
297
+ retrySendMessage: (message: LocalMessage) => Promise<void>;
293
298
  /**
294
299
  * UI component for ScrollToBottomButton
295
300
  * Defaults to: [ScrollToBottomButton](https://getstream.io/chat/docs/sdk/reactnative/ui-components/scroll-to-bottom-button/)
296
301
  */
297
302
  ScrollToBottomButton: React.ComponentType<ScrollToBottomButtonProps>;
298
303
  sendReaction: (type: string, messageId: string) => Promise<void>;
299
- setEditingState: (message?: MessageType) => void;
300
- setQuotedMessageState: (message?: MessageType) => void;
304
+ setEditingState: (message?: LocalMessage) => void;
305
+ setQuotedMessageState: (message?: LocalMessage) => void;
301
306
  /**
302
307
  * UI component for StreamingMessageView. Displays the text of a message with a typewriter animation.
303
308
  */
@@ -314,7 +319,7 @@ export type MessagesContextValue = Pick<MessageContextValue, 'isMessageAIGenerat
314
319
  TypingIndicatorContainer: React.ComponentType<TypingIndicatorContainerProps>;
315
320
  UnreadMessagesNotification: React.ComponentType<UnreadMessagesNotificationProps>;
316
321
  updateMessage: (
317
- updatedMessage: MessageResponse,
322
+ updatedMessage: MessageResponse | LocalMessage,
318
323
  extraState?: {
319
324
  commands?: SuggestionCommand[];
320
325
  messageInput?: string;
@@ -377,29 +382,29 @@ export type MessagesContextValue = Pick<MessageContextValue, 'isMessageAIGenerat
377
382
  * Handler to access when a ban user action is invoked.
378
383
  * @param message
379
384
  */
380
- handleBan?: (message: MessageType) => Promise<void>;
385
+ handleBan?: (message: LocalMessage) => Promise<void>;
381
386
  /** Handler to access when a copy message action is invoked */
382
- handleCopy?: (message: MessageType) => Promise<void>;
387
+ handleCopy?: (message: LocalMessage) => Promise<void>;
383
388
  /** Handler to access when a delete message action is invoked */
384
- handleDelete?: (message: MessageType) => Promise<void>;
389
+ handleDelete?: (message: LocalMessage) => Promise<void>;
385
390
  /** Handler to access when an edit message action is invoked */
386
- handleEdit?: (message: MessageType) => void;
391
+ handleEdit?: (message: LocalMessage) => void;
387
392
  /** Handler to access when a flag message action is invoked */
388
- handleFlag?: (message: MessageType) => Promise<void>;
393
+ handleFlag?: (message: LocalMessage) => Promise<void>;
389
394
  /** Handler to access when a mark unread action is invoked */
390
- handleMarkUnread?: (message: MessageType) => Promise<void>;
395
+ handleMarkUnread?: (message: LocalMessage) => Promise<void>;
391
396
  /** Handler to access when a mute user action is invoked */
392
- handleMute?: (message: MessageType) => Promise<void>;
397
+ handleMute?: (message: LocalMessage) => Promise<void>;
393
398
  /** Handler to access when a pin/unpin user action is invoked*/
394
- handlePinMessage?: ((message: MessageType) => MessageActionType) | null;
399
+ handlePinMessage?: ((message: LocalMessage) => MessageActionType) | null;
395
400
  /** Handler to access when a quoted reply action is invoked */
396
- handleQuotedReply?: (message: MessageType) => Promise<void>;
401
+ handleQuotedReply?: (message: LocalMessage) => Promise<void>;
397
402
  /** Handler to process a reaction */
398
- handleReaction?: (message: MessageType, reactionType: string) => Promise<void>;
403
+ handleReaction?: (message: LocalMessage, reactionType: string) => Promise<void>;
399
404
  /** Handler to access when a retry action is invoked */
400
- handleRetry?: (message: MessageType) => Promise<void>;
405
+ handleRetry?: (message: LocalMessage) => Promise<void>;
401
406
  /** Handler to access when a thread reply action is invoked */
402
- handleThreadReply?: (message: MessageType) => Promise<void>;
407
+ handleThreadReply?: (message: LocalMessage) => Promise<void>;
403
408
  /** A flag specifying whether the poll creation button is available or not. */
404
409
  hasCreatePoll?: boolean;
405
410
  /** Handler to deal with custom memoization logic of Attachment */
@@ -587,7 +592,7 @@ export type MessagesContextValue = Pick<MessageContextValue, 'isMessageAIGenerat
587
592
  *
588
593
  * Please check [cookbook](https://github.com/GetStream/stream-chat-react-native/wiki/Cookbook-v3.0#override-or-intercept-message-actions-edit-delete-reaction-reply-etc) for details.
589
594
  * */
590
- selectReaction?: (message: MessageType) => (reactionType: string) => Promise<void>;
595
+ selectReaction?: (message: LocalMessage) => (reactionType: string) => Promise<void>;
591
596
 
592
597
  /**
593
598
  * Boolean to enable/disable the message underlay background when there are unread messages in the Message List.
@@ -1,15 +1,13 @@
1
1
  import React, { PropsWithChildren, useContext } from 'react';
2
2
 
3
- import { Poll } from 'stream-chat';
4
-
5
- import { MessageType } from '../../components';
3
+ import { LocalMessage, Poll } from 'stream-chat';
6
4
 
7
5
  import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
8
6
 
9
7
  import { isTestEnvironment } from '../utils/isTestEnvironment';
10
8
 
11
9
  export type PollContextValue = {
12
- message: MessageType;
10
+ message: LocalMessage;
13
11
  poll: Poll;
14
12
  };
15
13
 
@@ -1,23 +1,21 @@
1
1
  import React, { PropsWithChildren, useContext } from 'react';
2
2
 
3
- import { ChannelState, Thread } from 'stream-chat';
4
-
5
- import type { MessageType } from '../../components/MessageList/hooks/useMessageList';
3
+ import { ChannelState, LocalMessage, Thread } from 'stream-chat';
6
4
 
7
5
  import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
8
6
 
9
7
  import { isTestEnvironment } from '../utils/isTestEnvironment';
10
8
 
11
- export type ThreadType = { thread: MessageType; threadInstance: Thread };
9
+ export type ThreadType = { thread: LocalMessage; threadInstance: Thread };
12
10
 
13
11
  export type ThreadContextValue = {
14
12
  allowThreadMessagesInChannel: boolean;
15
13
  closeThread: () => void;
16
14
  loadMoreThread: () => Promise<void>;
17
- openThread: (message: MessageType) => void;
15
+ openThread: (message: LocalMessage) => void;
18
16
  reloadThread: () => void;
19
17
  setThreadLoadingMore: React.Dispatch<React.SetStateAction<boolean>>;
20
- thread: MessageType | null;
18
+ thread: LocalMessage | null;
21
19
  threadHasMore: boolean;
22
20
  threadMessages: ChannelState['threads'][string];
23
21
  loadMoreRecentThread?: (opts: { limit?: number }) => Promise<void>;
@@ -1,8 +1,6 @@
1
1
  import React, { PropsWithChildren, useContext } from 'react';
2
2
 
3
- import { Channel, Thread } from 'stream-chat';
4
-
5
- import { MessageType } from '../../components';
3
+ import { Channel, LocalMessage, Thread } from 'stream-chat';
6
4
 
7
5
  import { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';
8
6
 
@@ -10,9 +8,9 @@ export type ThreadListItemContextValue = {
10
8
  channel: Channel;
11
9
  dateString: string | number | undefined;
12
10
  deletedAtDateString: string | number | undefined;
13
- lastReply: MessageType | undefined;
11
+ lastReply: LocalMessage | undefined;
14
12
  ownUnreadMessageCount: number;
15
- parentMessage: MessageType | undefined;
13
+ parentMessage: LocalMessage | undefined;
16
14
  thread: Thread;
17
15
  };
18
16
 
@@ -4,3 +4,4 @@ export * from './useViewport';
4
4
  export * from './useScreenDimensions';
5
5
  export * from './useStateStore';
6
6
  export * from './useStableCallback';
7
+ export * from './useLoadingImage';
package/src/i18n/en.json CHANGED
@@ -1,4 +1,7 @@
1
1
  {
2
+ "+{{count}}_many": "+{{count}}",
3
+ "+{{count}}_one": "+{{count}}",
4
+ "+{{count}}_other": "+{{count}}",
2
5
  "1 Reply": "1 Reply",
3
6
  "1 Thread Reply": "1 Thread Reply",
4
7
  "Add a comment": "Add a comment",
package/src/i18n/es.json CHANGED
@@ -1,4 +1,7 @@
1
1
  {
2
+ "+{{count}}_many": "+{{count}}",
3
+ "+{{count}}_one": "+{{count}}",
4
+ "+{{count}}_other": "+{{count}}",
2
5
  "1 Reply": "1 respuesta",
3
6
  "1 Thread Reply": "1 respuesta de hilo",
4
7
  "Add a comment": "Agregar un comentario",
package/src/i18n/fr.json CHANGED
@@ -1,4 +1,7 @@
1
1
  {
2
+ "+{{count}}_many": "+{{count}}",
3
+ "+{{count}}_one": "+{{count}}",
4
+ "+{{count}}_other": "+{{count}}",
2
5
  "1 Reply": "1 Réponse",
3
6
  "1 Thread Reply": "Réponse à 1 fil",
4
7
  "Add a comment": "Ajouter un commentaire",
package/src/i18n/he.json CHANGED
@@ -1,4 +1,7 @@
1
1
  {
2
+ "+{{count}}_one": "+{{count}}",
3
+ "+{{count}}_other": "+{{count}}",
4
+ "+{{count}}_two": "+{{count}}",
2
5
  "1 Reply": "תגובה אחת",
3
6
  "1 Thread Reply": "תגובה אחת לשרשור",
4
7
  "Add a comment": "הוסף תגובה",
package/src/i18n/hi.json CHANGED
@@ -1,4 +1,6 @@
1
1
  {
2
+ "+{{count}}_one": "+{{count}}",
3
+ "+{{count}}_other": "+{{count}}",
2
4
  "1 Reply": "1 रिप्लाई",
3
5
  "1 Thread Reply": "1 धागा उत्तर",
4
6
  "Add a comment": "एक टिप्पणी जोड़ें",
package/src/i18n/it.json CHANGED
@@ -1,4 +1,7 @@
1
1
  {
2
+ "+{{count}}_many": "+{{count}}",
3
+ "+{{count}}_one": "+{{count}}",
4
+ "+{{count}}_other": "+{{count}}",
2
5
  "1 Reply": "1 Risposta",
3
6
  "1 Thread Reply": "1 Risposta alla Discussione",
4
7
  "Add a comment": "Aggiungi un commento",
package/src/i18n/ja.json CHANGED
@@ -1,4 +1,5 @@
1
1
  {
2
+ "+{{count}}_other": "+{{count}}",
2
3
  "1 Reply": "1件の返信",
3
4
  "1 Thread Reply": "1件のスレッド返信",
4
5
  "Add a comment": "コメントを追加",
package/src/i18n/ko.json CHANGED
@@ -1,4 +1,5 @@
1
1
  {
2
+ "+{{count}}_other": "+{{count}}",
2
3
  "1 Reply": "답장 1개",
3
4
  "1 Thread Reply": "1개의 스레드\u3000답글",
4
5
  "Add a comment": "댓글 추가",
package/src/i18n/nl.json CHANGED
@@ -1,4 +1,6 @@
1
1
  {
2
+ "+{{count}}_one": "+{{count}}",
3
+ "+{{count}}_other": "+{{count}}",
2
4
  "1 Reply": "1 Antwoord",
3
5
  "1 Thread Reply": "1 thread antwoord",
4
6
  "Add a comment": "Voeg een reactie toe",
@@ -1,4 +1,7 @@
1
1
  {
2
+ "+{{count}}_many": "+{{count}}",
3
+ "+{{count}}_one": "+{{count}}",
4
+ "+{{count}}_other": "+{{count}}",
2
5
  "1 Reply": "1 Resposta",
3
6
  "1 Thread Reply": "1 Resposta de Thread",
4
7
  "Add a comment": "Adicionar um comentário",
package/src/i18n/ru.json CHANGED
@@ -1,4 +1,8 @@
1
1
  {
2
+ "+{{count}}_few": "+{{count}}",
3
+ "+{{count}}_many": "+{{count}}",
4
+ "+{{count}}_one": "+{{count}}",
5
+ "+{{count}}_other": "+{{count}}",
2
6
  "1 Reply": "1 Ответ",
3
7
  "1 Thread Reply": "1 тема Ответить",
4
8
  "Add a comment": "Добавить комментарий",
package/src/i18n/tr.json CHANGED
@@ -1,4 +1,6 @@
1
1
  {
2
+ "+{{count}}_one": "+{{count}}",
3
+ "+{{count}}_other": "+{{count}}",
2
4
  "1 Reply": "1 Cevap",
3
5
  "1 Thread Reply": "1 Konu Yanıtı",
4
6
  "Add a comment": "Yorum ekle",
@@ -1,10 +1,8 @@
1
- import type { MessageResponse } from 'stream-chat';
2
-
3
- import type { MessageType } from '../components/MessageList/hooks/useMessageList';
1
+ import type { LocalMessage, MessageResponse } from 'stream-chat';
4
2
 
5
3
  export const removeReservedFields = (
6
- message: MessageType | MessageResponse,
7
- ): MessageType | MessageResponse => {
4
+ message: LocalMessage | MessageResponse,
5
+ ): LocalMessage | MessageResponse => {
8
6
  const retryMessage = { ...message };
9
7
  const reserved = [
10
8
  'cid',