stream-chat 8.55.0 → 8.56.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.js CHANGED
@@ -324,11 +324,11 @@ var Campaign = /*#__PURE__*/function () {
324
324
 
325
325
  var https = null;
326
326
 
327
- function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
327
+ function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
328
328
 
329
- function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$d(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
329
+ function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$e(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
330
330
 
331
- function _createForOfIteratorHelper$5(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (_e) { function e(_x) { return _e.apply(this, arguments); } e.toString = function () { return _e.toString(); }; return e; }(function (e) { throw e; }), f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function (_e2) { function e(_x2) { return _e2.apply(this, arguments); } e.toString = function () { return _e2.toString(); }; return e; }(function (e) { didErr = true; err = e; }), f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
331
+ function _createForOfIteratorHelper$5(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function (_e) { function e(_x2) { return _e.apply(this, arguments); } e.toString = function () { return _e.toString(); }; return e; }(function (e) { throw e; }), f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function (_e2) { function e(_x3) { return _e2.apply(this, arguments); } e.toString = function () { return _e2.toString(); }; return e; }(function (e) { didErr = true; err = e; }), f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
332
332
 
333
333
  function _unsupportedIterableToArray$5(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$5(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$5(o, minLen); }
334
334
 
@@ -423,8 +423,8 @@ function normalizeQuerySort(sort) {
423
423
 
424
424
  try {
425
425
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
426
- var item = _step.value;
427
- var entries = Object.entries(item);
426
+ var _item = _step.value;
427
+ var entries = Object.entries(_item);
428
428
 
429
429
  if (entries.length > 1) {
430
430
  console.warn("client._buildSort() - multiple fields in a single sort object detected. Object's field order is not guaranteed");
@@ -588,7 +588,7 @@ var axiosParamsSerializer = function axiosParamsSerializer(params) {
588
588
  */
589
589
 
590
590
  function formatMessage(message) {
591
- return _objectSpread$d(_objectSpread$d({}, message), {}, {
591
+ return _objectSpread$e(_objectSpread$e({}, message), {}, {
592
592
  /**
593
593
  * @deprecated please use `html`
594
594
  */
@@ -832,6 +832,28 @@ var throttle = function throttle(fn) {
832
832
  runningTimeout = setTimeout(timeoutHandler, timeout);
833
833
  };
834
834
  };
835
+
836
+ var get = function get(obj, path) {
837
+ return path.split('.').reduce(function (acc, key) {
838
+ if (acc && _typeof__default['default'](acc) === 'object' && key in acc) {
839
+ return acc[key];
840
+ }
841
+
842
+ return undefined;
843
+ }, obj);
844
+ }; // works exactly the same as lodash.uniqBy
845
+
846
+
847
+ var uniqBy = function uniqBy(array, iteratee) {
848
+ if (!Array.isArray(array)) return [];
849
+ var seen = new Set();
850
+ return array.filter(function (item) {
851
+ var key = typeof iteratee === 'function' ? iteratee(item) : get(item, iteratee);
852
+ if (seen.has(key)) return false;
853
+ seen.add(key);
854
+ return true;
855
+ });
856
+ };
835
857
  function binarySearchByDateEqualOrNearestGreater(array, targetDate) {
836
858
  var left = 0;
837
859
  var right = array.length - 1;
@@ -865,7 +887,7 @@ var messagePaginationCreatedAtAround = function messagePaginationCreatedAtAround
865
887
  returnedPage = _ref4.returnedPage,
866
888
  messagePaginationOptions = _ref4.messagePaginationOptions;
867
889
 
868
- var newPagination = _objectSpread$d({}, parentSet.pagination);
890
+ var newPagination = _objectSpread$e({}, parentSet.pagination);
869
891
 
870
892
  if (!(messagePaginationOptions !== null && messagePaginationOptions !== void 0 && messagePaginationOptions.created_at_around)) return newPagination;
871
893
  var hasPrev;
@@ -930,7 +952,7 @@ var messagePaginationIdAround = function messagePaginationIdAround(_ref6) {
930
952
  returnedPage = _ref6.returnedPage,
931
953
  messagePaginationOptions = _ref6.messagePaginationOptions;
932
954
 
933
- var newPagination = _objectSpread$d({}, parentSet.pagination);
955
+ var newPagination = _objectSpread$e({}, parentSet.pagination);
934
956
 
935
957
  var _ref7 = messagePaginationOptions || {},
936
958
  id_around = _ref7.id_around;
@@ -988,7 +1010,7 @@ var messagePaginationLinear = function messagePaginationLinear(_ref9) {
988
1010
  returnedPage = _ref9.returnedPage,
989
1011
  messagePaginationOptions = _ref9.messagePaginationOptions;
990
1012
 
991
- var newPagination = _objectSpread$d({}, parentSet.pagination);
1013
+ var newPagination = _objectSpread$e({}, parentSet.pagination);
992
1014
 
993
1015
  var hasPrev;
994
1016
  var hasNext;
@@ -1034,6 +1056,294 @@ var messageSetPagination = function messageSetPagination(params) {
1034
1056
  return messagePaginationLinear(params);
1035
1057
  }
1036
1058
  };
1059
+ /**
1060
+ * A utility object used to prevent duplicate invocation of channel.watch() to be triggered when
1061
+ * 'notification.message_new' and 'notification.added_to_channel' events arrive at the same time.
1062
+ */
1063
+
1064
+ var WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL = {};
1065
+
1066
+ /**
1067
+ * Calls channel.watch() if it was not already recently called. Waits for watch promise to resolve even if it was invoked previously.
1068
+ * If the channel is not passed as a property, it will get it either by its channel.cid or by its members list and do the same.
1069
+ * @param client
1070
+ * @param members
1071
+ * @param options
1072
+ * @param type
1073
+ * @param id
1074
+ * @param channel
1075
+ */
1076
+ var getAndWatchChannel = /*#__PURE__*/function () {
1077
+ var _ref12 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(_ref11) {
1078
+ var channel, client, id, members, options, type, channelToWatch, originalCid, queryPromise;
1079
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
1080
+ while (1) {
1081
+ switch (_context.prev = _context.next) {
1082
+ case 0:
1083
+ channel = _ref11.channel, client = _ref11.client, id = _ref11.id, members = _ref11.members, options = _ref11.options, type = _ref11.type;
1084
+
1085
+ if (!(!channel && !type)) {
1086
+ _context.next = 3;
1087
+ break;
1088
+ }
1089
+
1090
+ throw new Error('Channel or channel type have to be provided to query a channel.');
1091
+
1092
+ case 3:
1093
+ // unfortunately typescript is not able to infer that if (!channel && !type) === false, then channel or type has to be truthy
1094
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1095
+ channelToWatch = channel || client.channel(type, id, {
1096
+ members: members
1097
+ }); // need to keep as with call to channel.watch the id can be changed from undefined to an actual ID generated server-side
1098
+
1099
+ originalCid = channelToWatch.id ? channelToWatch.cid : members && members.length ? generateChannelTempCid(channelToWatch.type, members) : undefined;
1100
+
1101
+ if (originalCid) {
1102
+ _context.next = 7;
1103
+ break;
1104
+ }
1105
+
1106
+ throw new Error('Channel ID or channel members array have to be provided to query a channel.');
1107
+
1108
+ case 7:
1109
+ queryPromise = WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
1110
+
1111
+ if (!queryPromise) {
1112
+ _context.next = 13;
1113
+ break;
1114
+ }
1115
+
1116
+ _context.next = 11;
1117
+ return queryPromise;
1118
+
1119
+ case 11:
1120
+ _context.next = 20;
1121
+ break;
1122
+
1123
+ case 13:
1124
+ _context.prev = 13;
1125
+ WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid] = channelToWatch.watch(options);
1126
+ _context.next = 17;
1127
+ return WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
1128
+
1129
+ case 17:
1130
+ _context.prev = 17;
1131
+ delete WATCH_QUERY_IN_PROGRESS_FOR_CHANNEL[originalCid];
1132
+ return _context.finish(17);
1133
+
1134
+ case 20:
1135
+ return _context.abrupt("return", channelToWatch);
1136
+
1137
+ case 21:
1138
+ case "end":
1139
+ return _context.stop();
1140
+ }
1141
+ }
1142
+ }, _callee, null, [[13,, 17, 20]]);
1143
+ }));
1144
+
1145
+ return function getAndWatchChannel(_x) {
1146
+ return _ref12.apply(this, arguments);
1147
+ };
1148
+ }();
1149
+ /**
1150
+ * Generates a temporary channel.cid for channels created without ID, as they need to be referenced
1151
+ * by an identifier until the back-end generates the final ID. The cid is generated by its member IDs
1152
+ * which are sorted and can be recreated the same every time given the same arguments.
1153
+ * @param channelType
1154
+ * @param members
1155
+ */
1156
+
1157
+ var generateChannelTempCid = function generateChannelTempCid(channelType, members) {
1158
+ if (!members) return;
1159
+
1160
+ var membersStr = _toConsumableArray__default['default'](members).sort().join(',');
1161
+
1162
+ if (!membersStr) return;
1163
+ return "".concat(channelType, ":!members-").concat(membersStr);
1164
+ };
1165
+ /**
1166
+ * Checks if a channel is pinned or not. Will return true only if channel.state.membership.pinned_at exists.
1167
+ * @param channel
1168
+ */
1169
+
1170
+ var isChannelPinned = function isChannelPinned(channel) {
1171
+ if (!channel) return false;
1172
+ var member = channel.state.membership;
1173
+ return !!(member !== null && member !== void 0 && member.pinned_at);
1174
+ };
1175
+ /**
1176
+ * Checks if a channel is archived or not. Will return true only if channel.state.membership.archived_at exists.
1177
+ * @param channel
1178
+ */
1179
+
1180
+ var isChannelArchived = function isChannelArchived(channel) {
1181
+ if (!channel) return false;
1182
+ var member = channel.state.membership;
1183
+ return !!(member !== null && member !== void 0 && member.archived_at);
1184
+ };
1185
+ /**
1186
+ * A utility that tells us whether we should consider archived channels or not based
1187
+ * on filters. Will return true only if filters.archived exists and is a boolean value.
1188
+ * @param filters
1189
+ */
1190
+
1191
+ var shouldConsiderArchivedChannels = function shouldConsiderArchivedChannels(filters) {
1192
+ if (!filters) return false;
1193
+ return typeof filters.archived === 'boolean';
1194
+ };
1195
+ /**
1196
+ * Extracts the value of the sort parameter at a given index, for a targeted key. Can
1197
+ * handle both array and object versions of sort. Will return null if the index/key
1198
+ * combination does not exist.
1199
+ * @param atIndex - the index at which we'll examine the sort value, if it's an array one
1200
+ * @param sort - the sort value - both array and object notations are accepted
1201
+ * @param targetKey - the target key which needs to exist for the sort at a certain index
1202
+ */
1203
+
1204
+ var extractSortValue = function extractSortValue(_ref13) {
1205
+ var _option$targetKey, _option;
1206
+
1207
+ var atIndex = _ref13.atIndex,
1208
+ sort = _ref13.sort,
1209
+ targetKey = _ref13.targetKey;
1210
+ if (!sort) return null;
1211
+ var option = null;
1212
+
1213
+ if (Array.isArray(sort)) {
1214
+ var _sort$atIndex;
1215
+
1216
+ option = (_sort$atIndex = sort[atIndex]) !== null && _sort$atIndex !== void 0 ? _sort$atIndex : null;
1217
+ } else {
1218
+ var index = 0;
1219
+
1220
+ for (var _key3 in sort) {
1221
+ if (index !== atIndex) {
1222
+ index++;
1223
+ continue;
1224
+ }
1225
+
1226
+ if (_key3 !== targetKey) {
1227
+ return null;
1228
+ }
1229
+
1230
+ option = sort;
1231
+ break;
1232
+ }
1233
+ }
1234
+
1235
+ return (_option$targetKey = (_option = option) === null || _option === void 0 ? void 0 : _option[targetKey]) !== null && _option$targetKey !== void 0 ? _option$targetKey : null;
1236
+ };
1237
+ /**
1238
+ * Returns true only if `{ pinned_at: -1 }` or `{ pinned_at: 1 }` option is first within the `sort` array.
1239
+ */
1240
+
1241
+ var shouldConsiderPinnedChannels = function shouldConsiderPinnedChannels(sort) {
1242
+ var value = findPinnedAtSortOrder({
1243
+ sort: sort
1244
+ });
1245
+ if (typeof value !== 'number') return false;
1246
+ return Math.abs(value) === 1;
1247
+ };
1248
+ /**
1249
+ * Checks whether the sort value of type object contains a pinned_at value or if
1250
+ * an array sort value type has the first value be an object containing pinned_at.
1251
+ * @param sort
1252
+ */
1253
+
1254
+ var findPinnedAtSortOrder = function findPinnedAtSortOrder(_ref14) {
1255
+ var sort = _ref14.sort;
1256
+ return extractSortValue({
1257
+ atIndex: 0,
1258
+ sort: sort,
1259
+ targetKey: 'pinned_at'
1260
+ });
1261
+ };
1262
+ /**
1263
+ * Finds the index of the last consecutively pinned channel, starting from the start of the
1264
+ * array. Will not consider any pinned channels after the contiguous subsequence at the
1265
+ * start of the array.
1266
+ * @param channels
1267
+ */
1268
+
1269
+ var findLastPinnedChannelIndex = function findLastPinnedChannelIndex(_ref15) {
1270
+ var channels = _ref15.channels;
1271
+ var lastPinnedChannelIndex = null;
1272
+
1273
+ var _iterator2 = _createForOfIteratorHelper$5(channels),
1274
+ _step2;
1275
+
1276
+ try {
1277
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1278
+ var channel = _step2.value;
1279
+ if (!isChannelPinned(channel)) break;
1280
+
1281
+ if (typeof lastPinnedChannelIndex === 'number') {
1282
+ lastPinnedChannelIndex++;
1283
+ } else {
1284
+ lastPinnedChannelIndex = 0;
1285
+ }
1286
+ }
1287
+ } catch (err) {
1288
+ _iterator2.e(err);
1289
+ } finally {
1290
+ _iterator2.f();
1291
+ }
1292
+
1293
+ return lastPinnedChannelIndex;
1294
+ };
1295
+ /**
1296
+ * A utility used to move a channel towards the beginning of a list of channels (promote it to a higher position). It
1297
+ * considers pinned channels in the process if needed and makes sure to only update the list reference if the list
1298
+ * should actually change. It will try to move the channel as high as it can within the list.
1299
+ * @param channels - the list of channels we want to modify
1300
+ * @param channelToMove - the channel we want to promote
1301
+ * @param channelToMoveIndexWithinChannels - optionally, the index of the channel we want to move if we know it (will skip a manual check)
1302
+ * @param sort - the sort value used to check for pinned channels
1303
+ */
1304
+
1305
+ var promoteChannel = function promoteChannel(_ref16) {
1306
+ var channels = _ref16.channels,
1307
+ channelToMove = _ref16.channelToMove,
1308
+ channelToMoveIndexWithinChannels = _ref16.channelToMoveIndexWithinChannels,
1309
+ sort = _ref16.sort;
1310
+ // get index of channel to move up
1311
+ var targetChannelIndex = channelToMoveIndexWithinChannels !== null && channelToMoveIndexWithinChannels !== void 0 ? channelToMoveIndexWithinChannels : channels.findIndex(function (channel) {
1312
+ return channel.cid === channelToMove.cid;
1313
+ });
1314
+ var targetChannelExistsWithinList = targetChannelIndex >= 0;
1315
+ var targetChannelAlreadyAtTheTop = targetChannelIndex === 0; // pinned channels should not move within the list based on recent activity, channels which
1316
+ // receive messages and are not pinned should move upwards but only under the last pinned channel
1317
+ // in the list
1318
+
1319
+ var considerPinnedChannels = shouldConsiderPinnedChannels(sort);
1320
+ var isTargetChannelPinned = isChannelPinned(channelToMove);
1321
+
1322
+ if (targetChannelAlreadyAtTheTop || considerPinnedChannels && isTargetChannelPinned) {
1323
+ return channels;
1324
+ }
1325
+
1326
+ var newChannels = _toConsumableArray__default['default'](channels); // target channel index is known, remove it from the list
1327
+
1328
+
1329
+ if (targetChannelExistsWithinList) {
1330
+ newChannels.splice(targetChannelIndex, 1);
1331
+ } // as position of pinned channels has to stay unchanged, we need to
1332
+ // find last pinned channel in the list to move the target channel after
1333
+
1334
+
1335
+ var lastPinnedChannelIndex = null;
1336
+
1337
+ if (considerPinnedChannels) {
1338
+ lastPinnedChannelIndex = findLastPinnedChannelIndex({
1339
+ channels: newChannels
1340
+ });
1341
+ } // re-insert it at the new place (to specific index if pinned channels are considered)
1342
+
1343
+
1344
+ newChannels.splice(typeof lastPinnedChannelIndex === 'number' ? lastPinnedChannelIndex + 1 : 0, 0, channelToMove);
1345
+ return newChannels;
1346
+ };
1037
1347
 
1038
1348
  var DEFAULT_QUERY_CHANNELS_MESSAGE_LIST_PAGE_SIZE = 25;
1039
1349
  var DEFAULT_QUERY_CHANNEL_MESSAGE_LIST_PAGE_SIZE = 100;
@@ -1042,9 +1352,9 @@ var DEFAULT_MESSAGE_SET_PAGINATION = {
1042
1352
  hasPrev: false
1043
1353
  };
1044
1354
 
1045
- function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1355
+ function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1046
1356
 
1047
- function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1357
+ function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$d(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1048
1358
 
1049
1359
  /**
1050
1360
  * ChannelState - A container class for the channel state.
@@ -1125,7 +1435,7 @@ var ChannelState = /*#__PURE__*/function () {
1125
1435
  var m = messages[i];
1126
1436
 
1127
1437
  if (((_m$user = m.user) === null || _m$user === void 0 ? void 0 : _m$user.id) === user.id) {
1128
- messages[i] = _objectSpread$c(_objectSpread$c({}, m), {}, {
1438
+ messages[i] = _objectSpread$d(_objectSpread$d({}, m), {}, {
1129
1439
  user: user
1130
1440
  });
1131
1441
  }
@@ -1180,7 +1490,7 @@ var ChannelState = /*#__PURE__*/function () {
1180
1490
  user: m.user
1181
1491
  };
1182
1492
  } else {
1183
- messages[i] = _objectSpread$c(_objectSpread$c({}, m), {}, {
1493
+ messages[i] = _objectSpread$d(_objectSpread$d({}, m), {}, {
1184
1494
  type: 'deleted',
1185
1495
  deleted_at: user.deleted_at ? new Date(user.deleted_at) : null
1186
1496
  });
@@ -1498,7 +1808,7 @@ var ChannelState = /*#__PURE__*/function () {
1498
1808
  var parseMessage = function parseMessage(m) {
1499
1809
  var _m$pinned_at, _m$updated_at;
1500
1810
 
1501
- return _objectSpread$c(_objectSpread$c({}, m), {}, {
1811
+ return _objectSpread$d(_objectSpread$d({}, m), {}, {
1502
1812
  created_at: m.created_at.toISOString(),
1503
1813
  pinned_at: (_m$pinned_at = m.pinned_at) === null || _m$pinned_at === void 0 ? void 0 : _m$pinned_at.toISOString(),
1504
1814
  updated_at: (_m$updated_at = m.updated_at) === null || _m$updated_at === void 0 ? void 0 : _m$updated_at.toISOString()
@@ -1508,8 +1818,8 @@ var ChannelState = /*#__PURE__*/function () {
1508
1818
  var update = function update(messages) {
1509
1819
  var updatedMessages = messages.reduce(function (acc, msg) {
1510
1820
  if (msg.quoted_message_id === message.id) {
1511
- acc.push(_objectSpread$c(_objectSpread$c({}, parseMessage(msg)), {}, {
1512
- quoted_message: remove ? _objectSpread$c(_objectSpread$c({}, message), {}, {
1821
+ acc.push(_objectSpread$d(_objectSpread$d({}, parseMessage(msg)), {}, {
1822
+ quoted_message: remove ? _objectSpread$d(_objectSpread$d({}, message), {}, {
1513
1823
  attachments: []
1514
1824
  }) : message
1515
1825
  }));
@@ -1998,9 +2308,9 @@ function _unsupportedIterableToArray$4(o, minLen) { if (!o) return; if (typeof o
1998
2308
 
1999
2309
  function _arrayLikeToArray$4(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2000
2310
 
2001
- function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2311
+ function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2002
2312
 
2003
- function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2313
+ function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2004
2314
  /**
2005
2315
  * Channel - The Channel class manages it's own state.
2006
2316
  */
@@ -2075,7 +2385,7 @@ var Channel = /*#__PURE__*/function () {
2075
2385
  while (1) {
2076
2386
  switch (_context.prev = _context.next) {
2077
2387
  case 0:
2078
- defaultOptions = _objectSpread$b(_objectSpread$b({}, options), {}, {
2388
+ defaultOptions = _objectSpread$c(_objectSpread$c({}, options), {}, {
2079
2389
  watch: false,
2080
2390
  state: false,
2081
2391
  presence: false
@@ -2147,7 +2457,7 @@ var Channel = /*#__PURE__*/function () {
2147
2457
 
2148
2458
  this.data = data; // this._data is used for the requests...
2149
2459
 
2150
- this._data = _objectSpread$b({}, data);
2460
+ this._data = _objectSpread$c({}, data);
2151
2461
  this.cid = "".concat(type, ":").concat(id);
2152
2462
  this.listeners = {}; // perhaps the state variable should be private
2153
2463
 
@@ -2209,7 +2519,7 @@ var Channel = /*#__PURE__*/function () {
2209
2519
  switch (_context2.prev = _context2.next) {
2210
2520
  case 0:
2211
2521
  _context2.next = 2;
2212
- return this.getClient().post(this._channelURL() + '/message', _objectSpread$b({
2522
+ return this.getClient().post(this._channelURL() + '/message', _objectSpread$c({
2213
2523
  message: message
2214
2524
  }, options));
2215
2525
 
@@ -2325,7 +2635,7 @@ var Channel = /*#__PURE__*/function () {
2325
2635
 
2326
2636
  case 3:
2327
2637
  // Return a list of channels
2328
- payload = _objectSpread$b(_objectSpread$b({
2638
+ payload = _objectSpread$c(_objectSpread$c({
2329
2639
  filter_conditions: {
2330
2640
  cid: this.cid
2331
2641
  }
@@ -2422,7 +2732,7 @@ var Channel = /*#__PURE__*/function () {
2422
2732
 
2423
2733
  _context5.next = 6;
2424
2734
  return this.getClient().get(this.getClient().baseURL + '/members', {
2425
- payload: _objectSpread$b({
2735
+ payload: _objectSpread$c({
2426
2736
  type: type,
2427
2737
  id: id,
2428
2738
  members: members,
@@ -2528,7 +2838,7 @@ var Channel = /*#__PURE__*/function () {
2528
2838
 
2529
2839
  case 4:
2530
2840
  _context7.next = 6;
2531
- return this.getClient().post(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(messageID), "/reaction"), _objectSpread$b({
2841
+ return this.getClient().post(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(messageID), "/reaction"), _objectSpread$c({
2532
2842
  reaction: reaction
2533
2843
  }, options));
2534
2844
 
@@ -2609,7 +2919,7 @@ var Channel = /*#__PURE__*/function () {
2609
2919
  delete channelData[key];
2610
2920
  });
2611
2921
  _context8.next = 7;
2612
- return this._update(_objectSpread$b({
2922
+ return this._update(_objectSpread$c({
2613
2923
  message: updateMessage,
2614
2924
  data: channelData
2615
2925
  }, options));
@@ -2781,7 +3091,7 @@ var Channel = /*#__PURE__*/function () {
2781
3091
  case 0:
2782
3092
  options = _args12.length > 0 && _args12[0] !== undefined ? _args12[0] : {};
2783
3093
  _context12.next = 3;
2784
- return this.getClient().delete(this._channelURL(), _objectSpread$b({}, options));
3094
+ return this.getClient().delete(this._channelURL(), _objectSpread$c({}, options));
2785
3095
 
2786
3096
  case 3:
2787
3097
  return _context12.abrupt("return", _context12.sent);
@@ -2857,7 +3167,7 @@ var Channel = /*#__PURE__*/function () {
2857
3167
  case 0:
2858
3168
  options = _args14.length > 0 && _args14[0] !== undefined ? _args14[0] : {};
2859
3169
  _context14.next = 3;
2860
- return this._update(_objectSpread$b({
3170
+ return this._update(_objectSpread$c({
2861
3171
  accept_invite: true
2862
3172
  }, options));
2863
3173
 
@@ -2898,7 +3208,7 @@ var Channel = /*#__PURE__*/function () {
2898
3208
  case 0:
2899
3209
  options = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};
2900
3210
  _context15.next = 3;
2901
- return this._update(_objectSpread$b({
3211
+ return this._update(_objectSpread$c({
2902
3212
  reject_invite: true
2903
3213
  }, options));
2904
3214
 
@@ -2940,7 +3250,7 @@ var Channel = /*#__PURE__*/function () {
2940
3250
  case 0:
2941
3251
  options = _args16.length > 2 && _args16[2] !== undefined ? _args16[2] : {};
2942
3252
  _context16.next = 3;
2943
- return this._update(_objectSpread$b({
3253
+ return this._update(_objectSpread$c({
2944
3254
  add_members: members,
2945
3255
  message: message
2946
3256
  }, options));
@@ -2983,7 +3293,7 @@ var Channel = /*#__PURE__*/function () {
2983
3293
  case 0:
2984
3294
  options = _args17.length > 2 && _args17[2] !== undefined ? _args17[2] : {};
2985
3295
  _context17.next = 3;
2986
- return this._update(_objectSpread$b({
3296
+ return this._update(_objectSpread$c({
2987
3297
  add_moderators: members,
2988
3298
  message: message
2989
3299
  }, options));
@@ -3026,7 +3336,7 @@ var Channel = /*#__PURE__*/function () {
3026
3336
  case 0:
3027
3337
  options = _args18.length > 2 && _args18[2] !== undefined ? _args18[2] : {};
3028
3338
  _context18.next = 3;
3029
- return this._update(_objectSpread$b({
3339
+ return this._update(_objectSpread$c({
3030
3340
  assign_roles: roles,
3031
3341
  message: message
3032
3342
  }, options));
@@ -3069,7 +3379,7 @@ var Channel = /*#__PURE__*/function () {
3069
3379
  case 0:
3070
3380
  options = _args19.length > 2 && _args19[2] !== undefined ? _args19[2] : {};
3071
3381
  _context19.next = 3;
3072
- return this._update(_objectSpread$b({
3382
+ return this._update(_objectSpread$c({
3073
3383
  invites: members,
3074
3384
  message: message
3075
3385
  }, options));
@@ -3112,7 +3422,7 @@ var Channel = /*#__PURE__*/function () {
3112
3422
  case 0:
3113
3423
  options = _args20.length > 2 && _args20[2] !== undefined ? _args20[2] : {};
3114
3424
  _context20.next = 3;
3115
- return this._update(_objectSpread$b({
3425
+ return this._update(_objectSpread$c({
3116
3426
  remove_members: members,
3117
3427
  message: message
3118
3428
  }, options));
@@ -3155,7 +3465,7 @@ var Channel = /*#__PURE__*/function () {
3155
3465
  case 0:
3156
3466
  options = _args21.length > 2 && _args21[2] !== undefined ? _args21[2] : {};
3157
3467
  _context21.next = 3;
3158
- return this._update(_objectSpread$b({
3468
+ return this._update(_objectSpread$c({
3159
3469
  demote_moderators: members,
3160
3470
  message: message
3161
3471
  }, options));
@@ -3240,7 +3550,7 @@ var Channel = /*#__PURE__*/function () {
3240
3550
  case 0:
3241
3551
  opts = _args23.length > 0 && _args23[0] !== undefined ? _args23[0] : {};
3242
3552
  _context23.next = 3;
3243
- return this.getClient().post(this.getClient().baseURL + '/moderation/mute/channel', _objectSpread$b({
3553
+ return this.getClient().post(this.getClient().baseURL + '/moderation/mute/channel', _objectSpread$c({
3244
3554
  channel_cid: this.cid
3245
3555
  }, opts));
3246
3556
 
@@ -3282,7 +3592,7 @@ var Channel = /*#__PURE__*/function () {
3282
3592
  case 0:
3283
3593
  opts = _args24.length > 0 && _args24[0] !== undefined ? _args24[0] : {};
3284
3594
  _context24.next = 3;
3285
- return this.getClient().post(this.getClient().baseURL + '/moderation/unmute/channel', _objectSpread$b({
3595
+ return this.getClient().post(this.getClient().baseURL + '/moderation/unmute/channel', _objectSpread$c({
3286
3596
  channel_cid: this.cid
3287
3597
  }, opts));
3288
3598
 
@@ -3619,7 +3929,7 @@ var Channel = /*#__PURE__*/function () {
3619
3929
 
3620
3930
  this.lastTypingEvent = new Date();
3621
3931
  _context29.next = 10;
3622
- return this.sendEvent(_objectSpread$b({
3932
+ return this.sendEvent(_objectSpread$c({
3623
3933
  type: 'typing.start',
3624
3934
  parent_id: parent_id
3625
3935
  }, options || {}));
@@ -3659,7 +3969,7 @@ var Channel = /*#__PURE__*/function () {
3659
3969
  case 0:
3660
3970
  options = _args30.length > 2 && _args30[2] !== undefined ? _args30[2] : {};
3661
3971
  _context30.next = 3;
3662
- return this.sendEvent(_objectSpread$b(_objectSpread$b({}, options), {}, {
3972
+ return this.sendEvent(_objectSpread$c(_objectSpread$c({}, options), {}, {
3663
3973
  type: 'ai_indicator.update',
3664
3974
  message_id: messageId,
3665
3975
  ai_state: state
@@ -3768,7 +4078,7 @@ var Channel = /*#__PURE__*/function () {
3768
4078
  this.lastTypingEvent = null;
3769
4079
  this.isTyping = false;
3770
4080
  _context33.next = 6;
3771
- return this.sendEvent(_objectSpread$b({
4081
+ return this.sendEvent(_objectSpread$c({
3772
4082
  type: 'typing.stop',
3773
4083
  parent_id: parent_id
3774
4084
  }, options || {}));
@@ -3855,7 +4165,7 @@ var Channel = /*#__PURE__*/function () {
3855
4165
 
3856
4166
  case 4:
3857
4167
  _context34.next = 6;
3858
- return this.getClient().post(this._channelURL() + '/read', _objectSpread$b({}, data));
4168
+ return this.getClient().post(this._channelURL() + '/read', _objectSpread$c({}, data));
3859
4169
 
3860
4170
  case 6:
3861
4171
  return _context34.abrupt("return", _context34.sent);
@@ -3902,7 +4212,7 @@ var Channel = /*#__PURE__*/function () {
3902
4212
 
3903
4213
  case 3:
3904
4214
  _context35.next = 5;
3905
- return this.getClient().post(this._channelURL() + '/unread', _objectSpread$b({}, data));
4215
+ return this.getClient().post(this._channelURL() + '/unread', _objectSpread$c({}, data));
3906
4216
 
3907
4217
  case 5:
3908
4218
  return _context35.abrupt("return", _context35.sent);
@@ -3970,7 +4280,7 @@ var Channel = /*#__PURE__*/function () {
3970
4280
  defaultOptions.watch = false;
3971
4281
  }
3972
4282
 
3973
- combined = _objectSpread$b(_objectSpread$b({}, defaultOptions), options);
4283
+ combined = _objectSpread$c(_objectSpread$c({}, defaultOptions), options);
3974
4284
  _context36.next = 7;
3975
4285
  return this.query(combined, 'latest');
3976
4286
 
@@ -4064,7 +4374,7 @@ var Channel = /*#__PURE__*/function () {
4064
4374
  case 0:
4065
4375
  normalizedSort = sort ? normalizeQuerySort(sort) : undefined;
4066
4376
  _context38.next = 3;
4067
- return this.getClient().get(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(parent_id), "/replies"), _objectSpread$b({
4377
+ return this.getClient().get(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(parent_id), "/replies"), _objectSpread$c({
4068
4378
  sort: normalizedSort
4069
4379
  }, options));
4070
4380
 
@@ -4114,7 +4424,7 @@ var Channel = /*#__PURE__*/function () {
4114
4424
  sort = _args39.length > 1 && _args39[1] !== undefined ? _args39[1] : [];
4115
4425
  _context39.next = 3;
4116
4426
  return this.getClient().get(this._channelURL() + '/pinned_messages', {
4117
- payload: _objectSpread$b(_objectSpread$b({}, options), {}, {
4427
+ payload: _objectSpread$c(_objectSpread$c({}, options), {}, {
4118
4428
  sort: normalizeQuerySort(sort)
4119
4429
  })
4120
4430
  });
@@ -4148,7 +4458,7 @@ var Channel = /*#__PURE__*/function () {
4148
4458
  }, {
4149
4459
  key: "getReactions",
4150
4460
  value: function getReactions(message_id, options) {
4151
- return this.getClient().get(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(message_id), "/reactions"), _objectSpread$b({}, options));
4461
+ return this.getClient().get(this.getClient().baseURL + "/messages/".concat(encodeURIComponent(message_id), "/reactions"), _objectSpread$c({}, options));
4152
4462
  }
4153
4463
  /**
4154
4464
  * getMessagesById - Retrieves a list of messages by ID
@@ -4272,7 +4582,6 @@ var Channel = /*#__PURE__*/function () {
4272
4582
  var messageSetToAddToIfDoesNotExist,
4273
4583
  queryURL,
4274
4584
  state,
4275
- membersStr,
4276
4585
  tempChannelCid,
4277
4586
  _this$_initializeStat,
4278
4587
  messageSet,
@@ -4295,7 +4604,7 @@ var Channel = /*#__PURE__*/function () {
4295
4604
  }
4296
4605
 
4297
4606
  _context40.next = 7;
4298
- return this.getClient().post(queryURL + '/query', _objectSpread$b({
4607
+ return this.getClient().post(queryURL + '/query', _objectSpread$c({
4299
4608
  data: this._data,
4300
4609
  state: true
4301
4610
  }, options));
@@ -4308,14 +4617,13 @@ var Channel = /*#__PURE__*/function () {
4308
4617
  this.id = state.channel.id;
4309
4618
  this.cid = state.channel.cid; // set the channel as active...
4310
4619
 
4311
- membersStr = state.members.map(function (member) {
4620
+ tempChannelCid = generateChannelTempCid(this.type, state.members.map(function (member) {
4312
4621
  var _member$user;
4313
4622
 
4314
- return member.user_id || ((_member$user = member.user) === null || _member$user === void 0 ? void 0 : _member$user.id);
4315
- }).sort().join(',');
4316
- tempChannelCid = "".concat(this.type, ":!members-").concat(membersStr);
4623
+ return member.user_id || ((_member$user = member.user) === null || _member$user === void 0 ? void 0 : _member$user.id) || '';
4624
+ }));
4317
4625
 
4318
- if (tempChannelCid in this.getClient().activeChannels) {
4626
+ if (tempChannelCid && tempChannelCid in this.getClient().activeChannels) {
4319
4627
  // This gets set in `client.channel()` function, when channel is created
4320
4628
  // using members, not id.
4321
4629
  delete this.getClient().activeChannels[tempChannelCid];
@@ -4330,7 +4638,7 @@ var Channel = /*#__PURE__*/function () {
4330
4638
 
4331
4639
 
4332
4640
  _this$_initializeStat = this._initializeState(state, messageSetToAddToIfDoesNotExist), messageSet = _this$_initializeStat.messageSet;
4333
- messageSet.pagination = _objectSpread$b(_objectSpread$b({}, messageSet.pagination), messageSetPagination({
4641
+ messageSet.pagination = _objectSpread$c(_objectSpread$c({}, messageSet.pagination), messageSetPagination({
4334
4642
  parentSet: messageSet,
4335
4643
  messagePaginationOptions: options === null || options === void 0 ? void 0 : options.messages,
4336
4644
  requestedPageSize: (_options$messages$lim = options === null || options === void 0 ? void 0 : (_options$messages = options.messages) === null || _options$messages === void 0 ? void 0 : _options$messages.limit) !== null && _options$messages$lim !== void 0 ? _options$messages$lim : DEFAULT_QUERY_CHANNEL_MESSAGE_LIST_PAGE_SIZE,
@@ -4392,7 +4700,7 @@ var Channel = /*#__PURE__*/function () {
4392
4700
  this._checkInitialized();
4393
4701
 
4394
4702
  _context41.next = 3;
4395
- return this.getClient().banUser(targetUserID, _objectSpread$b(_objectSpread$b({}, options), {}, {
4703
+ return this.getClient().banUser(targetUserID, _objectSpread$c(_objectSpread$c({}, options), {}, {
4396
4704
  type: this.type,
4397
4705
  id: this.id
4398
4706
  }));
@@ -4564,7 +4872,7 @@ var Channel = /*#__PURE__*/function () {
4564
4872
  this._checkInitialized();
4565
4873
 
4566
4874
  _context45.next = 3;
4567
- return this.getClient().shadowBan(targetUserID, _objectSpread$b(_objectSpread$b({}, options), {}, {
4875
+ return this.getClient().shadowBan(targetUserID, _objectSpread$c(_objectSpread$c({}, options), {}, {
4568
4876
  type: this.type,
4569
4877
  id: this.id
4570
4878
  }));
@@ -4969,7 +5277,7 @@ var Channel = /*#__PURE__*/function () {
4969
5277
  case 'member.added':
4970
5278
  case 'member.updated':
4971
5279
  if ((_event$member = event.member) !== null && _event$member !== void 0 && _event$member.user) {
4972
- channelState.members = _objectSpread$b(_objectSpread$b({}, channelState.members), {}, _defineProperty__default['default']({}, event.member.user.id, event.member));
5280
+ channelState.members = _objectSpread$c(_objectSpread$c({}, channelState.members), {}, _defineProperty__default['default']({}, event.member.user.id, event.member));
4973
5281
  }
4974
5282
 
4975
5283
  if (typeof ((_channelState$members = channelState.membership.user) === null || _channelState$members === void 0 ? void 0 : _channelState$members.id) === 'string' && typeof ((_event$member2 = event.member) === null || _event$member2 === void 0 ? void 0 : (_event$member2$user = _event$member2.user) === null || _event$member2$user === void 0 ? void 0 : _event$member2$user.id) === 'string' && event.member.user.id === channelState.membership.user.id) {
@@ -4980,7 +5288,7 @@ var Channel = /*#__PURE__*/function () {
4980
5288
 
4981
5289
  case 'member.removed':
4982
5290
  if ((_event$user9 = event.user) !== null && _event$user9 !== void 0 && _event$user9.id) {
4983
- var newMembers = _objectSpread$b({}, channelState.members);
5291
+ var newMembers = _objectSpread$c({}, channelState.members);
4984
5292
 
4985
5293
  delete newMembers[event.user.id];
4986
5294
  channelState.members = newMembers; // TODO?: unset membership
@@ -5025,7 +5333,7 @@ var Channel = /*#__PURE__*/function () {
5025
5333
  });
5026
5334
  }
5027
5335
 
5028
- channel.data = _objectSpread$b(_objectSpread$b({}, event.channel), {}, {
5336
+ channel.data = _objectSpread$c(_objectSpread$c({}, event.channel), {}, {
5029
5337
  hidden: (_event$channel$hidden = (_event$channel3 = event.channel) === null || _event$channel3 === void 0 ? void 0 : _event$channel3.hidden) !== null && _event$channel$hidden !== void 0 ? _event$channel$hidden : (_channel$data2 = channel.data) === null || _channel$data2 === void 0 ? void 0 : _channel$data2.hidden,
5030
5338
  own_capabilities: (_event$channel$own_ca = (_event$channel4 = event.channel) === null || _event$channel4 === void 0 ? void 0 : _event$channel4.own_capabilities) !== null && _event$channel$own_ca !== void 0 ? _event$channel$own_ca : (_channel$data3 = channel.data) === null || _channel$data3 === void 0 ? void 0 : _channel$data3.own_capabilities
5031
5339
  });
@@ -5056,7 +5364,7 @@ var Channel = /*#__PURE__*/function () {
5056
5364
  break;
5057
5365
 
5058
5366
  case 'channel.hidden':
5059
- channel.data = _objectSpread$b(_objectSpread$b({}, channel.data), {}, {
5367
+ channel.data = _objectSpread$c(_objectSpread$c({}, channel.data), {}, {
5060
5368
  hidden: true
5061
5369
  });
5062
5370
 
@@ -5067,26 +5375,26 @@ var Channel = /*#__PURE__*/function () {
5067
5375
  break;
5068
5376
 
5069
5377
  case 'channel.visible':
5070
- channel.data = _objectSpread$b(_objectSpread$b({}, channel.data), {}, {
5378
+ channel.data = _objectSpread$c(_objectSpread$c({}, channel.data), {}, {
5071
5379
  hidden: false
5072
5380
  });
5073
5381
  break;
5074
5382
 
5075
5383
  case 'user.banned':
5076
5384
  if (!((_event$user11 = event.user) !== null && _event$user11 !== void 0 && _event$user11.id)) break;
5077
- channelState.members[event.user.id] = _objectSpread$b(_objectSpread$b({}, channelState.members[event.user.id] || {}), {}, {
5385
+ channelState.members[event.user.id] = _objectSpread$c(_objectSpread$c({}, channelState.members[event.user.id] || {}), {}, {
5078
5386
  shadow_banned: !!event.shadow,
5079
5387
  banned: !event.shadow,
5080
- user: _objectSpread$b(_objectSpread$b({}, ((_channelState$members2 = channelState.members[event.user.id]) === null || _channelState$members2 === void 0 ? void 0 : _channelState$members2.user) || {}), event.user)
5388
+ user: _objectSpread$c(_objectSpread$c({}, ((_channelState$members2 = channelState.members[event.user.id]) === null || _channelState$members2 === void 0 ? void 0 : _channelState$members2.user) || {}), event.user)
5081
5389
  });
5082
5390
  break;
5083
5391
 
5084
5392
  case 'user.unbanned':
5085
5393
  if (!((_event$user12 = event.user) !== null && _event$user12 !== void 0 && _event$user12.id)) break;
5086
- channelState.members[event.user.id] = _objectSpread$b(_objectSpread$b({}, channelState.members[event.user.id] || {}), {}, {
5394
+ channelState.members[event.user.id] = _objectSpread$c(_objectSpread$c({}, channelState.members[event.user.id] || {}), {}, {
5087
5395
  shadow_banned: false,
5088
5396
  banned: false,
5089
- user: _objectSpread$b(_objectSpread$b({}, ((_channelState$members3 = channelState.members[event.user.id]) === null || _channelState$members3 === void 0 ? void 0 : _channelState$members3.user) || {}), event.user)
5397
+ user: _objectSpread$c(_objectSpread$c({}, ((_channelState$members3 = channelState.members[event.user.id]) === null || _channelState$members3 === void 0 ? void 0 : _channelState$members3.user) || {}), event.user)
5090
5398
  });
5091
5399
  break;
5092
5400
  } // any event can send over the online count
@@ -5260,7 +5568,7 @@ var Channel = /*#__PURE__*/function () {
5260
5568
  if (overrideCurrentState) {
5261
5569
  this.state.members = newMembersById;
5262
5570
  } else if (!overrideCurrentState && members.length) {
5263
- this.state.members = _objectSpread$b(_objectSpread$b({}, this.state.members), newMembersById);
5571
+ this.state.members = _objectSpread$c(_objectSpread$c({}, this.state.members), newMembersById);
5264
5572
  }
5265
5573
  }
5266
5574
  }, {
@@ -5359,9 +5667,9 @@ var ClientState = /*#__PURE__*/function () {
5359
5667
  return ClientState;
5360
5668
  }();
5361
5669
 
5362
- function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5670
+ function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5363
5671
 
5364
- function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5672
+ function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5365
5673
  var InsightMetrics = function InsightMetrics() {
5366
5674
  _classCallCheck__default['default'](this, InsightMetrics);
5367
5675
 
@@ -5440,7 +5748,7 @@ var postInsights = /*#__PURE__*/function () {
5440
5748
  };
5441
5749
  }();
5442
5750
  function buildWsFatalInsight(connection, event) {
5443
- return _objectSpread$a(_objectSpread$a({}, event), buildWsBaseInsight(connection));
5751
+ return _objectSpread$b(_objectSpread$b({}, event), buildWsBaseInsight(connection));
5444
5752
  }
5445
5753
 
5446
5754
  function buildWsBaseInsight(connection) {
@@ -5473,9 +5781,9 @@ function buildWsSuccessAfterFailureInsight(connection) {
5473
5781
  return buildWsBaseInsight(connection);
5474
5782
  }
5475
5783
 
5476
- function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5784
+ function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5477
5785
 
5478
- function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5786
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5479
5787
 
5480
5788
  // Type guards to check WebSocket error type
5481
5789
  var isCloseEvent = function isCloseEvent(res) {
@@ -5839,7 +6147,7 @@ var StableWSConnection = /*#__PURE__*/function () {
5839
6147
  value: function _log(msg) {
5840
6148
  var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5841
6149
  var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'info';
5842
- this.client.logger(level, 'connection:' + msg, _objectSpread$9({
6150
+ this.client.logger(level, 'connection:' + msg, _objectSpread$a({
5843
6151
  tags: ['connection']
5844
6152
  }, extra));
5845
6153
  }
@@ -6434,9 +6742,9 @@ var jwt = null;
6434
6742
 
6435
6743
  var crypto$1 = null;
6436
6744
 
6437
- function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6745
+ function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6438
6746
 
6439
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6747
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6440
6748
 
6441
6749
  /**
6442
6750
  * Creates the JWT token that can be used for a UserSession
@@ -6457,7 +6765,7 @@ function JWTUserToken(apiSecret, userId) {
6457
6765
  throw new TypeError('userId should be a string');
6458
6766
  }
6459
6767
 
6460
- var payload = _objectSpread$8({
6768
+ var payload = _objectSpread$9({
6461
6769
  user_id: userId
6462
6770
  }, extraData); // make sure we return a clear error when jwt is shimmed (ie. browser build)
6463
6771
 
@@ -6863,9 +7171,9 @@ function isErrorResponse(res) {
6863
7171
  return !res.status || res.status < 200 || 300 <= res.status;
6864
7172
  }
6865
7173
 
6866
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7174
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6867
7175
 
6868
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7176
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6869
7177
  var ConnectionState;
6870
7178
 
6871
7179
  (function (ConnectionState) {
@@ -6928,7 +7236,7 @@ var WSConnectionFallback = /*#__PURE__*/function () {
6928
7236
  _context.next = 4;
6929
7237
  return _this.client.doAxiosRequest('get', _this.client.baseURL.replace(':3030', ':8900') + '/longpoll', // replace port if present for testing with local API
6930
7238
  undefined, {
6931
- config: _objectSpread$7(_objectSpread$7({}, config), {}, {
7239
+ config: _objectSpread$8(_objectSpread$8({}, config), {}, {
6932
7240
  cancelToken: (_this$cancelToken2 = _this.cancelToken) === null || _this$cancelToken2 === void 0 ? void 0 : _this$cancelToken2.token
6933
7241
  }),
6934
7242
  params: params
@@ -7206,7 +7514,7 @@ var WSConnectionFallback = /*#__PURE__*/function () {
7206
7514
  value: function _log(msg) {
7207
7515
  var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7208
7516
  var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'info';
7209
- this.client.logger(level, 'WSConnectionFallback:' + msg, _objectSpread$7({
7517
+ this.client.logger(level, 'WSConnectionFallback:' + msg, _objectSpread$8({
7210
7518
  tags: ['connection_fallback', 'connection']
7211
7519
  }, extra));
7212
7520
  }
@@ -7583,14 +7891,13 @@ exports.VotingVisibility = void 0;
7583
7891
  VotingVisibility["public"] = "public";
7584
7892
  })(exports.VotingVisibility || (exports.VotingVisibility = {}));
7585
7893
 
7586
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7894
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7587
7895
 
7588
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7896
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7589
7897
 
7590
- function isPatch(value) {
7898
+ var isPatch = function isPatch(value) {
7591
7899
  return typeof value === 'function';
7592
- }
7593
-
7900
+ };
7594
7901
  var StateStore = function StateStore(value) {
7595
7902
  var _this = this;
7596
7903
 
@@ -7615,7 +7922,7 @@ var StateStore = function StateStore(value) {
7615
7922
 
7616
7923
  _defineProperty__default['default'](this, "partialNext", function (partial) {
7617
7924
  return _this.next(function (current) {
7618
- return _objectSpread$6(_objectSpread$6({}, current), partial);
7925
+ return _objectSpread$7(_objectSpread$7({}, current), partial);
7619
7926
  });
7620
7927
  });
7621
7928
 
@@ -7667,9 +7974,9 @@ _defineProperty__default['default'](StateStore, "logCount", 5);
7667
7974
 
7668
7975
  var _excluded$3 = ["limit", "sort"];
7669
7976
 
7670
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7977
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7671
7978
 
7672
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7979
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7673
7980
  var DEFAULT_PAGE_LIMIT = 50;
7674
7981
  var DEFAULT_SORT = [{
7675
7982
  created_at: -1
@@ -7954,14 +8261,14 @@ var Thread = /*#__PURE__*/function () {
7954
8261
  if (userId === ((_event$user2 = event.user) === null || _event$user2 === void 0 ? void 0 : _event$user2.id)) {
7955
8262
  // The user who just sent a message to the thread has no unread messages
7956
8263
  // in that thread
7957
- nextUserRead = _objectSpread$5(_objectSpread$5({}, nextUserRead), {}, {
8264
+ nextUserRead = _objectSpread$6(_objectSpread$6({}, nextUserRead), {}, {
7958
8265
  lastReadAt: event.created_at ? new Date(event.created_at) : new Date(),
7959
8266
  user: event.user,
7960
8267
  unreadMessageCount: 0
7961
8268
  });
7962
8269
  } else if (active && userId === _this.client.userID) ; else {
7963
8270
  // Increment unread count for all users except the author of the new message
7964
- nextUserRead = _objectSpread$5(_objectSpread$5({}, nextUserRead), {}, {
8271
+ nextUserRead = _objectSpread$6(_objectSpread$6({}, nextUserRead), {}, {
7965
8272
  unreadMessageCount: userRead.unreadMessageCount + 1
7966
8273
  });
7967
8274
  }
@@ -7985,8 +8292,8 @@ var Thread = /*#__PURE__*/function () {
7985
8292
  var user = event.user;
7986
8293
 
7987
8294
  _this.state.next(function (current) {
7988
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
7989
- read: _objectSpread$5(_objectSpread$5({}, current.read), {}, _defineProperty__default['default']({}, userId, {
8295
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8296
+ read: _objectSpread$6(_objectSpread$6({}, current.read), {}, _defineProperty__default['default']({}, userId, {
7990
8297
  lastReadAt: new Date(createdAt),
7991
8298
  user: user,
7992
8299
  lastReadMessageId: event.last_read_message_id,
@@ -8099,7 +8406,7 @@ var Thread = /*#__PURE__*/function () {
8099
8406
  }
8100
8407
 
8101
8408
  _this.state.next(function (current) {
8102
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
8409
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8103
8410
  replies: addToMessageList(current.replies, formattedMessage, timestampChanged)
8104
8411
  });
8105
8412
  });
@@ -8116,7 +8423,7 @@ var Thread = /*#__PURE__*/function () {
8116
8423
  var _message$reply_count;
8117
8424
 
8118
8425
  var formattedMessage = formatMessage(message);
8119
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
8426
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8120
8427
  deletedAt: formattedMessage.deleted_at,
8121
8428
  parentMessage: formattedMessage,
8122
8429
  replyCount: (_message$reply_count = message.reply_count) !== null && _message$reply_count !== void 0 ? _message$reply_count : current.replyCount
@@ -8189,7 +8496,7 @@ var Thread = /*#__PURE__*/function () {
8189
8496
  sort = _ref10$sort === void 0 ? DEFAULT_SORT : _ref10$sort,
8190
8497
  otherOptions = _objectWithoutProperties__default['default'](_ref10, _excluded$3);
8191
8498
 
8192
- return _this.channel.getReplies(_this.id, _objectSpread$5({
8499
+ return _this.channel.getReplies(_this.id, _objectSpread$6({
8193
8500
  limit: limit
8194
8501
  }, otherOptions), sort);
8195
8502
  });
@@ -8233,12 +8540,12 @@ var Thread = /*#__PURE__*/function () {
8233
8540
  limit = Math.abs(count);
8234
8541
 
8235
8542
  _this.state.partialNext({
8236
- pagination: _objectSpread$5(_objectSpread$5({}, pagination), {}, _defineProperty__default['default']({}, loadingKey, true))
8543
+ pagination: _objectSpread$6(_objectSpread$6({}, pagination), {}, _defineProperty__default['default']({}, loadingKey, true))
8237
8544
  });
8238
8545
 
8239
8546
  _context3.prev = 7;
8240
8547
  _context3.next = 10;
8241
- return _this.queryReplies(_objectSpread$5(_objectSpread$5({}, queryOptions), {}, {
8548
+ return _this.queryReplies(_objectSpread$6(_objectSpread$6({}, queryOptions), {}, {
8242
8549
  limit: limit
8243
8550
  }));
8244
8551
 
@@ -8260,9 +8567,9 @@ var Thread = /*#__PURE__*/function () {
8260
8567
  (_nextReplies = nextReplies)[insertionMethodKey].apply(_nextReplies, _toConsumableArray__default['default'](replies));
8261
8568
  }
8262
8569
 
8263
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
8570
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8264
8571
  replies: nextReplies,
8265
- pagination: _objectSpread$5(_objectSpread$5({}, current.pagination), {}, (_objectSpread4 = {}, _defineProperty__default['default'](_objectSpread4, cursorKey, data.messages.length < limit ? null : maybeNextCursor), _defineProperty__default['default'](_objectSpread4, loadingKey, false), _objectSpread4))
8572
+ pagination: _objectSpread$6(_objectSpread$6({}, current.pagination), {}, (_objectSpread4 = {}, _defineProperty__default['default'](_objectSpread4, cursorKey, data.messages.length < limit ? null : maybeNextCursor), _defineProperty__default['default'](_objectSpread4, loadingKey, false), _objectSpread4))
8266
8573
  });
8267
8574
  });
8268
8575
 
@@ -8276,8 +8583,8 @@ var Thread = /*#__PURE__*/function () {
8276
8583
  _this.client.logger('error', _context3.t0.message);
8277
8584
 
8278
8585
  _this.state.next(function (current) {
8279
- return _objectSpread$5(_objectSpread$5({}, current), {}, {
8280
- pagination: _objectSpread$5(_objectSpread$5({}, current.pagination), {}, _defineProperty__default['default']({}, loadingKey, false))
8586
+ return _objectSpread$6(_objectSpread$6({}, current), {}, {
8587
+ pagination: _objectSpread$6(_objectSpread$6({}, current.pagination), {}, _defineProperty__default['default']({}, loadingKey, false))
8281
8588
  });
8282
8589
  });
8283
8590
 
@@ -8390,9 +8697,9 @@ var ownUnreadCountSelector = function ownUnreadCountSelector(currentUserId) {
8390
8697
  };
8391
8698
  };
8392
8699
 
8393
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8700
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8394
8701
 
8395
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8702
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8396
8703
  var MODERATION_ENTITY_TYPES = {
8397
8704
  user: 'stream:user',
8398
8705
  message: 'stream:chat:v1:message'
@@ -8509,7 +8816,7 @@ var Moderation = /*#__PURE__*/function () {
8509
8816
  case 0:
8510
8817
  options = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : {};
8511
8818
  _context3.next = 3;
8512
- return this.client.post(this.client.baseURL + '/api/v2/moderation/flag', _objectSpread$4({
8819
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/flag', _objectSpread$5({
8513
8820
  entity_type: entityType,
8514
8821
  entity_id: entityId,
8515
8822
  entity_creator_id: entityCreatorID,
@@ -8554,7 +8861,7 @@ var Moderation = /*#__PURE__*/function () {
8554
8861
  case 0:
8555
8862
  options = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {};
8556
8863
  _context4.next = 3;
8557
- return this.client.post(this.client.baseURL + '/api/v2/moderation/mute', _objectSpread$4({
8864
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/mute', _objectSpread$5({
8558
8865
  target_ids: [targetID]
8559
8866
  }, options));
8560
8867
 
@@ -8592,7 +8899,7 @@ var Moderation = /*#__PURE__*/function () {
8592
8899
  switch (_context5.prev = _context5.next) {
8593
8900
  case 0:
8594
8901
  _context5.next = 2;
8595
- return this.client.post(this.client.baseURL + '/api/v2/moderation/unmute', _objectSpread$4({
8902
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/unmute', _objectSpread$5({
8596
8903
  target_ids: [targetID]
8597
8904
  }, options));
8598
8905
 
@@ -8634,7 +8941,7 @@ var Moderation = /*#__PURE__*/function () {
8634
8941
  case 0:
8635
8942
  options = _args6.length > 1 && _args6[1] !== undefined ? _args6[1] : {};
8636
8943
  _context6.next = 3;
8637
- return this.client.get(this.client.baseURL + "/api/v2/moderation/user_report", _objectSpread$4({
8944
+ return this.client.get(this.client.baseURL + "/api/v2/moderation/user_report", _objectSpread$5({
8638
8945
  user_id: userID
8639
8946
  }, options));
8640
8947
 
@@ -8678,7 +8985,7 @@ var Moderation = /*#__PURE__*/function () {
8678
8985
  sort = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : [];
8679
8986
  options = _args7.length > 2 && _args7[2] !== undefined ? _args7[2] : {};
8680
8987
  _context7.next = 5;
8681
- return this.client.post(this.client.baseURL + '/api/v2/moderation/review_queue', _objectSpread$4({
8988
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/review_queue', _objectSpread$5({
8682
8989
  filter: filterConditions,
8683
8990
  sort: normalizeQuerySort(sort)
8684
8991
  }, options));
@@ -8813,7 +9120,7 @@ var Moderation = /*#__PURE__*/function () {
8813
9120
  case 0:
8814
9121
  options = _args11.length > 2 && _args11[2] !== undefined ? _args11[2] : {};
8815
9122
  _context11.next = 3;
8816
- return this.client.post(this.client.baseURL + '/api/v2/moderation/configs', _objectSpread$4({
9123
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/configs', _objectSpread$5({
8817
9124
  filter: filterConditions,
8818
9125
  sort: sort
8819
9126
  }, options));
@@ -8847,7 +9154,7 @@ var Moderation = /*#__PURE__*/function () {
8847
9154
  case 0:
8848
9155
  options = _args12.length > 2 && _args12[2] !== undefined ? _args12[2] : {};
8849
9156
  _context12.next = 3;
8850
- return this.client.post(this.client.baseURL + '/api/v2/moderation/submit_action', _objectSpread$4({
9157
+ return this.client.post(this.client.baseURL + '/api/v2/moderation/submit_action', _objectSpread$5({
8851
9158
  action_type: actionType,
8852
9159
  item_id: itemID
8853
9160
  }, options));
@@ -9011,9 +9318,9 @@ function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o
9011
9318
 
9012
9319
  function _arrayLikeToArray$2(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
9013
9320
 
9014
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9321
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9015
9322
 
9016
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9323
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9017
9324
  var DEFAULT_CONNECTION_RECOVERY_THROTTLE_DURATION = 1000;
9018
9325
  var MAX_QUERY_THREADS_LIMIT = 25;
9019
9326
  var THREAD_MANAGER_INITIAL_STATE = {
@@ -9194,7 +9501,7 @@ var ThreadManager = /*#__PURE__*/function () {
9194
9501
  var unsubscribeConnectionDropped = _this.client.on('connection.changed', function (event) {
9195
9502
  if (event.online === false) {
9196
9503
  _this.state.next(function (current) {
9197
- return current.lastConnectionDropAt ? current : _objectSpread$3(_objectSpread$3({}, current), {}, {
9504
+ return current.lastConnectionDropAt ? current : _objectSpread$4(_objectSpread$4({}, current), {}, {
9198
9505
  lastConnectionDropAt: new Date()
9199
9506
  });
9200
9507
  });
@@ -9281,8 +9588,8 @@ var ThreadManager = /*#__PURE__*/function () {
9281
9588
  _context.prev = 7;
9282
9589
 
9283
9590
  _this.state.next(function (current) {
9284
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9285
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9591
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9592
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9286
9593
  isLoading: true
9287
9594
  })
9288
9595
  });
@@ -9324,11 +9631,11 @@ var ThreadManager = /*#__PURE__*/function () {
9324
9631
  _this.state.next(function (current) {
9325
9632
  var _response$next;
9326
9633
 
9327
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9634
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9328
9635
  threads: nextThreads,
9329
9636
  unseenThreadIds: [],
9330
9637
  isThreadOrderStale: false,
9331
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9638
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9332
9639
  isLoading: false,
9333
9640
  nextCursor: (_response$next = response.next) !== null && _response$next !== void 0 ? _response$next : null
9334
9641
  }),
@@ -9346,8 +9653,8 @@ var ThreadManager = /*#__PURE__*/function () {
9346
9653
  _this.client.logger('error', _context.t0.message);
9347
9654
 
9348
9655
  _this.state.next(function (current) {
9349
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9350
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9656
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9657
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9351
9658
  isLoading: false
9352
9659
  })
9353
9660
  });
@@ -9363,7 +9670,7 @@ var ThreadManager = /*#__PURE__*/function () {
9363
9670
 
9364
9671
  _defineProperty__default['default'](this, "queryThreads", function () {
9365
9672
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9366
- return _this.client.queryThreads(_objectSpread$3({
9673
+ return _this.client.queryThreads(_objectSpread$4({
9367
9674
  limit: 25,
9368
9675
  participant_limit: 10,
9369
9676
  reply_limit: 10,
@@ -9396,13 +9703,13 @@ var ThreadManager = /*#__PURE__*/function () {
9396
9703
  _context2.prev = 4;
9397
9704
 
9398
9705
  _this.state.partialNext({
9399
- pagination: _objectSpread$3(_objectSpread$3({}, pagination), {}, {
9706
+ pagination: _objectSpread$4(_objectSpread$4({}, pagination), {}, {
9400
9707
  isLoadingNext: true
9401
9708
  })
9402
9709
  });
9403
9710
 
9404
9711
  _context2.next = 8;
9405
- return _this.queryThreads(_objectSpread$3(_objectSpread$3({}, options), {}, {
9712
+ return _this.queryThreads(_objectSpread$4(_objectSpread$4({}, options), {}, {
9406
9713
  next: pagination.nextCursor
9407
9714
  }));
9408
9715
 
@@ -9412,9 +9719,9 @@ var ThreadManager = /*#__PURE__*/function () {
9412
9719
  _this.state.next(function (current) {
9413
9720
  var _response$next2;
9414
9721
 
9415
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9722
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9416
9723
  threads: response.threads.length ? current.threads.concat(response.threads) : current.threads,
9417
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9724
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9418
9725
  nextCursor: (_response$next2 = response.next) !== null && _response$next2 !== void 0 ? _response$next2 : null,
9419
9726
  isLoadingNext: false
9420
9727
  })
@@ -9431,8 +9738,8 @@ var ThreadManager = /*#__PURE__*/function () {
9431
9738
  _this.client.logger('error', _context2.t0.message);
9432
9739
 
9433
9740
  _this.state.next(function (current) {
9434
- return _objectSpread$3(_objectSpread$3({}, current), {}, {
9435
- pagination: _objectSpread$3(_objectSpread$3({}, current.pagination), {}, {
9741
+ return _objectSpread$4(_objectSpread$4({}, current), {}, {
9742
+ pagination: _objectSpread$4(_objectSpread$4({}, current.pagination), {}, {
9436
9743
  isLoadingNext: false
9437
9744
  })
9438
9745
  });
@@ -9480,9 +9787,9 @@ var ThreadManager = /*#__PURE__*/function () {
9480
9787
  var _excluded$2 = ["own_votes", "id"],
9481
9788
  _excluded2$1 = ["id"];
9482
9789
 
9483
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9790
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9484
9791
 
9485
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9792
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9486
9793
 
9487
9794
  var isPollUpdatedEvent = function isPollUpdatedEvent(e) {
9488
9795
  return e.type === 'poll.updated';
@@ -9548,7 +9855,7 @@ var Poll = /*#__PURE__*/function () {
9548
9855
  ownAnswer = _ref2.ownAnswer,
9549
9856
  ownVotes = _ref2.ownVotes;
9550
9857
 
9551
- return _objectSpread$2(_objectSpread$2({}, pollResponseForState), {}, {
9858
+ return _objectSpread$3(_objectSpread$3({}, pollResponseForState), {}, {
9552
9859
  lastActivityAt: new Date(),
9553
9860
  maxVotedOptionIds: getMaxVotedOptionIds(pollResponseForState.vote_counts_by_option),
9554
9861
  ownAnswer: ownAnswer,
@@ -9570,7 +9877,7 @@ var Poll = /*#__PURE__*/function () {
9570
9877
  pollData = _objectWithoutProperties__default['default'](_extractPollData, _excluded2$1); // @ts-ignore
9571
9878
 
9572
9879
 
9573
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, pollData), {}, {
9880
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, pollData), {}, {
9574
9881
  lastActivityAt: new Date(event.created_at)
9575
9882
  }));
9576
9883
  });
@@ -9617,7 +9924,7 @@ var Poll = /*#__PURE__*/function () {
9617
9924
 
9618
9925
  var pollEnrichData = extractPollEnrichedData(event.poll); // @ts-ignore
9619
9926
 
9620
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, pollEnrichData), {}, {
9927
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, pollEnrichData), {}, {
9621
9928
  latest_answers: latestAnswers,
9622
9929
  lastActivityAt: new Date(event.created_at),
9623
9930
  ownAnswer: ownAnswer,
@@ -9682,7 +9989,7 @@ var Poll = /*#__PURE__*/function () {
9682
9989
 
9683
9990
  var pollEnrichData = extractPollEnrichedData(event.poll); // @ts-ignore
9684
9991
 
9685
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, pollEnrichData), {}, {
9992
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, pollEnrichData), {}, {
9686
9993
  latest_answers: latestAnswers,
9687
9994
  lastActivityAt: new Date(event.created_at),
9688
9995
  ownAnswer: ownAnswer,
@@ -9703,7 +10010,7 @@ var Poll = /*#__PURE__*/function () {
9703
10010
 
9704
10011
  var ownAnswer = currentState.ownAnswer;
9705
10012
 
9706
- var ownVotesByOptionId = _objectSpread$2({}, currentState.ownVotesByOptionId);
10013
+ var ownVotesByOptionId = _objectSpread$3({}, currentState.ownVotesByOptionId);
9707
10014
 
9708
10015
  var maxVotedOptionIds = currentState.maxVotedOptionIds;
9709
10016
 
@@ -9725,7 +10032,7 @@ var Poll = /*#__PURE__*/function () {
9725
10032
 
9726
10033
  var pollEnrichData = extractPollEnrichedData(event.poll); // @ts-ignore
9727
10034
 
9728
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, pollEnrichData), {}, {
10035
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, pollEnrichData), {}, {
9729
10036
  latest_answers: latestAnswers,
9730
10037
  lastActivityAt: new Date(event.created_at),
9731
10038
  ownAnswer: ownAnswer,
@@ -9750,7 +10057,7 @@ var Poll = /*#__PURE__*/function () {
9750
10057
  poll = _yield$_this$client$g.poll;
9751
10058
 
9752
10059
  // @ts-ignore
9753
- _this.state.partialNext(_objectSpread$2(_objectSpread$2({}, poll), {}, {
10060
+ _this.state.partialNext(_objectSpread$3(_objectSpread$3({}, poll), {}, {
9754
10061
  lastActivityAt: new Date()
9755
10062
  }));
9756
10063
 
@@ -9776,7 +10083,7 @@ var Poll = /*#__PURE__*/function () {
9776
10083
  switch (_context2.prev = _context2.next) {
9777
10084
  case 0:
9778
10085
  _context2.next = 2;
9779
- return _this.client.updatePoll(_objectSpread$2(_objectSpread$2({}, data), {}, {
10086
+ return _this.client.updatePoll(_objectSpread$3(_objectSpread$3({}, data), {}, {
9780
10087
  id: _this.id
9781
10088
  }));
9782
10089
 
@@ -10487,6 +10794,690 @@ var PollManager = /*#__PURE__*/function () {
10487
10794
  return PollManager;
10488
10795
  }();
10489
10796
 
10797
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
10798
+
10799
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10800
+ var channelManagerEventToHandlerMapping = {
10801
+ 'channel.deleted': 'channelDeletedHandler',
10802
+ 'channel.hidden': 'channelHiddenHandler',
10803
+ 'channel.truncated': 'channelTruncatedHandler',
10804
+ 'channel.visible': 'channelVisibleHandler',
10805
+ 'message.new': 'newMessageHandler',
10806
+ 'member.updated': 'memberUpdatedHandler',
10807
+ 'notification.added_to_channel': 'notificationAddedToChannelHandler',
10808
+ 'notification.message_new': 'notificationNewMessageHandler',
10809
+ 'notification.removed_from_channel': 'notificationRemovedFromChannelHandler'
10810
+ };
10811
+ var DEFAULT_CHANNEL_MANAGER_OPTIONS = {
10812
+ abortInFlightQuery: false,
10813
+ allowNotLoadedChannelPromotionForEvent: {
10814
+ 'channel.visible': true,
10815
+ 'message.new': true,
10816
+ 'notification.added_to_channel': true,
10817
+ 'notification.message_new': true
10818
+ },
10819
+ lockChannelOrder: false
10820
+ };
10821
+ var DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS = {
10822
+ limit: 10,
10823
+ offset: 0
10824
+ };
10825
+ /**
10826
+ * A class that manages a list of channels and changes it based on configuration and WS events. The
10827
+ * list of channels is reactive as well as the pagination and it can be subscribed to for state updates.
10828
+ *
10829
+ * @internal
10830
+ */
10831
+
10832
+ var ChannelManager = function ChannelManager(_ref) {
10833
+ var _this = this;
10834
+
10835
+ var client = _ref.client,
10836
+ _ref$eventHandlerOver = _ref.eventHandlerOverrides,
10837
+ _eventHandlerOverrides = _ref$eventHandlerOver === void 0 ? {} : _ref$eventHandlerOver,
10838
+ _ref$options = _ref.options,
10839
+ _options = _ref$options === void 0 ? {} : _ref$options;
10840
+
10841
+ _classCallCheck__default['default'](this, ChannelManager);
10842
+
10843
+ _defineProperty__default['default'](this, "state", void 0);
10844
+
10845
+ _defineProperty__default['default'](this, "client", void 0);
10846
+
10847
+ _defineProperty__default['default'](this, "unsubscribeFunctions", new Set());
10848
+
10849
+ _defineProperty__default['default'](this, "eventHandlers", new Map());
10850
+
10851
+ _defineProperty__default['default'](this, "eventHandlerOverrides", new Map());
10852
+
10853
+ _defineProperty__default['default'](this, "options", {});
10854
+
10855
+ _defineProperty__default['default'](this, "stateOptions", {});
10856
+
10857
+ _defineProperty__default['default'](this, "setChannels", function (valueOrFactory) {
10858
+ _this.state.next(function (current) {
10859
+ var currentChannels = current.channels;
10860
+ var newChannels = isPatch(valueOrFactory) ? valueOrFactory(currentChannels) : valueOrFactory; // If the references between the two values are the same, just return the
10861
+ // current state; otherwise trigger a state change.
10862
+
10863
+ if (currentChannels === newChannels) {
10864
+ return current;
10865
+ }
10866
+
10867
+ return _objectSpread$2(_objectSpread$2({}, current), {}, {
10868
+ channels: newChannels
10869
+ });
10870
+ });
10871
+ });
10872
+
10873
+ _defineProperty__default['default'](this, "setEventHandlerOverrides", function () {
10874
+ var eventHandlerOverrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10875
+ var truthyEventHandlerOverrides = Object.entries(eventHandlerOverrides).reduce(function (acc, _ref2) {
10876
+ var _ref3 = _slicedToArray__default['default'](_ref2, 2),
10877
+ key = _ref3[0],
10878
+ value = _ref3[1];
10879
+
10880
+ if (value) {
10881
+ acc[key] = value;
10882
+ }
10883
+
10884
+ return acc;
10885
+ }, {});
10886
+ _this.eventHandlerOverrides = new Map(Object.entries(truthyEventHandlerOverrides));
10887
+ });
10888
+
10889
+ _defineProperty__default['default'](this, "setOptions", function () {
10890
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10891
+ _this.options = _objectSpread$2(_objectSpread$2({}, DEFAULT_CHANNEL_MANAGER_OPTIONS), options);
10892
+ });
10893
+
10894
+ _defineProperty__default['default'](this, "queryChannels", /*#__PURE__*/function () {
10895
+ var _ref4 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(filters) {
10896
+ var sort,
10897
+ options,
10898
+ stateOptions,
10899
+ _DEFAULT_CHANNEL_MANA,
10900
+ offset,
10901
+ limit,
10902
+ _this$state$getLatest,
10903
+ isLoading,
10904
+ _channels$length,
10905
+ _channels$length2,
10906
+ channels,
10907
+ newOffset,
10908
+ newOptions,
10909
+ _this$state$getLatest2,
10910
+ pagination,
10911
+ _args = arguments;
10912
+
10913
+ return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
10914
+ while (1) {
10915
+ switch (_context.prev = _context.next) {
10916
+ case 0:
10917
+ sort = _args.length > 1 && _args[1] !== undefined ? _args[1] : [];
10918
+ options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
10919
+ stateOptions = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
10920
+ _DEFAULT_CHANNEL_MANA = _objectSpread$2(_objectSpread$2({}, DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS), options), offset = _DEFAULT_CHANNEL_MANA.offset, limit = _DEFAULT_CHANNEL_MANA.limit;
10921
+ _this$state$getLatest = _this.state.getLatestValue(), isLoading = _this$state$getLatest.pagination.isLoading;
10922
+
10923
+ if (!(isLoading && !_this.options.abortInFlightQuery)) {
10924
+ _context.next = 7;
10925
+ break;
10926
+ }
10927
+
10928
+ return _context.abrupt("return");
10929
+
10930
+ case 7:
10931
+ _context.prev = 7;
10932
+ _this.stateOptions = stateOptions;
10933
+
10934
+ _this.state.next(function (currentState) {
10935
+ return _objectSpread$2(_objectSpread$2({}, currentState), {}, {
10936
+ pagination: _objectSpread$2(_objectSpread$2({}, currentState.pagination), {}, {
10937
+ isLoading: true,
10938
+ isLoadingNext: false,
10939
+ filters: filters,
10940
+ sort: sort,
10941
+ options: options
10942
+ })
10943
+ });
10944
+ });
10945
+
10946
+ _context.next = 12;
10947
+ return _this.client.queryChannels(filters, sort, options, stateOptions);
10948
+
10949
+ case 12:
10950
+ channels = _context.sent;
10951
+ newOffset = offset + ((_channels$length = channels === null || channels === void 0 ? void 0 : channels.length) !== null && _channels$length !== void 0 ? _channels$length : 0);
10952
+ newOptions = _objectSpread$2(_objectSpread$2({}, options), {}, {
10953
+ offset: newOffset
10954
+ });
10955
+ _this$state$getLatest2 = _this.state.getLatestValue(), pagination = _this$state$getLatest2.pagination;
10956
+
10957
+ _this.state.partialNext({
10958
+ channels: channels,
10959
+ pagination: _objectSpread$2(_objectSpread$2({}, pagination), {}, {
10960
+ hasNext: ((_channels$length2 = channels === null || channels === void 0 ? void 0 : channels.length) !== null && _channels$length2 !== void 0 ? _channels$length2 : 0) >= limit,
10961
+ isLoading: false,
10962
+ options: newOptions
10963
+ }),
10964
+ initialized: true
10965
+ });
10966
+
10967
+ _context.next = 24;
10968
+ break;
10969
+
10970
+ case 19:
10971
+ _context.prev = 19;
10972
+ _context.t0 = _context["catch"](7);
10973
+
10974
+ _this.client.logger('error', _context.t0.message);
10975
+
10976
+ _this.state.next(function (currentState) {
10977
+ return _objectSpread$2(_objectSpread$2({}, currentState), {}, {
10978
+ pagination: _objectSpread$2(_objectSpread$2({}, currentState.pagination), {}, {
10979
+ isLoading: false
10980
+ })
10981
+ });
10982
+ });
10983
+
10984
+ throw _context.t0;
10985
+
10986
+ case 24:
10987
+ case "end":
10988
+ return _context.stop();
10989
+ }
10990
+ }
10991
+ }, _callee, null, [[7, 19]]);
10992
+ }));
10993
+
10994
+ return function (_x) {
10995
+ return _ref4.apply(this, arguments);
10996
+ };
10997
+ }());
10998
+
10999
+ _defineProperty__default['default'](this, "loadNext", /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee2() {
11000
+ var _this$state$getLatest3, pagination, initialized, filters, sort, options, isLoadingNext, hasNext, _nextChannels$length, _nextChannels$length2, _DEFAULT_CHANNEL_MANA2, offset, limit, nextChannels, _this$state$getLatest4, channels, newOffset, newOptions;
11001
+
11002
+ return _regeneratorRuntime__default['default'].wrap(function _callee2$(_context2) {
11003
+ while (1) {
11004
+ switch (_context2.prev = _context2.next) {
11005
+ case 0:
11006
+ _this$state$getLatest3 = _this.state.getLatestValue(), pagination = _this$state$getLatest3.pagination, initialized = _this$state$getLatest3.initialized;
11007
+ filters = pagination.filters, sort = pagination.sort, options = pagination.options, isLoadingNext = pagination.isLoadingNext, hasNext = pagination.hasNext;
11008
+
11009
+ if (!(!initialized || isLoadingNext || !hasNext)) {
11010
+ _context2.next = 4;
11011
+ break;
11012
+ }
11013
+
11014
+ return _context2.abrupt("return");
11015
+
11016
+ case 4:
11017
+ _context2.prev = 4;
11018
+ _DEFAULT_CHANNEL_MANA2 = _objectSpread$2(_objectSpread$2({}, DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS), options), offset = _DEFAULT_CHANNEL_MANA2.offset, limit = _DEFAULT_CHANNEL_MANA2.limit;
11019
+
11020
+ _this.state.partialNext({
11021
+ pagination: _objectSpread$2(_objectSpread$2({}, pagination), {}, {
11022
+ isLoading: false,
11023
+ isLoadingNext: true
11024
+ })
11025
+ });
11026
+
11027
+ _context2.next = 9;
11028
+ return _this.client.queryChannels(filters, sort, options, _this.stateOptions);
11029
+
11030
+ case 9:
11031
+ nextChannels = _context2.sent;
11032
+ _this$state$getLatest4 = _this.state.getLatestValue(), channels = _this$state$getLatest4.channels;
11033
+ newOffset = offset + ((_nextChannels$length = nextChannels === null || nextChannels === void 0 ? void 0 : nextChannels.length) !== null && _nextChannels$length !== void 0 ? _nextChannels$length : 0);
11034
+ newOptions = _objectSpread$2(_objectSpread$2({}, options), {}, {
11035
+ offset: newOffset
11036
+ });
11037
+
11038
+ _this.state.partialNext({
11039
+ channels: uniqBy([].concat(_toConsumableArray__default['default'](channels || []), _toConsumableArray__default['default'](nextChannels)), 'cid'),
11040
+ pagination: _objectSpread$2(_objectSpread$2({}, pagination), {}, {
11041
+ hasNext: ((_nextChannels$length2 = nextChannels === null || nextChannels === void 0 ? void 0 : nextChannels.length) !== null && _nextChannels$length2 !== void 0 ? _nextChannels$length2 : 0) >= limit,
11042
+ isLoading: false,
11043
+ isLoadingNext: false,
11044
+ options: newOptions
11045
+ })
11046
+ });
11047
+
11048
+ _context2.next = 21;
11049
+ break;
11050
+
11051
+ case 16:
11052
+ _context2.prev = 16;
11053
+ _context2.t0 = _context2["catch"](4);
11054
+
11055
+ _this.client.logger('error', _context2.t0.message);
11056
+
11057
+ _this.state.next(function (currentState) {
11058
+ return _objectSpread$2(_objectSpread$2({}, currentState), {}, {
11059
+ pagination: _objectSpread$2(_objectSpread$2({}, currentState.pagination), {}, {
11060
+ isLoadingNext: false
11061
+ })
11062
+ });
11063
+ });
11064
+
11065
+ throw _context2.t0;
11066
+
11067
+ case 21:
11068
+ case "end":
11069
+ return _context2.stop();
11070
+ }
11071
+ }
11072
+ }, _callee2, null, [[4, 16]]);
11073
+ })));
11074
+
11075
+ _defineProperty__default['default'](this, "notificationAddedToChannelHandler", /*#__PURE__*/function () {
11076
+ var _ref6 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3(event) {
11077
+ var _event$channel, _this$options$allowNo;
11078
+
11079
+ var _ref7, id, type, members, channel, _this$state$getLatest5, pagination, channels, _ref9, sort;
11080
+
11081
+ return _regeneratorRuntime__default['default'].wrap(function _callee3$(_context3) {
11082
+ while (1) {
11083
+ switch (_context3.prev = _context3.next) {
11084
+ case 0:
11085
+ _ref7 = (_event$channel = event === null || event === void 0 ? void 0 : event.channel) !== null && _event$channel !== void 0 ? _event$channel : {}, id = _ref7.id, type = _ref7.type, members = _ref7.members;
11086
+
11087
+ if (!(!type || !((_this$options$allowNo = _this.options.allowNotLoadedChannelPromotionForEvent) !== null && _this$options$allowNo !== void 0 && _this$options$allowNo['notification.added_to_channel']))) {
11088
+ _context3.next = 3;
11089
+ break;
11090
+ }
11091
+
11092
+ return _context3.abrupt("return");
11093
+
11094
+ case 3:
11095
+ _context3.next = 5;
11096
+ return getAndWatchChannel({
11097
+ client: _this.client,
11098
+ id: id,
11099
+ members: members === null || members === void 0 ? void 0 : members.reduce(function (acc, _ref8) {
11100
+ var user = _ref8.user,
11101
+ user_id = _ref8.user_id;
11102
+ var userId = user_id || (user === null || user === void 0 ? void 0 : user.id);
11103
+
11104
+ if (userId) {
11105
+ acc.push(userId);
11106
+ }
11107
+
11108
+ return acc;
11109
+ }, []),
11110
+ type: type
11111
+ });
11112
+
11113
+ case 5:
11114
+ channel = _context3.sent;
11115
+ _this$state$getLatest5 = _this.state.getLatestValue(), pagination = _this$state$getLatest5.pagination, channels = _this$state$getLatest5.channels;
11116
+
11117
+ if (channels) {
11118
+ _context3.next = 9;
11119
+ break;
11120
+ }
11121
+
11122
+ return _context3.abrupt("return");
11123
+
11124
+ case 9:
11125
+ _ref9 = pagination !== null && pagination !== void 0 ? pagination : {}, sort = _ref9.sort;
11126
+
11127
+ _this.setChannels(promoteChannel({
11128
+ channels: channels,
11129
+ channelToMove: channel,
11130
+ sort: sort
11131
+ }));
11132
+
11133
+ case 11:
11134
+ case "end":
11135
+ return _context3.stop();
11136
+ }
11137
+ }
11138
+ }, _callee3);
11139
+ }));
11140
+
11141
+ return function (_x2) {
11142
+ return _ref6.apply(this, arguments);
11143
+ };
11144
+ }());
11145
+
11146
+ _defineProperty__default['default'](this, "channelDeletedHandler", function (event) {
11147
+ var _this$state$getLatest6 = _this.state.getLatestValue(),
11148
+ channels = _this$state$getLatest6.channels;
11149
+
11150
+ if (!channels) {
11151
+ return;
11152
+ }
11153
+
11154
+ var newChannels = _toConsumableArray__default['default'](channels);
11155
+
11156
+ var channelIndex = newChannels.findIndex(function (channel) {
11157
+ var _event$channel2;
11158
+
11159
+ return channel.cid === (event.cid || ((_event$channel2 = event.channel) === null || _event$channel2 === void 0 ? void 0 : _event$channel2.cid));
11160
+ });
11161
+
11162
+ if (channelIndex < 0) {
11163
+ return;
11164
+ }
11165
+
11166
+ newChannels.splice(channelIndex, 1);
11167
+
11168
+ _this.setChannels(newChannels);
11169
+ });
11170
+
11171
+ _defineProperty__default['default'](this, "channelHiddenHandler", this.channelDeletedHandler);
11172
+
11173
+ _defineProperty__default['default'](this, "newMessageHandler", function (event) {
11174
+ var _this$options$allowNo2;
11175
+
11176
+ var _this$state$getLatest7 = _this.state.getLatestValue(),
11177
+ pagination = _this$state$getLatest7.pagination,
11178
+ channels = _this$state$getLatest7.channels;
11179
+
11180
+ if (!channels) {
11181
+ return;
11182
+ }
11183
+
11184
+ var _ref10 = pagination !== null && pagination !== void 0 ? pagination : {},
11185
+ filters = _ref10.filters,
11186
+ sort = _ref10.sort;
11187
+
11188
+ var channelType = event.channel_type;
11189
+ var channelId = event.channel_id;
11190
+
11191
+ if (!channelType || !channelId) {
11192
+ return;
11193
+ }
11194
+
11195
+ var targetChannel = _this.client.channel(channelType, channelId);
11196
+
11197
+ var targetChannelIndex = channels.indexOf(targetChannel);
11198
+ var targetChannelExistsWithinList = targetChannelIndex >= 0;
11199
+ var isTargetChannelPinned = isChannelPinned(targetChannel);
11200
+ var isTargetChannelArchived = isChannelArchived(targetChannel);
11201
+ var considerArchivedChannels = shouldConsiderArchivedChannels(filters);
11202
+ var considerPinnedChannels = shouldConsiderPinnedChannels(sort);
11203
+
11204
+ if ( // filter is defined, target channel is archived and filter option is set to false
11205
+ considerArchivedChannels && isTargetChannelArchived && !filters.archived || // filter is defined, target channel isn't archived and filter option is set to true
11206
+ considerArchivedChannels && !isTargetChannelArchived && filters.archived || // sort option is defined, target channel is pinned
11207
+ considerPinnedChannels && isTargetChannelPinned || // list order is locked
11208
+ _this.options.lockChannelOrder || // target channel is not within the loaded list and loading from cache is disallowed
11209
+ !targetChannelExistsWithinList && !((_this$options$allowNo2 = _this.options.allowNotLoadedChannelPromotionForEvent) !== null && _this$options$allowNo2 !== void 0 && _this$options$allowNo2['message.new'])) {
11210
+ return;
11211
+ }
11212
+
11213
+ _this.setChannels(promoteChannel({
11214
+ channels: channels,
11215
+ channelToMove: targetChannel,
11216
+ channelToMoveIndexWithinChannels: targetChannelIndex,
11217
+ sort: sort
11218
+ }));
11219
+ });
11220
+
11221
+ _defineProperty__default['default'](this, "notificationNewMessageHandler", /*#__PURE__*/function () {
11222
+ var _ref11 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(event) {
11223
+ var _event$channel3, _this$options$allowNo3;
11224
+
11225
+ var _ref12, id, type, channel, _this$state$getLatest8, channels, pagination, _ref13, filters, sort, considerArchivedChannels, isTargetChannelArchived;
11226
+
11227
+ return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
11228
+ while (1) {
11229
+ switch (_context4.prev = _context4.next) {
11230
+ case 0:
11231
+ _ref12 = (_event$channel3 = event === null || event === void 0 ? void 0 : event.channel) !== null && _event$channel3 !== void 0 ? _event$channel3 : {}, id = _ref12.id, type = _ref12.type;
11232
+
11233
+ if (!(!id || !type)) {
11234
+ _context4.next = 3;
11235
+ break;
11236
+ }
11237
+
11238
+ return _context4.abrupt("return");
11239
+
11240
+ case 3:
11241
+ _context4.next = 5;
11242
+ return getAndWatchChannel({
11243
+ client: _this.client,
11244
+ id: id,
11245
+ type: type
11246
+ });
11247
+
11248
+ case 5:
11249
+ channel = _context4.sent;
11250
+ _this$state$getLatest8 = _this.state.getLatestValue(), channels = _this$state$getLatest8.channels, pagination = _this$state$getLatest8.pagination;
11251
+ _ref13 = pagination !== null && pagination !== void 0 ? pagination : {}, filters = _ref13.filters, sort = _ref13.sort;
11252
+ considerArchivedChannels = shouldConsiderArchivedChannels(filters);
11253
+ isTargetChannelArchived = isChannelArchived(channel);
11254
+
11255
+ if (!(!channels || considerArchivedChannels && isTargetChannelArchived && !filters.archived || considerArchivedChannels && !isTargetChannelArchived && filters.archived || !((_this$options$allowNo3 = _this.options.allowNotLoadedChannelPromotionForEvent) !== null && _this$options$allowNo3 !== void 0 && _this$options$allowNo3['notification.message_new']))) {
11256
+ _context4.next = 12;
11257
+ break;
11258
+ }
11259
+
11260
+ return _context4.abrupt("return");
11261
+
11262
+ case 12:
11263
+ _this.setChannels(promoteChannel({
11264
+ channels: channels,
11265
+ channelToMove: channel,
11266
+ sort: sort
11267
+ }));
11268
+
11269
+ case 13:
11270
+ case "end":
11271
+ return _context4.stop();
11272
+ }
11273
+ }
11274
+ }, _callee4);
11275
+ }));
11276
+
11277
+ return function (_x3) {
11278
+ return _ref11.apply(this, arguments);
11279
+ };
11280
+ }());
11281
+
11282
+ _defineProperty__default['default'](this, "channelVisibleHandler", /*#__PURE__*/function () {
11283
+ var _ref14 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(event) {
11284
+ var _this$options$allowNo4;
11285
+
11286
+ var channelType, channelId, channel, _this$state$getLatest9, channels, pagination, _ref15, sort, filters, considerArchivedChannels, isTargetChannelArchived;
11287
+
11288
+ return _regeneratorRuntime__default['default'].wrap(function _callee5$(_context5) {
11289
+ while (1) {
11290
+ switch (_context5.prev = _context5.next) {
11291
+ case 0:
11292
+ channelType = event.channel_type, channelId = event.channel_id;
11293
+
11294
+ if (!(!channelType || !channelId)) {
11295
+ _context5.next = 3;
11296
+ break;
11297
+ }
11298
+
11299
+ return _context5.abrupt("return");
11300
+
11301
+ case 3:
11302
+ _context5.next = 5;
11303
+ return getAndWatchChannel({
11304
+ client: _this.client,
11305
+ id: event.channel_id,
11306
+ type: event.channel_type
11307
+ });
11308
+
11309
+ case 5:
11310
+ channel = _context5.sent;
11311
+ _this$state$getLatest9 = _this.state.getLatestValue(), channels = _this$state$getLatest9.channels, pagination = _this$state$getLatest9.pagination;
11312
+ _ref15 = pagination !== null && pagination !== void 0 ? pagination : {}, sort = _ref15.sort, filters = _ref15.filters;
11313
+ considerArchivedChannels = shouldConsiderArchivedChannels(filters);
11314
+ isTargetChannelArchived = isChannelArchived(channel);
11315
+
11316
+ if (!(!channels || considerArchivedChannels && isTargetChannelArchived && !filters.archived || considerArchivedChannels && !isTargetChannelArchived && filters.archived || !((_this$options$allowNo4 = _this.options.allowNotLoadedChannelPromotionForEvent) !== null && _this$options$allowNo4 !== void 0 && _this$options$allowNo4['channel.visible']))) {
11317
+ _context5.next = 12;
11318
+ break;
11319
+ }
11320
+
11321
+ return _context5.abrupt("return");
11322
+
11323
+ case 12:
11324
+ _this.setChannels(promoteChannel({
11325
+ channels: channels,
11326
+ channelToMove: channel,
11327
+ sort: sort
11328
+ }));
11329
+
11330
+ case 13:
11331
+ case "end":
11332
+ return _context5.stop();
11333
+ }
11334
+ }
11335
+ }, _callee5);
11336
+ }));
11337
+
11338
+ return function (_x4) {
11339
+ return _ref14.apply(this, arguments);
11340
+ };
11341
+ }());
11342
+
11343
+ _defineProperty__default['default'](this, "notificationRemovedFromChannelHandler", this.channelDeletedHandler);
11344
+
11345
+ _defineProperty__default['default'](this, "memberUpdatedHandler", function (event) {
11346
+ var _event$member;
11347
+
11348
+ var _this$state$getLatest10 = _this.state.getLatestValue(),
11349
+ pagination = _this$state$getLatest10.pagination,
11350
+ channels = _this$state$getLatest10.channels;
11351
+
11352
+ var filters = pagination.filters,
11353
+ sort = pagination.sort;
11354
+
11355
+ if (!((_event$member = event.member) !== null && _event$member !== void 0 && _event$member.user) || event.member.user.id !== _this.client.userID || !event.channel_type || !event.channel_id) {
11356
+ return;
11357
+ }
11358
+
11359
+ var channelType = event.channel_type;
11360
+ var channelId = event.channel_id;
11361
+ var considerPinnedChannels = shouldConsiderPinnedChannels(sort);
11362
+ var considerArchivedChannels = shouldConsiderArchivedChannels(filters);
11363
+ var pinnedAtSort = extractSortValue({
11364
+ atIndex: 0,
11365
+ sort: sort,
11366
+ targetKey: 'pinned_at'
11367
+ });
11368
+
11369
+ if (!channels || !considerPinnedChannels && !considerArchivedChannels || _this.options.lockChannelOrder) {
11370
+ return;
11371
+ }
11372
+
11373
+ var targetChannel = _this.client.channel(channelType, channelId); // assumes that channel instances are not changing
11374
+
11375
+
11376
+ var targetChannelIndex = channels.indexOf(targetChannel);
11377
+ var targetChannelExistsWithinList = targetChannelIndex >= 0;
11378
+ var isTargetChannelPinned = isChannelPinned(targetChannel);
11379
+ var isTargetChannelArchived = isChannelArchived(targetChannel);
11380
+
11381
+ var newChannels = _toConsumableArray__default['default'](channels);
11382
+
11383
+ if (targetChannelExistsWithinList) {
11384
+ newChannels.splice(targetChannelIndex, 1);
11385
+ } // handle archiving (remove channel)
11386
+
11387
+
11388
+ if ( // When archived filter true, and channel is unarchived
11389
+ considerArchivedChannels && !isTargetChannelArchived && filters !== null && filters !== void 0 && filters.archived || // When archived filter false, and channel is archived
11390
+ considerArchivedChannels && isTargetChannelArchived && !(filters !== null && filters !== void 0 && filters.archived)) {
11391
+ _this.setChannels(newChannels);
11392
+
11393
+ return;
11394
+ } // handle pinning
11395
+
11396
+
11397
+ var lastPinnedChannelIndex = null;
11398
+
11399
+ if (pinnedAtSort === 1 || pinnedAtSort === -1 && !isTargetChannelPinned) {
11400
+ lastPinnedChannelIndex = findLastPinnedChannelIndex({
11401
+ channels: newChannels
11402
+ });
11403
+ }
11404
+
11405
+ var newTargetChannelIndex = typeof lastPinnedChannelIndex === 'number' ? lastPinnedChannelIndex + 1 : 0; // skip state update if the position of the channel does not change
11406
+
11407
+ if (channels[newTargetChannelIndex] === targetChannel) {
11408
+ return;
11409
+ }
11410
+
11411
+ newChannels.splice(newTargetChannelIndex, 0, targetChannel);
11412
+
11413
+ _this.setChannels(newChannels);
11414
+ });
11415
+
11416
+ _defineProperty__default['default'](this, "subscriptionOrOverride", function (event) {
11417
+ var handlerName = channelManagerEventToHandlerMapping[event.type];
11418
+
11419
+ var defaultEventHandler = _this.eventHandlers.get(handlerName);
11420
+
11421
+ var eventHandlerOverride = _this.eventHandlerOverrides.get(handlerName);
11422
+
11423
+ if (eventHandlerOverride && typeof eventHandlerOverride === 'function') {
11424
+ eventHandlerOverride(_this.setChannels, event);
11425
+ return;
11426
+ }
11427
+
11428
+ if (defaultEventHandler && typeof defaultEventHandler === 'function') {
11429
+ defaultEventHandler(event);
11430
+ }
11431
+ });
11432
+
11433
+ _defineProperty__default['default'](this, "registerSubscriptions", function () {
11434
+ if (_this.unsubscribeFunctions.size) {
11435
+ // Already listening for events and changes
11436
+ return;
11437
+ }
11438
+
11439
+ for (var _i = 0, _Object$keys = Object.keys(channelManagerEventToHandlerMapping); _i < _Object$keys.length; _i++) {
11440
+ var eventType = _Object$keys[_i];
11441
+
11442
+ _this.unsubscribeFunctions.add(_this.client.on(eventType, _this.subscriptionOrOverride).unsubscribe);
11443
+ }
11444
+ });
11445
+
11446
+ _defineProperty__default['default'](this, "unregisterSubscriptions", function () {
11447
+ _this.unsubscribeFunctions.forEach(function (cleanupFunction) {
11448
+ return cleanupFunction();
11449
+ });
11450
+
11451
+ _this.unsubscribeFunctions.clear();
11452
+ });
11453
+
11454
+ this.client = client;
11455
+ this.state = new StateStore({
11456
+ channels: [],
11457
+ pagination: {
11458
+ isLoading: false,
11459
+ isLoadingNext: false,
11460
+ hasNext: false,
11461
+ filters: {},
11462
+ sort: {},
11463
+ options: DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS
11464
+ },
11465
+ initialized: false
11466
+ });
11467
+ this.setEventHandlerOverrides(_eventHandlerOverrides);
11468
+ this.setOptions(_options);
11469
+ this.eventHandlers = new Map(Object.entries({
11470
+ channelDeletedHandler: this.channelDeletedHandler,
11471
+ channelHiddenHandler: this.channelHiddenHandler,
11472
+ channelVisibleHandler: this.channelVisibleHandler,
11473
+ memberUpdatedHandler: this.memberUpdatedHandler,
11474
+ newMessageHandler: this.newMessageHandler,
11475
+ notificationAddedToChannelHandler: this.notificationAddedToChannelHandler,
11476
+ notificationNewMessageHandler: this.notificationNewMessageHandler,
11477
+ notificationRemovedFromChannelHandler: this.notificationRemovedFromChannelHandler
11478
+ }));
11479
+ };
11480
+
10490
11481
  var _excluded$1 = ["created_at", "updated_at", "last_active", "online"],
10491
11482
  _excluded2 = ["params", "headers"];
10492
11483
 
@@ -10714,6 +11705,18 @@ var StreamChat = /*#__PURE__*/function () {
10714
11705
  };
10715
11706
  }());
10716
11707
 
11708
+ _defineProperty__default['default'](this, "createChannelManager", function (_ref3) {
11709
+ var _ref3$eventHandlerOve = _ref3.eventHandlerOverrides,
11710
+ eventHandlerOverrides = _ref3$eventHandlerOve === void 0 ? {} : _ref3$eventHandlerOve,
11711
+ _ref3$options = _ref3.options,
11712
+ options = _ref3$options === void 0 ? {} : _ref3$options;
11713
+ return new ChannelManager({
11714
+ client: _this,
11715
+ eventHandlerOverrides: eventHandlerOverrides,
11716
+ options: options
11717
+ });
11718
+ });
11719
+
10717
11720
  _defineProperty__default['default'](this, "openConnection", /*#__PURE__*/_asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee3() {
10718
11721
  var _this$wsConnection3, _this$wsConnection4, _this$wsFallback3;
10719
11722
 
@@ -10783,7 +11786,7 @@ var StreamChat = /*#__PURE__*/function () {
10783
11786
  });
10784
11787
 
10785
11788
  _defineProperty__default['default'](this, "disconnectUser", /*#__PURE__*/function () {
10786
- var _ref4 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(timeout) {
11789
+ var _ref5 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee4(timeout) {
10787
11790
  var closePromise, _i, _Object$values, _channel;
10788
11791
 
10789
11792
  return _regeneratorRuntime__default['default'].wrap(function _callee4$(_context4) {
@@ -10831,7 +11834,7 @@ var StreamChat = /*#__PURE__*/function () {
10831
11834
  }));
10832
11835
 
10833
11836
  return function (_x4) {
10834
- return _ref4.apply(this, arguments);
11837
+ return _ref5.apply(this, arguments);
10835
11838
  };
10836
11839
  }());
10837
11840
 
@@ -10859,7 +11862,7 @@ var StreamChat = /*#__PURE__*/function () {
10859
11862
  _defineProperty__default['default'](this, "setAnonymousUser", this.connectAnonymousUser);
10860
11863
 
10861
11864
  _defineProperty__default['default'](this, "doAxiosRequest", /*#__PURE__*/function () {
10862
- var _ref5 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(type, url, data) {
11865
+ var _ref6 = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee5(type, url, data) {
10863
11866
  var options,
10864
11867
  requestConfig,
10865
11868
  response,
@@ -11000,7 +12003,7 @@ var StreamChat = /*#__PURE__*/function () {
11000
12003
  }));
11001
12004
 
11002
12005
  return function (_x5, _x6, _x7) {
11003
- return _ref5.apply(this, arguments);
12006
+ return _ref6.apply(this, arguments);
11004
12007
  };
11005
12008
  }());
11006
12009
 
@@ -11221,13 +12224,19 @@ var StreamChat = /*#__PURE__*/function () {
11221
12224
  })));
11222
12225
 
11223
12226
  _defineProperty__default['default'](this, "getChannelByMembers", function (channelType, custom) {
12227
+ var _custom$members;
12228
+
11224
12229
  // Check if the channel already exists.
11225
12230
  // Only allow 1 channel object per cid
11226
- var membersStr = _toConsumableArray__default['default'](custom.members || []).sort().join(',');
12231
+ var memberIds = ((_custom$members = custom.members) !== null && _custom$members !== void 0 ? _custom$members : []).map(function (member) {
12232
+ var _member$user_id;
11227
12233
 
11228
- var tempCid = "".concat(channelType, ":!members-").concat(membersStr);
12234
+ return typeof member === 'string' ? member : (_member$user_id = member.user_id) !== null && _member$user_id !== void 0 ? _member$user_id : '';
12235
+ });
12236
+ var membersStr = memberIds.sort().join(',');
12237
+ var tempCid = generateChannelTempCid(channelType, memberIds);
11229
12238
 
11230
- if (!membersStr) {
12239
+ if (!tempCid) {
11231
12240
  throw Error('Please specify atleast one member when creating unique conversation');
11232
12241
  } // channel could exist in `activeChannels` list with either one of the following two keys:
11233
12242
  // 1. cid - Which gets set on channel only after calling channel.query or channel.watch or channel.create
@@ -13077,13 +14086,13 @@ var StreamChat = /*#__PURE__*/function () {
13077
14086
  key: "getRateLimits",
13078
14087
  value: function () {
13079
14088
  var _getRateLimits = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee29(params) {
13080
- var _ref7, serverSide, web, android, ios, endpoints;
14089
+ var _ref8, serverSide, web, android, ios, endpoints;
13081
14090
 
13082
14091
  return _regeneratorRuntime__default['default'].wrap(function _callee29$(_context29) {
13083
14092
  while (1) {
13084
14093
  switch (_context29.prev = _context29.next) {
13085
14094
  case 0:
13086
- _ref7 = params || {}, serverSide = _ref7.serverSide, web = _ref7.web, android = _ref7.android, ios = _ref7.ios, endpoints = _ref7.endpoints;
14095
+ _ref8 = params || {}, serverSide = _ref8.serverSide, web = _ref8.web, android = _ref8.android, ios = _ref8.ios, endpoints = _ref8.endpoints;
13087
14096
  return _context29.abrupt("return", this.get(this.baseURL + '/rate_limits', {
13088
14097
  server_side: serverSide,
13089
14098
  web: web,
@@ -13108,9 +14117,9 @@ var StreamChat = /*#__PURE__*/function () {
13108
14117
  }()
13109
14118
  }, {
13110
14119
  key: "_addChannelConfig",
13111
- value: function _addChannelConfig(_ref8) {
13112
- var cid = _ref8.cid,
13113
- config = _ref8.config;
14120
+ value: function _addChannelConfig(_ref9) {
14121
+ var cid = _ref9.cid,
14122
+ config = _ref9.config;
13114
14123
 
13115
14124
  if (this._cacheEnabled()) {
13116
14125
  this.configs[cid] = config;
@@ -13134,7 +14143,7 @@ var StreamChat = /*#__PURE__*/function () {
13134
14143
  }, {
13135
14144
  key: "channel",
13136
14145
  value: function channel(channelType, channelIDOrCustom) {
13137
- var _custom$members;
14146
+ var _custom$members2;
13138
14147
 
13139
14148
  var custom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
13140
14149
 
@@ -13152,7 +14161,7 @@ var StreamChat = /*#__PURE__*/function () {
13152
14161
  } // // support channel("messaging", undefined, {options})
13153
14162
 
13154
14163
 
13155
- if (!channelIDOrCustom && _typeof__default['default'](custom) === 'object' && (_custom$members = custom.members) !== null && _custom$members !== void 0 && _custom$members.length) {
14164
+ if (!channelIDOrCustom && _typeof__default['default'](custom) === 'object' && (_custom$members2 = custom.members) !== null && _custom$members2 !== void 0 && _custom$members2.length) {
13156
14165
  return this.getChannelByMembers(channelType, custom);
13157
14166
  } // support channel("messaging", null, {options})
13158
14167
  // support channel("messaging", undefined, {options})
@@ -15098,7 +16107,7 @@ var StreamChat = /*#__PURE__*/function () {
15098
16107
  }, {
15099
16108
  key: "getUserAgent",
15100
16109
  value: function getUserAgent() {
15101
- return this.userAgent || "stream-chat-javascript-client-".concat(this.node ? 'node' : 'browser', "-", "8.55.0");
16110
+ return this.userAgent || "stream-chat-javascript-client-".concat(this.node ? 'node' : 'browser', "-", "8.56.1");
15102
16111
  }
15103
16112
  }, {
15104
16113
  key: "setUserAgent",
@@ -15138,10 +16147,10 @@ var StreamChat = /*#__PURE__*/function () {
15138
16147
  });
15139
16148
  }
15140
16149
 
15141
- var _ref9 = this.options.axiosRequestConfig || {},
15142
- axiosRequestConfigParams = _ref9.params,
15143
- axiosRequestConfigHeaders = _ref9.headers,
15144
- axiosRequestConfigRest = _objectWithoutProperties__default['default'](_ref9, _excluded2);
16150
+ var _ref10 = this.options.axiosRequestConfig || {},
16151
+ axiosRequestConfigParams = _ref10.params,
16152
+ axiosRequestConfigHeaders = _ref10.headers,
16153
+ axiosRequestConfigRest = _objectWithoutProperties__default['default'](_ref10, _excluded2);
15145
16154
 
15146
16155
  return _objectSpread$1(_objectSpread$1(_objectSpread$1({
15147
16156
  params: _objectSpread$1(_objectSpread$1({
@@ -16484,13 +17493,13 @@ var StreamChat = /*#__PURE__*/function () {
16484
17493
  }, {
16485
17494
  key: "deletePushProvider",
16486
17495
  value: function () {
16487
- var _deletePushProvider = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee97(_ref10) {
17496
+ var _deletePushProvider = _asyncToGenerator__default['default']( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee97(_ref11) {
16488
17497
  var type, name;
16489
17498
  return _regeneratorRuntime__default['default'].wrap(function _callee97$(_context97) {
16490
17499
  while (1) {
16491
17500
  switch (_context97.prev = _context97.next) {
16492
17501
  case 0:
16493
- type = _ref10.type, name = _ref10.name;
17502
+ type = _ref11.type, name = _ref11.name;
16494
17503
  _context97.next = 3;
16495
17504
  return this.delete(this.baseURL + "/push_providers/".concat(encodeURIComponent(type), "/").concat(encodeURIComponent(name)));
16496
17505
 
@@ -18238,10 +19247,13 @@ exports.BuiltinPermissions = BuiltinPermissions;
18238
19247
  exports.BuiltinRoles = BuiltinRoles;
18239
19248
  exports.Campaign = Campaign;
18240
19249
  exports.Channel = Channel;
19250
+ exports.ChannelManager = ChannelManager;
18241
19251
  exports.ChannelSearchSource = ChannelSearchSource;
18242
19252
  exports.ChannelState = ChannelState;
18243
19253
  exports.CheckSignature = CheckSignature;
18244
19254
  exports.ClientState = ClientState;
19255
+ exports.DEFAULT_CHANNEL_MANAGER_OPTIONS = DEFAULT_CHANNEL_MANAGER_OPTIONS;
19256
+ exports.DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS = DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS;
18245
19257
  exports.Deny = Deny;
18246
19258
  exports.DenyAll = DenyAll;
18247
19259
  exports.DevToken = DevToken;
@@ -18271,6 +19283,7 @@ exports.UserFromToken = UserFromToken;
18271
19283
  exports.UserSearchSource = UserSearchSource;
18272
19284
  exports.buildWsFatalInsight = buildWsFatalInsight;
18273
19285
  exports.buildWsSuccessAfterFailureInsight = buildWsSuccessAfterFailureInsight;
19286
+ exports.channelManagerEventToHandlerMapping = channelManagerEventToHandlerMapping;
18274
19287
  exports.chatCodes = chatCodes;
18275
19288
  exports.decodeBase64 = decodeBase64;
18276
19289
  exports.encodeBase64 = encodeBase64;
@@ -18278,6 +19291,7 @@ exports.extractPollData = extractPollData;
18278
19291
  exports.extractPollEnrichedData = extractPollEnrichedData;
18279
19292
  exports.formatMessage = formatMessage;
18280
19293
  exports.isOwnUser = isOwnUser;
19294
+ exports.isPatch = isPatch;
18281
19295
  exports.isVoteAnswer = isVoteAnswer;
18282
19296
  exports.logChatPromiseExecution = logChatPromiseExecution;
18283
19297
  exports.postInsights = postInsights;