stream-chat-react-native-core 5.15.0-beta.6 → 5.15.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 (29) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +72 -61
  2. package/lib/commonjs/components/Channel/Channel.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/Channel/Channel.js +72 -61
  11. package/lib/module/components/Channel/Channel.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/Channel/Channel.tsx +74 -57
  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
@@ -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.6"
2
+ "version": "5.15.0"
3
3
  }
@@ -482,7 +482,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
482
482
  } else {
483
483
  setThread(null);
484
484
  }
485
- }, [threadPropsExists]);
485
+ }, [threadPropsExists, shouldSyncChannel]);
486
486
  var handleAppBackground = (0, _react.useCallback)(function () {
487
487
  var _channelData$own_capa;
488
488
  var channelData = channel.data;
@@ -533,61 +533,50 @@ var ChannelWithContext = function ChannelWithContext(props) {
533
533
  setWatchers((0, _extends2["default"])({}, channel.state.watchers));
534
534
  }
535
535
  }, stateUpdateThrottleInterval, throttleOptions)).current;
536
- var connectionChangedHandler = function connectionChangedHandler() {
537
- if (shouldSyncChannel) {
538
- resyncChannel();
539
- }
540
- };
541
- var handleEvent = function handleEvent(event) {
542
- if (shouldSyncChannel) {
543
- var _event$message;
544
- if (thread) {
545
- var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
546
- setThreadMessages(updatedThreadMessages);
547
- }
548
- if (channel && thread && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id) {
549
- var updatedThread = channel.state.formatMessage(event.message);
550
- setThread(updatedThread);
551
- }
552
- if (event.type === 'typing.start' || event.type === 'typing.stop') {
553
- copyTypingState();
554
- } else if (event.type === 'message.read') {
555
- copyReadState();
556
- } else if (event.type === 'message.new') {
557
- copyMessagesState();
558
- } else if (channel) {
559
- copyChannelState();
560
- }
561
- }
562
- };
563
536
  (0, _react.useEffect)(function () {
564
537
  var channelSubscriptions = [];
565
- var clientSubscriptions = [];
566
- if (!channel) return;
567
- clientSubscriptions.push(client.on('channel.deleted', function (event) {
568
- if (event.cid === channel.cid) {
569
- setDeleted(true);
570
- }
571
- }));
572
- if (enableOfflineSupport) {
573
- clientSubscriptions.push(_DBSyncManager.DBSyncManager.onSyncStatusChange(connectionChangedHandler));
574
- } else {
575
- clientSubscriptions.push(client.on('connection.changed', function (event) {
576
- if (event.online) {
577
- connectionChangedHandler();
578
- }
579
- }));
538
+ if (channel && shouldSyncChannel) {
539
+ channelSubscriptions.push(channel.on('message.new', copyMessagesState));
540
+ channelSubscriptions.push(channel.on('message.read', copyReadState));
541
+ channelSubscriptions.push(channel.on('typing.start', copyTypingState));
542
+ channelSubscriptions.push(channel.on('typing.stop', copyTypingState));
580
543
  }
581
- channelSubscriptions.push(channel.on(handleEvent));
582
544
  return function () {
583
- clientSubscriptions.forEach(function (s) {
584
- return s.unsubscribe();
585
- });
586
545
  channelSubscriptions.forEach(function (s) {
587
546
  return s.unsubscribe();
588
547
  });
589
548
  };
590
- }, [channelId, connectionChangedHandler, handleEvent]);
549
+ }, [channelId, shouldSyncChannel]);
550
+ (0, _react.useEffect)(function () {
551
+ var handleEvent = function handleEvent(event) {
552
+ if (shouldSyncChannel) {
553
+ var _event$message;
554
+ if (thread) {
555
+ var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
556
+ setThreadMessages(updatedThreadMessages);
557
+ }
558
+ if (channel && thread && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id) {
559
+ var updatedThread = channel.state.formatMessage(event.message);
560
+ setThread(updatedThread);
561
+ }
562
+ if (channel && event.type !== 'message.new' && event.type !== 'message.read' && event.type !== 'typing.start' && event.type !== 'typing.stop') {
563
+ copyChannelState();
564
+ }
565
+ }
566
+ };
567
+ var _channel$on = channel.on(handleEvent),
568
+ unsubscribe = _channel$on.unsubscribe;
569
+ return unsubscribe;
570
+ }, [channelId, thread == null ? void 0 : thread.id, shouldSyncChannel]);
571
+ (0, _react.useEffect)(function () {
572
+ var _client$on = client.on('channel.deleted', function (event) {
573
+ if (event.cid === (channel == null ? void 0 : channel.cid)) {
574
+ setDeleted(true);
575
+ }
576
+ }),
577
+ unsubscribe = _client$on.unsubscribe;
578
+ return unsubscribe;
579
+ }, [channelId]);
591
580
  var channelQueryCallRef = (0, _react.useRef)(function () {
592
581
  var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(queryCall) {
593
582
  var onAfterQueryCall,
@@ -927,6 +916,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
927
916
  return _ref9.apply(this, arguments);
928
917
  };
929
918
  }();
919
+ var resyncChannelRef = (0, _react.useRef)(resyncChannel);
920
+ resyncChannelRef.current = resyncChannel;
921
+ (0, _react.useEffect)(function () {
922
+ var connectionChangedHandler = function connectionChangedHandler() {
923
+ if (shouldSyncChannel) {
924
+ resyncChannelRef.current();
925
+ }
926
+ };
927
+ var connectionChangedSubscription;
928
+ if (enableOfflineSupport) {
929
+ connectionChangedSubscription = _DBSyncManager.DBSyncManager.onSyncStatusChange(connectionChangedHandler);
930
+ } else {
931
+ connectionChangedSubscription = client.on('connection.changed', function (event) {
932
+ if (event.online) {
933
+ connectionChangedHandler();
934
+ }
935
+ });
936
+ }
937
+ return function () {
938
+ connectionChangedSubscription.unsubscribe();
939
+ };
940
+ }, [enableOfflineSupport, shouldSyncChannel]);
930
941
  var reloadChannel = function reloadChannel() {
931
942
  return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
932
943
  return _regenerator["default"].wrap(function _callee8$(_context8) {
@@ -2015,7 +2026,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2015
2026
  __self: _this,
2016
2027
  __source: {
2017
2028
  fileName: _jsxFileName,
2018
- lineNumber: 2001,
2029
+ lineNumber: 2018,
2019
2030
  columnNumber: 12
2020
2031
  }
2021
2032
  });
@@ -2029,7 +2040,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2029
2040
  __self: _this,
2030
2041
  __source: {
2031
2042
  fileName: _jsxFileName,
2032
- lineNumber: 2006,
2043
+ lineNumber: 2023,
2033
2044
  columnNumber: 7
2034
2045
  }
2035
2046
  }, t('Please select a channel first'));
@@ -2042,7 +2053,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2042
2053
  __self: _this,
2043
2054
  __source: {
2044
2055
  fileName: _jsxFileName,
2045
- lineNumber: 2013,
2056
+ lineNumber: 2030,
2046
2057
  columnNumber: 5
2047
2058
  }
2048
2059
  }), _react["default"].createElement(_ChannelContext.ChannelProvider, {
@@ -2050,7 +2061,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2050
2061
  __self: _this,
2051
2062
  __source: {
2052
2063
  fileName: _jsxFileName,
2053
- lineNumber: 2019,
2064
+ lineNumber: 2036,
2054
2065
  columnNumber: 7
2055
2066
  }
2056
2067
  }, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
@@ -2058,7 +2069,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2058
2069
  __self: _this,
2059
2070
  __source: {
2060
2071
  fileName: _jsxFileName,
2061
- lineNumber: 2020,
2072
+ lineNumber: 2037,
2062
2073
  columnNumber: 9
2063
2074
  }
2064
2075
  }, _react["default"].createElement(_TypingContext.TypingProvider, {
@@ -2066,7 +2077,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2066
2077
  __self: _this,
2067
2078
  __source: {
2068
2079
  fileName: _jsxFileName,
2069
- lineNumber: 2021,
2080
+ lineNumber: 2038,
2070
2081
  columnNumber: 11
2071
2082
  }
2072
2083
  }, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
@@ -2074,7 +2085,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2074
2085
  __self: _this,
2075
2086
  __source: {
2076
2087
  fileName: _jsxFileName,
2077
- lineNumber: 2022,
2088
+ lineNumber: 2039,
2078
2089
  columnNumber: 13
2079
2090
  }
2080
2091
  }, _react["default"].createElement(_MessagesContext.MessagesProvider, {
@@ -2082,7 +2093,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2082
2093
  __self: _this,
2083
2094
  __source: {
2084
2095
  fileName: _jsxFileName,
2085
- lineNumber: 2023,
2096
+ lineNumber: 2040,
2086
2097
  columnNumber: 15
2087
2098
  }
2088
2099
  }, _react["default"].createElement(_ThreadContext.ThreadProvider, {
@@ -2090,7 +2101,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2090
2101
  __self: _this,
2091
2102
  __source: {
2092
2103
  fileName: _jsxFileName,
2093
- lineNumber: 2024,
2104
+ lineNumber: 2041,
2094
2105
  columnNumber: 17
2095
2106
  }
2096
2107
  }, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
@@ -2098,7 +2109,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2098
2109
  __self: _this,
2099
2110
  __source: {
2100
2111
  fileName: _jsxFileName,
2101
- lineNumber: 2025,
2112
+ lineNumber: 2042,
2102
2113
  columnNumber: 19
2103
2114
  }
2104
2115
  }, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
@@ -2106,7 +2117,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2106
2117
  __self: _this,
2107
2118
  __source: {
2108
2119
  fileName: _jsxFileName,
2109
- lineNumber: 2026,
2120
+ lineNumber: 2043,
2110
2121
  columnNumber: 21
2111
2122
  }
2112
2123
  }, _react["default"].createElement(_reactNative.View, {
@@ -2116,7 +2127,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2116
2127
  __self: _this,
2117
2128
  __source: {
2118
2129
  fileName: _jsxFileName,
2119
- lineNumber: 2027,
2130
+ lineNumber: 2044,
2120
2131
  columnNumber: 23
2121
2132
  }
2122
2133
  }, children))))))))));
@@ -2167,7 +2178,7 @@ var Channel = function Channel(props) {
2167
2178
  __self: _this,
2168
2179
  __source: {
2169
2180
  fileName: _jsxFileName,
2170
- lineNumber: 2084,
2181
+ lineNumber: 2101,
2171
2182
  columnNumber: 5
2172
2183
  }
2173
2184
  }));