stream-chat-react-native-core 5.5.1 → 5.6.0-beta.1

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 (321) hide show
  1. package/lib/commonjs/components/Attachment/Gallery.js +21 -16
  2. package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
  3. package/lib/commonjs/components/Attachment/GalleryImage.js +19 -3
  4. package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
  5. package/lib/commonjs/components/Channel/Channel.js +535 -149
  6. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  7. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +6 -0
  8. package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  9. package/lib/commonjs/components/ChannelList/ChannelList.js +4 -15
  10. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  11. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +112 -38
  12. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  13. package/lib/commonjs/components/Chat/Chat.js +16 -20
  14. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  15. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +2 -4
  16. package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  17. package/lib/commonjs/components/Message/Message.js +21 -10
  18. package/lib/commonjs/components/Message/Message.js.map +1 -1
  19. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +14 -12
  20. package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  21. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +9 -30
  22. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  23. package/lib/commonjs/components/Message/hooks/useMessageActions.js +21 -19
  24. package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
  25. package/lib/commonjs/components/MessageInput/FileUploadPreview.js +28 -21
  26. package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
  27. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +23 -16
  28. package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
  29. package/lib/commonjs/components/MessageInput/MessageInput.js +39 -27
  30. package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
  31. package/lib/commonjs/components/MessageInput/SendButton.js +1 -1
  32. package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
  33. package/lib/commonjs/components/index.js +1 -14
  34. package/lib/commonjs/components/index.js.map +1 -1
  35. package/lib/commonjs/contexts/chatContext/ChatContext.js +2 -2
  36. package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
  37. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +134 -86
  38. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  39. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js +1 -0
  40. package/lib/commonjs/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  41. package/lib/commonjs/contexts/messagesContext/MessagesContext.js +2 -2
  42. package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
  43. package/lib/commonjs/hooks/useTranslatedMessage.js +1 -1
  44. package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
  45. package/lib/commonjs/mock-builders/DB/mock.js +2 -2
  46. package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
  47. package/lib/commonjs/mock-builders/api/deleteMessage.js +20 -0
  48. package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -0
  49. package/lib/commonjs/mock-builders/api/deleteReaction.js +21 -0
  50. package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -0
  51. package/lib/commonjs/mock-builders/api/sendReaction.js +21 -0
  52. package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -0
  53. package/lib/commonjs/mock-builders/event/connectionChanged.js +2 -0
  54. package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
  55. package/lib/commonjs/store/QuickSqliteClient.js +40 -51
  56. package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
  57. package/lib/commonjs/store/apis/addPendingTask.js +37 -0
  58. package/lib/commonjs/store/apis/addPendingTask.js.map +1 -0
  59. package/lib/commonjs/store/apis/deleteMessage.js +26 -0
  60. package/lib/commonjs/store/apis/deleteMessage.js.map +1 -0
  61. package/lib/commonjs/store/apis/deletePendingTask.js +22 -0
  62. package/lib/commonjs/store/apis/deletePendingTask.js.map +1 -0
  63. package/lib/commonjs/store/apis/deleteReaction.js +30 -0
  64. package/lib/commonjs/store/apis/deleteReaction.js.map +1 -0
  65. package/lib/commonjs/store/apis/getChannelMessages.js +3 -3
  66. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  67. package/lib/commonjs/store/apis/getChannels.js +1 -1
  68. package/lib/commonjs/store/apis/getChannels.js.map +1 -1
  69. package/lib/commonjs/store/apis/getPendingTasks.js +26 -0
  70. package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -0
  71. package/lib/commonjs/store/apis/index.js +13 -0
  72. package/lib/commonjs/store/apis/index.js.map +1 -1
  73. package/lib/commonjs/store/apis/insertReaction.js +28 -0
  74. package/lib/commonjs/store/apis/insertReaction.js.map +1 -0
  75. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  76. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  77. package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
  78. package/lib/commonjs/store/mappers/mapMessageToStorable.js +3 -1
  79. package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
  80. package/lib/commonjs/store/mappers/mapStorableToTask.js +23 -0
  81. package/lib/commonjs/store/mappers/mapStorableToTask.js.map +1 -0
  82. package/lib/commonjs/store/mappers/mapTaskToStorable.js +18 -0
  83. package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -0
  84. package/lib/commonjs/store/schema.js +11 -0
  85. package/lib/commonjs/store/schema.js.map +1 -1
  86. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js +24 -0
  87. package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -0
  88. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +1 -1
  89. package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  90. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +8 -1
  91. package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -1
  92. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +2 -2
  93. package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -1
  94. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +1 -1
  95. package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  96. package/lib/commonjs/utils/DBSyncManager.js +436 -0
  97. package/lib/commonjs/utils/DBSyncManager.js.map +1 -0
  98. package/lib/commonjs/utils/addReactionToLocalState.js +92 -0
  99. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -0
  100. package/lib/commonjs/utils/removeReactionFromLocalState.js +39 -0
  101. package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -0
  102. package/lib/{module/components/Message → commonjs}/utils/removeReservedFields.js +1 -1
  103. package/lib/commonjs/utils/removeReservedFields.js.map +1 -0
  104. package/lib/commonjs/utils/utils.js +9 -3
  105. package/lib/commonjs/utils/utils.js.map +1 -1
  106. package/lib/commonjs/version.json +1 -1
  107. package/lib/module/components/Attachment/Gallery.js +21 -16
  108. package/lib/module/components/Attachment/Gallery.js.map +1 -1
  109. package/lib/module/components/Attachment/GalleryImage.js +19 -3
  110. package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
  111. package/lib/module/components/Channel/Channel.js +535 -149
  112. package/lib/module/components/Channel/Channel.js.map +1 -1
  113. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +6 -0
  114. package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
  115. package/lib/module/components/ChannelList/ChannelList.js +4 -15
  116. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  117. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +112 -38
  118. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  119. package/lib/module/components/Chat/Chat.js +16 -20
  120. package/lib/module/components/Chat/Chat.js.map +1 -1
  121. package/lib/module/components/Chat/hooks/useCreateChatContext.js +2 -4
  122. package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
  123. package/lib/module/components/Message/Message.js +21 -10
  124. package/lib/module/components/Message/Message.js.map +1 -1
  125. package/lib/module/components/Message/MessageSimple/MessageFooter.js +14 -12
  126. package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
  127. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +9 -30
  128. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  129. package/lib/module/components/Message/hooks/useMessageActions.js +21 -19
  130. package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
  131. package/lib/module/components/MessageInput/FileUploadPreview.js +28 -21
  132. package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
  133. package/lib/module/components/MessageInput/ImageUploadPreview.js +23 -16
  134. package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
  135. package/lib/module/components/MessageInput/MessageInput.js +39 -27
  136. package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
  137. package/lib/module/components/MessageInput/SendButton.js +1 -1
  138. package/lib/module/components/MessageInput/SendButton.js.map +1 -1
  139. package/lib/module/components/index.js +1 -14
  140. package/lib/module/components/index.js.map +1 -1
  141. package/lib/module/contexts/chatContext/ChatContext.js +2 -2
  142. package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
  143. package/lib/module/contexts/messageInputContext/MessageInputContext.js +134 -86
  144. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  145. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js +1 -0
  146. package/lib/module/contexts/messageInputContext/hooks/useMessageDetailsForState.js.map +1 -1
  147. package/lib/module/contexts/messagesContext/MessagesContext.js +2 -2
  148. package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
  149. package/lib/module/hooks/useTranslatedMessage.js +1 -1
  150. package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
  151. package/lib/module/mock-builders/DB/mock.js +2 -2
  152. package/lib/module/mock-builders/DB/mock.js.map +1 -1
  153. package/lib/module/mock-builders/api/deleteMessage.js +20 -0
  154. package/lib/module/mock-builders/api/deleteMessage.js.map +1 -0
  155. package/lib/module/mock-builders/api/deleteReaction.js +21 -0
  156. package/lib/module/mock-builders/api/deleteReaction.js.map +1 -0
  157. package/lib/module/mock-builders/api/sendReaction.js +21 -0
  158. package/lib/module/mock-builders/api/sendReaction.js.map +1 -0
  159. package/lib/module/mock-builders/event/connectionChanged.js +2 -0
  160. package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
  161. package/lib/module/store/QuickSqliteClient.js +40 -51
  162. package/lib/module/store/QuickSqliteClient.js.map +1 -1
  163. package/lib/module/store/apis/addPendingTask.js +37 -0
  164. package/lib/module/store/apis/addPendingTask.js.map +1 -0
  165. package/lib/module/store/apis/deleteMessage.js +26 -0
  166. package/lib/module/store/apis/deleteMessage.js.map +1 -0
  167. package/lib/module/store/apis/deletePendingTask.js +22 -0
  168. package/lib/module/store/apis/deletePendingTask.js.map +1 -0
  169. package/lib/module/store/apis/deleteReaction.js +30 -0
  170. package/lib/module/store/apis/deleteReaction.js.map +1 -0
  171. package/lib/module/store/apis/getChannelMessages.js +3 -3
  172. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  173. package/lib/module/store/apis/getChannels.js +1 -1
  174. package/lib/module/store/apis/getChannels.js.map +1 -1
  175. package/lib/module/store/apis/getPendingTasks.js +26 -0
  176. package/lib/module/store/apis/getPendingTasks.js.map +1 -0
  177. package/lib/module/store/apis/index.js +13 -0
  178. package/lib/module/store/apis/index.js.map +1 -1
  179. package/lib/module/store/apis/insertReaction.js +28 -0
  180. package/lib/module/store/apis/insertReaction.js.map +1 -0
  181. package/lib/module/store/apis/updateMessage.js.map +1 -1
  182. package/lib/module/store/apis/updateReaction.js.map +1 -1
  183. package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
  184. package/lib/module/store/mappers/mapMessageToStorable.js +3 -1
  185. package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
  186. package/lib/module/store/mappers/mapStorableToTask.js +23 -0
  187. package/lib/module/store/mappers/mapStorableToTask.js.map +1 -0
  188. package/lib/module/store/mappers/mapTaskToStorable.js +18 -0
  189. package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -0
  190. package/lib/module/store/schema.js +11 -0
  191. package/lib/module/store/schema.js.map +1 -1
  192. package/lib/module/store/sqlite-utils/appendOrderByClause.js +24 -0
  193. package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -0
  194. package/lib/module/store/sqlite-utils/createCreateTableQuery.js +1 -1
  195. package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
  196. package/lib/module/store/sqlite-utils/createSelectQuery.js +8 -1
  197. package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -1
  198. package/lib/module/store/sqlite-utils/createUpdateQuery.js +2 -2
  199. package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -1
  200. package/lib/module/store/sqlite-utils/createUpsertQuery.js +1 -1
  201. package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -1
  202. package/lib/module/utils/DBSyncManager.js +436 -0
  203. package/lib/module/utils/DBSyncManager.js.map +1 -0
  204. package/lib/module/utils/addReactionToLocalState.js +92 -0
  205. package/lib/module/utils/addReactionToLocalState.js.map +1 -0
  206. package/lib/module/utils/removeReactionFromLocalState.js +39 -0
  207. package/lib/module/utils/removeReactionFromLocalState.js.map +1 -0
  208. package/lib/{commonjs/components/Message → module}/utils/removeReservedFields.js +1 -1
  209. package/lib/module/utils/removeReservedFields.js.map +1 -0
  210. package/lib/module/utils/utils.js +9 -3
  211. package/lib/module/utils/utils.js.map +1 -1
  212. package/lib/module/version.json +1 -1
  213. package/lib/typescript/components/Channel/Channel.d.ts +1 -1
  214. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  215. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +2 -1
  216. package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
  217. package/lib/typescript/components/Message/Message.d.ts +1 -1
  218. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
  219. package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
  220. package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +2 -1
  221. package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +2 -1
  222. package/lib/typescript/components/MessageInput/MessageInput.d.ts +2 -1
  223. package/lib/typescript/components/index.d.ts +1 -2
  224. package/lib/typescript/contexts/chatContext/ChatContext.d.ts +1 -2
  225. package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
  226. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -0
  227. package/lib/typescript/store/apis/addPendingTask.d.ts +2 -0
  228. package/lib/typescript/store/apis/deleteMessage.d.ts +4 -0
  229. package/lib/typescript/store/apis/deletePendingTask.d.ts +3 -0
  230. package/lib/typescript/store/apis/deleteReaction.d.ts +6 -0
  231. package/lib/typescript/store/apis/getChannelMessages.d.ts +1 -1
  232. package/lib/typescript/store/apis/getPendingTasks.d.ts +3 -0
  233. package/lib/typescript/store/apis/index.d.ts +1 -0
  234. package/lib/typescript/store/apis/insertReaction.d.ts +6 -0
  235. package/lib/typescript/store/apis/updateMessage.d.ts +2 -2
  236. package/lib/typescript/store/apis/updateReaction.d.ts +2 -2
  237. package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -1
  238. package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +2 -2
  239. package/lib/typescript/store/mappers/mapStorableToTask.d.ts +2 -0
  240. package/lib/typescript/store/mappers/mapTaskToStorable.d.ts +26 -0
  241. package/lib/typescript/store/schema.d.ts +12 -1
  242. package/lib/typescript/store/sqlite-utils/appendOrderByClause.d.ts +3 -0
  243. package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +1 -1
  244. package/lib/typescript/store/types.d.ts +21 -0
  245. package/lib/typescript/types/types.d.ts +3 -1
  246. package/lib/typescript/utils/DBSyncManager.d.ts +47 -0
  247. package/lib/typescript/utils/addReactionToLocalState.d.ts +9 -0
  248. package/lib/typescript/utils/removeReactionFromLocalState.d.ts +8 -0
  249. package/lib/typescript/{components/Message/utils → utils}/removeReservedFields.d.ts +2 -2
  250. package/lib/typescript/utils/utils.d.ts +3 -3
  251. package/package.json +4 -3
  252. package/src/__tests__/offline-feature.test.js +19 -2
  253. package/src/__tests__/optimistic-update.test.js +368 -0
  254. package/src/components/Attachment/Gallery.tsx +5 -1
  255. package/src/components/Attachment/GalleryImage.tsx +16 -2
  256. package/src/components/Channel/Channel.tsx +266 -57
  257. package/src/components/Channel/hooks/useCreateMessagesContext.ts +6 -0
  258. package/src/components/ChannelList/ChannelList.tsx +2 -10
  259. package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +0 -1
  260. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +76 -26
  261. package/src/components/Chat/Chat.tsx +5 -9
  262. package/src/components/Chat/__tests__/Chat.test.js +1 -1
  263. package/src/components/Chat/hooks/useCreateChatContext.ts +0 -2
  264. package/src/components/Message/Message.tsx +18 -2
  265. package/src/components/Message/MessageSimple/MessageFooter.tsx +2 -1
  266. package/src/components/Message/hooks/useMessageActionHandlers.ts +10 -21
  267. package/src/components/Message/hooks/useMessageActions.tsx +10 -5
  268. package/src/components/MessageInput/FileUploadPreview.tsx +7 -2
  269. package/src/components/MessageInput/ImageUploadPreview.tsx +7 -3
  270. package/src/components/MessageInput/MessageInput.tsx +17 -3
  271. package/src/components/MessageInput/SendButton.tsx +1 -1
  272. package/src/components/index.ts +1 -2
  273. package/src/contexts/chatContext/ChatContext.tsx +1 -2
  274. package/src/contexts/messageInputContext/MessageInputContext.tsx +95 -57
  275. package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +29 -3
  276. package/src/contexts/messageInputContext/hooks/useMessageDetailsForState.ts +1 -0
  277. package/src/contexts/messagesContext/MessagesContext.tsx +4 -1
  278. package/src/hooks/useTranslatedMessage.ts +1 -1
  279. package/src/mock-builders/DB/mock.ts +2 -2
  280. package/src/mock-builders/api/deleteMessage.js +18 -0
  281. package/src/mock-builders/api/deleteReaction.js +19 -0
  282. package/src/mock-builders/api/sendReaction.tsx +19 -0
  283. package/src/mock-builders/event/connectionChanged.js +2 -1
  284. package/src/store/QuickSqliteClient.ts +39 -37
  285. package/src/store/apis/addPendingTask.ts +24 -0
  286. package/src/store/apis/deleteMessage.ts +13 -0
  287. package/src/store/apis/deletePendingTask.ts +12 -0
  288. package/src/store/apis/deleteReaction.ts +26 -0
  289. package/src/store/apis/getChannelMessages.ts +1 -1
  290. package/src/store/apis/getChannels.ts +2 -2
  291. package/src/store/apis/getPendingTasks.ts +13 -0
  292. package/src/store/apis/index.ts +1 -0
  293. package/src/store/apis/insertReaction.ts +29 -0
  294. package/src/store/apis/updateMessage.ts +2 -2
  295. package/src/store/apis/updateReaction.ts +2 -2
  296. package/src/store/mappers/mapDateTimeToStorable.ts +1 -1
  297. package/src/store/mappers/mapMessageToStorable.ts +8 -2
  298. package/src/store/mappers/mapStorableToTask.ts +13 -0
  299. package/src/store/mappers/mapTaskToStorable.ts +7 -0
  300. package/src/store/schema.ts +25 -1
  301. package/src/store/sqlite-utils/appendOrderByClause.ts +24 -0
  302. package/src/store/sqlite-utils/createCreateTableQuery.ts +2 -2
  303. package/src/store/sqlite-utils/createSelectQuery.ts +4 -1
  304. package/src/store/sqlite-utils/createUpdateQuery.ts +3 -2
  305. package/src/store/sqlite-utils/createUpsertQuery.ts +1 -1
  306. package/src/store/types.ts +28 -0
  307. package/src/types/types.ts +4 -1
  308. package/src/utils/DBSyncManager.ts +222 -0
  309. package/src/utils/addReactionToLocalState.ts +87 -0
  310. package/src/utils/removeReactionFromLocalState.ts +39 -0
  311. package/src/{components/Message/utils → utils}/removeReservedFields.ts +7 -3
  312. package/src/utils/utils.ts +14 -5
  313. package/src/version.json +1 -1
  314. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js +0 -171
  315. package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js.map +0 -1
  316. package/lib/commonjs/components/Message/utils/removeReservedFields.js.map +0 -1
  317. package/lib/module/components/Chat/hooks/useConnectionRecovered.js +0 -171
  318. package/lib/module/components/Chat/hooks/useConnectionRecovered.js.map +0 -1
  319. package/lib/module/components/Message/utils/removeReservedFields.js.map +0 -1
  320. package/lib/typescript/components/Chat/hooks/useConnectionRecovered.d.ts +0 -10
  321. package/src/components/Chat/hooks/useConnectionRecovered.ts +0 -92
@@ -37,6 +37,8 @@ var _useCooldown2 = require("../../components/MessageInput/hooks/useCooldown");
37
37
 
38
38
  var _native = require("../../native");
39
39
 
40
+ var _removeReservedFields = require("../../utils/removeReservedFields");
41
+
40
42
  var _utils = require("../../utils/utils");
41
43
 
42
44
  var _AttachmentPickerContext = require("../attachmentPickerContext/AttachmentPickerContext");
@@ -88,7 +90,8 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
88
90
 
89
91
  var _useChatContext = (0, _ChatContext.useChatContext)(),
90
92
  appSettings = _useChatContext.appSettings,
91
- client = _useChatContext.client;
93
+ client = _useChatContext.client,
94
+ enableOfflineSupport = _useChatContext.enableOfflineSupport;
92
95
 
93
96
  var getFileUploadConfig = function getFileUploadConfig() {
94
97
  var _appSettings$app;
@@ -193,28 +196,28 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
193
196
  return true;
194
197
  }
195
198
 
196
- for (var _iterator = _createForOfIteratorHelperLoose(imageUploads), _step; !(_step = _iterator()).done;) {
197
- var _image = _step.value;
199
+ var imagesAndFiles = [].concat((0, _toConsumableArray2["default"])(imageUploads), (0, _toConsumableArray2["default"])(fileUploads));
198
200
 
199
- if (!_image || _image.state === _utils.FileState.UPLOAD_FAILED) {
200
- continue;
201
- }
201
+ if (enableOfflineSupport) {
202
+ for (var _iterator = _createForOfIteratorHelperLoose(imagesAndFiles), _step; !(_step = _iterator()).done;) {
203
+ var _file = _step.value;
202
204
 
203
- if (_image.state === _utils.FileState.UPLOADING) {
204
- return false;
205
+ if (_file.state === _utils.FileState.NOT_SUPPORTED) {
206
+ return false;
207
+ }
205
208
  }
206
209
 
207
210
  return true;
208
211
  }
209
212
 
210
- for (var _iterator2 = _createForOfIteratorHelperLoose(fileUploads), _step2; !(_step2 = _iterator2()).done;) {
211
- var _file = _step2.value;
213
+ for (var _iterator2 = _createForOfIteratorHelperLoose(imagesAndFiles), _step2; !(_step2 = _iterator2()).done;) {
214
+ var _file2 = _step2.value;
212
215
 
213
- if (!_file || _file.state === _utils.FileState.UPLOAD_FAILED) {
216
+ if (!_file2 || _file2.state === _utils.FileState.UPLOAD_FAILED) {
214
217
  continue;
215
218
  }
216
219
 
217
- if (_file.state === _utils.FileState.UPLOADING) {
220
+ if (_file2.state === _utils.FileState.UPLOADING) {
218
221
  return false;
219
222
  }
220
223
 
@@ -373,9 +376,68 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
373
376
  setText('');
374
377
  };
375
378
 
379
+ var mapImageUploadToAttachment = function mapImageUploadToAttachment(image) {
380
+ var mime_type = (0, _mimeTypes.lookup)(image.file.filename);
381
+ return {
382
+ fallback: image.file.name,
383
+ image_url: image.url,
384
+ mime_type: mime_type ? mime_type : undefined,
385
+ original_height: image.height,
386
+ original_width: image.width,
387
+ originalFile: image.file,
388
+ type: 'image'
389
+ };
390
+ };
391
+
392
+ var mapFileUploadToAttachment = function mapFileUploadToAttachment(file) {
393
+ var _file$file$type, _file$file$type2, _file$file$type3;
394
+
395
+ var mime_type = (0, _mimeTypes.lookup)(file.file.name);
396
+
397
+ if ((_file$file$type = file.file.type) != null && _file$file$type.startsWith('image/')) {
398
+ return {
399
+ fallback: file.file.name,
400
+ image_url: file.url,
401
+ mime_type: mime_type ? mime_type : undefined,
402
+ originalFile: file.file,
403
+ type: 'image'
404
+ };
405
+ } else if ((_file$file$type2 = file.file.type) != null && _file$file$type2.startsWith('audio/')) {
406
+ return {
407
+ asset_url: file.url || file.file.uri,
408
+ duration: file.file.duration,
409
+ file_size: file.file.size,
410
+ mime_type: file.file.type,
411
+ originalFile: file.file,
412
+ title: file.file.name,
413
+ type: 'audio'
414
+ };
415
+ } else if ((_file$file$type3 = file.file.type) != null && _file$file$type3.startsWith('video/')) {
416
+ return {
417
+ asset_url: file.url || file.file.uri,
418
+ duration: file.file.duration,
419
+ file_size: file.file.size,
420
+ mime_type: file.file.type,
421
+ originalFile: file.file,
422
+ thumb_url: file.thumb_url,
423
+ title: file.file.name,
424
+ type: 'video'
425
+ };
426
+ } else {
427
+ return {
428
+ asset_url: file.url || file.file.uri,
429
+ file_size: file.file.size,
430
+ mime_type: file.file.type,
431
+ originalFile: file.file,
432
+ title: file.file.name,
433
+ type: 'file'
434
+ };
435
+ }
436
+ };
437
+
376
438
  var sendMessage = function () {
377
439
  var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
378
- var prevText, attachments, _loop, _iterator3, _step3, _image2, _ret, _iterator4, _step4, _file2, mime_type, _file2$file$type, _file2$file$type2, _file2$file$type3, updatedMessage, updateMessagePromise;
440
+ var prevText, attachments, _loop, _iterator3, _step3, _image, _ret, _iterator4, _step4, _file3, updatedMessage, updateMessagePromise;
379
441
 
380
442
  return _regenerator["default"].wrap(function _callee2$(_context2) {
381
443
  while (1) {
@@ -410,15 +472,26 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
410
472
 
411
473
  attachments = [];
412
474
 
413
- _loop = function _loop(_image2) {
414
- if (!_image2 || _image2.state === _utils.FileState.UPLOAD_FAILED) {
475
+ _loop = function _loop(_image) {
476
+ if (enableOfflineSupport) {
477
+ if (_image.state === _utils.FileState.NOT_SUPPORTED) {
478
+ return {
479
+ v: void 0
480
+ };
481
+ }
482
+
483
+ attachments.push(mapImageUploadToAttachment(_image));
415
484
  return "continue";
416
485
  }
417
486
 
418
- if (_image2.state === _utils.FileState.UPLOADING) {
487
+ if ((!_image || _image.state === _utils.FileState.UPLOAD_FAILED) && !enableOfflineSupport) {
488
+ return "continue";
489
+ }
490
+
491
+ if (_image.state === _utils.FileState.UPLOADING) {
419
492
  if (value.sendImageAsync) {
420
493
  setAsyncIds(function (prevAsyncIds) {
421
- return [].concat((0, _toConsumableArray2["default"])(prevAsyncIds), [_image2.id]);
494
+ return [].concat((0, _toConsumableArray2["default"])(prevAsyncIds), [_image.id]);
422
495
  });
423
496
  } else {
424
497
  sending.current = false;
@@ -428,17 +501,8 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
428
501
  }
429
502
  }
430
503
 
431
- var mime_type = (0, _mimeTypes.lookup)(_image2.file.filename);
432
-
433
- if (_image2.state === _utils.FileState.UPLOADED || _image2.state === _utils.FileState.FINISHED) {
434
- attachments.push({
435
- fallback: _image2.file.name,
436
- image_url: _image2.url,
437
- mime_type: mime_type ? mime_type : undefined,
438
- original_height: _image2.height,
439
- original_width: _image2.width,
440
- type: 'image'
441
- });
504
+ if (_image.state === _utils.FileState.UPLOADED || _image.state === _utils.FileState.FINISHED) {
505
+ attachments.push(mapImageUploadToAttachment(_image));
442
506
  }
443
507
  };
444
508
 
@@ -450,8 +514,8 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
450
514
  break;
451
515
  }
452
516
 
453
- _image2 = _step3.value;
454
- _ret = _loop(_image2);
517
+ _image = _step3.value;
518
+ _ret = _loop(_image);
455
519
 
456
520
  if (!(_ret === "continue")) {
457
521
  _context2.next = 18;
@@ -477,83 +541,64 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
477
541
 
478
542
  case 23:
479
543
  if ((_step4 = _iterator4()).done) {
480
- _context2.next = 34;
544
+ _context2.next = 38;
481
545
  break;
482
546
  }
483
547
 
484
- _file2 = _step4.value;
548
+ _file3 = _step4.value;
485
549
 
486
- if (!(!_file2 || _file2.state === _utils.FileState.UPLOAD_FAILED)) {
487
- _context2.next = 27;
550
+ if (!enableOfflineSupport) {
551
+ _context2.next = 30;
488
552
  break;
489
553
  }
490
554
 
491
- return _context2.abrupt("continue", 32);
492
-
493
- case 27:
494
- if (!(_file2.state === _utils.FileState.UPLOADING)) {
495
- _context2.next = 30;
555
+ if (!(_file3.state === _utils.FileState.NOT_SUPPORTED)) {
556
+ _context2.next = 28;
496
557
  break;
497
558
  }
498
559
 
499
- sending.current = false;
500
560
  return _context2.abrupt("return");
501
561
 
562
+ case 28:
563
+ attachments.push(mapFileUploadToAttachment(_file3));
564
+ return _context2.abrupt("continue", 36);
565
+
502
566
  case 30:
503
- mime_type = (0, _mimeTypes.lookup)(_file2.file.name);
504
-
505
- if (_file2.state === _utils.FileState.UPLOADED || _file2.state === _utils.FileState.FINISHED) {
506
- if ((_file2$file$type = _file2.file.type) != null && _file2$file$type.startsWith('image/')) {
507
- attachments.push({
508
- fallback: _file2.file.name,
509
- image_url: _file2.url,
510
- mime_type: mime_type ? mime_type : undefined,
511
- type: 'image'
512
- });
513
- } else if ((_file2$file$type2 = _file2.file.type) != null && _file2$file$type2.startsWith('audio/')) {
514
- attachments.push({
515
- asset_url: _file2.url,
516
- duration: _file2.file.duration,
517
- file_size: _file2.file.size,
518
- mime_type: _file2.file.type,
519
- title: _file2.file.name,
520
- type: 'audio'
521
- });
522
- } else if ((_file2$file$type3 = _file2.file.type) != null && _file2$file$type3.startsWith('video/')) {
523
- attachments.push({
524
- asset_url: _file2.url,
525
- duration: _file2.file.duration,
526
- file_size: _file2.file.size,
527
- mime_type: _file2.file.type,
528
- thumb_url: _file2.thumb_url,
529
- title: _file2.file.name,
530
- type: 'video'
531
- });
532
- } else {
533
- attachments.push({
534
- asset_url: _file2.url,
535
- file_size: _file2.file.size,
536
- mime_type: _file2.file.type,
537
- title: _file2.file.name,
538
- type: 'file'
539
- });
540
- }
567
+ if (!(!_file3 || _file3.state === _utils.FileState.UPLOAD_FAILED)) {
568
+ _context2.next = 32;
569
+ break;
541
570
  }
542
571
 
572
+ return _context2.abrupt("continue", 36);
573
+
543
574
  case 32:
575
+ if (!(_file3.state === _utils.FileState.UPLOADING)) {
576
+ _context2.next = 35;
577
+ break;
578
+ }
579
+
580
+ sending.current = false;
581
+ return _context2.abrupt("return");
582
+
583
+ case 35:
584
+ if (_file3.state === _utils.FileState.UPLOADED || _file3.state === _utils.FileState.FINISHED) {
585
+ attachments.push(mapFileUploadToAttachment(_file3));
586
+ }
587
+
588
+ case 36:
544
589
  _context2.next = 23;
545
590
  break;
546
591
 
547
- case 34:
592
+ case 38:
548
593
  if (!(!prevText && attachments.length === 0)) {
549
- _context2.next = 37;
594
+ _context2.next = 41;
550
595
  break;
551
596
  }
552
597
 
553
598
  sending.current = false;
554
599
  return _context2.abrupt("return");
555
600
 
556
- case 37:
601
+ case 41:
557
602
  if (value.editing && !(0, _useMessageDetailsForState.isEditingBoolean)(value.editing)) {
558
603
  updatedMessage = (0, _extends2["default"])({}, value.editing, {
559
604
  attachments: attachments,
@@ -562,7 +607,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
562
607
  text: prevText
563
608
  });
564
609
  value.clearEditingState();
565
- updateMessagePromise = value.editMessage(updatedMessage).then(value.clearEditingState);
610
+ updateMessagePromise = value.editMessage((0, _removeReservedFields.removeReservedFields)(updatedMessage)).then(value.clearEditingState);
566
611
  resetInput(attachments);
567
612
  (0, _streamChat.logChatPromiseExecution)(updateMessagePromise, 'update message');
568
613
  sending.current = false;
@@ -591,7 +636,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
591
636
  }
592
637
  }
593
638
 
594
- case 38:
639
+ case 42:
595
640
  case "end":
596
641
  return _context2.stop();
597
642
  }
@@ -1097,8 +1142,11 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
1097
1142
  imageState = isBlockedImageExtension || isBlockedImageMimeType ? _utils.FileState.NOT_SUPPORTED : _utils.FileState.UPLOADING;
1098
1143
  newImage = {
1099
1144
  file: image,
1145
+ height: image.height,
1100
1146
  id: id,
1101
- state: imageState
1147
+ state: imageState,
1148
+ url: image.uri,
1149
+ width: image.width
1102
1150
  };
1103
1151
  _context8.next = 7;
1104
1152
  return Promise.all([setImageUploads(function (prevImageUploads) {
@@ -1183,7 +1231,7 @@ var MessageInputProvider = function MessageInputProvider(_ref) {
1183
1231
  __self: _this,
1184
1232
  __source: {
1185
1233
  fileName: _jsxFileName,
1186
- lineNumber: 1143,
1234
+ lineNumber: 1181,
1187
1235
  columnNumber: 5
1188
1236
  }
1189
1237
  }, children);
@@ -1210,7 +1258,7 @@ var withMessageInputContext = function withMessageInputContext(Component) {
1210
1258
  __self: _this,
1211
1259
  __source: {
1212
1260
  fileName: _jsxFileName,
1213
- lineNumber: 1183,
1261
+ lineNumber: 1221,
1214
1262
  columnNumber: 12
1215
1263
  }
1216
1264
  }));