stream-chat-react-native-core 7.0.1 → 7.1.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 (409) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/Channel/Channel.js +214 -237
  3. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  4. package/lib/commonjs/components/ChannelList/ChannelList.js +2 -19
  5. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  6. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +48 -176
  7. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  8. package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js +13 -2
  9. package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -1
  10. package/lib/commonjs/components/Chat/Chat.js +33 -46
  11. package/lib/commonjs/components/Chat/Chat.js.map +1 -1
  12. package/lib/commonjs/components/Chat/hooks/useAppSettings.js +47 -120
  13. package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
  14. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js +0 -15
  15. package/lib/commonjs/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  16. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +5 -0
  17. package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
  18. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js +92 -108
  19. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  20. package/lib/commonjs/index.js +8 -0
  21. package/lib/commonjs/index.js.map +1 -1
  22. package/lib/commonjs/mock-builders/event/channelVisible.js +13 -0
  23. package/lib/commonjs/mock-builders/event/channelVisible.js.map +1 -0
  24. package/lib/commonjs/mock-builders/event/memberAdded.js +4 -2
  25. package/lib/commonjs/mock-builders/event/memberAdded.js.map +1 -1
  26. package/lib/commonjs/mock-builders/event/memberRemoved.js +2 -1
  27. package/lib/commonjs/mock-builders/event/memberRemoved.js.map +1 -1
  28. package/lib/commonjs/mock-builders/event/memberUpdated.js +2 -1
  29. package/lib/commonjs/mock-builders/event/memberUpdated.js.map +1 -1
  30. package/lib/commonjs/mock-builders/event/messageNew.js +4 -2
  31. package/lib/commonjs/mock-builders/event/messageNew.js.map +1 -1
  32. package/lib/commonjs/mock-builders/event/messageRead.js +6 -3
  33. package/lib/commonjs/mock-builders/event/messageRead.js.map +1 -1
  34. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +3 -0
  35. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -1
  36. package/lib/commonjs/mock-builders/generator/channel.js +10 -3
  37. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  38. package/lib/commonjs/store/OfflineDB.js +108 -0
  39. package/lib/commonjs/store/OfflineDB.js.map +1 -0
  40. package/lib/commonjs/store/SqliteClient.js +11 -10
  41. package/lib/commonjs/store/SqliteClient.js.map +1 -1
  42. package/lib/commonjs/store/apis/addPendingTask.js.map +1 -1
  43. package/lib/commonjs/store/apis/channelExists.js +34 -0
  44. package/lib/commonjs/store/apis/channelExists.js.map +1 -0
  45. package/lib/commonjs/store/apis/deleteChannel.js +4 -4
  46. package/lib/commonjs/store/apis/deleteChannel.js.map +1 -1
  47. package/lib/commonjs/store/apis/deleteMember.js +4 -4
  48. package/lib/commonjs/store/apis/deleteMember.js.map +1 -1
  49. package/lib/commonjs/store/apis/deleteMessage.js +16 -12
  50. package/lib/commonjs/store/apis/deleteMessage.js.map +1 -1
  51. package/lib/commonjs/store/apis/deleteMessagesForChannel.js +11 -12
  52. package/lib/commonjs/store/apis/deleteMessagesForChannel.js.map +1 -1
  53. package/lib/commonjs/store/apis/deleteReaction.js +29 -17
  54. package/lib/commonjs/store/apis/deleteReaction.js.map +1 -1
  55. package/lib/commonjs/store/apis/deleteReactions.js +4 -4
  56. package/lib/commonjs/store/apis/deleteReactions.js.map +1 -1
  57. package/lib/commonjs/store/apis/dropPendingTasks.js +41 -0
  58. package/lib/commonjs/store/apis/dropPendingTasks.js.map +1 -0
  59. package/lib/commonjs/store/apis/getChannelMessages.js +1 -1
  60. package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
  61. package/lib/commonjs/store/apis/getChannels.js +18 -21
  62. package/lib/commonjs/store/apis/getChannels.js.map +1 -1
  63. package/lib/commonjs/store/apis/getLastSyncedAt.js +3 -9
  64. package/lib/commonjs/store/apis/getLastSyncedAt.js.map +1 -1
  65. package/lib/commonjs/store/apis/getReactionsforFilterSort.js +5 -8
  66. package/lib/commonjs/store/apis/getReactionsforFilterSort.js.map +1 -1
  67. package/lib/commonjs/store/apis/index.js +103 -4
  68. package/lib/commonjs/store/apis/index.js.map +1 -1
  69. package/lib/commonjs/store/apis/insertReaction.js +4 -4
  70. package/lib/commonjs/store/apis/insertReaction.js.map +1 -1
  71. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js +1 -1
  72. package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  73. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js +25 -5
  74. package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  75. package/lib/commonjs/store/apis/softDeleteMessage.js +45 -0
  76. package/lib/commonjs/store/apis/softDeleteMessage.js.map +1 -0
  77. package/lib/commonjs/store/apis/updateMessage.js +7 -11
  78. package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
  79. package/lib/commonjs/store/apis/updateReaction.js +11 -9
  80. package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
  81. package/lib/commonjs/store/apis/upsertAppSettings.js +9 -7
  82. package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -1
  83. package/lib/commonjs/store/apis/upsertChannelData.js +4 -4
  84. package/lib/commonjs/store/apis/upsertChannelData.js.map +1 -1
  85. package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js +3 -3
  86. package/lib/commonjs/store/apis/upsertChannelDataFromChannel.js.map +1 -1
  87. package/lib/commonjs/store/apis/upsertChannels.js +86 -83
  88. package/lib/commonjs/store/apis/upsertChannels.js.map +1 -1
  89. package/lib/commonjs/store/apis/upsertCidsForQuery.js +4 -4
  90. package/lib/commonjs/store/apis/upsertCidsForQuery.js.map +1 -1
  91. package/lib/commonjs/store/apis/upsertMembers.js +4 -4
  92. package/lib/commonjs/store/apis/upsertMembers.js.map +1 -1
  93. package/lib/commonjs/store/apis/upsertMessages.js +4 -4
  94. package/lib/commonjs/store/apis/upsertMessages.js.map +1 -1
  95. package/lib/commonjs/store/apis/upsertPoll.js +42 -0
  96. package/lib/commonjs/store/apis/upsertPoll.js.map +1 -0
  97. package/lib/commonjs/store/apis/upsertReads.js +4 -4
  98. package/lib/commonjs/store/apis/upsertReads.js.map +1 -1
  99. package/lib/commonjs/store/apis/upsertUserSyncStatus.js +13 -7
  100. package/lib/commonjs/store/apis/upsertUserSyncStatus.js.map +1 -1
  101. package/lib/commonjs/store/mappers/mapMemberToStorable.js +6 -2
  102. package/lib/commonjs/store/mappers/mapMemberToStorable.js.map +1 -1
  103. package/lib/commonjs/store/mappers/mapReadToStorable.js +3 -1
  104. package/lib/commonjs/store/mappers/mapReadToStorable.js.map +1 -1
  105. package/lib/commonjs/store/mappers/mapStorableToMember.js +5 -1
  106. package/lib/commonjs/store/mappers/mapStorableToMember.js.map +1 -1
  107. package/lib/commonjs/store/mappers/mapStorableToRead.js +3 -1
  108. package/lib/commonjs/store/mappers/mapStorableToRead.js.map +1 -1
  109. package/lib/commonjs/store/mappers/mapStorableToTask.js.map +1 -1
  110. package/lib/commonjs/store/schema.js +2 -0
  111. package/lib/commonjs/store/schema.js.map +1 -1
  112. package/lib/commonjs/utils/addReactionToLocalState.js +62 -81
  113. package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -1
  114. package/lib/commonjs/utils/removeReactionFromLocalState.js +0 -6
  115. package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -1
  116. package/lib/commonjs/version.json +1 -1
  117. package/lib/module/components/Channel/Channel.js +214 -237
  118. package/lib/module/components/Channel/Channel.js.map +1 -1
  119. package/lib/module/components/ChannelList/ChannelList.js +2 -19
  120. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  121. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +48 -176
  122. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  123. package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js +13 -2
  124. package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -1
  125. package/lib/module/components/Chat/Chat.js +33 -46
  126. package/lib/module/components/Chat/Chat.js.map +1 -1
  127. package/lib/module/components/Chat/hooks/useAppSettings.js +47 -120
  128. package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
  129. package/lib/module/components/Chat/hooks/useSyncDatabase.js +0 -15
  130. package/lib/module/components/Chat/hooks/useSyncDatabase.js.map +1 -1
  131. package/lib/module/components/MessageMenu/MessageUserReactions.js +5 -0
  132. package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
  133. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js +92 -108
  134. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  135. package/lib/module/index.js +8 -0
  136. package/lib/module/index.js.map +1 -1
  137. package/lib/module/mock-builders/event/channelVisible.js +13 -0
  138. package/lib/module/mock-builders/event/channelVisible.js.map +1 -0
  139. package/lib/module/mock-builders/event/memberAdded.js +4 -2
  140. package/lib/module/mock-builders/event/memberAdded.js.map +1 -1
  141. package/lib/module/mock-builders/event/memberRemoved.js +2 -1
  142. package/lib/module/mock-builders/event/memberRemoved.js.map +1 -1
  143. package/lib/module/mock-builders/event/memberUpdated.js +2 -1
  144. package/lib/module/mock-builders/event/memberUpdated.js.map +1 -1
  145. package/lib/module/mock-builders/event/messageNew.js +4 -2
  146. package/lib/module/mock-builders/event/messageNew.js.map +1 -1
  147. package/lib/module/mock-builders/event/messageRead.js +6 -3
  148. package/lib/module/mock-builders/event/messageRead.js.map +1 -1
  149. package/lib/module/mock-builders/event/notificationMarkUnread.js +3 -0
  150. package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -1
  151. package/lib/module/mock-builders/generator/channel.js +10 -3
  152. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  153. package/lib/module/store/OfflineDB.js +108 -0
  154. package/lib/module/store/OfflineDB.js.map +1 -0
  155. package/lib/module/store/SqliteClient.js +11 -10
  156. package/lib/module/store/SqliteClient.js.map +1 -1
  157. package/lib/module/store/apis/addPendingTask.js.map +1 -1
  158. package/lib/module/store/apis/channelExists.js +34 -0
  159. package/lib/module/store/apis/channelExists.js.map +1 -0
  160. package/lib/module/store/apis/deleteChannel.js +4 -4
  161. package/lib/module/store/apis/deleteChannel.js.map +1 -1
  162. package/lib/module/store/apis/deleteMember.js +4 -4
  163. package/lib/module/store/apis/deleteMember.js.map +1 -1
  164. package/lib/module/store/apis/deleteMessage.js +16 -12
  165. package/lib/module/store/apis/deleteMessage.js.map +1 -1
  166. package/lib/module/store/apis/deleteMessagesForChannel.js +11 -12
  167. package/lib/module/store/apis/deleteMessagesForChannel.js.map +1 -1
  168. package/lib/module/store/apis/deleteReaction.js +29 -17
  169. package/lib/module/store/apis/deleteReaction.js.map +1 -1
  170. package/lib/module/store/apis/deleteReactions.js +4 -4
  171. package/lib/module/store/apis/deleteReactions.js.map +1 -1
  172. package/lib/module/store/apis/dropPendingTasks.js +41 -0
  173. package/lib/module/store/apis/dropPendingTasks.js.map +1 -0
  174. package/lib/module/store/apis/getChannelMessages.js +1 -1
  175. package/lib/module/store/apis/getChannelMessages.js.map +1 -1
  176. package/lib/module/store/apis/getChannels.js +18 -21
  177. package/lib/module/store/apis/getChannels.js.map +1 -1
  178. package/lib/module/store/apis/getLastSyncedAt.js +3 -9
  179. package/lib/module/store/apis/getLastSyncedAt.js.map +1 -1
  180. package/lib/module/store/apis/getReactionsforFilterSort.js +5 -8
  181. package/lib/module/store/apis/getReactionsforFilterSort.js.map +1 -1
  182. package/lib/module/store/apis/index.js +103 -4
  183. package/lib/module/store/apis/index.js.map +1 -1
  184. package/lib/module/store/apis/insertReaction.js +4 -4
  185. package/lib/module/store/apis/insertReaction.js.map +1 -1
  186. package/lib/module/store/apis/queries/selectMessagesForChannels.js +1 -1
  187. package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
  188. package/lib/module/store/apis/queries/selectReactionsForMessages.js +25 -5
  189. package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
  190. package/lib/module/store/apis/softDeleteMessage.js +45 -0
  191. package/lib/module/store/apis/softDeleteMessage.js.map +1 -0
  192. package/lib/module/store/apis/updateMessage.js +7 -11
  193. package/lib/module/store/apis/updateMessage.js.map +1 -1
  194. package/lib/module/store/apis/updateReaction.js +11 -9
  195. package/lib/module/store/apis/updateReaction.js.map +1 -1
  196. package/lib/module/store/apis/upsertAppSettings.js +9 -7
  197. package/lib/module/store/apis/upsertAppSettings.js.map +1 -1
  198. package/lib/module/store/apis/upsertChannelData.js +4 -4
  199. package/lib/module/store/apis/upsertChannelData.js.map +1 -1
  200. package/lib/module/store/apis/upsertChannelDataFromChannel.js +3 -3
  201. package/lib/module/store/apis/upsertChannelDataFromChannel.js.map +1 -1
  202. package/lib/module/store/apis/upsertChannels.js +86 -83
  203. package/lib/module/store/apis/upsertChannels.js.map +1 -1
  204. package/lib/module/store/apis/upsertCidsForQuery.js +4 -4
  205. package/lib/module/store/apis/upsertCidsForQuery.js.map +1 -1
  206. package/lib/module/store/apis/upsertMembers.js +4 -4
  207. package/lib/module/store/apis/upsertMembers.js.map +1 -1
  208. package/lib/module/store/apis/upsertMessages.js +4 -4
  209. package/lib/module/store/apis/upsertMessages.js.map +1 -1
  210. package/lib/module/store/apis/upsertPoll.js +42 -0
  211. package/lib/module/store/apis/upsertPoll.js.map +1 -0
  212. package/lib/module/store/apis/upsertReads.js +4 -4
  213. package/lib/module/store/apis/upsertReads.js.map +1 -1
  214. package/lib/module/store/apis/upsertUserSyncStatus.js +13 -7
  215. package/lib/module/store/apis/upsertUserSyncStatus.js.map +1 -1
  216. package/lib/module/store/mappers/mapMemberToStorable.js +6 -2
  217. package/lib/module/store/mappers/mapMemberToStorable.js.map +1 -1
  218. package/lib/module/store/mappers/mapReadToStorable.js +3 -1
  219. package/lib/module/store/mappers/mapReadToStorable.js.map +1 -1
  220. package/lib/module/store/mappers/mapStorableToMember.js +5 -1
  221. package/lib/module/store/mappers/mapStorableToMember.js.map +1 -1
  222. package/lib/module/store/mappers/mapStorableToRead.js +3 -1
  223. package/lib/module/store/mappers/mapStorableToRead.js.map +1 -1
  224. package/lib/module/store/mappers/mapStorableToTask.js.map +1 -1
  225. package/lib/module/store/schema.js +2 -0
  226. package/lib/module/store/schema.js.map +1 -1
  227. package/lib/module/utils/addReactionToLocalState.js +62 -81
  228. package/lib/module/utils/addReactionToLocalState.js.map +1 -1
  229. package/lib/module/utils/removeReactionFromLocalState.js +0 -6
  230. package/lib/module/utils/removeReactionFromLocalState.js.map +1 -1
  231. package/lib/module/version.json +1 -1
  232. package/lib/typescript/components/Channel/Channel.d.ts +1 -1
  233. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  234. package/lib/typescript/components/Channel/hooks/useCreateThreadContext.d.ts.map +1 -1
  235. package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
  236. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +1 -1
  237. package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +1 -1
  238. package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts.map +1 -1
  239. package/lib/typescript/components/Chat/Chat.d.ts.map +1 -1
  240. package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts.map +1 -1
  241. package/lib/typescript/components/Chat/hooks/useSyncDatabase.d.ts +9 -1
  242. package/lib/typescript/components/Chat/hooks/useSyncDatabase.d.ts.map +1 -1
  243. package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -1
  244. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
  245. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +1 -1
  246. package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts.map +1 -1
  247. package/lib/typescript/hooks/useTranslatedMessage.d.ts.map +1 -1
  248. package/lib/typescript/index.d.ts +1 -0
  249. package/lib/typescript/index.d.ts.map +1 -1
  250. package/lib/typescript/store/OfflineDB.d.ts +112 -0
  251. package/lib/typescript/store/OfflineDB.d.ts.map +1 -0
  252. package/lib/typescript/store/SqliteClient.d.ts +1 -1
  253. package/lib/typescript/store/SqliteClient.d.ts.map +1 -1
  254. package/lib/typescript/store/apis/addPendingTask.d.ts +1 -1
  255. package/lib/typescript/store/apis/addPendingTask.d.ts.map +1 -1
  256. package/lib/typescript/store/apis/channelExists.d.ts +4 -0
  257. package/lib/typescript/store/apis/channelExists.d.ts.map +1 -0
  258. package/lib/typescript/store/apis/deleteChannel.d.ts +2 -2
  259. package/lib/typescript/store/apis/deleteChannel.d.ts.map +1 -1
  260. package/lib/typescript/store/apis/deleteMember.d.ts +2 -2
  261. package/lib/typescript/store/apis/deleteMember.d.ts.map +1 -1
  262. package/lib/typescript/store/apis/deleteMessage.d.ts +3 -3
  263. package/lib/typescript/store/apis/deleteMessage.d.ts.map +1 -1
  264. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts +4 -3
  265. package/lib/typescript/store/apis/deleteMessagesForChannel.d.ts.map +1 -1
  266. package/lib/typescript/store/apis/deleteReaction.d.ts +7 -6
  267. package/lib/typescript/store/apis/deleteReaction.d.ts.map +1 -1
  268. package/lib/typescript/store/apis/deleteReactions.d.ts +2 -2
  269. package/lib/typescript/store/apis/deleteReactions.d.ts.map +1 -1
  270. package/lib/typescript/store/apis/dropPendingTasks.d.ts +16 -0
  271. package/lib/typescript/store/apis/dropPendingTasks.d.ts.map +1 -0
  272. package/lib/typescript/store/apis/getChannels.d.ts.map +1 -1
  273. package/lib/typescript/store/apis/getLastSyncedAt.d.ts +1 -1
  274. package/lib/typescript/store/apis/getLastSyncedAt.d.ts.map +1 -1
  275. package/lib/typescript/store/apis/getPendingTasks.d.ts +1 -1
  276. package/lib/typescript/store/apis/getPendingTasks.d.ts.map +1 -1
  277. package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts +5 -3
  278. package/lib/typescript/store/apis/getReactionsforFilterSort.d.ts.map +1 -1
  279. package/lib/typescript/store/apis/index.d.ts +10 -1
  280. package/lib/typescript/store/apis/index.d.ts.map +1 -1
  281. package/lib/typescript/store/apis/insertReaction.d.ts +2 -2
  282. package/lib/typescript/store/apis/insertReaction.d.ts.map +1 -1
  283. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts +5 -1
  284. package/lib/typescript/store/apis/queries/selectReactionsForMessages.d.ts.map +1 -1
  285. package/lib/typescript/store/apis/softDeleteMessage.d.ts +5 -0
  286. package/lib/typescript/store/apis/softDeleteMessage.d.ts.map +1 -0
  287. package/lib/typescript/store/apis/updateMessage.d.ts +2 -2
  288. package/lib/typescript/store/apis/updateMessage.d.ts.map +1 -1
  289. package/lib/typescript/store/apis/updateReaction.d.ts +2 -2
  290. package/lib/typescript/store/apis/updateReaction.d.ts.map +1 -1
  291. package/lib/typescript/store/apis/upsertAppSettings.d.ts +3 -3
  292. package/lib/typescript/store/apis/upsertAppSettings.d.ts.map +1 -1
  293. package/lib/typescript/store/apis/upsertChannelData.d.ts +2 -2
  294. package/lib/typescript/store/apis/upsertChannelData.d.ts.map +1 -1
  295. package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts +2 -2
  296. package/lib/typescript/store/apis/upsertChannelDataFromChannel.d.ts.map +1 -1
  297. package/lib/typescript/store/apis/upsertChannels.d.ts +3 -5
  298. package/lib/typescript/store/apis/upsertChannels.d.ts.map +1 -1
  299. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts +2 -2
  300. package/lib/typescript/store/apis/upsertCidsForQuery.d.ts.map +1 -1
  301. package/lib/typescript/store/apis/upsertMembers.d.ts +2 -2
  302. package/lib/typescript/store/apis/upsertMembers.d.ts.map +1 -1
  303. package/lib/typescript/store/apis/upsertMessages.d.ts +2 -2
  304. package/lib/typescript/store/apis/upsertMessages.d.ts.map +1 -1
  305. package/lib/typescript/store/apis/upsertPoll.d.ts +7 -0
  306. package/lib/typescript/store/apis/upsertPoll.d.ts.map +1 -0
  307. package/lib/typescript/store/apis/upsertReads.d.ts +2 -2
  308. package/lib/typescript/store/apis/upsertReads.d.ts.map +1 -1
  309. package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts +3 -2
  310. package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts.map +1 -1
  311. package/lib/typescript/store/mappers/mapMemberToStorable.d.ts.map +1 -1
  312. package/lib/typescript/store/mappers/mapReadToStorable.d.ts.map +1 -1
  313. package/lib/typescript/store/mappers/mapStorableToMember.d.ts.map +1 -1
  314. package/lib/typescript/store/mappers/mapStorableToRead.d.ts.map +1 -1
  315. package/lib/typescript/store/mappers/mapStorableToTask.d.ts +2 -1
  316. package/lib/typescript/store/mappers/mapStorableToTask.d.ts.map +1 -1
  317. package/lib/typescript/store/mappers/mapTaskToStorable.d.ts +18 -10
  318. package/lib/typescript/store/mappers/mapTaskToStorable.d.ts.map +1 -1
  319. package/lib/typescript/store/schema.d.ts +3 -2
  320. package/lib/typescript/store/schema.d.ts.map +1 -1
  321. package/lib/typescript/utils/addReactionToLocalState.d.ts +1 -1
  322. package/lib/typescript/utils/addReactionToLocalState.d.ts.map +1 -1
  323. package/lib/typescript/utils/removeReactionFromLocalState.d.ts.map +1 -1
  324. package/package.json +5 -4
  325. package/src/__tests__/offline-support/offline-feature.js +894 -21
  326. package/src/__tests__/offline-support/optimistic-update.js +154 -44
  327. package/src/components/Channel/Channel.tsx +95 -118
  328. package/src/components/ChannelList/ChannelList.tsx +1 -23
  329. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +9 -93
  330. package/src/components/ChannelPreview/hooks/useIsChannelMuted.ts +20 -2
  331. package/src/components/Chat/Chat.tsx +21 -45
  332. package/src/components/Chat/__tests__/Chat.test.js +21 -13
  333. package/src/components/Chat/hooks/useAppSettings.ts +17 -54
  334. package/src/components/Chat/hooks/useSyncDatabase.ts +11 -17
  335. package/src/components/MessageMenu/MessageUserReactions.tsx +7 -1
  336. package/src/components/MessageMenu/hooks/useFetchReactions.ts +68 -35
  337. package/src/contexts/messagesContext/MessagesContext.tsx +1 -1
  338. package/src/index.ts +1 -0
  339. package/src/mock-builders/event/channelVisible.js +7 -0
  340. package/src/mock-builders/event/memberAdded.js +3 -1
  341. package/src/mock-builders/event/memberRemoved.js +1 -0
  342. package/src/mock-builders/event/memberUpdated.js +1 -0
  343. package/src/mock-builders/event/messageNew.js +1 -0
  344. package/src/mock-builders/event/messageRead.js +5 -2
  345. package/src/mock-builders/event/notificationMarkUnread.js +3 -0
  346. package/src/mock-builders/generator/channel.ts +15 -3
  347. package/src/store/OfflineDB.ts +93 -0
  348. package/src/store/SqliteClient.ts +7 -1
  349. package/src/store/apis/addPendingTask.ts +2 -1
  350. package/src/store/apis/channelExists.ts +14 -0
  351. package/src/store/apis/deleteChannel.ts +9 -3
  352. package/src/store/apis/deleteMember.ts +4 -4
  353. package/src/store/apis/deleteMessage.ts +18 -8
  354. package/src/store/apis/deleteMessagesForChannel.ts +12 -8
  355. package/src/store/apis/deleteReaction.ts +39 -19
  356. package/src/store/apis/deleteReactions.ts +4 -4
  357. package/src/store/apis/dropPendingTasks.ts +32 -0
  358. package/src/store/apis/getChannelMessages.ts +1 -1
  359. package/src/store/apis/getChannels.ts +10 -7
  360. package/src/store/apis/getLastSyncedAt.ts +2 -5
  361. package/src/store/apis/getReactionsforFilterSort.ts +8 -7
  362. package/src/store/apis/index.ts +10 -1
  363. package/src/store/apis/insertReaction.ts +4 -4
  364. package/src/store/apis/queries/selectMessagesForChannels.ts +2 -2
  365. package/src/store/apis/queries/selectReactionsForMessages.ts +21 -2
  366. package/src/store/apis/softDeleteMessage.ts +32 -0
  367. package/src/store/apis/updateMessage.ts +3 -10
  368. package/src/store/apis/updateReaction.ts +7 -5
  369. package/src/store/apis/upsertAppSettings.ts +13 -9
  370. package/src/store/apis/upsertChannelData.ts +4 -4
  371. package/src/store/apis/upsertChannelDataFromChannel.ts +3 -3
  372. package/src/store/apis/upsertChannels.ts +14 -24
  373. package/src/store/apis/upsertCidsForQuery.ts +4 -4
  374. package/src/store/apis/upsertMembers.ts +4 -4
  375. package/src/store/apis/upsertMessages.ts +4 -4
  376. package/src/store/apis/upsertPoll.ts +29 -0
  377. package/src/store/apis/upsertReads.ts +4 -4
  378. package/src/store/apis/upsertUserSyncStatus.ts +13 -5
  379. package/src/store/mappers/mapMemberToStorable.ts +4 -0
  380. package/src/store/mappers/mapReadToStorable.ts +2 -1
  381. package/src/store/mappers/mapStorableToMember.ts +4 -0
  382. package/src/store/mappers/mapStorableToRead.ts +2 -1
  383. package/src/store/mappers/mapStorableToTask.ts +3 -1
  384. package/src/store/mappers/mapTaskToStorable.ts +1 -1
  385. package/src/store/schema.ts +5 -3
  386. package/src/utils/addReactionToLocalState.ts +9 -63
  387. package/src/utils/removeReactionFromLocalState.ts +0 -8
  388. package/src/version.json +1 -1
  389. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js +0 -406
  390. package/lib/commonjs/components/Chat/hooks/handleEventToSyncDB.js.map +0 -1
  391. package/lib/commonjs/store/apis/updatePollMessage.js +0 -84
  392. package/lib/commonjs/store/apis/updatePollMessage.js.map +0 -1
  393. package/lib/commonjs/utils/DBSyncManager.js +0 -470
  394. package/lib/commonjs/utils/DBSyncManager.js.map +0 -1
  395. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js +0 -406
  396. package/lib/module/components/Chat/hooks/handleEventToSyncDB.js.map +0 -1
  397. package/lib/module/store/apis/updatePollMessage.js +0 -84
  398. package/lib/module/store/apis/updatePollMessage.js.map +0 -1
  399. package/lib/module/utils/DBSyncManager.js +0 -470
  400. package/lib/module/utils/DBSyncManager.js.map +0 -1
  401. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts +0 -4
  402. package/lib/typescript/components/Chat/hooks/handleEventToSyncDB.d.ts.map +0 -1
  403. package/lib/typescript/store/apis/updatePollMessage.d.ts +0 -10
  404. package/lib/typescript/store/apis/updatePollMessage.d.ts.map +0 -1
  405. package/lib/typescript/utils/DBSyncManager.d.ts +0 -50
  406. package/lib/typescript/utils/DBSyncManager.d.ts.map +0 -1
  407. package/src/components/Chat/hooks/handleEventToSyncDB.ts +0 -290
  408. package/src/store/apis/updatePollMessage.ts +0 -71
  409. package/src/utils/DBSyncManager.ts +0 -242
@@ -45,9 +45,7 @@ var dbApi = _interopRequireWildcard(require("../../store/apis"));
45
45
  var _types = require("../../types/types");
46
46
  var _addReactionToLocalState = require("../../utils/addReactionToLocalState");
47
47
  var _compressImage = require("../../utils/compressImage");
48
- var _DBSyncManager = require("../../utils/DBSyncManager");
49
48
  var _patchMessageTextCommand = require("../../utils/patchMessageTextCommand");
50
- var _removeReactionFromLocalState = require("../../utils/removeReactionFromLocalState");
51
49
  var _removeReservedFields = require("../../utils/removeReservedFields");
52
50
  var _utils = require("../../utils/utils");
53
51
  var _Attachment = require("../Attachment/Attachment");
@@ -171,7 +169,7 @@ var debounceOptions = {
171
169
  trailing: true
172
170
  };
173
171
  var ChannelWithContext = function ChannelWithContext(props) {
174
- var _channel$getConfig, _channel$data, _ref19, _channelState$members, _channelState$read, _getChannelConfigSafe, _getChannelConfigSafe2, _ref20, _channelMessagesState3, _channelState$typing, _channelMessagesState4;
172
+ var _channel$getConfig, _channel$data, _ref20, _channelState$members, _channelState$read, _getChannelConfigSafe, _getChannelConfigSafe2, _ref21, _channelMessagesState3, _channelState$typing, _channelMessagesState4;
175
173
  var additionalKeyboardAvoidingViewProps = props.additionalKeyboardAvoidingViewProps,
176
174
  additionalPressableProps = props.additionalPressableProps,
177
175
  additionalTextInputProps = props.additionalTextInputProps,
@@ -471,7 +469,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
471
469
  _props$UrlPreview = props.UrlPreview,
472
470
  UrlPreview = _props$UrlPreview === void 0 ? _Card.Card : _props$UrlPreview,
473
471
  _props$VideoThumbnail = props.VideoThumbnail,
474
- VideoThumbnail = _props$VideoThumbnail === void 0 ? _VideoThumbnail.VideoThumbnail : _props$VideoThumbnail;
472
+ VideoThumbnail = _props$VideoThumbnail === void 0 ? _VideoThumbnail.VideoThumbnail : _props$VideoThumbnail,
473
+ isOnline = props.isOnline;
475
474
  var threadProps = threadFromProps.thread,
476
475
  threadInstance = threadFromProps.threadInstance;
477
476
  var StopMessageStreamingButton = StopMessageStreamingButtonOverride === undefined ? _StopMessageStreamingButton.StopMessageStreamingButton : StopMessageStreamingButtonOverride;
@@ -868,17 +867,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
868
867
  case 2:
869
868
  syncingChannelRef.current = true;
870
869
  setError(false);
871
- if (!(channelMessagesState != null && channelMessagesState.messages)) {
872
- _context4.next = 7;
873
- break;
874
- }
875
- _context4.next = 7;
876
- return channel == null ? void 0 : channel.watch({
877
- messages: {
878
- limit: channelMessagesState.messages.length + 30
879
- }
880
- });
881
- case 7:
882
870
  parseMessage = function parseMessage(message) {
883
871
  var _message$pinned_at, _message$updated_at;
884
872
  return Object.assign({}, message, {
@@ -887,7 +875,18 @@ var ChannelWithContext = function ChannelWithContext(props) {
887
875
  updated_at: (_message$updated_at = message.updated_at) == null ? void 0 : _message$updated_at.toString()
888
876
  });
889
877
  };
890
- _context4.prev = 8;
878
+ _context4.prev = 5;
879
+ if (!(channelMessagesState != null && channelMessagesState.messages)) {
880
+ _context4.next = 9;
881
+ break;
882
+ }
883
+ _context4.next = 9;
884
+ return channel == null ? void 0 : channel.watch({
885
+ messages: {
886
+ limit: channelMessagesState.messages.length + 30
887
+ }
888
+ });
889
+ case 9:
891
890
  if (thread) {
892
891
  _context4.next = 16;
893
892
  break;
@@ -918,7 +917,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
918
917
  break;
919
918
  case 22:
920
919
  _context4.prev = 22;
921
- _context4.t0 = _context4["catch"](8);
920
+ _context4.t0 = _context4["catch"](5);
922
921
  if (_context4.t0 instanceof Error) {
923
922
  setError(_context4.t0);
924
923
  } else {
@@ -930,7 +929,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
930
929
  case "end":
931
930
  return _context4.stop();
932
931
  }
933
- }, _callee4, null, [[8, 22]]);
932
+ }, _callee4, null, [[5, 22]]);
934
933
  })));
935
934
  var resyncChannelRef = (0, _react.useRef)(resyncChannel);
936
935
  resyncChannelRef.current = resyncChannel;
@@ -941,8 +940,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
941
940
  }
942
941
  };
943
942
  var connectionChangedSubscription;
944
- if (enableOfflineSupport) {
945
- connectionChangedSubscription = _DBSyncManager.DBSyncManager.onSyncStatusChange(function (statusChanged) {
943
+ if (enableOfflineSupport && client.offlineDb) {
944
+ connectionChangedSubscription = client.offlineDb.syncManager.onSyncStatusChange(function (statusChanged) {
946
945
  if (statusChanged) {
947
946
  connectionChangedHandler();
948
947
  }
@@ -957,7 +956,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
957
956
  return function () {
958
957
  connectionChangedSubscription.unsubscribe();
959
958
  };
960
- }, [enableOfflineSupport, shouldSyncChannel]);
959
+ }, [enableOfflineSupport, client, shouldSyncChannel]);
961
960
  var getChannelConfigSafely = function getChannelConfigSafely() {
962
961
  try {
963
962
  return channel == null ? void 0 : channel.getConfig();
@@ -1237,24 +1236,71 @@ var ChannelWithContext = function ChannelWithContext(props) {
1237
1236
  };
1238
1237
  }());
1239
1238
  var sendMessageRequest = (0, _hooks.useStableCallback)(function () {
1240
- var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8(message, retrying) {
1241
- var updatedMessage, extraFields, attachments, id, mentioned_users, parent_id, text, mentionedUserIds, messageData, messageResponse, _updatedMessage;
1242
- return _regenerator["default"].wrap(function _callee8$(_context8) {
1243
- while (1) switch (_context8.prev = _context8.next) {
1239
+ var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(message, retrying) {
1240
+ var failedMessageUpdated, handleFailedMessage, _messageResponse, updatedMessage, extraFields, attachments, id, mentioned_users, parent_id, text, mentionedUserIds, messageData, messageResponse, newMessageResponse;
1241
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
1242
+ while (1) switch (_context9.prev = _context9.next) {
1244
1243
  case 0:
1245
- _context8.prev = 0;
1246
- _context8.next = 3;
1244
+ failedMessageUpdated = false;
1245
+ handleFailedMessage = function () {
1246
+ var _ref12 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
1247
+ var updatedMessage;
1248
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
1249
+ while (1) switch (_context8.prev = _context8.next) {
1250
+ case 0:
1251
+ if (failedMessageUpdated) {
1252
+ _context8.next = 9;
1253
+ break;
1254
+ }
1255
+ updatedMessage = Object.assign({}, message, {
1256
+ cid: channel.cid,
1257
+ status: _utils.MessageStatusTypes.FAILED
1258
+ });
1259
+ updateMessage(updatedMessage);
1260
+ threadInstance == null || threadInstance.upsertReplyLocally == null || threadInstance.upsertReplyLocally({
1261
+ message: updatedMessage
1262
+ });
1263
+ optimisticallyUpdatedNewMessages["delete"](message.id);
1264
+ if (!enableOfflineSupport) {
1265
+ _context8.next = 8;
1266
+ break;
1267
+ }
1268
+ _context8.next = 8;
1269
+ return dbApi.updateMessage({
1270
+ message: updatedMessage
1271
+ });
1272
+ case 8:
1273
+ failedMessageUpdated = true;
1274
+ case 9:
1275
+ case "end":
1276
+ return _context8.stop();
1277
+ }
1278
+ }, _callee8);
1279
+ }));
1280
+ return function handleFailedMessage() {
1281
+ return _ref12.apply(this, arguments);
1282
+ };
1283
+ }();
1284
+ _context9.prev = 2;
1285
+ if (isOnline) {
1286
+ _context9.next = 6;
1287
+ break;
1288
+ }
1289
+ _context9.next = 6;
1290
+ return handleFailedMessage();
1291
+ case 6:
1292
+ _context9.next = 8;
1247
1293
  return uploadPendingAttachments(message);
1248
- case 3:
1249
- updatedMessage = _context8.sent;
1294
+ case 8:
1295
+ updatedMessage = _context9.sent;
1250
1296
  extraFields = (0, _omit["default"])(updatedMessage, ['__html', 'attachments', 'created_at', 'deleted_at', 'html', 'id', 'latest_reactions', 'mentioned_users', 'own_reactions', 'parent_id', 'quoted_message', 'reaction_counts', 'reaction_groups', 'reactions', 'status', 'text', 'type', 'updated_at', 'user']);
1251
1297
  attachments = updatedMessage.attachments, id = updatedMessage.id, mentioned_users = updatedMessage.mentioned_users, parent_id = updatedMessage.parent_id, text = updatedMessage.text;
1252
1298
  if (channel.id) {
1253
- _context8.next = 8;
1299
+ _context9.next = 13;
1254
1300
  break;
1255
1301
  }
1256
- return _context8.abrupt("return");
1257
- case 8:
1302
+ return _context9.abrupt("return");
1303
+ case 13:
1258
1304
  mentionedUserIds = (mentioned_users == null ? void 0 : mentioned_users.map(function (user) {
1259
1305
  return user.id;
1260
1306
  })) || [];
@@ -1267,88 +1313,73 @@ var ChannelWithContext = function ChannelWithContext(props) {
1267
1313
  }, extraFields);
1268
1314
  messageResponse = {};
1269
1315
  if (!doSendMessageRequest) {
1270
- _context8.next = 17;
1316
+ _context9.next = 22;
1271
1317
  break;
1272
1318
  }
1273
- _context8.next = 14;
1319
+ _context9.next = 19;
1274
1320
  return doSendMessageRequest((channel == null ? void 0 : channel.cid) || '', messageData);
1275
- case 14:
1276
- messageResponse = _context8.sent;
1277
- _context8.next = 21;
1321
+ case 19:
1322
+ messageResponse = _context9.sent;
1323
+ _context9.next = 26;
1278
1324
  break;
1279
- case 17:
1325
+ case 22:
1280
1326
  if (!channel) {
1281
- _context8.next = 21;
1327
+ _context9.next = 26;
1282
1328
  break;
1283
1329
  }
1284
- _context8.next = 20;
1330
+ _context9.next = 25;
1285
1331
  return channel.sendMessage(messageData);
1286
- case 20:
1287
- messageResponse = _context8.sent;
1288
- case 21:
1289
- if (!messageResponse.message) {
1290
- _context8.next = 27;
1332
+ case 25:
1333
+ messageResponse = _context9.sent;
1334
+ case 26:
1335
+ if (!((_messageResponse = messageResponse) != null && _messageResponse.message)) {
1336
+ _context9.next = 32;
1291
1337
  break;
1292
1338
  }
1293
- messageResponse.message.status = _utils.MessageStatusTypes.RECEIVED;
1339
+ newMessageResponse = Object.assign({}, messageResponse.message, {
1340
+ status: _utils.MessageStatusTypes.RECEIVED
1341
+ });
1294
1342
  if (!enableOfflineSupport) {
1295
- _context8.next = 26;
1343
+ _context9.next = 31;
1296
1344
  break;
1297
1345
  }
1298
- _context8.next = 26;
1346
+ _context9.next = 31;
1299
1347
  return dbApi.updateMessage({
1300
- message: Object.assign({}, messageResponse.message, {
1348
+ message: Object.assign({}, newMessageResponse, {
1301
1349
  cid: channel.cid
1302
1350
  })
1303
1351
  });
1304
- case 26:
1352
+ case 31:
1305
1353
  if (retrying) {
1306
- replaceMessage(message, messageResponse.message);
1354
+ replaceMessage(message, newMessageResponse);
1307
1355
  } else {
1308
- updateMessage(messageResponse.message, {}, true);
1356
+ updateMessage(newMessageResponse, {}, true);
1309
1357
  }
1310
- case 27:
1311
- _context8.next = 40;
1358
+ case 32:
1359
+ _context9.next = 39;
1312
1360
  break;
1313
- case 29:
1314
- _context8.prev = 29;
1315
- _context8.t0 = _context8["catch"](0);
1316
- console.log(_context8.t0);
1317
- message.status = _utils.MessageStatusTypes.FAILED;
1318
- _updatedMessage = Object.assign({}, message, {
1319
- cid: channel.cid
1320
- });
1321
- updateMessage(_updatedMessage);
1322
- threadInstance == null || threadInstance.upsertReplyLocally == null || threadInstance.upsertReplyLocally({
1323
- message: _updatedMessage
1324
- });
1325
- optimisticallyUpdatedNewMessages["delete"](message.id);
1326
- if (!enableOfflineSupport) {
1327
- _context8.next = 40;
1328
- break;
1329
- }
1330
- _context8.next = 40;
1331
- return dbApi.updateMessage({
1332
- message: Object.assign({}, message, {
1333
- cid: channel.cid
1334
- })
1335
- });
1336
- case 40:
1361
+ case 34:
1362
+ _context9.prev = 34;
1363
+ _context9.t0 = _context9["catch"](2);
1364
+ console.log(_context9.t0);
1365
+ _context9.next = 39;
1366
+ return handleFailedMessage();
1367
+ case 39:
1337
1368
  case "end":
1338
- return _context8.stop();
1369
+ return _context9.stop();
1339
1370
  }
1340
- }, _callee8, null, [[0, 29]]);
1371
+ }, _callee9, null, [[2, 34]]);
1341
1372
  }));
1342
1373
  return function (_x4, _x5) {
1343
1374
  return _ref11.apply(this, arguments);
1344
1375
  };
1345
1376
  }());
1346
1377
  var sendMessage = (0, _hooks.useStableCallback)(function () {
1347
- var _ref12 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9(message) {
1378
+ var _ref13 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(message) {
1348
1379
  var _channel$state;
1349
1380
  var messagePreview;
1350
- return _regenerator["default"].wrap(function _callee9$(_context9) {
1351
- while (1) switch (_context9.prev = _context9.next) {
1381
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
1382
+ while (1) switch (_context10.prev = _context10.next) {
1352
1383
  case 0:
1353
1384
  if (channel != null && (_channel$state = channel.state) != null && _channel$state.filterErrorMessages) {
1354
1385
  channel.state.filterErrorMessages();
@@ -1365,10 +1396,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
1365
1396
  });
1366
1397
  optimisticallyUpdatedNewMessages.add(messagePreview.id);
1367
1398
  if (!enableOfflineSupport) {
1368
- _context9.next = 8;
1399
+ _context10.next = 8;
1369
1400
  break;
1370
1401
  }
1371
- _context9.next = 8;
1402
+ _context10.next = 8;
1372
1403
  return dbApi.upsertMessages({
1373
1404
  messages: [Object.assign({}, messagePreview, {
1374
1405
  cid: channel.cid,
@@ -1376,23 +1407,23 @@ var ChannelWithContext = function ChannelWithContext(props) {
1376
1407
  })]
1377
1408
  });
1378
1409
  case 8:
1379
- _context9.next = 10;
1410
+ _context10.next = 10;
1380
1411
  return sendMessageRequest(messagePreview);
1381
1412
  case 10:
1382
1413
  case "end":
1383
- return _context9.stop();
1414
+ return _context10.stop();
1384
1415
  }
1385
- }, _callee9);
1416
+ }, _callee10);
1386
1417
  }));
1387
1418
  return function (_x6) {
1388
- return _ref12.apply(this, arguments);
1419
+ return _ref13.apply(this, arguments);
1389
1420
  };
1390
1421
  }());
1391
1422
  var retrySendMessage = (0, _hooks.useStableCallback)(function () {
1392
- var _ref13 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(message) {
1423
+ var _ref14 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(message) {
1393
1424
  var statusPendingMessage, messageWithoutReservedFields;
1394
- return _regenerator["default"].wrap(function _callee10$(_context10) {
1395
- while (1) switch (_context10.prev = _context10.next) {
1425
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
1426
+ while (1) switch (_context11.prev = _context11.next) {
1396
1427
  case 0:
1397
1428
  statusPendingMessage = Object.assign({}, message, {
1398
1429
  status: _utils.MessageStatusTypes.SENDING
@@ -1401,16 +1432,16 @@ var ChannelWithContext = function ChannelWithContext(props) {
1401
1432
  if (!(0, _utils.isBouncedMessage)(message)) {
1402
1433
  updateMessage(messageWithoutReservedFields);
1403
1434
  }
1404
- _context10.next = 5;
1435
+ _context11.next = 5;
1405
1436
  return sendMessageRequest(messageWithoutReservedFields, true);
1406
1437
  case 5:
1407
1438
  case "end":
1408
- return _context10.stop();
1439
+ return _context11.stop();
1409
1440
  }
1410
- }, _callee10);
1441
+ }, _callee11);
1411
1442
  }));
1412
1443
  return function (_x7) {
1413
- return _ref13.apply(this, arguments);
1444
+ return _ref14.apply(this, arguments);
1414
1445
  };
1415
1446
  }());
1416
1447
  var editMessage = (0, _hooks.useStableCallback)(function (updatedMessage) {
@@ -1430,9 +1461,9 @@ var ChannelWithContext = function ChannelWithContext(props) {
1430
1461
  return setQuotedMessage(undefined);
1431
1462
  });
1432
1463
  var removeMessage = (0, _hooks.useStableCallback)(function () {
1433
- var _ref14 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(message) {
1434
- return _regenerator["default"].wrap(function _callee11$(_context11) {
1435
- while (1) switch (_context11.prev = _context11.next) {
1464
+ var _ref15 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(message) {
1465
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
1466
+ while (1) switch (_context12.prev = _context12.next) {
1436
1467
  case 0:
1437
1468
  if (channel) {
1438
1469
  channel.state.removeMessage(message);
@@ -1441,32 +1472,32 @@ var ChannelWithContext = function ChannelWithContext(props) {
1441
1472
  setThreadMessages(channel.state.threads[thread.id] || []);
1442
1473
  }
1443
1474
  }
1444
- if (!enableOfflineSupport) {
1445
- _context11.next = 4;
1475
+ if (!client.offlineDb) {
1476
+ _context12.next = 4;
1446
1477
  break;
1447
1478
  }
1448
- _context11.next = 4;
1449
- return dbApi.deleteMessage({
1450
- id: message.id
1479
+ _context12.next = 4;
1480
+ return client.offlineDb.handleRemoveMessage({
1481
+ messageId: message.id
1451
1482
  });
1452
1483
  case 4:
1453
1484
  case "end":
1454
- return _context11.stop();
1485
+ return _context12.stop();
1455
1486
  }
1456
- }, _callee11);
1487
+ }, _callee12);
1457
1488
  }));
1458
1489
  return function (_x8) {
1459
- return _ref14.apply(this, arguments);
1490
+ return _ref15.apply(this, arguments);
1460
1491
  };
1461
1492
  }());
1462
1493
  var sendReaction = (0, _hooks.useStableCallback)(function () {
1463
- var _ref15 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(type, messageId) {
1494
+ var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(type, messageId) {
1464
1495
  var payload, sendReactionResponse;
1465
- return _regenerator["default"].wrap(function _callee12$(_context12) {
1466
- while (1) switch (_context12.prev = _context12.next) {
1496
+ return _regenerator["default"].wrap(function _callee13$(_context13) {
1497
+ while (1) switch (_context13.prev = _context13.next) {
1467
1498
  case 0:
1468
1499
  if (!(!(channel != null && channel.id) || !client.user)) {
1469
- _context12.next = 2;
1500
+ _context13.next = 2;
1470
1501
  break;
1471
1502
  }
1472
1503
  throw new Error('Channel has not been initialized');
@@ -1476,96 +1507,65 @@ var ChannelWithContext = function ChannelWithContext(props) {
1476
1507
  }, {
1477
1508
  enforce_unique: enforceUniqueReaction
1478
1509
  }];
1479
- if (enableOfflineSupport) {
1480
- _context12.next = 7;
1510
+ if (!enableOfflineSupport) {
1511
+ _context13.next = 7;
1481
1512
  break;
1482
1513
  }
1483
- _context12.next = 6;
1484
- return channel.sendReaction.apply(channel, payload);
1485
- case 6:
1486
- return _context12.abrupt("return");
1487
- case 7:
1488
- (0, _addReactionToLocalState.addReactionToLocalState)({
1514
+ _context13.next = 6;
1515
+ return (0, _addReactionToLocalState.addReactionToLocalState)({
1489
1516
  channel: channel,
1490
1517
  enforceUniqueReaction: enforceUniqueReaction,
1491
1518
  messageId: messageId,
1492
1519
  reactionType: type,
1493
1520
  user: client.user
1494
1521
  });
1522
+ case 6:
1495
1523
  copyMessagesStateFromChannel(channel);
1496
- _context12.next = 11;
1497
- return _DBSyncManager.DBSyncManager.queueTask({
1498
- client: client,
1499
- task: {
1500
- channelId: channel.id,
1501
- channelType: channel.type,
1502
- messageId: messageId,
1503
- payload: payload,
1504
- type: 'send-reaction'
1505
- }
1506
- });
1507
- case 11:
1508
- sendReactionResponse = _context12.sent;
1524
+ case 7:
1525
+ _context13.next = 9;
1526
+ return channel.sendReaction.apply(channel, payload);
1527
+ case 9:
1528
+ sendReactionResponse = _context13.sent;
1509
1529
  if (sendReactionResponse != null && sendReactionResponse.message) {
1510
1530
  threadInstance == null || threadInstance.upsertReplyLocally == null || threadInstance.upsertReplyLocally({
1511
1531
  message: sendReactionResponse.message
1512
1532
  });
1513
1533
  }
1514
- case 13:
1534
+ case 11:
1515
1535
  case "end":
1516
- return _context12.stop();
1536
+ return _context13.stop();
1517
1537
  }
1518
- }, _callee12);
1538
+ }, _callee13);
1519
1539
  }));
1520
1540
  return function (_x9, _x10) {
1521
- return _ref15.apply(this, arguments);
1541
+ return _ref16.apply(this, arguments);
1522
1542
  };
1523
1543
  }());
1524
1544
  var deleteMessage = (0, _hooks.useStableCallback)(function () {
1525
- var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(message) {
1526
- var updatedMessage, data;
1527
- return _regenerator["default"].wrap(function _callee13$(_context13) {
1528
- while (1) switch (_context13.prev = _context13.next) {
1545
+ var _ref17 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14(message) {
1546
+ var hardDelete,
1547
+ updatedMessage,
1548
+ data,
1549
+ _args14 = arguments;
1550
+ return _regenerator["default"].wrap(function _callee14$(_context14) {
1551
+ while (1) switch (_context14.prev = _context14.next) {
1529
1552
  case 0:
1553
+ hardDelete = _args14.length > 1 && _args14[1] !== undefined ? _args14[1] : false;
1530
1554
  if (channel.id) {
1531
- _context13.next = 2;
1555
+ _context14.next = 3;
1532
1556
  break;
1533
1557
  }
1534
1558
  throw new Error('Channel has not been initialized yet');
1535
- case 2:
1536
- if (enableOfflineSupport) {
1537
- _context13.next = 10;
1538
- break;
1539
- }
1559
+ case 3:
1540
1560
  if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
1541
- _context13.next = 7;
1561
+ _context14.next = 7;
1542
1562
  break;
1543
1563
  }
1544
- _context13.next = 6;
1564
+ _context14.next = 6;
1545
1565
  return removeMessage(message);
1546
1566
  case 6:
1547
- return _context13.abrupt("return");
1567
+ return _context14.abrupt("return");
1548
1568
  case 7:
1549
- _context13.next = 9;
1550
- return client.deleteMessage(message.id);
1551
- case 9:
1552
- return _context13.abrupt("return");
1553
- case 10:
1554
- if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
1555
- _context13.next = 17;
1556
- break;
1557
- }
1558
- _context13.next = 13;
1559
- return _DBSyncManager.DBSyncManager.dropPendingTasks({
1560
- messageId: message.id
1561
- });
1562
- case 13:
1563
- _context13.next = 15;
1564
- return removeMessage(message);
1565
- case 15:
1566
- _context13.next = 24;
1567
- break;
1568
- case 17:
1569
1569
  updatedMessage = Object.assign({}, message, {
1570
1570
  cid: channel.cid,
1571
1571
  deleted_at: new Date(),
@@ -1575,80 +1575,55 @@ var ChannelWithContext = function ChannelWithContext(props) {
1575
1575
  threadInstance == null || threadInstance.upsertReplyLocally({
1576
1576
  message: updatedMessage
1577
1577
  });
1578
- _context13.next = 22;
1579
- return _DBSyncManager.DBSyncManager.queueTask({
1580
- client: client,
1581
- task: {
1582
- channelId: channel.id,
1583
- channelType: channel.type,
1584
- messageId: message.id,
1585
- payload: [message.id],
1586
- type: 'delete-message'
1587
- }
1588
- });
1589
- case 22:
1590
- data = _context13.sent;
1578
+ _context14.next = 12;
1579
+ return client.deleteMessage(message.id, hardDelete);
1580
+ case 12:
1581
+ data = _context14.sent;
1591
1582
  if (data != null && data.message) {
1592
1583
  updateMessage(Object.assign({}, data.message));
1593
1584
  }
1594
- case 24:
1585
+ case 14:
1595
1586
  case "end":
1596
- return _context13.stop();
1587
+ return _context14.stop();
1597
1588
  }
1598
- }, _callee13);
1589
+ }, _callee14);
1599
1590
  }));
1600
1591
  return function (_x11) {
1601
- return _ref16.apply(this, arguments);
1592
+ return _ref17.apply(this, arguments);
1602
1593
  };
1603
1594
  }());
1604
1595
  var deleteReaction = (0, _hooks.useStableCallback)(function () {
1605
- var _ref17 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14(type, messageId) {
1596
+ var _ref18 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15(type, messageId) {
1606
1597
  var payload;
1607
- return _regenerator["default"].wrap(function _callee14$(_context14) {
1608
- while (1) switch (_context14.prev = _context14.next) {
1598
+ return _regenerator["default"].wrap(function _callee15$(_context15) {
1599
+ while (1) switch (_context15.prev = _context15.next) {
1609
1600
  case 0:
1610
1601
  if (!(!(channel != null && channel.id) || !client.user)) {
1611
- _context14.next = 2;
1602
+ _context15.next = 2;
1612
1603
  break;
1613
1604
  }
1614
1605
  throw new Error('Channel has not been initialized');
1615
1606
  case 2:
1616
1607
  payload = [messageId, type];
1617
1608
  if (enableOfflineSupport) {
1618
- _context14.next = 7;
1619
- break;
1609
+ channel.state.removeReaction({
1610
+ created_at: '',
1611
+ message_id: messageId,
1612
+ type: type,
1613
+ updated_at: ''
1614
+ });
1615
+ copyMessagesStateFromChannel(channel);
1620
1616
  }
1621
- _context14.next = 6;
1617
+ _context15.next = 6;
1622
1618
  return channel.deleteReaction.apply(channel, payload);
1623
1619
  case 6:
1624
- return _context14.abrupt("return");
1625
- case 7:
1626
- (0, _removeReactionFromLocalState.removeReactionFromLocalState)({
1627
- channel: channel,
1628
- messageId: messageId,
1629
- reactionType: type,
1630
- user: client.user
1631
- });
1632
- copyMessagesStateFromChannel(channel);
1633
- _context14.next = 11;
1634
- return _DBSyncManager.DBSyncManager.queueTask({
1635
- client: client,
1636
- task: {
1637
- channelId: channel.id,
1638
- channelType: channel.type,
1639
- messageId: messageId,
1640
- payload: payload,
1641
- type: 'delete-reaction'
1642
- }
1643
- });
1644
- case 11:
1645
1620
  case "end":
1646
- return _context14.stop();
1621
+ return _context15.stop();
1647
1622
  }
1648
- }, _callee14);
1623
+ }, _callee15);
1649
1624
  }));
1650
1625
  return function (_x12, _x13) {
1651
- return _ref17.apply(this, arguments);
1626
+ return _ref18.apply(this, arguments);
1652
1627
  };
1653
1628
  }());
1654
1629
  var openThread = (0, _react.useCallback)(function (message) {
@@ -1668,56 +1643,56 @@ var ChannelWithContext = function ChannelWithContext(props) {
1668
1643
  setThreadLoadingMore(false);
1669
1644
  setThreadMessages(updatedThreadMessages);
1670
1645
  }, defaultDebounceInterval, debounceOptions)).current;
1671
- var loadMoreThread = (0, _hooks.useStableCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15() {
1646
+ var loadMoreThread = (0, _hooks.useStableCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16() {
1672
1647
  var _threadMessages$, parentID, oldestMessageID, limit, queryResponse, updatedHasMore, updatedThreadMessages;
1673
- return _regenerator["default"].wrap(function _callee15$(_context15) {
1674
- while (1) switch (_context15.prev = _context15.next) {
1648
+ return _regenerator["default"].wrap(function _callee16$(_context16) {
1649
+ while (1) switch (_context16.prev = _context16.next) {
1675
1650
  case 0:
1676
1651
  if (!(threadLoadingMore || !(thread != null && thread.id))) {
1677
- _context15.next = 2;
1652
+ _context16.next = 2;
1678
1653
  break;
1679
1654
  }
1680
- return _context15.abrupt("return");
1655
+ return _context16.abrupt("return");
1681
1656
  case 2:
1682
1657
  setThreadLoadingMore(true);
1683
- _context15.prev = 3;
1658
+ _context16.prev = 3;
1684
1659
  if (!channel) {
1685
- _context15.next = 15;
1660
+ _context16.next = 15;
1686
1661
  break;
1687
1662
  }
1688
1663
  parentID = thread.id;
1689
1664
  channel.state.threads[parentID] = threadMessages;
1690
1665
  oldestMessageID = threadMessages == null || (_threadMessages$ = threadMessages[0]) == null ? void 0 : _threadMessages$.id;
1691
1666
  limit = 50;
1692
- _context15.next = 11;
1667
+ _context16.next = 11;
1693
1668
  return channel.getReplies(parentID, {
1694
1669
  id_lt: oldestMessageID,
1695
1670
  limit: limit
1696
1671
  });
1697
1672
  case 11:
1698
- queryResponse = _context15.sent;
1673
+ queryResponse = _context16.sent;
1699
1674
  updatedHasMore = queryResponse.messages.length === limit;
1700
1675
  updatedThreadMessages = channel.state.threads[parentID] || [];
1701
1676
  loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
1702
1677
  case 15:
1703
- _context15.next = 23;
1678
+ _context16.next = 23;
1704
1679
  break;
1705
1680
  case 17:
1706
- _context15.prev = 17;
1707
- _context15.t0 = _context15["catch"](3);
1708
- console.warn('Message pagination request failed with error', _context15.t0);
1709
- if (_context15.t0 instanceof Error) {
1710
- setError(_context15.t0);
1681
+ _context16.prev = 17;
1682
+ _context16.t0 = _context16["catch"](3);
1683
+ console.warn('Message pagination request failed with error', _context16.t0);
1684
+ if (_context16.t0 instanceof Error) {
1685
+ setError(_context16.t0);
1711
1686
  } else {
1712
1687
  setError(true);
1713
1688
  }
1714
1689
  setThreadLoadingMore(false);
1715
- throw _context15.t0;
1690
+ throw _context16.t0;
1716
1691
  case 23:
1717
1692
  case "end":
1718
- return _context15.stop();
1693
+ return _context16.stop();
1719
1694
  }
1720
- }, _callee15, null, [[3, 17]]);
1695
+ }, _callee16, null, [[3, 17]]);
1721
1696
  })));
1722
1697
  var ownCapabilitiesContext = (0, _useCreateOwnCapabilitiesContext.useCreateOwnCapabilitiesContext)({
1723
1698
  channel: channel,
@@ -1731,7 +1706,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1731
1706
  enableMessageGroupingByUser: enableMessageGroupingByUser,
1732
1707
  enforceUniqueReaction: enforceUniqueReaction,
1733
1708
  error: error,
1734
- giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref19 = (clientChannelConfig == null ? void 0 : clientChannelConfig.commands) || []) != null && _ref19.some(function (command) {
1709
+ giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref20 = (clientChannelConfig == null ? void 0 : clientChannelConfig.commands) || []) != null && _ref20.some(function (command) {
1735
1710
  return command.name === 'giphy';
1736
1711
  })),
1737
1712
  hideDateSeparators: hideDateSeparators,
@@ -1801,7 +1776,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1801
1776
  InputEditingStateHeader: InputEditingStateHeader,
1802
1777
  InputGiphySearch: InputGiphySearch,
1803
1778
  InputReplyStateHeader: InputReplyStateHeader,
1804
- maxMessageLength: (_ref20 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref20 : undefined,
1779
+ maxMessageLength: (_ref21 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref21 : undefined,
1805
1780
  maxNumberOfFiles: maxNumberOfFiles,
1806
1781
  mentionAllAppUsersEnabled: mentionAllAppUsersEnabled,
1807
1782
  mentionAllAppUsersQuery: mentionAllAppUsersQuery,
@@ -2022,6 +1997,7 @@ var Channel = exports.Channel = function Channel(props) {
2022
1997
  var _useChatContext = (0, _ChatContext.useChatContext)(),
2023
1998
  client = _useChatContext.client,
2024
1999
  enableOfflineSupport = _useChatContext.enableOfflineSupport,
2000
+ isOnline = _useChatContext.isOnline,
2025
2001
  isMessageAIGenerated = _useChatContext.isMessageAIGenerated;
2026
2002
  var _useTranslationContex = (0, _TranslationContext.useTranslationContext)(),
2027
2003
  t = _useTranslationContex.t;
@@ -2043,6 +2019,7 @@ var Channel = exports.Channel = function Channel(props) {
2043
2019
  }, props, {
2044
2020
  shouldSyncChannel: shouldSyncChannel,
2045
2021
  isMessageAIGenerated: isMessageAIGenerated,
2022
+ isOnline: isOnline,
2046
2023
  setThreadMessages: setThreadMessages,
2047
2024
  thread: thread,
2048
2025
  threadMessages: threadMessages