stream-chat-react-native-core 5.15.0-beta.5 → 5.15.0-beta.7

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 (29) hide show
  1. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +24 -56
  2. package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  3. package/lib/commonjs/store/apis/index.js +4 -4
  4. package/lib/commonjs/store/apis/index.js.map +1 -1
  5. package/lib/commonjs/store/apis/{upsertLastSyncedAt.js → upsertUserSyncStatus.js} +4 -4
  6. package/lib/commonjs/store/apis/upsertUserSyncStatus.js.map +1 -0
  7. package/lib/commonjs/utils/DBSyncManager.js +18 -12
  8. package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
  9. package/lib/commonjs/version.json +1 -1
  10. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +24 -56
  11. package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
  12. package/lib/module/store/apis/index.js +4 -4
  13. package/lib/module/store/apis/index.js.map +1 -1
  14. package/lib/module/store/apis/{upsertLastSyncedAt.js → upsertUserSyncStatus.js} +4 -4
  15. package/lib/module/store/apis/upsertUserSyncStatus.js.map +1 -0
  16. package/lib/module/utils/DBSyncManager.js +18 -12
  17. package/lib/module/utils/DBSyncManager.js.map +1 -1
  18. package/lib/module/version.json +1 -1
  19. package/lib/typescript/store/apis/index.d.ts +1 -1
  20. package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts +4 -0
  21. package/package.json +1 -1
  22. package/src/components/ChannelList/hooks/usePaginatedChannels.ts +8 -49
  23. package/src/store/apis/index.ts +1 -1
  24. package/src/store/apis/{upsertLastSyncedAt.ts → upsertUserSyncStatus.ts} +1 -1
  25. package/src/utils/DBSyncManager.ts +5 -2
  26. package/src/version.json +1 -1
  27. package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +0 -1
  28. package/lib/module/store/apis/upsertLastSyncedAt.js.map +0 -1
  29. package/lib/typescript/store/apis/upsertLastSyncedAt.d.ts +0 -4
@@ -15,8 +15,7 @@ var _useIsMountedRef = require("../../../hooks/useIsMountedRef");
15
15
  var _getChannelsForFilterSort = require("../../../store/apis/getChannelsForFilterSort");
16
16
  var _date = require("../../../utils/date");
17
17
  var _DBSyncManager = require("../../../utils/DBSyncManager");
18
- var _utils = require("../../../utils/utils");
19
- var _utils2 = require("../utils");
18
+ var _utils = require("../utils");
20
19
  var waitSeconds = function waitSeconds(seconds) {
21
20
  return new Promise(function (resolve) {
22
21
  setTimeout(resolve, seconds * _date.ONE_SECOND_IN_MS);
@@ -74,12 +73,7 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
74
73
  isQueryStale,
75
74
  currentRequestId,
76
75
  newOptions,
77
- failedMessagesInDb,
78
- cid,
79
- failedMessages,
80
76
  channelQueryResponse,
81
- _cid2,
82
- msgsToAdd,
83
77
  newChannels,
84
78
  _args = arguments;
85
79
  return _regenerator["default"].wrap(function _callee$(_context) {
@@ -115,35 +109,22 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
115
109
  currentRequestId = activeRequestId.current;
116
110
  setActiveQueryType(queryType);
117
111
  newOptions = (0, _extends2["default"])({
118
- limit: (_options$limit = options == null ? void 0 : options.limit) != null ? _options$limit : _utils2.MAX_QUERY_CHANNELS_LIMIT,
112
+ limit: (_options$limit = options == null ? void 0 : options.limit) != null ? _options$limit : _utils.MAX_QUERY_CHANNELS_LIMIT,
119
113
  offset: queryType === 'loadChannels' && !staticChannelsActive && channels ? channels.length : 0
120
114
  }, options);
121
115
  _context.prev = 17;
122
- failedMessagesInDb = new Map();
123
- if (enableOfflineSupport) {
124
- for (cid in client.activeChannels) {
125
- failedMessages = getFailedMessages(client.activeChannels[cid]);
126
- if (failedMessages) failedMessagesInDb.set(cid, failedMessages);
127
- }
128
- }
129
- _context.next = 22;
116
+ _context.next = 20;
130
117
  return client.queryChannels(filters, sort, newOptions, {
131
- skipInitialization: activeChannels.current
118
+ skipInitialization: enableOfflineSupport ? undefined : activeChannels.current
132
119
  });
133
- case 22:
120
+ case 20:
134
121
  channelQueryResponse = _context.sent;
135
122
  if (!(isQueryStale() || !isMountedRef.current)) {
136
- _context.next = 25;
123
+ _context.next = 23;
137
124
  break;
138
125
  }
139
126
  return _context.abrupt("return");
140
- case 25:
141
- if (failedMessagesInDb.size) {
142
- for (_cid2 in client.activeChannels) {
143
- msgsToAdd = failedMessagesInDb.get(_cid2);
144
- if (msgsToAdd) client.activeChannels[_cid2].state.addMessagesSorted(msgsToAdd);
145
- }
146
- }
127
+ case 23:
147
128
  newChannels = queryType === 'loadChannels' && !staticChannelsActive && channels ? [].concat((0, _toConsumableArray2["default"])(channels), (0, _toConsumableArray2["default"])(channelQueryResponse)) : channelQueryResponse.map(function (c) {
148
129
  var existingChannel = client.activeChannels[c.cid];
149
130
  if (existingChannel) {
@@ -155,38 +136,38 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
155
136
  setStaticChannelsActive(false);
156
137
  setHasNextPage(channelQueryResponse.length >= newOptions.limit);
157
138
  isQueryingRef.current = false;
158
- _context.next = 46;
139
+ _context.next = 43;
159
140
  break;
160
- case 33:
161
- _context.prev = 33;
141
+ case 30:
142
+ _context.prev = 30;
162
143
  _context.t0 = _context["catch"](17);
163
144
  isQueryingRef.current = false;
164
- _context.next = 38;
145
+ _context.next = 35;
165
146
  return waitSeconds(2);
166
- case 38:
147
+ case 35:
167
148
  if (!isQueryStale()) {
168
- _context.next = 40;
149
+ _context.next = 37;
169
150
  break;
170
151
  }
171
152
  return _context.abrupt("return");
172
- case 40:
153
+ case 37:
173
154
  if (!(retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current)) {
174
- _context.next = 45;
155
+ _context.next = 42;
175
156
  break;
176
157
  }
177
158
  setActiveQueryType(null);
178
159
  console.warn(_context.t0);
179
160
  setError(new Error("Maximum number of retries reached in queryChannels. Last error message is: " + _context.t0));
180
161
  return _context.abrupt("return");
181
- case 45:
162
+ case 42:
182
163
  return _context.abrupt("return", queryChannels(queryType, retryCount + 1));
183
- case 46:
164
+ case 43:
184
165
  setActiveQueryType(null);
185
- case 47:
166
+ case 44:
186
167
  case "end":
187
168
  return _context.stop();
188
169
  }
189
- }, _callee, null, [[17, 33]]);
170
+ }, _callee, null, [[17, 30]]);
190
171
  }));
191
172
  return function queryChannels() {
192
173
  return _ref2.apply(this, arguments);
@@ -238,9 +219,11 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
238
219
  sort: sort
239
220
  });
240
221
  if (channelsFromDB) {
241
- setChannels(client.hydrateActiveChannels(channelsFromDB, {
242
- offlineMode: true
243
- }));
222
+ var offlineChannels = client.hydrateActiveChannels(channelsFromDB, {
223
+ offlineMode: true,
224
+ skipInitialization: []
225
+ });
226
+ setChannels(offlineChannels);
244
227
  setStaticChannelsActive(true);
245
228
  }
246
229
  } catch (e) {
@@ -309,19 +292,4 @@ var usePaginatedChannels = function usePaginatedChannels(_ref) {
309
292
  };
310
293
  };
311
294
  exports.usePaginatedChannels = usePaginatedChannels;
312
- function getFailedMessages(channel) {
313
- var failedMsgs = channel.state.messages.filter(function (m) {
314
- return m.status === _utils.MessageStatusTypes.FAILED;
315
- });
316
- if (failedMsgs.length) {
317
- return failedMsgs.map(function (m) {
318
- return (0, _extends2["default"])({}, m, {
319
- created_at: m.created_at.toISOString(),
320
- pinned_at: m.pinned_at ? m.pinned_at.toISOString() : null,
321
- updated_at: m.updated_at.toISOString()
322
- });
323
- });
324
- }
325
- return undefined;
326
- }
327
295
  //# sourceMappingURL=usePaginatedChannels.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_ActiveChannelsRefContext","_ChatContext","_useIsMountedRef","_getChannelsForFilterSort","_date","_DBSyncManager","_utils","_utils2","waitSeconds","seconds","Promise","resolve","setTimeout","ONE_SECOND_IN_MS","DEFAULT_OPTIONS","message_limit","MAX_NUMBER_OF_RETRIES","RETRY_INTERVAL_IN_MS","usePaginatedChannels","_ref","enableOfflineSupport","_ref$filters","filters","_ref$options","options","setForceUpdate","_ref$sort","sort","_useState","useState","_useState2","_slicedToArray2","channels","setChannels","_useState3","undefined","_useState4","error","setError","_useState5","_useState6","staticChannelsActive","setStaticChannelsActive","_useState7","_useState8","activeQueryType","setActiveQueryType","_useState9","_useState10","hasNextPage","setHasNextPage","activeChannels","useActiveChannelsRefContext","isMountedRef","useIsMountedRef","_useChatContext","useChatContext","client","filtersRef","useRef","sortRef","activeRequestId","isQueryingRef","lastRefresh","Date","now","queryChannels","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","_options$limit","queryType","retryCount","hasUpdatedData","isQueryStale","currentRequestId","newOptions","failedMessagesInDb","cid","failedMessages","channelQueryResponse","_cid2","msgsToAdd","newChannels","_args","arguments","wrap","_callee$","_context","prev","next","length","current","abrupt","JSON","stringify","some","Boolean","_extends2","limit","MAX_QUERY_CHANNELS_LIMIT","offset","Map","getFailedMessages","set","skipInitialization","sent","size","get","state","addMessagesSorted","concat","_toConsumableArray2","map","c","existingChannel","t0","console","warn","Error","stop","apply","refreshList","_ref3","_callee2","_callee2$","_context2","reloadList","filterStr","useMemo","sortStr","useEffect","loadOfflineChannels","_client$user","user","id","channelsFromDB","getChannelsForFilterSort","currentUserId","hydrateActiveChannels","offlineMode","e","listener","DBSyncManager","onSyncStatusChange","syncStatus","dbSyncStatus","getSyncStatus","on","_ref4","_callee3","event","_callee3$","_context3","online","u","_x","_listener","unsubscribe","loadingChannels","loadingNextPage","loadNextPage","refreshing","exports","channel","failedMsgs","messages","filter","m","status","MessageStatusTypes","FAILED","created_at","toISOString","pinned_at","updated_at"],"sources":["usePaginatedChannels.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type {\n Channel,\n ChannelFilters,\n ChannelOptions,\n ChannelSort,\n MessageResponse,\n} from 'stream-chat';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\n\nimport { getChannelsForFilterSort } from '../../../store/apis/getChannelsForFilterSort';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { ONE_SECOND_IN_MS } from '../../../utils/date';\nimport { DBSyncManager } from '../../../utils/DBSyncManager';\nimport { MessageStatusTypes } from '../../../utils/utils';\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nconst waitSeconds = (seconds: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, seconds * ONE_SECOND_IN_MS);\n });\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n enableOfflineSupport: boolean;\n filters: ChannelFilters<StreamChatGenerics>;\n options: ChannelOptions;\n setForceUpdate: React.Dispatch<React.SetStateAction<number>>;\n sort: ChannelSort<StreamChatGenerics>;\n };\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nconst MAX_NUMBER_OF_RETRIES = 3;\nconst RETRY_INTERVAL_IN_MS = 5000;\n\ntype QueryType = 'queryLocalDB' | 'reload' | 'refresh' | 'loadChannels';\n\nexport type QueryChannels = (queryType?: QueryType, retryCount?: number) => Promise<void>;\n\nexport const usePaginatedChannels = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n enableOfflineSupport,\n filters = {},\n options = DEFAULT_OPTIONS,\n setForceUpdate,\n sort = {},\n}: Parameters<StreamChatGenerics>) => {\n const [channels, setChannels] = useState<Channel<StreamChatGenerics>[] | null>(null);\n const [error, setError] = useState<Error | undefined>(undefined);\n const [staticChannelsActive, setStaticChannelsActive] = useState<boolean>(false);\n const [activeQueryType, setActiveQueryType] = useState<QueryType | null>('queryLocalDB');\n const [hasNextPage, setHasNextPage] = useState<boolean>(false);\n const activeChannels = useActiveChannelsRefContext();\n const isMountedRef = useIsMountedRef();\n const { client } = useChatContext<StreamChatGenerics>();\n\n const filtersRef = useRef<typeof filters | null>(null);\n const sortRef = useRef<typeof sort | null>(null);\n const activeRequestId = useRef<number>(0);\n const isQueryingRef = useRef(false);\n const lastRefresh = useRef(Date.now());\n\n const queryChannels: QueryChannels = async (\n queryType: QueryType = 'loadChannels',\n retryCount = 0,\n ): Promise<void> => {\n if (!client || !isMountedRef.current) return;\n\n const hasUpdatedData =\n queryType === 'loadChannels' ||\n queryType === 'refresh' ||\n [\n JSON.stringify(filtersRef.current) !== JSON.stringify(filters),\n JSON.stringify(sortRef.current) !== JSON.stringify(sort),\n ].some(Boolean);\n\n const isQueryStale = () => !isMountedRef || activeRequestId.current !== currentRequestId;\n\n /**\n * We don't need to make another call to query channels if we don't\n * have new data for the query to include\n * */\n if (!hasUpdatedData) {\n if (activeQueryType === null) return;\n }\n\n filtersRef.current = filters;\n sortRef.current = sort;\n isQueryingRef.current = true;\n setError(undefined);\n activeRequestId.current++;\n const currentRequestId = activeRequestId.current;\n setActiveQueryType(queryType);\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset:\n queryType === 'loadChannels' && !staticChannelsActive && channels ? channels.length : 0,\n ...options,\n };\n\n try {\n // If failed messages were present in DB it would be in the channel state now and be overwritten by the queryChannels call\n // So we store them in a separate object and add them back to the channel state after the queryChannels call\n const failedMessagesInDb: Map<string, MessageResponse<StreamChatGenerics>[]> = new Map();\n if (enableOfflineSupport) {\n for (const cid in client.activeChannels) {\n const failedMessages = getFailedMessages(client.activeChannels[cid]);\n if (failedMessages) failedMessagesInDb.set(cid, failedMessages);\n }\n }\n\n /**\n * We skipInitialization here for handling race condition between ChannelList, Channel (and Thread)\n * when they all (may) update the channel state at the same time (when connection state recovers)\n * TODO: if we move the channel state to a single context and share it between ChannelList, Channel and Thread we can remove this\n */\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: activeChannels.current,\n });\n if (isQueryStale() || !isMountedRef.current) {\n return;\n }\n\n if (failedMessagesInDb.size) {\n for (const cid in client.activeChannels) {\n const msgsToAdd = failedMessagesInDb.get(cid);\n if (msgsToAdd) client.activeChannels[cid].state.addMessagesSorted(msgsToAdd);\n }\n }\n\n const newChannels =\n queryType === 'loadChannels' && !staticChannelsActive && channels\n ? [...channels, ...channelQueryResponse]\n : channelQueryResponse.map((c) => {\n const existingChannel = client.activeChannels[c.cid];\n if (existingChannel) {\n return existingChannel;\n }\n\n return c;\n });\n\n setChannels(newChannels);\n setStaticChannelsActive(false);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n isQueryingRef.current = false;\n } catch (err: unknown) {\n isQueryingRef.current = false;\n await waitSeconds(2);\n\n if (isQueryStale()) {\n return;\n }\n\n // querying.current check is needed in order to make sure the next query call doesnt flick an error\n // state and then succeed (reconnect case)\n if (retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current) {\n setActiveQueryType(null);\n console.warn(err);\n\n setError(\n new Error(\n `Maximum number of retries reached in queryChannels. Last error message is: ${err}`,\n ),\n );\n return;\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setActiveQueryType(null);\n };\n\n const refreshList = async () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {\n return;\n }\n\n lastRefresh.current = Date.now();\n await queryChannels('refresh');\n };\n\n const reloadList = () => queryChannels('reload');\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n const loadOfflineChannels = () => {\n if (!client?.user?.id) return;\n\n try {\n const channelsFromDB = getChannelsForFilterSort({\n currentUserId: client.user.id,\n filters,\n sort,\n });\n\n if (channelsFromDB) {\n setChannels(\n client.hydrateActiveChannels(channelsFromDB, {\n offlineMode: true,\n }),\n );\n setStaticChannelsActive(true);\n }\n } catch (e) {\n console.warn('Failed to get channels from database: ', e);\n }\n\n setActiveQueryType(null);\n };\n\n let listener: ReturnType<typeof DBSyncManager.onSyncStatusChange>;\n if (enableOfflineSupport) {\n // Any time DB is synced, we need to update the UI with local DB channels first,\n // and then call queryChannels to ensure any new channels are added to UI.\n listener = DBSyncManager.onSyncStatusChange((syncStatus) => {\n if (syncStatus) {\n loadOfflineChannels();\n reloadList();\n }\n });\n // On start, load the channels from local db.\n loadOfflineChannels();\n\n // If db is already synced (sync api and pending api calls), then\n // right away call queryChannels.\n const dbSyncStatus = DBSyncManager.getSyncStatus();\n if (dbSyncStatus) {\n reloadList();\n }\n } else {\n listener = client.on('connection.changed', async (event) => {\n if (event.online) {\n await refreshList();\n setForceUpdate((u) => u + 1);\n }\n });\n\n reloadList();\n }\n\n return () => listener?.unsubscribe?.();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels:\n activeQueryType === 'queryLocalDB'\n ? true\n : (activeQueryType === 'reload' || activeQueryType === null) && channels === null,\n loadingNextPage: activeQueryType === 'loadChannels',\n loadNextPage: queryChannels,\n refreshing: activeQueryType === 'refresh',\n refreshList,\n reloadList,\n // Although channels can be null, there is no practical case where channels will be null\n // when setChannels is used. setChannels is only recommended to be used for overriding\n // event handler. Thus instead of adding if check for channels === null, its better to\n // simply reassign types here.\n setChannels,\n staticChannelsActive,\n };\n};\n\nfunction getFailedMessages<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(channel: Channel<StreamChatGenerics>): MessageResponse<StreamChatGenerics>[] | undefined {\n const failedMsgs = channel.state.messages.filter((m) => m.status === MessageStatusTypes.FAILED);\n if (failedMsgs.length) {\n return failedMsgs.map(\n (m) =>\n ({\n ...m,\n created_at: m.created_at.toISOString(),\n pinned_at: m.pinned_at ? m.pinned_at.toISOString() : null,\n updated_at: m.updated_at.toISOString(),\n } as MessageResponse<StreamChatGenerics>),\n );\n }\n return undefined;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","require","_ActiveChannelsRefContext","_ChatContext","_useIsMountedRef","_getChannelsForFilterSort","_date","_DBSyncManager","_utils","waitSeconds","seconds","Promise","resolve","setTimeout","ONE_SECOND_IN_MS","DEFAULT_OPTIONS","message_limit","MAX_NUMBER_OF_RETRIES","RETRY_INTERVAL_IN_MS","usePaginatedChannels","_ref","enableOfflineSupport","_ref$filters","filters","_ref$options","options","setForceUpdate","_ref$sort","sort","_useState","useState","_useState2","_slicedToArray2","channels","setChannels","_useState3","undefined","_useState4","error","setError","_useState5","_useState6","staticChannelsActive","setStaticChannelsActive","_useState7","_useState8","activeQueryType","setActiveQueryType","_useState9","_useState10","hasNextPage","setHasNextPage","activeChannels","useActiveChannelsRefContext","isMountedRef","useIsMountedRef","_useChatContext","useChatContext","client","filtersRef","useRef","sortRef","activeRequestId","isQueryingRef","lastRefresh","Date","now","queryChannels","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","_options$limit","queryType","retryCount","hasUpdatedData","isQueryStale","currentRequestId","newOptions","channelQueryResponse","newChannels","_args","arguments","wrap","_callee$","_context","prev","next","length","current","abrupt","JSON","stringify","some","Boolean","_extends2","limit","MAX_QUERY_CHANNELS_LIMIT","offset","skipInitialization","sent","concat","_toConsumableArray2","map","c","existingChannel","cid","t0","console","warn","Error","stop","apply","refreshList","_ref3","_callee2","_callee2$","_context2","reloadList","filterStr","useMemo","sortStr","useEffect","loadOfflineChannels","_client$user","user","id","channelsFromDB","getChannelsForFilterSort","currentUserId","offlineChannels","hydrateActiveChannels","offlineMode","e","listener","DBSyncManager","onSyncStatusChange","syncStatus","dbSyncStatus","getSyncStatus","on","_ref4","_callee3","event","_callee3$","_context3","online","u","_x","_listener","unsubscribe","loadingChannels","loadingNextPage","loadNextPage","refreshing","exports"],"sources":["usePaginatedChannels.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';\n\nimport { useActiveChannelsRefContext } from '../../../contexts/activeChannelsRefContext/ActiveChannelsRefContext';\nimport { useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport { useIsMountedRef } from '../../../hooks/useIsMountedRef';\n\nimport { getChannelsForFilterSort } from '../../../store/apis/getChannelsForFilterSort';\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { ONE_SECOND_IN_MS } from '../../../utils/date';\nimport { DBSyncManager } from '../../../utils/DBSyncManager';\nimport { MAX_QUERY_CHANNELS_LIMIT } from '../utils';\n\nconst waitSeconds = (seconds: number) =>\n new Promise((resolve) => {\n setTimeout(resolve, seconds * ONE_SECOND_IN_MS);\n });\n\ntype Parameters<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> =\n {\n enableOfflineSupport: boolean;\n filters: ChannelFilters<StreamChatGenerics>;\n options: ChannelOptions;\n setForceUpdate: React.Dispatch<React.SetStateAction<number>>;\n sort: ChannelSort<StreamChatGenerics>;\n };\n\nconst DEFAULT_OPTIONS = {\n message_limit: 10,\n};\n\nconst MAX_NUMBER_OF_RETRIES = 3;\nconst RETRY_INTERVAL_IN_MS = 5000;\n\ntype QueryType = 'queryLocalDB' | 'reload' | 'refresh' | 'loadChannels';\n\nexport type QueryChannels = (queryType?: QueryType, retryCount?: number) => Promise<void>;\n\nexport const usePaginatedChannels = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n enableOfflineSupport,\n filters = {},\n options = DEFAULT_OPTIONS,\n setForceUpdate,\n sort = {},\n}: Parameters<StreamChatGenerics>) => {\n const [channels, setChannels] = useState<Channel<StreamChatGenerics>[] | null>(null);\n const [error, setError] = useState<Error | undefined>(undefined);\n const [staticChannelsActive, setStaticChannelsActive] = useState<boolean>(false);\n const [activeQueryType, setActiveQueryType] = useState<QueryType | null>('queryLocalDB');\n const [hasNextPage, setHasNextPage] = useState<boolean>(false);\n const activeChannels = useActiveChannelsRefContext();\n const isMountedRef = useIsMountedRef();\n const { client } = useChatContext<StreamChatGenerics>();\n\n const filtersRef = useRef<typeof filters | null>(null);\n const sortRef = useRef<typeof sort | null>(null);\n const activeRequestId = useRef<number>(0);\n const isQueryingRef = useRef(false);\n const lastRefresh = useRef(Date.now());\n\n const queryChannels: QueryChannels = async (\n queryType: QueryType = 'loadChannels',\n retryCount = 0,\n ): Promise<void> => {\n if (!client || !isMountedRef.current) return;\n\n const hasUpdatedData =\n queryType === 'loadChannels' ||\n queryType === 'refresh' ||\n [\n JSON.stringify(filtersRef.current) !== JSON.stringify(filters),\n JSON.stringify(sortRef.current) !== JSON.stringify(sort),\n ].some(Boolean);\n\n const isQueryStale = () => !isMountedRef || activeRequestId.current !== currentRequestId;\n\n /**\n * We don't need to make another call to query channels if we don't\n * have new data for the query to include\n * */\n if (!hasUpdatedData) {\n if (activeQueryType === null) return;\n }\n\n filtersRef.current = filters;\n sortRef.current = sort;\n isQueryingRef.current = true;\n setError(undefined);\n activeRequestId.current++;\n const currentRequestId = activeRequestId.current;\n setActiveQueryType(queryType);\n\n const newOptions = {\n limit: options?.limit ?? MAX_QUERY_CHANNELS_LIMIT,\n offset:\n queryType === 'loadChannels' && !staticChannelsActive && channels ? channels.length : 0,\n ...options,\n };\n\n try {\n /**\n * We skipInitialization here for handling race condition between ChannelList, Channel (and Thread)\n * when they all (may) update the channel state at the same time (when connection state recovers)\n * TODO: if we move the channel state to a single context and share it between ChannelList, Channel and Thread we can remove this\n */\n const channelQueryResponse = await client.queryChannels(filters, sort, newOptions, {\n skipInitialization: enableOfflineSupport ? undefined : activeChannels.current,\n });\n if (isQueryStale() || !isMountedRef.current) {\n return;\n }\n\n const newChannels =\n queryType === 'loadChannels' && !staticChannelsActive && channels\n ? [...channels, ...channelQueryResponse]\n : channelQueryResponse.map((c) => {\n const existingChannel = client.activeChannels[c.cid];\n if (existingChannel) {\n return existingChannel;\n }\n\n return c;\n });\n\n setChannels(newChannels);\n setStaticChannelsActive(false);\n setHasNextPage(channelQueryResponse.length >= newOptions.limit);\n isQueryingRef.current = false;\n } catch (err: unknown) {\n isQueryingRef.current = false;\n await waitSeconds(2);\n\n if (isQueryStale()) {\n return;\n }\n\n // querying.current check is needed in order to make sure the next query call doesnt flick an error\n // state and then succeed (reconnect case)\n if (retryCount === MAX_NUMBER_OF_RETRIES && !isQueryingRef.current) {\n setActiveQueryType(null);\n console.warn(err);\n\n setError(\n new Error(\n `Maximum number of retries reached in queryChannels. Last error message is: ${err}`,\n ),\n );\n return;\n }\n\n return queryChannels(queryType, retryCount + 1);\n }\n\n setActiveQueryType(null);\n };\n\n const refreshList = async () => {\n const now = Date.now();\n // Only allow pull-to-refresh 5 seconds after last successful refresh.\n if (now - lastRefresh.current < RETRY_INTERVAL_IN_MS && error === undefined) {\n return;\n }\n\n lastRefresh.current = Date.now();\n await queryChannels('refresh');\n };\n\n const reloadList = () => queryChannels('reload');\n\n /**\n * Equality check using stringified filters/sort ensure that we don't make un-necessary queryChannels api calls\n * for the scenario:\n *\n * <ChannelList\n * filters={{\n * members: { $in: ['vishal'] }\n * }}\n * ...\n * />\n *\n * Here we have passed filters as inline object, which means on every re-render of\n * parent component, ChannelList will receive new object reference (even though value is same), which\n * in return will trigger useEffect. To avoid this, we can add a value check.\n */\n const filterStr = useMemo(() => JSON.stringify(filters), [filters]);\n const sortStr = useMemo(() => JSON.stringify(sort), [sort]);\n\n useEffect(() => {\n const loadOfflineChannels = () => {\n if (!client?.user?.id) return;\n\n try {\n const channelsFromDB = getChannelsForFilterSort({\n currentUserId: client.user.id,\n filters,\n sort,\n });\n\n if (channelsFromDB) {\n const offlineChannels = client.hydrateActiveChannels(channelsFromDB, {\n offlineMode: true,\n skipInitialization: [], // passing empty array will clear out the existing messages from channel state, this removes the possibility of duplicate messages\n });\n\n setChannels(offlineChannels);\n setStaticChannelsActive(true);\n }\n } catch (e) {\n console.warn('Failed to get channels from database: ', e);\n }\n\n setActiveQueryType(null);\n };\n\n let listener: ReturnType<typeof DBSyncManager.onSyncStatusChange>;\n if (enableOfflineSupport) {\n // Any time DB is synced, we need to update the UI with local DB channels first,\n // and then call queryChannels to ensure any new channels are added to UI.\n listener = DBSyncManager.onSyncStatusChange((syncStatus) => {\n if (syncStatus) {\n loadOfflineChannels();\n reloadList();\n }\n });\n // On start, load the channels from local db.\n loadOfflineChannels();\n\n // If db is already synced (sync api and pending api calls), then\n // right away call queryChannels.\n const dbSyncStatus = DBSyncManager.getSyncStatus();\n if (dbSyncStatus) {\n reloadList();\n }\n } else {\n listener = client.on('connection.changed', async (event) => {\n if (event.online) {\n await refreshList();\n setForceUpdate((u) => u + 1);\n }\n });\n\n reloadList();\n }\n\n return () => listener?.unsubscribe?.();\n }, [filterStr, sortStr]);\n\n return {\n channels,\n error,\n hasNextPage,\n loadingChannels:\n activeQueryType === 'queryLocalDB'\n ? true\n : (activeQueryType === 'reload' || activeQueryType === null) && channels === null,\n loadingNextPage: activeQueryType === 'loadChannels',\n loadNextPage: queryChannels,\n refreshing: activeQueryType === 'refresh',\n refreshList,\n reloadList,\n // Although channels can be null, there is no practical case where channels will be null\n // when setChannels is used. setChannels is only recommended to be used for overriding\n // event handler. Thus instead of adding if check for channels === null, its better to\n // simply reassign types here.\n setChannels,\n staticChannelsActive,\n };\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,yBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAEA,IAAAI,yBAAA,GAAAJ,OAAA;AAEA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAEA,IAAMQ,WAAW,GAAG,SAAdA,WAAWA,CAAIC,OAAe;EAAA,OAClC,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAK;IACvBC,UAAU,CAACD,OAAO,EAAEF,OAAO,GAAGI,sBAAgB,CAAC;EACjD,CAAC,CAAC;AAAA;AAWJ,IAAMC,eAAe,GAAG;EACtBC,aAAa,EAAE;AACjB,CAAC;AAED,IAAMC,qBAAqB,GAAG,CAAC;AAC/B,IAAMC,oBAAoB,GAAG,IAAI;AAM1B,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAQK;EAAA,IALpCC,oBAAoB,GAAAD,IAAA,CAApBC,oBAAoB;IAAAC,YAAA,GAAAF,IAAA,CACpBG,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;IAAAE,YAAA,GAAAJ,IAAA,CACZK,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAGT,eAAe,GAAAS,YAAA;IACzBE,cAAc,GAAAN,IAAA,CAAdM,cAAc;IAAAC,SAAA,GAAAP,IAAA,CACdQ,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,CAAC,CAAC,GAAAA,SAAA;EAET,IAAAE,SAAA,GAAgC,IAAAC,eAAQ,EAAuC,IAAI,CAAC;IAAAC,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA7EI,QAAQ,GAAAF,UAAA;IAAEG,WAAW,GAAAH,UAAA;EAC5B,IAAAI,UAAA,GAA0B,IAAAL,eAAQ,EAAoBM,SAAS,CAAC;IAAAC,UAAA,OAAAL,eAAA,aAAAG,UAAA;IAAzDG,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EACtB,IAAAG,UAAA,GAAwD,IAAAV,eAAQ,EAAU,KAAK,CAAC;IAAAW,UAAA,OAAAT,eAAA,aAAAQ,UAAA;IAAzEE,oBAAoB,GAAAD,UAAA;IAAEE,uBAAuB,GAAAF,UAAA;EACpD,IAAAG,UAAA,GAA8C,IAAAd,eAAQ,EAAmB,cAAc,CAAC;IAAAe,UAAA,OAAAb,eAAA,aAAAY,UAAA;IAAjFE,eAAe,GAAAD,UAAA;IAAEE,kBAAkB,GAAAF,UAAA;EAC1C,IAAAG,UAAA,GAAsC,IAAAlB,eAAQ,EAAU,KAAK,CAAC;IAAAmB,WAAA,OAAAjB,eAAA,aAAAgB,UAAA;IAAvDE,WAAW,GAAAD,WAAA;IAAEE,cAAc,GAAAF,WAAA;EAClC,IAAMG,cAAc,GAAG,IAAAC,qDAA2B,GAAE;EACpD,IAAMC,YAAY,GAAG,IAAAC,gCAAe,GAAE;EACtC,IAAAC,eAAA,GAAmB,IAAAC,2BAAc,GAAsB;IAA/CC,MAAM,GAAAF,eAAA,CAANE,MAAM;EAEd,IAAMC,UAAU,GAAG,IAAAC,aAAM,EAAwB,IAAI,CAAC;EACtD,IAAMC,OAAO,GAAG,IAAAD,aAAM,EAAqB,IAAI,CAAC;EAChD,IAAME,eAAe,GAAG,IAAAF,aAAM,EAAS,CAAC,CAAC;EACzC,IAAMG,aAAa,GAAG,IAAAH,aAAM,EAAC,KAAK,CAAC;EACnC,IAAMI,WAAW,GAAG,IAAAJ,aAAM,EAACK,IAAI,CAACC,GAAG,EAAE,CAAC;EAEtC,IAAMC,aAA4B;IAAA,IAAAC,KAAA,OAAAC,kBAAA,aAAAC,YAAA,YAAAC,IAAA,CAAG,SAAAC,QAAA;MAAA,IAAAC,cAAA;MAAA,IAAAC,SAAA;QAAAC,UAAA;QAAAC,cAAA;QAAAC,YAAA;QAAAC,gBAAA;QAAAC,UAAA;QAAAC,oBAAA;QAAAC,WAAA;QAAAC,KAAA,GAAAC,SAAA;MAAA,OAAAb,YAAA,YAAAc,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACnCd,SAAoB,GAAAQ,KAAA,CAAAO,MAAA,QAAAP,KAAA,QAAA9C,SAAA,GAAA8C,KAAA,MAAG,cAAc;YACrCP,UAAU,GAAAO,KAAA,CAAAO,MAAA,QAAAP,KAAA,QAAA9C,SAAA,GAAA8C,KAAA,MAAG,CAAC;YAAA,MAEV,CAACxB,MAAM,IAAI,CAACJ,YAAY,CAACoC,OAAO;cAAAJ,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAK,MAAA;UAAA;YAE9Bf,cAAc,GAClBF,SAAS,KAAK,cAAc,IAC5BA,SAAS,KAAK,SAAS,IACvB,CACEkB,IAAI,CAACC,SAAS,CAAClC,UAAU,CAAC+B,OAAO,CAAC,KAAKE,IAAI,CAACC,SAAS,CAACtE,OAAO,CAAC,EAC9DqE,IAAI,CAACC,SAAS,CAAChC,OAAO,CAAC6B,OAAO,CAAC,KAAKE,IAAI,CAACC,SAAS,CAACjE,IAAI,CAAC,CACzD,CAACkE,IAAI,CAACC,OAAO,CAAC;YAEXlB,YAAY,GAAG,SAAfA,YAAYA,CAAA;cAAA,OAAS,CAACvB,YAAY,IAAIQ,eAAe,CAAC4B,OAAO,KAAKZ,gBAAgB;YAAA;YAAA,IAMnFF,cAAc;cAAAU,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,MACb1C,eAAe,KAAK,IAAI;cAAAwC,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAK,MAAA;UAAA;YAG9BhC,UAAU,CAAC+B,OAAO,GAAGnE,OAAO;YAC5BsC,OAAO,CAAC6B,OAAO,GAAG9D,IAAI;YACtBmC,aAAa,CAAC2B,OAAO,GAAG,IAAI;YAC5BnD,QAAQ,CAACH,SAAS,CAAC;YACnB0B,eAAe,CAAC4B,OAAO,EAAE;YACnBZ,gBAAgB,GAAGhB,eAAe,CAAC4B,OAAO;YAChD3C,kBAAkB,CAAC2B,SAAS,CAAC;YAEvBK,UAAU,OAAAiB,SAAA;cACdC,KAAK,GAAAxB,cAAA,GAAEhD,OAAO,oBAAPA,OAAO,CAAEwE,KAAK,YAAAxB,cAAA,GAAIyB,+BAAwB;cACjDC,MAAM,EACJzB,SAAS,KAAK,cAAc,IAAI,CAAChC,oBAAoB,IAAIT,QAAQ,GAAGA,QAAQ,CAACwD,MAAM,GAAG;YAAC,GACtFhE,OAAO;YAAA6D,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAE,IAAA;YAAA,OASyB9B,MAAM,CAACS,aAAa,CAAC5C,OAAO,EAAEK,IAAI,EAAEmD,UAAU,EAAE;cACjFqB,kBAAkB,EAAE/E,oBAAoB,GAAGe,SAAS,GAAGgB,cAAc,CAACsC;YACxE,CAAC,CAAC;UAAA;YAFIV,oBAAoB,GAAAM,QAAA,CAAAe,IAAA;YAAA,MAGtBxB,YAAY,EAAE,IAAI,CAACvB,YAAY,CAACoC,OAAO;cAAAJ,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAK,MAAA;UAAA;YAIrCV,WAAW,GACfP,SAAS,KAAK,cAAc,IAAI,CAAChC,oBAAoB,IAAIT,QAAQ,MAAAqE,MAAA,KAAAC,mBAAA,aACzDtE,QAAQ,OAAAsE,mBAAA,aAAKvB,oBAAoB,KACrCA,oBAAoB,CAACwB,GAAG,CAAC,UAACC,CAAC,EAAK;cAC9B,IAAMC,eAAe,GAAGhD,MAAM,CAACN,cAAc,CAACqD,CAAC,CAACE,GAAG,CAAC;cACpD,IAAID,eAAe,EAAE;gBACnB,OAAOA,eAAe;cACxB;cAEA,OAAOD,CAAC;YACV,CAAC,CAAC;YAERvE,WAAW,CAAC+C,WAAW,CAAC;YACxBtC,uBAAuB,CAAC,KAAK,CAAC;YAC9BQ,cAAc,CAAC6B,oBAAoB,CAACS,MAAM,IAAIV,UAAU,CAACkB,KAAK,CAAC;YAC/DlC,aAAa,CAAC2B,OAAO,GAAG,KAAK;YAACJ,QAAA,CAAAE,IAAA;YAAA;UAAA;YAAAF,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAsB,EAAA,GAAAtB,QAAA;YAE9BvB,aAAa,CAAC2B,OAAO,GAAG,KAAK;YAACJ,QAAA,CAAAE,IAAA;YAAA,OACxB/E,WAAW,CAAC,CAAC,CAAC;UAAA;YAAA,KAEhBoE,YAAY,EAAE;cAAAS,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAK,MAAA;UAAA;YAAA,MAMdhB,UAAU,KAAK1D,qBAAqB,IAAI,CAAC8C,aAAa,CAAC2B,OAAO;cAAAJ,QAAA,CAAAE,IAAA;cAAA;YAAA;YAChEzC,kBAAkB,CAAC,IAAI,CAAC;YACxB8D,OAAO,CAACC,IAAI,CAAAxB,QAAA,CAAAsB,EAAA,CAAK;YAEjBrE,QAAQ,CACN,IAAIwE,KAAK,iFAAAzB,QAAA,CAAAsB,EAAA,CAER,CACF;YAAC,OAAAtB,QAAA,CAAAK,MAAA;UAAA;YAAA,OAAAL,QAAA,CAAAK,MAAA,WAIGxB,aAAa,CAACO,SAAS,EAAEC,UAAU,GAAG,CAAC,CAAC;UAAA;YAGjD5B,kBAAkB,CAAC,IAAI,CAAC;UAAC;UAAA;YAAA,OAAAuC,QAAA,CAAA0B,IAAA;QAAA;MAAA,GAAAxC,OAAA;IAAA,CAC1B;IAAA,gBA9FKL,aAA4BA,CAAA;MAAA,OAAAC,KAAA,CAAA6C,KAAA,OAAA9B,SAAA;IAAA;EAAA,GA8FjC;EAED,IAAM+B,WAAW;IAAA,IAAAC,KAAA,OAAA9C,kBAAA,aAAAC,YAAA,YAAAC,IAAA,CAAG,SAAA6C,SAAA;MAAA,IAAAlD,GAAA;MAAA,OAAAI,YAAA,YAAAc,IAAA,UAAAiC,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA/B,IAAA,GAAA+B,SAAA,CAAA9B,IAAA;UAAA;YACZtB,GAAG,GAAGD,IAAI,CAACC,GAAG,EAAE;YAAA,MAElBA,GAAG,GAAGF,WAAW,CAAC0B,OAAO,GAAGxE,oBAAoB,IAAIoB,KAAK,KAAKF,SAAS;cAAAkF,SAAA,CAAA9B,IAAA;cAAA;YAAA;YAAA,OAAA8B,SAAA,CAAA3B,MAAA;UAAA;YAI3E3B,WAAW,CAAC0B,OAAO,GAAGzB,IAAI,CAACC,GAAG,EAAE;YAACoD,SAAA,CAAA9B,IAAA;YAAA,OAC3BrB,aAAa,CAAC,SAAS,CAAC;UAAA;UAAA;YAAA,OAAAmD,SAAA,CAAAN,IAAA;QAAA;MAAA,GAAAI,QAAA;IAAA,CAC/B;IAAA,gBATKF,WAAWA,CAAA;MAAA,OAAAC,KAAA,CAAAF,KAAA,OAAA9B,SAAA;IAAA;EAAA,GAShB;EAED,IAAMoC,UAAU,GAAG,SAAbA,UAAUA,CAAA;IAAA,OAASpD,aAAa,CAAC,QAAQ,CAAC;EAAA;EAiBhD,IAAMqD,SAAS,GAAG,IAAAC,cAAO,EAAC;IAAA,OAAM7B,IAAI,CAACC,SAAS,CAACtE,OAAO,CAAC;EAAA,GAAE,CAACA,OAAO,CAAC,CAAC;EACnE,IAAMmG,OAAO,GAAG,IAAAD,cAAO,EAAC;IAAA,OAAM7B,IAAI,CAACC,SAAS,CAACjE,IAAI,CAAC;EAAA,GAAE,CAACA,IAAI,CAAC,CAAC;EAE3D,IAAA+F,gBAAS,EAAC,YAAM;IACd,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;MAAA,IAAAC,YAAA;MAChC,IAAI,EAACnE,MAAM,aAAAmE,YAAA,GAANnE,MAAM,CAAEoE,IAAI,aAAZD,YAAA,CAAcE,EAAE,GAAE;MAEvB,IAAI;QACF,IAAMC,cAAc,GAAG,IAAAC,kDAAwB,EAAC;UAC9CC,aAAa,EAAExE,MAAM,CAACoE,IAAI,CAACC,EAAE;UAC7BxG,OAAO,EAAPA,OAAO;UACPK,IAAI,EAAJA;QACF,CAAC,CAAC;QAEF,IAAIoG,cAAc,EAAE;UAClB,IAAMG,eAAe,GAAGzE,MAAM,CAAC0E,qBAAqB,CAACJ,cAAc,EAAE;YACnEK,WAAW,EAAE,IAAI;YACjBjC,kBAAkB,EAAE;UACtB,CAAC,CAAC;UAEFlE,WAAW,CAACiG,eAAe,CAAC;UAC5BxF,uBAAuB,CAAC,IAAI,CAAC;QAC/B;MACF,CAAC,CAAC,OAAO2F,CAAC,EAAE;QACVzB,OAAO,CAACC,IAAI,CAAC,wCAAwC,EAAEwB,CAAC,CAAC;MAC3D;MAEAvF,kBAAkB,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAIwF,QAA6D;IACjE,IAAIlH,oBAAoB,EAAE;MAGxBkH,QAAQ,GAAGC,4BAAa,CAACC,kBAAkB,CAAC,UAACC,UAAU,EAAK;QAC1D,IAAIA,UAAU,EAAE;UACdd,mBAAmB,EAAE;UACrBL,UAAU,EAAE;QACd;MACF,CAAC,CAAC;MAEFK,mBAAmB,EAAE;MAIrB,IAAMe,YAAY,GAAGH,4BAAa,CAACI,aAAa,EAAE;MAClD,IAAID,YAAY,EAAE;QAChBpB,UAAU,EAAE;MACd;IACF,CAAC,MAAM;MACLgB,QAAQ,GAAG7E,MAAM,CAACmF,EAAE,CAAC,oBAAoB;QAAA,IAAAC,KAAA,OAAAzE,kBAAA,aAAAC,YAAA,YAAAC,IAAA,CAAE,SAAAwE,SAAOC,KAAK;UAAA,OAAA1E,YAAA,YAAAc,IAAA,UAAA6D,UAAAC,SAAA;YAAA,kBAAAA,SAAA,CAAA3D,IAAA,GAAA2D,SAAA,CAAA1D,IAAA;cAAA;gBAAA,KACjDwD,KAAK,CAACG,MAAM;kBAAAD,SAAA,CAAA1D,IAAA;kBAAA;gBAAA;gBAAA0D,SAAA,CAAA1D,IAAA;gBAAA,OACR0B,WAAW,EAAE;cAAA;gBACnBxF,cAAc,CAAC,UAAC0H,CAAC;kBAAA,OAAKA,CAAC,GAAG,CAAC;gBAAA,EAAC;cAAC;cAAA;gBAAA,OAAAF,SAAA,CAAAlC,IAAA;YAAA;UAAA,GAAA+B,QAAA;QAAA,CAEhC;QAAA,iBAAAM,EAAA;UAAA,OAAAP,KAAA,CAAA7B,KAAA,OAAA9B,SAAA;QAAA;MAAA,IAAC;MAEFoC,UAAU,EAAE;IACd;IAEA,OAAO;MAAA,IAAA+B,SAAA;MAAA,QAAAA,SAAA,GAAMf,QAAQ,qBAARe,SAAA,CAAUC,WAAW,oBAArBD,SAAA,CAAUC,WAAW,EAAI;IAAA;EACxC,CAAC,EAAE,CAAC/B,SAAS,EAAEE,OAAO,CAAC,CAAC;EAExB,OAAO;IACLzF,QAAQ,EAARA,QAAQ;IACRK,KAAK,EAALA,KAAK;IACLY,WAAW,EAAXA,WAAW;IACXsG,eAAe,EACb1G,eAAe,KAAK,cAAc,GAC9B,IAAI,GACJ,CAACA,eAAe,KAAK,QAAQ,IAAIA,eAAe,KAAK,IAAI,KAAKb,QAAQ,KAAK,IAAI;IACrFwH,eAAe,EAAE3G,eAAe,KAAK,cAAc;IACnD4G,YAAY,EAAEvF,aAAa;IAC3BwF,UAAU,EAAE7G,eAAe,KAAK,SAAS;IACzCoE,WAAW,EAAXA,WAAW;IACXK,UAAU,EAAVA,UAAU;IAKVrF,WAAW,EAAXA,WAAW;IACXQ,oBAAoB,EAApBA;EACF,CAAC;AACH,CAAC;AAACkH,OAAA,CAAAzI,oBAAA,GAAAA,oBAAA"}
@@ -210,14 +210,14 @@ Object.keys(_upsertCidsForQuery).forEach(function (key) {
210
210
  }
211
211
  });
212
212
  });
213
- var _upsertLastSyncedAt = require("./upsertLastSyncedAt");
214
- Object.keys(_upsertLastSyncedAt).forEach(function (key) {
213
+ var _upsertUserSyncStatus = require("./upsertUserSyncStatus");
214
+ Object.keys(_upsertUserSyncStatus).forEach(function (key) {
215
215
  if (key === "default" || key === "__esModule") return;
216
- if (key in exports && exports[key] === _upsertLastSyncedAt[key]) return;
216
+ if (key in exports && exports[key] === _upsertUserSyncStatus[key]) return;
217
217
  Object.defineProperty(exports, key, {
218
218
  enumerable: true,
219
219
  get: function get() {
220
- return _upsertLastSyncedAt[key];
220
+ return _upsertUserSyncStatus[key];
221
221
  }
222
222
  });
223
223
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_deleteChannel","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_deleteMember","_deleteMessage","_deleteMessagesForChannel","_deleteReactions","_getAllChannelIds","_getAppSettings","_getChannelMessages","_getChannels","_getChannelsForFilterSort","_getLastSyncedAt","_getMembers","_getReads","_updateMessage","_updateReaction","_upsertAppSettings","_upsertChannelData","_upsertChannels","_upsertCidsForQuery","_upsertLastSyncedAt","_upsertMembers","_upsertMessages","_upsertReads"],"sources":["index.ts"],"sourcesContent":["export * from './deleteChannel';\nexport * from './deleteMember';\nexport * from './deleteMessage';\nexport * from './deleteMessagesForChannel';\nexport * from './deleteReactions';\nexport * from './getAllChannelIds';\nexport * from './getAppSettings';\nexport * from './getChannelMessages';\nexport * from './getChannels';\nexport * from './getChannelsForFilterSort';\nexport * from './getLastSyncedAt';\nexport * from './getMembers';\nexport * from './getReads';\nexport * from './updateMessage';\nexport * from './updateReaction';\nexport * from './upsertAppSettings';\nexport * from './upsertChannelData';\nexport * from './upsertChannels';\nexport * from './upsertCidsForQuery';\nexport * from './upsertLastSyncedAt';\nexport * from './upsertMembers';\nexport * from './upsertMessages';\nexport * from './upsertReads';\n"],"mappings":"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"}
1
+ {"version":3,"names":["_deleteChannel","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_deleteMember","_deleteMessage","_deleteMessagesForChannel","_deleteReactions","_getAllChannelIds","_getAppSettings","_getChannelMessages","_getChannels","_getChannelsForFilterSort","_getLastSyncedAt","_getMembers","_getReads","_updateMessage","_updateReaction","_upsertAppSettings","_upsertChannelData","_upsertChannels","_upsertCidsForQuery","_upsertUserSyncStatus","_upsertMembers","_upsertMessages","_upsertReads"],"sources":["index.ts"],"sourcesContent":["export * from './deleteChannel';\nexport * from './deleteMember';\nexport * from './deleteMessage';\nexport * from './deleteMessagesForChannel';\nexport * from './deleteReactions';\nexport * from './getAllChannelIds';\nexport * from './getAppSettings';\nexport * from './getChannelMessages';\nexport * from './getChannels';\nexport * from './getChannelsForFilterSort';\nexport * from './getLastSyncedAt';\nexport * from './getMembers';\nexport * from './getReads';\nexport * from './updateMessage';\nexport * from './updateReaction';\nexport * from './upsertAppSettings';\nexport * from './upsertChannelData';\nexport * from './upsertChannels';\nexport * from './upsertCidsForQuery';\nexport * from './upsertUserSyncStatus';\nexport * from './upsertMembers';\nexport * from './upsertMessages';\nexport * from './upsertReads';\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
- exports.upsertLastSyncedAt = void 0;
4
+ exports.upsertUserSyncStatus = void 0;
5
5
  var _QuickSqliteClient = require("../QuickSqliteClient");
6
6
  var _createUpsertQuery = require("../sqlite-utils/createUpsertQuery");
7
- var upsertLastSyncedAt = function upsertLastSyncedAt(_ref) {
7
+ var upsertUserSyncStatus = function upsertUserSyncStatus(_ref) {
8
8
  var currentUserId = _ref.currentUserId,
9
9
  lastSyncedAt = _ref.lastSyncedAt;
10
10
  var query = (0, _createUpsertQuery.createUpsertQuery)('userSyncStatus', {
@@ -13,5 +13,5 @@ var upsertLastSyncedAt = function upsertLastSyncedAt(_ref) {
13
13
  });
14
14
  _QuickSqliteClient.QuickSqliteClient.executeSql.apply(null, query);
15
15
  };
16
- exports.upsertLastSyncedAt = upsertLastSyncedAt;
17
- //# sourceMappingURL=upsertLastSyncedAt.js.map
16
+ exports.upsertUserSyncStatus = upsertUserSyncStatus;
17
+ //# sourceMappingURL=upsertUserSyncStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_QuickSqliteClient","require","_createUpsertQuery","upsertUserSyncStatus","_ref","currentUserId","lastSyncedAt","query","createUpsertQuery","userId","QuickSqliteClient","executeSql","apply","exports"],"sources":["upsertUserSyncStatus.ts"],"sourcesContent":["import { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createUpsertQuery } from '../sqlite-utils/createUpsertQuery';\n\nexport const upsertUserSyncStatus = ({\n currentUserId,\n lastSyncedAt,\n}: {\n currentUserId: string;\n lastSyncedAt: string;\n}) => {\n const query = createUpsertQuery('userSyncStatus', {\n lastSyncedAt,\n userId: currentUserId,\n });\n\n QuickSqliteClient.executeSql.apply(null, query);\n};\n"],"mappings":";;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEO,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAM3B;EAAA,IALJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,YAAY,GAAAF,IAAA,CAAZE,YAAY;EAKZ,IAAMC,KAAK,GAAG,IAAAC,oCAAiB,EAAC,gBAAgB,EAAE;IAChDF,YAAY,EAAZA,YAAY;IACZG,MAAM,EAAEJ;EACV,CAAC,CAAC;EAEFK,oCAAiB,CAACC,UAAU,CAACC,KAAK,CAAC,IAAI,EAAEL,KAAK,CAAC;AACjD,CAAC;AAACM,OAAA,CAAAV,oBAAA,GAAAA,oBAAA"}
@@ -120,14 +120,20 @@ DBSyncManager.sync = (0, _asyncToGenerator2["default"])(_regenerator["default"].
120
120
  currentUserId: DBSyncManager.client.user.id
121
121
  });
122
122
  cids = (0, _apis.getAllChannelIds)();
123
+ if (!(cids.length === 0)) {
124
+ _context3.next = 6;
125
+ break;
126
+ }
127
+ return _context3.abrupt("return");
128
+ case 6:
123
129
  if (!lastSyncedAt) {
124
- _context3.next = 16;
130
+ _context3.next = 18;
125
131
  break;
126
132
  }
127
- _context3.prev = 5;
128
- _context3.next = 8;
133
+ _context3.prev = 7;
134
+ _context3.next = 10;
129
135
  return DBSyncManager.client.sync(cids, new Date(lastSyncedAt).toISOString());
130
- case 8:
136
+ case 10:
131
137
  result = _context3.sent;
132
138
  queries = result.events.reduce(function (queries, event) {
133
139
  queries = queries.concat((0, _handleEventToSyncDB.handleEventToSyncDB)(event, false));
@@ -136,22 +142,22 @@ DBSyncManager.sync = (0, _asyncToGenerator2["default"])(_regenerator["default"].
136
142
  if (queries.length) {
137
143
  _QuickSqliteClient.QuickSqliteClient.executeSqlBatch(queries);
138
144
  }
139
- _context3.next = 16;
145
+ _context3.next = 18;
140
146
  break;
141
- case 13:
142
- _context3.prev = 13;
143
- _context3.t0 = _context3["catch"](5);
147
+ case 15:
148
+ _context3.prev = 15;
149
+ _context3.t0 = _context3["catch"](7);
144
150
  _QuickSqliteClient.QuickSqliteClient.resetDB();
145
- case 16:
146
- (0, _apis.upsertLastSyncedAt)({
151
+ case 18:
152
+ (0, _apis.upsertUserSyncStatus)({
147
153
  currentUserId: DBSyncManager.client.user.id,
148
154
  lastSyncedAt: new Date().toString()
149
155
  });
150
- case 17:
156
+ case 19:
151
157
  case "end":
152
158
  return _context3.stop();
153
159
  }
154
- }, _callee3, null, [[5, 13]]);
160
+ }, _callee3, null, [[7, 15]]);
155
161
  }));
156
162
  DBSyncManager.syncAndExecutePendingTasks = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
157
163
  return _regenerator["default"].wrap(function _callee4$(_context4) {
@@ -1 +1 @@
1
- {"version":3,"names":["_handleEventToSyncDB","require","_apis","_addPendingTask","_deletePendingTask","_getPendingTasks","_QuickSqliteClient","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","restBeforeNextTask","Promise","resolve","setTimeout","DBSyncManager","_createClass2","_classCallCheck2","exports","syncStatus","listeners","client","getSyncStatus","init","_ref","_asyncToGenerator2","_regenerator","mark","_callee2","_client$user","_client$wsConnection","wrap","_callee2$","_context2","prev","user","id","wsConnection","isHealthy","syncAndExecutePendingTasks","forEach","l","on","_ref2","_callee","event","_callee$","_context","online","stop","_x2","apply","arguments","_x","onSyncStatusChange","listener","push","unsubscribe","filter","el","sync","_callee3","_DBSyncManager$client","lastSyncedAt","cids","result","queries","_callee3$","_context3","abrupt","getLastSyncedAt","currentUserId","getAllChannelIds","Date","toISOString","sent","events","reduce","concat","handleEventToSyncDB","QuickSqliteClient","executeSqlBatch","t0","resetDB","upsertLastSyncedAt","_callee4","_callee4$","_context4","executePendingTasks","queueTask","_ref6","_callee5","_ref5","task","removeFromApi","response","_response","_response$data","_callee5$","_context5","addPendingTask","executeTask","data","code","_x3","_ref8","_callee6","_ref7","channel","_callee6$","_context6","channelType","channelId","type","sendReaction","_toConsumableArray2","payload","deleteReaction","deleteMessage","Error","_x4","_ref9","_callee7","queue","_iterator","_step","_response2","_response2$data","_callee7$","_context7","getPendingTasks","deletePendingTask","_x5","dropPendingTasks","conditions","tasks","_iterator2","_step2"],"sources":["DBSyncManager.ts"],"sourcesContent":["import type { AxiosError } from 'axios';\nimport type { APIErrorResponse, StreamChat } from 'stream-chat';\n\nimport { handleEventToSyncDB } from '../components/Chat/hooks/handleEventToSyncDB';\nimport { getAllChannelIds, getLastSyncedAt, upsertLastSyncedAt } from '../store/apis';\n\nimport { addPendingTask } from '../store/apis/addPendingTask';\n\nimport { deletePendingTask } from '../store/apis/deletePendingTask';\nimport { getPendingTasks } from '../store/apis/getPendingTasks';\nimport { QuickSqliteClient } from '../store/QuickSqliteClient';\nimport type { PendingTask, PreparedQueries } from '../store/types';\nimport type { DefaultStreamChatGenerics } from '../types/types';\n/**\n * DBSyncManager has the responsibility to sync the channel states\n * within local database whenever possible.\n *\n * Components can get the current sync status using DBSyncManager.getCurrentStatus().\n * Or components can attach a listener for status change as following:\n *\n * ```tsx\n * useEffect(() => {\n * const unsubscribe = DBSyncManager.onSyncStatusChange((syncStatus) => {\n * if (syncStatus) {\n * doSomething();\n * }\n * })\n *\n * return () => unsubscribe();\n * })\n * ```\n */\nconst restBeforeNextTask = () => new Promise((resolve) => setTimeout(resolve, 500));\n\nexport class DBSyncManager {\n static syncStatus = false;\n static listeners: Array<(status: boolean) => void> = [];\n static client: StreamChat | null = null;\n\n /**\n * Returns weather channel states in local DB are synced with backend or not.\n * @returns boolean\n */\n static getSyncStatus = () => this.syncStatus;\n\n /**\n * Initializes the DBSyncManager. This function should be called only once\n * throughout the lifetime of SDK.\n *\n * @param client\n */\n static init = async (client: StreamChat) => {\n this.client = client;\n // If the websocket connection is already active, then straightaway\n // call the sync api and also execute pending api calls.\n // Otherwise wait for `connection.changed` event.\n if (client.user?.id && client.wsConnection?.isHealthy) {\n await this.syncAndExecutePendingTasks();\n this.syncStatus = true;\n this.listeners.forEach((l) => l(true));\n }\n\n this.client.on('connection.changed', async (event) => {\n if (event.online) {\n await this.syncAndExecutePendingTasks();\n this.syncStatus = true;\n this.listeners.forEach((l) => l(true));\n } else {\n this.syncStatus = false;\n this.listeners.forEach((l) => l(false));\n }\n });\n };\n\n /**\n * Subscribes a listener for sync status change.\n *\n * @param listener {function}\n * @returns {function} to unsubscribe the listener.\n */\n static onSyncStatusChange = (listener: (status: boolean) => void) => {\n this.listeners.push(listener);\n\n return {\n unsubscribe: () => {\n this.listeners = this.listeners.filter((el) => el !== listener);\n },\n };\n };\n\n static sync = async () => {\n if (!this.client?.user) return;\n\n const lastSyncedAt = getLastSyncedAt({\n currentUserId: this.client.user.id,\n });\n const cids = getAllChannelIds();\n\n if (lastSyncedAt) {\n try {\n const result = await this.client.sync(cids, new Date(lastSyncedAt).toISOString());\n const queries = result.events.reduce<PreparedQueries[]>((queries, event) => {\n queries = queries.concat(handleEventToSyncDB(event, false));\n return queries;\n }, []);\n\n if (queries.length) {\n QuickSqliteClient.executeSqlBatch(queries);\n }\n } catch (e) {\n // Error will be raised by the sync API if there are too many events.\n // In that case reset the entire DB and start fresh.\n QuickSqliteClient.resetDB();\n }\n }\n upsertLastSyncedAt({\n currentUserId: this.client.user.id,\n lastSyncedAt: new Date().toString(),\n });\n };\n\n static syncAndExecutePendingTasks = async () => {\n if (!this.client) return;\n\n await this.executePendingTasks(this.client);\n await this.sync();\n };\n\n static queueTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >({\n client,\n task,\n }: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n }) => {\n const removeFromApi = addPendingTask(task);\n\n let response;\n try {\n response = await this.executeTask<StreamChatGenerics>({ client, task });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n removeFromApi();\n\n return response;\n };\n\n static executeTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >({\n client,\n task,\n }: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n }) => {\n const channel = client.channel(task.channelType, task.channelId);\n\n if (task.type === 'send-reaction') {\n return await channel.sendReaction(...task.payload);\n }\n\n if (task.type === 'delete-reaction') {\n return await channel.deleteReaction(...task.payload);\n }\n\n if (task.type === 'delete-message') {\n return await client.deleteMessage(...task.payload);\n }\n\n throw new Error('Invalid task type');\n };\n\n static executePendingTasks = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >(\n client: StreamChat<StreamChatGenerics>,\n ) => {\n const queue = getPendingTasks();\n for (const task of queue) {\n if (!task.id) continue;\n\n try {\n await this.executeTask<StreamChatGenerics>({\n client,\n task,\n });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n deletePendingTask({\n id: task.id,\n });\n await restBeforeNextTask();\n }\n };\n\n static dropPendingTasks = (conditions: { messageId: string }) => {\n const tasks = getPendingTasks(conditions);\n\n for (const task of tasks) {\n if (!task.id) continue;\n\n deletePendingTask({\n id: task.id,\n });\n }\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_handleEventToSyncDB","require","_apis","_addPendingTask","_deletePendingTask","_getPendingTasks","_QuickSqliteClient","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","restBeforeNextTask","Promise","resolve","setTimeout","DBSyncManager","_createClass2","_classCallCheck2","exports","syncStatus","listeners","client","getSyncStatus","init","_ref","_asyncToGenerator2","_regenerator","mark","_callee2","_client$user","_client$wsConnection","wrap","_callee2$","_context2","prev","user","id","wsConnection","isHealthy","syncAndExecutePendingTasks","forEach","l","on","_ref2","_callee","event","_callee$","_context","online","stop","_x2","apply","arguments","_x","onSyncStatusChange","listener","push","unsubscribe","filter","el","sync","_callee3","_DBSyncManager$client","lastSyncedAt","cids","result","queries","_callee3$","_context3","abrupt","getLastSyncedAt","currentUserId","getAllChannelIds","Date","toISOString","sent","events","reduce","concat","handleEventToSyncDB","QuickSqliteClient","executeSqlBatch","t0","resetDB","upsertUserSyncStatus","_callee4","_callee4$","_context4","executePendingTasks","queueTask","_ref6","_callee5","_ref5","task","removeFromApi","response","_response","_response$data","_callee5$","_context5","addPendingTask","executeTask","data","code","_x3","_ref8","_callee6","_ref7","channel","_callee6$","_context6","channelType","channelId","type","sendReaction","_toConsumableArray2","payload","deleteReaction","deleteMessage","Error","_x4","_ref9","_callee7","queue","_iterator","_step","_response2","_response2$data","_callee7$","_context7","getPendingTasks","deletePendingTask","_x5","dropPendingTasks","conditions","tasks","_iterator2","_step2"],"sources":["DBSyncManager.ts"],"sourcesContent":["import type { AxiosError } from 'axios';\nimport type { APIErrorResponse, StreamChat } from 'stream-chat';\n\nimport { handleEventToSyncDB } from '../components/Chat/hooks/handleEventToSyncDB';\nimport { getAllChannelIds, getLastSyncedAt, upsertUserSyncStatus } from '../store/apis';\n\nimport { addPendingTask } from '../store/apis/addPendingTask';\n\nimport { deletePendingTask } from '../store/apis/deletePendingTask';\nimport { getPendingTasks } from '../store/apis/getPendingTasks';\nimport { QuickSqliteClient } from '../store/QuickSqliteClient';\nimport type { PendingTask, PreparedQueries } from '../store/types';\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\n/**\n * DBSyncManager has the responsibility to sync the channel states\n * within local database whenever possible.\n *\n * Components can get the current sync status using DBSyncManager.getCurrentStatus().\n * Or components can attach a listener for status change as following:\n *\n * ```tsx\n * useEffect(() => {\n * const unsubscribe = DBSyncManager.onSyncStatusChange((syncStatus) => {\n * if (syncStatus) {\n * doSomething();\n * }\n * })\n *\n * return () => unsubscribe();\n * })\n * ```\n */\nconst restBeforeNextTask = () => new Promise((resolve) => setTimeout(resolve, 500));\n\nexport class DBSyncManager {\n static syncStatus = false;\n static listeners: Array<(status: boolean) => void> = [];\n static client: StreamChat | null = null;\n\n /**\n * Returns weather channel states in local DB are synced with backend or not.\n * @returns boolean\n */\n static getSyncStatus = () => this.syncStatus;\n\n /**\n * Initializes the DBSyncManager. This function should be called only once\n * throughout the lifetime of SDK.\n *\n * @param client\n */\n static init = async (client: StreamChat) => {\n this.client = client;\n // If the websocket connection is already active, then straightaway\n // call the sync api and also execute pending api calls.\n // Otherwise wait for `connection.changed` event.\n if (client.user?.id && client.wsConnection?.isHealthy) {\n await this.syncAndExecutePendingTasks();\n this.syncStatus = true;\n this.listeners.forEach((l) => l(true));\n }\n\n this.client.on('connection.changed', async (event) => {\n if (event.online) {\n await this.syncAndExecutePendingTasks();\n this.syncStatus = true;\n this.listeners.forEach((l) => l(true));\n } else {\n this.syncStatus = false;\n this.listeners.forEach((l) => l(false));\n }\n });\n };\n\n /**\n * Subscribes a listener for sync status change.\n *\n * @param listener {function}\n * @returns {function} to unsubscribe the listener.\n */\n static onSyncStatusChange = (listener: (status: boolean) => void) => {\n this.listeners.push(listener);\n\n return {\n unsubscribe: () => {\n this.listeners = this.listeners.filter((el) => el !== listener);\n },\n };\n };\n\n static sync = async () => {\n if (!this.client?.user) return;\n\n const lastSyncedAt = getLastSyncedAt({\n currentUserId: this.client.user.id,\n });\n const cids = getAllChannelIds();\n // If there are no channels, then there is no need to sync.\n if (cids.length === 0) return;\n\n if (lastSyncedAt) {\n try {\n const result = await this.client.sync(cids, new Date(lastSyncedAt).toISOString());\n const queries = result.events.reduce<PreparedQueries[]>((queries, event) => {\n queries = queries.concat(handleEventToSyncDB(event, false));\n return queries;\n }, []);\n\n if (queries.length) {\n QuickSqliteClient.executeSqlBatch(queries);\n }\n } catch (e) {\n // Error will be raised by the sync API if there are too many events.\n // In that case reset the entire DB and start fresh.\n QuickSqliteClient.resetDB();\n }\n }\n upsertUserSyncStatus({\n currentUserId: this.client.user.id,\n lastSyncedAt: new Date().toString(),\n });\n };\n\n static syncAndExecutePendingTasks = async () => {\n if (!this.client) return;\n\n await this.executePendingTasks(this.client);\n await this.sync();\n };\n\n static queueTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >({\n client,\n task,\n }: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n }) => {\n const removeFromApi = addPendingTask(task);\n\n let response;\n try {\n response = await this.executeTask<StreamChatGenerics>({ client, task });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n removeFromApi();\n\n return response;\n };\n\n static executeTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >({\n client,\n task,\n }: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n }) => {\n const channel = client.channel(task.channelType, task.channelId);\n\n if (task.type === 'send-reaction') {\n return await channel.sendReaction(...task.payload);\n }\n\n if (task.type === 'delete-reaction') {\n return await channel.deleteReaction(...task.payload);\n }\n\n if (task.type === 'delete-message') {\n return await client.deleteMessage(...task.payload);\n }\n\n throw new Error('Invalid task type');\n };\n\n static executePendingTasks = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >(\n client: StreamChat<StreamChatGenerics>,\n ) => {\n const queue = getPendingTasks();\n for (const task of queue) {\n if (!task.id) continue;\n\n try {\n await this.executeTask<StreamChatGenerics>({\n client,\n task,\n });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n deletePendingTask({\n id: task.id,\n });\n await restBeforeNextTask();\n }\n };\n\n static dropPendingTasks = (conditions: { messageId: string }) => {\n const tasks = getPendingTasks(conditions);\n\n for (const task of tasks) {\n if (!task.id) continue;\n\n deletePendingTask({\n id: task.id,\n });\n }\n };\n}\n"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.15.0-beta.5"
2
+ "version": "5.15.0-beta.7"
3
3
  }
@@ -17,7 +17,7 @@ export * from './upsertAppSettings';
17
17
  export * from './upsertChannelData';
18
18
  export * from './upsertChannels';
19
19
  export * from './upsertCidsForQuery';
20
- export * from './upsertLastSyncedAt';
20
+ export * from './upsertUserSyncStatus';
21
21
  export * from './upsertMembers';
22
22
  export * from './upsertMessages';
23
23
  export * from './upsertReads';
@@ -0,0 +1,4 @@
1
+ export declare const upsertUserSyncStatus: ({ currentUserId, lastSyncedAt, }: {
2
+ currentUserId: string;
3
+ lastSyncedAt: string;
4
+ }) => void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "5.15.0-beta.5",
4
+ "version": "5.15.0-beta.7",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"