sceyt-chat-react-uikit 1.7.0 → 1.7.1-beta.10

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/index.js CHANGED
@@ -10073,25 +10073,23 @@ function updateMessageOnMap(channelId, updatedMessage) {
10073
10073
  }
10074
10074
  var updatedMessageData = null;
10075
10075
  if (messagesMap[channelId]) {
10076
- messagesMap[channelId].map(function (mes) {
10076
+ var messagesList = [];
10077
+ for (var _iterator = _createForOfIteratorHelperLoose(messagesMap[channelId]), _step; !(_step = _iterator()).done;) {
10078
+ var mes = _step.value;
10077
10079
  if (mes.tid === updatedMessage.messageId || mes.id === updatedMessage.messageId) {
10078
10080
  if (updatedMessage.params.state === MESSAGE_STATUS.DELETE) {
10079
10081
  updatedMessageData = _extends({}, updatedMessage.params);
10080
- return updatedMessageData;
10082
+ messagesList.push(_extends({}, mes, updatedMessageData));
10083
+ continue;
10081
10084
  } else {
10082
- var _updatedMessage$param;
10083
- updatedMessageData = _extends({}, mes, updatedMessage.params, {
10084
- attachments: [].concat(mes.attachments, ((_updatedMessage$param = updatedMessage.params) === null || _updatedMessage$param === void 0 ? void 0 : _updatedMessage$param.attachments) || []).filter(function (att, index, self) {
10085
- return index === self.findIndex(function (t) {
10086
- return t.url === att.url && t.type === att.type && t.name === att.name;
10087
- });
10088
- })
10089
- });
10090
- return updatedMessage;
10085
+ updatedMessageData = _extends({}, mes, updatedMessage.params);
10086
+ messagesList.push(_extends({}, mes, updatedMessageData));
10087
+ continue;
10091
10088
  }
10092
10089
  }
10093
- return mes;
10094
- });
10090
+ messagesList.push(mes);
10091
+ }
10092
+ messagesMap[channelId] = messagesList;
10095
10093
  }
10096
10094
  return updatedMessageData;
10097
10095
  }
@@ -11114,12 +11112,13 @@ var ThemeReducer = (function (state, _ref) {
11114
11112
  }
11115
11113
  });
11116
11114
 
11117
- var createChannelAC = function createChannelAC(channelData, dontCreateIfNotExists) {
11115
+ var createChannelAC = function createChannelAC(channelData, dontCreateIfNotExists, callback) {
11118
11116
  return {
11119
11117
  type: CREATE_CHANNEL,
11120
11118
  payload: {
11121
11119
  channelData: channelData,
11122
- dontCreateIfNotExists: dontCreateIfNotExists
11120
+ dontCreateIfNotExists: dontCreateIfNotExists,
11121
+ callback: callback
11123
11122
  }
11124
11123
  };
11125
11124
  };
@@ -11285,11 +11284,15 @@ var setActiveChannelAC = function setActiveChannelAC(channel) {
11285
11284
  channel: channel
11286
11285
  });
11287
11286
  };
11288
- var switchChannelActionAC = function switchChannelActionAC(channel) {
11287
+ var switchChannelActionAC = function switchChannelActionAC(channel, updateActiveChannel) {
11288
+ if (updateActiveChannel === void 0) {
11289
+ updateActiveChannel = true;
11290
+ }
11289
11291
  return {
11290
11292
  type: SWITCH_CHANNEL,
11291
11293
  payload: {
11292
- channel: channel
11294
+ channel: channel,
11295
+ updateActiveChannel: updateActiveChannel
11293
11296
  }
11294
11297
  };
11295
11298
  };
@@ -11521,6 +11524,7 @@ var getChannelMentionsAC = function getChannelMentionsAC(channelId) {
11521
11524
  };
11522
11525
 
11523
11526
  var GET_MESSAGES = 'GET_MESSAGES';
11527
+ var GET_MESSAGE = 'GET_MESSAGE';
11524
11528
  var LOAD_MORE_MESSAGES = 'LOAD_MORE_MESSAGES';
11525
11529
  var SEND_MESSAGE = 'SEND_MESSAGE';
11526
11530
  var SEND_TEXT_MESSAGE = 'SEND_TEXT_MESSAGE';
@@ -11629,6 +11633,16 @@ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliv
11629
11633
  }
11630
11634
  };
11631
11635
  }
11636
+ function getMessageAC(channelId, messageId, limit) {
11637
+ return {
11638
+ type: GET_MESSAGE,
11639
+ payload: {
11640
+ channelId: channelId,
11641
+ messageId: messageId,
11642
+ limit: limit
11643
+ }
11644
+ };
11645
+ }
11632
11646
  function setScrollToMessagesAC(messageId, highlight) {
11633
11647
  if (highlight === void 0) {
11634
11648
  highlight = true;
@@ -14761,13 +14775,13 @@ var _marked$2 = /*#__PURE__*/_regenerator().m(createChannel),
14761
14775
  _marked27 = /*#__PURE__*/_regenerator().m(watchForChannelEvents),
14762
14776
  _marked28 = /*#__PURE__*/_regenerator().m(ChannelsSaga);
14763
14777
  function createChannel(action) {
14764
- var payload, channelData, dontCreateIfNotExists, SceytChatClient, createChannelData, fileToUpload, isSelfChannel, channelIsExistOnAllChannels, createdChannel, allChannels, memberId, checkChannelExist, messageToSend, _allChannels, _memberId, _t;
14778
+ var payload, channelData, dontCreateIfNotExists, callback, SceytChatClient, createChannelData, fileToUpload, isSelfChannel, channelIsExistOnAllChannels, createdChannel, allChannels, memberId, checkChannelExist, messageToSend, _allChannels, _memberId, _t;
14765
14779
  return _regenerator().w(function (_context) {
14766
14780
  while (1) switch (_context.p = _context.n) {
14767
14781
  case 0:
14768
14782
  _context.p = 0;
14769
14783
  payload = action.payload;
14770
- channelData = payload.channelData, dontCreateIfNotExists = payload.dontCreateIfNotExists;
14784
+ channelData = payload.channelData, dontCreateIfNotExists = payload.dontCreateIfNotExists, callback = payload.callback;
14771
14785
  SceytChatClient = getClient();
14772
14786
  createChannelData = _extends({}, channelData);
14773
14787
  if (!createChannelData.avatarFile) {
@@ -14803,8 +14817,8 @@ function createChannel(action) {
14803
14817
  allChannels.forEach(function (channel) {
14804
14818
  if (channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) {
14805
14819
  if (isSelfChannel) {
14806
- var meta = isJSON(channel.metadata) ? JSON.parse(channel.metadata) : channel.metadata;
14807
- if (meta !== null && meta !== void 0 && meta.s) {
14820
+ var _channel$members;
14821
+ if (((_channel$members = channel.members) === null || _channel$members === void 0 ? void 0 : _channel$members.length) === 1 && channel.members[0].id === memberId) {
14808
14822
  channelIsExistOnAllChannels = true;
14809
14823
  }
14810
14824
  } else {
@@ -14894,7 +14908,7 @@ function createChannel(action) {
14894
14908
  _context.n = 14;
14895
14909
  return effects.put(switchChannelActionAC(JSON.parse(JSON.stringify(_extends({}, createdChannel, {
14896
14910
  isLinkedChannel: dontCreateIfNotExists
14897
- })))));
14911
+ }))), !callback));
14898
14912
  case 14:
14899
14913
  if (dontCreateIfNotExists) {
14900
14914
  if (!channelIsExistOnAllChannels) {
@@ -14924,19 +14938,27 @@ function createChannel(action) {
14924
14938
  addChannelToAllChannels(createdChannel);
14925
14939
  }
14926
14940
  }
14927
- _context.n = 15;
14928
- return effects.call(setActiveChannelId, createdChannel.id);
14929
- case 15:
14930
- _context.n = 17;
14941
+ if (!callback) {
14942
+ _context.n = 15;
14943
+ break;
14944
+ }
14945
+ callback(createdChannel);
14946
+ _context.n = 16;
14931
14947
  break;
14948
+ case 15:
14949
+ _context.n = 16;
14950
+ return effects.call(setActiveChannelId, createdChannel.id);
14932
14951
  case 16:
14933
- _context.p = 16;
14952
+ _context.n = 18;
14953
+ break;
14954
+ case 17:
14955
+ _context.p = 17;
14934
14956
  _t = _context.v;
14935
14957
  log.error(_t, 'Error on create channel');
14936
- case 17:
14958
+ case 18:
14937
14959
  return _context.a(2);
14938
14960
  }
14939
- }, _marked$2, null, [[0, 16]]);
14961
+ }, _marked$2, null, [[0, 17]]);
14940
14962
  }
14941
14963
  function getChannels(action) {
14942
14964
  var _params$filter, _types, payload, params, SceytChatClient, channelQueryBuilder, channelTypesFilter, types, channelQuery, channelsData, channelList, channelId, activeChannel, _yield$call, mappedChannels, channelsForUpdateLastReactionMessage, channelMessageMap, hiddenList, allChannelsQueryBuilder, allChannelsQuery, hasNext, i, allChannelsData, allChannelList, _t2, _t3, _t4;
@@ -15118,7 +15140,7 @@ function getChannels(action) {
15118
15140
  }, _marked2$1, null, [[18, 20], [0, 23]]);
15119
15141
  }
15120
15142
  function searchChannels(action) {
15121
- var payload, params, contactsMap, SceytChatClient, getFromContacts, searchBy, _params$filter2, _types2, channelQueryBuilder, channelTypesFilter, types, allChannels, publicChannels, chatsGroups, contactsList, contactsWithChannelsMap, lowerCaseSearchBy, channelQuery, channelsData, channelsToAdd, _t5;
15143
+ var payload, params, contactsMap, SceytChatClient, getFromContacts, searchBy, _params$filter2, _types2, channelQueryBuilder, channelTypesFilter, types, allChannels, publicChannels, chatsGroups, contactsList, contactsWithChannelsMap, lowerCaseSearchBy, handleChannels, channelsMap, _iterator, _step, channel, channelQuery, channelsData, _iterator2, _step2, _channel, channelsToAdd, _t5;
15122
15144
  return _regenerator().w(function (_context3) {
15123
15145
  while (1) switch (_context3.p = _context3.n) {
15124
15146
  case 0:
@@ -15157,31 +15179,38 @@ function searchChannels(action) {
15157
15179
  contactsList = [];
15158
15180
  contactsWithChannelsMap = {};
15159
15181
  lowerCaseSearchBy = searchBy.toLowerCase();
15160
- allChannels.forEach(function (channel) {
15161
- if (channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) {
15162
- var _channel$metadata;
15163
- channel.metadata = isJSON(channel.metadata) ? JSON.parse(channel.metadata) : channel.metadata;
15164
- var isSelfChannel = (_channel$metadata = channel.metadata) === null || _channel$metadata === void 0 ? void 0 : _channel$metadata.s;
15165
- var directChannelUser = isSelfChannel ? SceytChatClient.user : channel.members.find(function (member) {
15166
- return member.id !== SceytChatClient.user.id;
15167
- });
15168
- if (directChannelUser && contactsMap[directChannelUser.id]) {
15169
- contactsWithChannelsMap[directChannelUser.id] = true;
15170
- }
15171
- var userName = makeUsername(directChannelUser && contactsMap[directChannelUser.id], directChannelUser, getFromContacts).toLowerCase();
15172
- if (userName.includes(lowerCaseSearchBy) || isSelfChannel && 'me'.includes(lowerCaseSearchBy)) {
15173
- chatsGroups.push(channel);
15174
- }
15175
- } else {
15176
- if (channel.subject && channel.subject.toLowerCase().includes(lowerCaseSearchBy)) {
15177
- if (channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC || channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST) {
15178
- publicChannels.push(channel);
15179
- } else {
15182
+ handleChannels = function handleChannels(channels) {
15183
+ channels.forEach(function (channel) {
15184
+ if (channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) {
15185
+ channel.metadata = isJSON(channel.metadata) ? JSON.parse(channel.metadata) : channel.metadata;
15186
+ var isSelfChannel = channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === SceytChatClient.user.id;
15187
+ var directChannelUser = isSelfChannel ? SceytChatClient.user : channel.members.find(function (member) {
15188
+ return member.id !== SceytChatClient.user.id;
15189
+ });
15190
+ if (directChannelUser && contactsMap[directChannelUser.id]) {
15191
+ contactsWithChannelsMap[directChannelUser.id] = true;
15192
+ }
15193
+ var userName = makeUsername(directChannelUser && contactsMap[directChannelUser.id], directChannelUser, getFromContacts).toLowerCase();
15194
+ if (userName.includes(lowerCaseSearchBy) || isSelfChannel && 'me'.includes(lowerCaseSearchBy)) {
15180
15195
  chatsGroups.push(channel);
15181
15196
  }
15197
+ } else {
15198
+ if (channel.subject && channel.subject.toLowerCase().includes(lowerCaseSearchBy)) {
15199
+ if (channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC || channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST) {
15200
+ publicChannels.push(channel);
15201
+ } else {
15202
+ chatsGroups.push(channel);
15203
+ }
15204
+ }
15182
15205
  }
15183
- }
15184
- });
15206
+ });
15207
+ };
15208
+ channelsMap = {};
15209
+ for (_iterator = _createForOfIteratorHelperLoose(allChannels); !(_step = _iterator()).done;) {
15210
+ channel = _step.value;
15211
+ channelsMap[channel.id] = channel;
15212
+ }
15213
+ handleChannels(allChannels);
15185
15214
  if (getFromContacts) {
15186
15215
  Object.values(contactsMap).forEach(function (contact) {
15187
15216
  if (!contactsWithChannelsMap[contact.id]) {
@@ -15215,6 +15244,13 @@ function searchChannels(action) {
15215
15244
  return effects.call(channelQuery.loadNextPage);
15216
15245
  case 5:
15217
15246
  channelsData = _context3.v;
15247
+ for (_iterator2 = _createForOfIteratorHelperLoose(channelsData.channels); !(_step2 = _iterator2()).done;) {
15248
+ _channel = _step2.value;
15249
+ channelsMap[_channel.id] = _channel;
15250
+ }
15251
+ chatsGroups = [];
15252
+ publicChannels = [];
15253
+ handleChannels(Object.values(channelsMap));
15218
15254
  channelsToAdd = channelsData.channels.filter(function (channel) {
15219
15255
  return channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC || channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST;
15220
15256
  });
@@ -15237,16 +15273,16 @@ function searchChannels(action) {
15237
15273
  }, _marked3, null, [[0, 7]]);
15238
15274
  }
15239
15275
  function getChannelsForForward() {
15240
- var SceytChatClient, channelQueryBuilder, channelTypesFilter, channelQuery, channelsData, channelsToAdd, _yield$call2, mappedChannels, _t6;
15276
+ var _SceytChatClient, channelQueryBuilder, channelTypesFilter, channelQuery, channelsData, channelsToAdd, _yield$call2, mappedChannels, _t6;
15241
15277
  return _regenerator().w(function (_context4) {
15242
15278
  while (1) switch (_context4.p = _context4.n) {
15243
15279
  case 0:
15244
15280
  _context4.p = 0;
15245
- SceytChatClient = getClient();
15281
+ _SceytChatClient = getClient();
15246
15282
  _context4.n = 1;
15247
15283
  return effects.put(setChannelsLoadingStateAC(LOADING_STATE.LOADING, true));
15248
15284
  case 1:
15249
- channelQueryBuilder = new SceytChatClient.ChannelListQueryBuilder();
15285
+ channelQueryBuilder = new _SceytChatClient.ChannelListQueryBuilder();
15250
15286
  channelTypesFilter = getChannelTypesFilter();
15251
15287
  channelQueryBuilder.order('lastMessage');
15252
15288
  if (channelTypesFilter !== null && channelTypesFilter !== void 0 && channelTypesFilter.length) {
@@ -15265,11 +15301,10 @@ function getChannelsForForward() {
15265
15301
  return effects.put(channelHasNextAC(channelsData.hasNext, true));
15266
15302
  case 4:
15267
15303
  channelsToAdd = channelsData.channels.filter(function (channel) {
15268
- var _channel$metadata2;
15269
15304
  channel.metadata = isJSON(channel.metadata) ? JSON.parse(channel.metadata) : channel.metadata;
15270
- var isSelfChannel = (_channel$metadata2 = channel.metadata) === null || _channel$metadata2 === void 0 ? void 0 : _channel$metadata2.s;
15305
+ var isSelfChannel = channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === _SceytChatClient.user.id;
15271
15306
  return channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? channel.userRole === 'admin' || channel.userRole === 'owner' : channel.type === DEFAULT_CHANNEL_TYPE.DIRECT ? isSelfChannel || channel.members.find(function (member) {
15272
- return member.id && member.id !== SceytChatClient.user.id;
15307
+ return member.id && member.id !== _SceytChatClient.user.id;
15273
15308
  }) : true;
15274
15309
  });
15275
15310
  _context4.n = 5;
@@ -15296,15 +15331,15 @@ function getChannelsForForward() {
15296
15331
  }, _marked4, null, [[0, 8]]);
15297
15332
  }
15298
15333
  function searchChannelsForForward(action) {
15299
- var payload, params, contactsMap, SceytChatClient, getFromContacts, searchBy, _params$filter3, _types3, channelQueryBuilder, channelTypesFilter, types, allChannels, publicChannels, chatsGroups, contactsList, contactsWithChannelsMap, lowerCaseSearchBy, channelQuery, channelsData, channelsToAdd, _t7;
15334
+ var payload, params, _contactsMap, _SceytChatClient2, _getFromContacts, searchBy, _params$filter3, _types3, channelQueryBuilder, channelTypesFilter, types, allChannels, _publicChannels, _chatsGroups, contactsList, _contactsWithChannelsMap, _lowerCaseSearchBy, handleChannels, channelsMap, _iterator3, _step3, channel, channelQuery, channelsData, _iterator4, _step4, _channel2, channelsToAdd, _t7;
15300
15335
  return _regenerator().w(function (_context5) {
15301
15336
  while (1) switch (_context5.p = _context5.n) {
15302
15337
  case 0:
15303
15338
  _context5.p = 0;
15304
15339
  payload = action.payload;
15305
- params = payload.params, contactsMap = payload.contactsMap;
15306
- SceytChatClient = getClient();
15307
- getFromContacts = getShowOnlyContactUsers();
15340
+ params = payload.params, _contactsMap = payload.contactsMap;
15341
+ _SceytChatClient2 = getClient();
15342
+ _getFromContacts = getShowOnlyContactUsers();
15308
15343
  _context5.n = 1;
15309
15344
  return effects.put(setChannelsLoadingStateAC(LOADING_STATE.LOADING, true));
15310
15345
  case 1:
@@ -15313,7 +15348,7 @@ function searchChannelsForForward(action) {
15313
15348
  _context5.n = 6;
15314
15349
  break;
15315
15350
  }
15316
- channelQueryBuilder = new SceytChatClient.ChannelListQueryBuilder();
15351
+ channelQueryBuilder = new _SceytChatClient2.ChannelListQueryBuilder();
15317
15352
  channelTypesFilter = getChannelTypesFilter();
15318
15353
  types = [];
15319
15354
  if (channelTypesFilter !== null && channelTypesFilter !== void 0 && channelTypesFilter.length) {
@@ -15326,41 +15361,48 @@ function searchChannelsForForward(action) {
15326
15361
  channelQueryBuilder.types(types);
15327
15362
  }
15328
15363
  allChannels = getAllChannels();
15329
- publicChannels = [];
15330
- chatsGroups = [];
15364
+ _publicChannels = [];
15365
+ _chatsGroups = [];
15331
15366
  contactsList = [];
15332
- contactsWithChannelsMap = {};
15333
- lowerCaseSearchBy = searchBy.toLowerCase();
15334
- allChannels.forEach(function (channel) {
15335
- if (channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) {
15336
- var _channel$metadata3;
15337
- channel.metadata = isJSON(channel.metadata) ? JSON.parse(channel.metadata) : channel.metadata;
15338
- var isSelfChannel = (_channel$metadata3 = channel.metadata) === null || _channel$metadata3 === void 0 ? void 0 : _channel$metadata3.s;
15339
- var directChannelUser = isSelfChannel ? SceytChatClient.user : channel.members.find(function (member) {
15340
- return member.id !== SceytChatClient.user.id;
15341
- });
15342
- if (directChannelUser && contactsMap[directChannelUser.id]) {
15343
- contactsWithChannelsMap[directChannelUser.id] = true;
15344
- }
15345
- var userName = makeUsername(directChannelUser && contactsMap[directChannelUser.id], directChannelUser, getFromContacts).toLowerCase();
15346
- if (userName.includes(lowerCaseSearchBy) || isSelfChannel && 'me'.includes(lowerCaseSearchBy)) {
15347
- chatsGroups.push(channel);
15348
- }
15349
- } else {
15350
- if (channel.subject && channel.subject.toLowerCase().includes(lowerCaseSearchBy)) {
15351
- if (channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC || channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST) {
15352
- publicChannels.push(channel);
15353
- } else {
15354
- chatsGroups.push(channel);
15367
+ _contactsWithChannelsMap = {};
15368
+ _lowerCaseSearchBy = searchBy.toLowerCase();
15369
+ handleChannels = function handleChannels(channels) {
15370
+ channels.forEach(function (channel) {
15371
+ if (channel.type === DEFAULT_CHANNEL_TYPE.DIRECT) {
15372
+ channel.metadata = isJSON(channel.metadata) ? JSON.parse(channel.metadata) : channel.metadata;
15373
+ var isSelfChannel = channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === _SceytChatClient2.user.id;
15374
+ var directChannelUser = isSelfChannel ? _SceytChatClient2.user : channel.members.find(function (member) {
15375
+ return member.id !== _SceytChatClient2.user.id;
15376
+ });
15377
+ if (directChannelUser && _contactsMap[directChannelUser.id]) {
15378
+ _contactsWithChannelsMap[directChannelUser.id] = true;
15379
+ }
15380
+ var userName = makeUsername(directChannelUser && _contactsMap[directChannelUser.id], directChannelUser, _getFromContacts).toLowerCase();
15381
+ if (userName.includes(_lowerCaseSearchBy) || isSelfChannel && 'me'.includes(_lowerCaseSearchBy)) {
15382
+ _chatsGroups.push(channel);
15383
+ }
15384
+ } else {
15385
+ if (channel.subject && channel.subject.toLowerCase().includes(_lowerCaseSearchBy)) {
15386
+ if (channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC || channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST) {
15387
+ _publicChannels.push(channel);
15388
+ } else {
15389
+ _chatsGroups.push(channel);
15390
+ }
15355
15391
  }
15356
15392
  }
15357
- }
15358
- });
15359
- if (getFromContacts) {
15360
- Object.values(contactsMap).forEach(function (contact) {
15361
- if (!contactsWithChannelsMap[contact.id]) {
15393
+ });
15394
+ };
15395
+ channelsMap = {};
15396
+ for (_iterator3 = _createForOfIteratorHelperLoose(allChannels); !(_step3 = _iterator3()).done;) {
15397
+ channel = _step3.value;
15398
+ channelsMap[channel.id] = channel;
15399
+ }
15400
+ handleChannels(allChannels);
15401
+ if (_getFromContacts) {
15402
+ Object.values(_contactsMap).forEach(function (contact) {
15403
+ if (!_contactsWithChannelsMap[contact.id]) {
15362
15404
  var userName = makeUsername(contact, undefined, true).toLowerCase();
15363
- if (userName.includes(lowerCaseSearchBy)) {
15405
+ if (userName.includes(_lowerCaseSearchBy)) {
15364
15406
  contactsList.push(contact);
15365
15407
  }
15366
15408
  }
@@ -15368,15 +15410,15 @@ function searchChannelsForForward(action) {
15368
15410
  }
15369
15411
  _context5.n = 2;
15370
15412
  return effects.put(setSearchedChannelsForForwardAC({
15371
- chats_groups: JSON.parse(JSON.stringify(chatsGroups)),
15372
- channels: JSON.parse(JSON.stringify(publicChannels)),
15413
+ chats_groups: JSON.parse(JSON.stringify(_chatsGroups)),
15414
+ channels: JSON.parse(JSON.stringify(_publicChannels)),
15373
15415
  contacts: JSON.parse(JSON.stringify(contactsList))
15374
15416
  }));
15375
15417
  case 2:
15376
15418
  _context5.n = 3;
15377
15419
  return effects.put(setChannelsLoadingStateAC(LOADING_STATE.LOADED, true));
15378
15420
  case 3:
15379
- channelQueryBuilder.query(lowerCaseSearchBy);
15421
+ channelQueryBuilder.query(_lowerCaseSearchBy);
15380
15422
  channelQueryBuilder.limit(params.limit || 50);
15381
15423
  channelQueryBuilder.order('lastMessage');
15382
15424
  channelQueryBuilder.filterKey(['subject']);
@@ -15389,12 +15431,19 @@ function searchChannelsForForward(action) {
15389
15431
  return effects.call(channelQuery.loadNextPage);
15390
15432
  case 5:
15391
15433
  channelsData = _context5.v;
15434
+ for (_iterator4 = _createForOfIteratorHelperLoose(channelsData.channels); !(_step4 = _iterator4()).done;) {
15435
+ _channel2 = _step4.value;
15436
+ channelsMap[_channel2.id] = _channel2;
15437
+ }
15438
+ _chatsGroups = [];
15439
+ _publicChannels = [];
15440
+ handleChannels(Object.values(channelsMap));
15392
15441
  channelsToAdd = channelsData.channels.filter(function (channel) {
15393
15442
  return channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC || channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST;
15394
15443
  });
15395
15444
  _context5.n = 6;
15396
15445
  return effects.put(setSearchedChannelsForForwardAC({
15397
- chats_groups: JSON.parse(JSON.stringify(chatsGroups)),
15446
+ chats_groups: JSON.parse(JSON.stringify(_chatsGroups)),
15398
15447
  channels: JSON.parse(JSON.stringify(channelsToAdd)),
15399
15448
  contacts: JSON.parse(JSON.stringify(contactsList))
15400
15449
  }));
@@ -15491,15 +15540,15 @@ function channelsLoadMore(action) {
15491
15540
  }, _marked6, null, [[0, 9]]);
15492
15541
  }
15493
15542
  function getChannelMentions(action) {
15494
- var payload, channelId, SceytChatClient, mentionsQueryBuilder, mentionsQuery, mentions, _t9;
15543
+ var payload, channelId, _SceytChatClient3, mentionsQueryBuilder, mentionsQuery, mentions, _t9;
15495
15544
  return _regenerator().w(function (_context7) {
15496
15545
  while (1) switch (_context7.p = _context7.n) {
15497
15546
  case 0:
15498
15547
  _context7.p = 0;
15499
15548
  payload = action.payload;
15500
15549
  channelId = payload.channelId;
15501
- SceytChatClient = getClient();
15502
- mentionsQueryBuilder = new SceytChatClient.MentionsListQueryBuilder();
15550
+ _SceytChatClient3 = getClient();
15551
+ mentionsQueryBuilder = new _SceytChatClient3.MentionsListQueryBuilder();
15503
15552
  mentionsQueryBuilder.setChannelId(channelId);
15504
15553
  mentionsQueryBuilder.limit(10);
15505
15554
  mentionsQueryBuilder.setDirection(queryDirection.NEXT);
@@ -15528,14 +15577,14 @@ function getChannelMentions(action) {
15528
15577
  }, _marked7, null, [[0, 4]]);
15529
15578
  }
15530
15579
  function channelsForForwardLoadMore(action) {
15531
- var payload, limit, SceytChatClient, channelQueryForward, channelsData, channelsToAdd, _yield$call4, mappedChannels, _t0;
15580
+ var payload, limit, _SceytChatClient4, channelQueryForward, channelsData, channelsToAdd, _yield$call4, mappedChannels, _t0;
15532
15581
  return _regenerator().w(function (_context8) {
15533
15582
  while (1) switch (_context8.p = _context8.n) {
15534
15583
  case 0:
15535
15584
  _context8.p = 0;
15536
15585
  payload = action.payload;
15537
15586
  limit = payload.limit;
15538
- SceytChatClient = getClient();
15587
+ _SceytChatClient4 = getClient();
15539
15588
  channelQueryForward = query.channelQueryForward;
15540
15589
  if (limit) {
15541
15590
  channelQueryForward.limit = limit;
@@ -15552,7 +15601,7 @@ function channelsForForwardLoadMore(action) {
15552
15601
  case 3:
15553
15602
  channelsToAdd = channelsData.channels.filter(function (channel) {
15554
15603
  return channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? channel.userRole === 'admin' || channel.userRole === 'owner' : channel.type === DEFAULT_CHANNEL_TYPE.DIRECT ? channel.members.find(function (member) {
15555
- return member.id && member.id !== SceytChatClient.user.id;
15604
+ return member.id && member.id !== _SceytChatClient4.user.id;
15556
15605
  }) : true;
15557
15606
  });
15558
15607
  _context8.n = 4;
@@ -15578,7 +15627,7 @@ function channelsForForwardLoadMore(action) {
15578
15627
  }, _marked8, null, [[0, 7]]);
15579
15628
  }
15580
15629
  function markMessagesRead(action) {
15581
- var payload, channelId, messageIds, channel, messageListMarker, _iterator, _step, messageId, updateParams, _t1;
15630
+ var payload, channelId, messageIds, channel, messageListMarker, _iterator5, _step5, messageId, updateParams, _t1;
15582
15631
  return _regenerator().w(function (_context9) {
15583
15632
  while (1) switch (_context9.p = _context9.n) {
15584
15633
  case 0:
@@ -15611,13 +15660,13 @@ function markMessagesRead(action) {
15611
15660
  updateChannelOnAllChannels(channel.id, {
15612
15661
  lastReadMessageId: channel.lastDisplayedMessageId
15613
15662
  });
15614
- _iterator = _createForOfIteratorHelperLoose(messageListMarker.messageIds);
15663
+ _iterator5 = _createForOfIteratorHelperLoose(messageListMarker.messageIds);
15615
15664
  case 5:
15616
- if ((_step = _iterator()).done) {
15665
+ if ((_step5 = _iterator5()).done) {
15617
15666
  _context9.n = 8;
15618
15667
  break;
15619
15668
  }
15620
- messageId = _step.value;
15669
+ messageId = _step5.value;
15621
15670
  updateParams = {
15622
15671
  deliveryStatus: MESSAGE_DELIVERY_STATUS.READ,
15623
15672
  userMarkers: [{
@@ -15688,15 +15737,15 @@ function markMessagesDelivered(action) {
15688
15737
  }, _marked0, null, [[1, 4]]);
15689
15738
  }
15690
15739
  function switchChannel(action) {
15691
- var payload, channel, channelToSwitch, existingChannel, addChannel, SceytChatClient, fetchedChannel, channelFromMap, currentActiveChannel, _t11;
15740
+ var payload, channel, updateActiveChannel, channelToSwitch, existingChannel, addChannel, _SceytChatClient5, fetchedChannel, channelFromMap, currentActiveChannel, _t11;
15692
15741
  return _regenerator().w(function (_context1) {
15693
15742
  while (1) switch (_context1.p = _context1.n) {
15694
15743
  case 0:
15695
15744
  _context1.p = 0;
15696
15745
  payload = action.payload;
15697
- channel = payload.channel;
15746
+ channel = payload.channel, updateActiveChannel = payload.updateActiveChannel;
15698
15747
  channelToSwitch = channel;
15699
- if (channel !== null && channel !== void 0 && channel.id) {
15748
+ if (!(!(channel !== null && channel !== void 0 && channel.id) && updateActiveChannel)) {
15700
15749
  _context1.n = 3;
15701
15750
  break;
15702
15751
  }
@@ -15726,9 +15775,9 @@ function switchChannel(action) {
15726
15775
  _context1.n = 8;
15727
15776
  break;
15728
15777
  case 5:
15729
- SceytChatClient = getClient();
15778
+ _SceytChatClient5 = getClient();
15730
15779
  _context1.n = 6;
15731
- return effects.call(SceytChatClient.getChannel, channel.id);
15780
+ return effects.call(_SceytChatClient5.getChannel, channel.id);
15732
15781
  case 6:
15733
15782
  fetchedChannel = _context1.v;
15734
15783
  addChannelToAllChannels(fetchedChannel);
@@ -15744,6 +15793,10 @@ function switchChannel(action) {
15744
15793
  channelFromMap = getChannelFromMap(channel.id);
15745
15794
  channelToSwitch = _extends({}, channelToSwitch, channelFromMap);
15746
15795
  case 10:
15796
+ if (!updateActiveChannel) {
15797
+ _context1.n = 13;
15798
+ break;
15799
+ }
15747
15800
  currentActiveChannel = getChannelFromMap(getActiveChannelId());
15748
15801
  _context1.n = 11;
15749
15802
  return effects.call(setUnreadScrollTo, true);
@@ -16160,14 +16213,14 @@ function blockChannel(action) {
16160
16213
  }, _marked19, null, [[0, 5]]);
16161
16214
  }
16162
16215
  function updateChannel(action) {
16163
- var payload, channelId, config, SceytChatClient, channel, paramsToUpdate, fileToUpload, _yield$call5, subject, avatarUrl, metadata, _t21;
16216
+ var payload, channelId, config, _SceytChatClient6, channel, paramsToUpdate, fileToUpload, _yield$call5, subject, avatarUrl, metadata, _t21;
16164
16217
  return _regenerator().w(function (_context20) {
16165
16218
  while (1) switch (_context20.p = _context20.n) {
16166
16219
  case 0:
16167
16220
  _context20.p = 0;
16168
16221
  payload = action.payload;
16169
16222
  channelId = payload.channelId, config = payload.config;
16170
- SceytChatClient = getClient();
16223
+ _SceytChatClient6 = getClient();
16171
16224
  _context20.n = 1;
16172
16225
  return effects.call(getChannelFromMap, channelId);
16173
16226
  case 1:
@@ -16192,7 +16245,7 @@ function updateChannel(action) {
16192
16245
  }
16193
16246
  };
16194
16247
  _context20.n = 2;
16195
- return effects.call(SceytChatClient.uploadFile, fileToUpload);
16248
+ return effects.call(_SceytChatClient6.uploadFile, fileToUpload);
16196
16249
  case 2:
16197
16250
  paramsToUpdate.avatarUrl = _context20.v;
16198
16251
  case 3:
@@ -16236,15 +16289,15 @@ function updateChannel(action) {
16236
16289
  }, _marked20, null, [[0, 6]]);
16237
16290
  }
16238
16291
  function checkUsersStatus() {
16239
- var SceytChatClient, usersForUpdate, updatedUsers, usersToUpdateMap, update, updateData, _t22;
16292
+ var _SceytChatClient7, usersForUpdate, updatedUsers, usersToUpdateMap, update, updateData, _t22;
16240
16293
  return _regenerator().w(function (_context21) {
16241
16294
  while (1) switch (_context21.p = _context21.n) {
16242
16295
  case 0:
16243
16296
  _context21.p = 0;
16244
- SceytChatClient = getClient();
16297
+ _SceytChatClient7 = getClient();
16245
16298
  usersForUpdate = Object.keys(usersMap);
16246
16299
  _context21.n = 1;
16247
- return effects.call(SceytChatClient.getUsers, usersForUpdate);
16300
+ return effects.call(_SceytChatClient7.getUsers, usersForUpdate);
16248
16301
  case 1:
16249
16302
  updatedUsers = _context21.v;
16250
16303
  usersToUpdateMap = {};
@@ -16502,14 +16555,14 @@ function deleteAllMessages(action) {
16502
16555
  }, _marked25, null, [[0, 9]]);
16503
16556
  }
16504
16557
  function joinChannel(action) {
16505
- var payload, channelId, SceytChatClient, channel, joinedChannel, _t27;
16558
+ var payload, channelId, _SceytChatClient8, channel, joinedChannel, _t27;
16506
16559
  return _regenerator().w(function (_context26) {
16507
16560
  while (1) switch (_context26.p = _context26.n) {
16508
16561
  case 0:
16509
16562
  _context26.p = 0;
16510
16563
  payload = action.payload;
16511
16564
  channelId = payload.channelId;
16512
- SceytChatClient = getClient();
16565
+ _SceytChatClient8 = getClient();
16513
16566
  _context26.n = 1;
16514
16567
  return effects.call(getChannelFromMap, channelId);
16515
16568
  case 1:
@@ -16522,7 +16575,7 @@ function joinChannel(action) {
16522
16575
  break;
16523
16576
  }
16524
16577
  _context26.n = 2;
16525
- return effects.call(SceytChatClient.getChannel, channelId);
16578
+ return effects.call(_SceytChatClient8.getChannel, channelId);
16526
16579
  case 2:
16527
16580
  channel = _context26.v;
16528
16581
  case 3:
@@ -17135,16 +17188,17 @@ var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
17135
17188
  _marked5$1 = /*#__PURE__*/_regenerator().m(deleteMessage),
17136
17189
  _marked6$1 = /*#__PURE__*/_regenerator().m(editMessage),
17137
17190
  _marked7$1 = /*#__PURE__*/_regenerator().m(getMessagesQuery),
17138
- _marked8$1 = /*#__PURE__*/_regenerator().m(loadMoreMessages),
17139
- _marked9$1 = /*#__PURE__*/_regenerator().m(addReaction),
17140
- _marked0$1 = /*#__PURE__*/_regenerator().m(deleteReaction),
17141
- _marked1$1 = /*#__PURE__*/_regenerator().m(getReactions),
17142
- _marked10$1 = /*#__PURE__*/_regenerator().m(loadMoreReactions),
17143
- _marked11$1 = /*#__PURE__*/_regenerator().m(getMessageAttachments),
17144
- _marked12$1 = /*#__PURE__*/_regenerator().m(loadMoreMessageAttachments),
17145
- _marked13$1 = /*#__PURE__*/_regenerator().m(pauseAttachmentUploading),
17146
- _marked14$1 = /*#__PURE__*/_regenerator().m(resumeAttachmentUploading),
17147
- _marked15$1 = /*#__PURE__*/_regenerator().m(MessageSaga);
17191
+ _marked8$1 = /*#__PURE__*/_regenerator().m(getMessageQuery),
17192
+ _marked9$1 = /*#__PURE__*/_regenerator().m(loadMoreMessages),
17193
+ _marked0$1 = /*#__PURE__*/_regenerator().m(addReaction),
17194
+ _marked1$1 = /*#__PURE__*/_regenerator().m(deleteReaction),
17195
+ _marked10$1 = /*#__PURE__*/_regenerator().m(getReactions),
17196
+ _marked11$1 = /*#__PURE__*/_regenerator().m(loadMoreReactions),
17197
+ _marked12$1 = /*#__PURE__*/_regenerator().m(getMessageAttachments),
17198
+ _marked13$1 = /*#__PURE__*/_regenerator().m(loadMoreMessageAttachments),
17199
+ _marked14$1 = /*#__PURE__*/_regenerator().m(pauseAttachmentUploading),
17200
+ _marked15$1 = /*#__PURE__*/_regenerator().m(resumeAttachmentUploading),
17201
+ _marked16$1 = /*#__PURE__*/_regenerator().m(MessageSaga);
17148
17202
  var handleUploadAttachments = function handleUploadAttachments(attachments, message, channel) {
17149
17203
  try {
17150
17204
  return Promise.resolve(Promise.all(attachments.map(function (attachment) {
@@ -17624,7 +17678,7 @@ function sendMessage(action) {
17624
17678
  }, _marked$3, null, [[1, 18]]);
17625
17679
  }
17626
17680
  function sendTextMessage(action) {
17627
- var payload, message, connectionState, channelId, channel, sendMessageTid, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, messageToSend, pendingMessage, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, _t3;
17681
+ var payload, message, connectionState, channelId, channel, sendMessageTid, activeChannelId, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, messageToSend, pendingMessage, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, _t3;
17628
17682
  return _regenerator().w(function (_context4) {
17629
17683
  while (1) switch (_context4.p = _context4.n) {
17630
17684
  case 0:
@@ -17643,6 +17697,7 @@ function sendTextMessage(action) {
17643
17697
  setChannelInMap(channel);
17644
17698
  }
17645
17699
  }
17700
+ activeChannelId = getActiveChannelId();
17646
17701
  _context4.p = 3;
17647
17702
  if (!channel.isMockChannel) {
17648
17703
  _context4.n = 6;
@@ -17678,7 +17733,7 @@ function sendTextMessage(action) {
17678
17733
  attachments = [att];
17679
17734
  }
17680
17735
  messageBuilder = channel.createMessageBuilder();
17681
- messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisplayCount(message.type === 'system' ? 0 : 1).setSilent(message.type === 'system').setMetadata(JSON.stringify(message.metadata));
17736
+ messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisplayCount((message === null || message === void 0 ? void 0 : message.displayCount) !== undefined ? message.displayCount : message.type === 'system' ? 0 : 1).setSilent((message === null || message === void 0 ? void 0 : message.silent) !== undefined ? message.silent : message.type === 'system').setMetadata(JSON.stringify(message.metadata));
17682
17737
  if (message.parentMessage) {
17683
17738
  messageBuilder.setParentMessageId(message.parentMessage ? message.parentMessage.id : null);
17684
17739
  }
@@ -17695,6 +17750,10 @@ function sendTextMessage(action) {
17695
17750
  if (pendingMessage.metadata) {
17696
17751
  pendingMessage.metadata = JSON.parse(pendingMessage.metadata);
17697
17752
  }
17753
+ if (!(activeChannelId === channel.id)) {
17754
+ _context4.n = 8;
17755
+ break;
17756
+ }
17698
17757
  _context4.n = 8;
17699
17758
  return effects.call(addPendingMessage, message, pendingMessage, channel);
17700
17759
  case 8:
@@ -17731,8 +17790,13 @@ function sendTextMessage(action) {
17731
17790
  metadata: messageResponse.metadata,
17732
17791
  parentMessage: messageResponse.parentMessage,
17733
17792
  repliedInThread: messageResponse.repliedInThread,
17734
- createdAt: messageResponse.createdAt
17793
+ createdAt: messageResponse.createdAt,
17794
+ channelId: channel.id
17735
17795
  };
17796
+ if (!(activeChannelId === channel.id)) {
17797
+ _context4.n = 13;
17798
+ break;
17799
+ }
17736
17800
  _context4.n = 13;
17737
17801
  return effects.put(updateMessageAC(messageToSend.tid, messageUpdateData));
17738
17802
  case 13:
@@ -17740,7 +17804,9 @@ function sendTextMessage(action) {
17740
17804
  messageId: messageToSend.tid,
17741
17805
  params: messageUpdateData
17742
17806
  });
17743
- updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
17807
+ if (activeChannelId === channel.id) {
17808
+ updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
17809
+ }
17744
17810
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
17745
17811
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
17746
17812
  channelUpdateParam = {
@@ -17781,6 +17847,10 @@ function sendTextMessage(action) {
17781
17847
  state: MESSAGE_STATUS.FAILED
17782
17848
  }
17783
17849
  });
17850
+ if (!(activeChannelId === channel.id)) {
17851
+ _context4.n = 21;
17852
+ break;
17853
+ }
17784
17854
  updateMessageOnAllMessages(sendMessageTid, {
17785
17855
  state: MESSAGE_STATUS.FAILED
17786
17856
  });
@@ -18758,23 +18828,61 @@ function getMessagesQuery(action) {
18758
18828
  }
18759
18829
  }, _marked7$1, null, [[0, 49, 50, 52]]);
18760
18830
  }
18761
- function loadMoreMessages(action) {
18762
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t0;
18831
+ function getMessageQuery(action) {
18832
+ var payload, channelId, messageId, channel, messages, _t0;
18763
18833
  return _regenerator().w(function (_context0) {
18764
18834
  while (1) switch (_context0.p = _context0.n) {
18765
18835
  case 0:
18766
18836
  _context0.p = 0;
18767
18837
  payload = action.payload;
18838
+ channelId = payload.channelId, messageId = payload.messageId;
18839
+ _context0.n = 1;
18840
+ return effects.call(getChannelFromMap, channelId);
18841
+ case 1:
18842
+ channel = _context0.v;
18843
+ _context0.n = 2;
18844
+ return effects.call(channel.getMessagesById, [messageId]);
18845
+ case 2:
18846
+ messages = _context0.v;
18847
+ _context0.n = 3;
18848
+ return effects.put(updateMessageAC(messageId, messages[0]));
18849
+ case 3:
18850
+ updateMessageOnMap(channel.id, {
18851
+ messageId: messageId,
18852
+ params: messages[0]
18853
+ });
18854
+ updateMessageOnAllMessages(messageId, messages[0]);
18855
+ _context0.n = 4;
18856
+ return effects.put(setScrollToMessagesAC(messageId, false));
18857
+ case 4:
18858
+ _context0.n = 6;
18859
+ break;
18860
+ case 5:
18861
+ _context0.p = 5;
18862
+ _t0 = _context0.v;
18863
+ log.error('error in message query', _t0);
18864
+ case 6:
18865
+ return _context0.a(2);
18866
+ }
18867
+ }, _marked8$1, null, [[0, 5]]);
18868
+ }
18869
+ function loadMoreMessages(action) {
18870
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t1;
18871
+ return _regenerator().w(function (_context1) {
18872
+ while (1) switch (_context1.p = _context1.n) {
18873
+ case 0:
18874
+ _context1.p = 0;
18875
+ payload = action.payload;
18768
18876
  limit = payload.limit, direction = payload.direction, channelId = payload.channelId, messageId = payload.messageId, hasNext = payload.hasNext;
18769
18877
  SceytChatClient = getClient();
18770
18878
  messageQueryBuilder = new SceytChatClient.MessageListQueryBuilder(channelId);
18771
18879
  messageQueryBuilder.reverse(true);
18772
- _context0.n = 1;
18880
+ _context1.n = 1;
18773
18881
  return effects.call(messageQueryBuilder.build);
18774
18882
  case 1:
18775
- messageQuery = _context0.v;
18883
+ messageQuery = _context1.v;
18776
18884
  messageQuery.limit = limit || 5;
18777
- _context0.n = 2;
18885
+ _context1.n = 2;
18778
18886
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
18779
18887
  case 2:
18780
18888
  result = {
@@ -18782,116 +18890,116 @@ function loadMoreMessages(action) {
18782
18890
  hasNext: false
18783
18891
  };
18784
18892
  if (!(direction === MESSAGE_LOAD_DIRECTION.PREV)) {
18785
- _context0.n = 6;
18893
+ _context1.n = 6;
18786
18894
  break;
18787
18895
  }
18788
18896
  if (!getHasPrevCached()) {
18789
- _context0.n = 3;
18897
+ _context1.n = 3;
18790
18898
  break;
18791
18899
  }
18792
18900
  result.messages = getFromAllMessagesByMessageId(messageId, MESSAGE_LOAD_DIRECTION.PREV);
18793
- _context0.n = 5;
18901
+ _context1.n = 5;
18794
18902
  break;
18795
18903
  case 3:
18796
18904
  if (!hasNext) {
18797
- _context0.n = 5;
18905
+ _context1.n = 5;
18798
18906
  break;
18799
18907
  }
18800
- _context0.n = 4;
18908
+ _context1.n = 4;
18801
18909
  return effects.call(messageQuery.loadPreviousMessageId, messageId);
18802
18910
  case 4:
18803
- result = _context0.v;
18911
+ result = _context1.v;
18804
18912
  if (result.messages.length) {
18805
18913
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.PREV);
18806
18914
  }
18807
- _context0.n = 5;
18915
+ _context1.n = 5;
18808
18916
  return effects.put(setMessagesHasPrevAC(result.hasNext));
18809
18917
  case 5:
18810
- _context0.n = 10;
18918
+ _context1.n = 10;
18811
18919
  break;
18812
18920
  case 6:
18813
18921
  if (!getHasNextCached()) {
18814
- _context0.n = 7;
18922
+ _context1.n = 7;
18815
18923
  break;
18816
18924
  }
18817
18925
  result.messages = getFromAllMessagesByMessageId(messageId, MESSAGE_LOAD_DIRECTION.NEXT);
18818
- _context0.n = 9;
18926
+ _context1.n = 9;
18819
18927
  break;
18820
18928
  case 7:
18821
18929
  if (!hasNext) {
18822
- _context0.n = 9;
18930
+ _context1.n = 9;
18823
18931
  break;
18824
18932
  }
18825
18933
  log.info('saga load next from server ... ', messageId);
18826
18934
  messageQuery.reverse = false;
18827
- _context0.n = 8;
18935
+ _context1.n = 8;
18828
18936
  return effects.call(messageQuery.loadNextMessageId, messageId);
18829
18937
  case 8:
18830
- result = _context0.v;
18938
+ result = _context1.v;
18831
18939
  log.info('result from server next ... ', result);
18832
18940
  if (result.messages.length) {
18833
18941
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.NEXT);
18834
18942
  }
18835
- _context0.n = 9;
18943
+ _context1.n = 9;
18836
18944
  return effects.put(setMessagesHasNextAC(result.hasNext));
18837
18945
  case 9:
18838
- _context0.n = 10;
18946
+ _context1.n = 10;
18839
18947
  return effects.put(setMessagesHasPrevAC(true));
18840
18948
  case 10:
18841
18949
  if (!(result.messages && result.messages.length && result.messages.length > 0)) {
18842
- _context0.n = 12;
18950
+ _context1.n = 12;
18843
18951
  break;
18844
18952
  }
18845
- _context0.n = 11;
18953
+ _context1.n = 11;
18846
18954
  return effects.put(addMessagesAC(JSON.parse(JSON.stringify(result.messages)), direction));
18847
18955
  case 11:
18848
- _context0.n = 13;
18956
+ _context1.n = 13;
18849
18957
  break;
18850
18958
  case 12:
18851
- _context0.n = 13;
18959
+ _context1.n = 13;
18852
18960
  return effects.put(addMessagesAC([], direction));
18853
18961
  case 13:
18854
- _context0.n = 14;
18962
+ _context1.n = 14;
18855
18963
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18856
18964
  case 14:
18857
- _context0.n = 16;
18965
+ _context1.n = 16;
18858
18966
  break;
18859
18967
  case 15:
18860
- _context0.p = 15;
18861
- _t0 = _context0.v;
18862
- log.error('error in load more messages', _t0);
18968
+ _context1.p = 15;
18969
+ _t1 = _context1.v;
18970
+ log.error('error in load more messages', _t1);
18863
18971
  case 16:
18864
- return _context0.a(2);
18972
+ return _context1.a(2);
18865
18973
  }
18866
- }, _marked8$1, null, [[0, 15]]);
18974
+ }, _marked9$1, null, [[0, 15]]);
18867
18975
  }
18868
18976
  function addReaction(action) {
18869
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, _message2, reaction, channelUpdateParam, _t1;
18870
- return _regenerator().w(function (_context1) {
18871
- while (1) switch (_context1.p = _context1.n) {
18977
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, _message2, reaction, channelUpdateParam, _t10;
18978
+ return _regenerator().w(function (_context10) {
18979
+ while (1) switch (_context10.p = _context10.n) {
18872
18980
  case 0:
18873
- _context1.p = 0;
18981
+ _context10.p = 0;
18874
18982
  payload = action.payload;
18875
18983
  channelId = payload.channelId, messageId = payload.messageId, key = payload.key, score = payload.score, reason = payload.reason, enforceUnique = payload.enforceUnique;
18876
18984
  user = getClient().user;
18877
- _context1.n = 1;
18985
+ _context10.n = 1;
18878
18986
  return effects.call(getChannelFromMap, channelId);
18879
18987
  case 1:
18880
- channel = _context1.v;
18988
+ channel = _context10.v;
18881
18989
  if (!channel) {
18882
18990
  channel = getChannelFromAllChannels(channelId);
18883
18991
  if (channel) {
18884
18992
  setChannelInMap(channel);
18885
18993
  }
18886
18994
  }
18887
- _context1.n = 2;
18995
+ _context10.n = 2;
18888
18996
  return effects.call(channel.addReaction, messageId, key, score, reason, enforceUnique);
18889
18997
  case 2:
18890
- _yield$call = _context1.v;
18998
+ _yield$call = _context10.v;
18891
18999
  _message2 = _yield$call.message;
18892
19000
  reaction = _yield$call.reaction;
18893
19001
  if (!(user.id === _message2.user.id)) {
18894
- _context1.n = 4;
19002
+ _context10.n = 4;
18895
19003
  break;
18896
19004
  }
18897
19005
  channelUpdateParam = {
@@ -18899,100 +19007,100 @@ function addReaction(action) {
18899
19007
  lastReactedMessage: _message2,
18900
19008
  newReactions: [reaction]
18901
19009
  };
18902
- _context1.n = 3;
19010
+ _context10.n = 3;
18903
19011
  return effects.put(updateChannelDataAC(channel.id, channelUpdateParam));
18904
19012
  case 3:
18905
19013
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
18906
19014
  case 4:
18907
- _context1.n = 5;
19015
+ _context10.n = 5;
18908
19016
  return effects.put(addChannelAC(JSON.parse(JSON.stringify(channel))));
18909
19017
  case 5:
18910
- _context1.n = 6;
19018
+ _context10.n = 6;
18911
19019
  return effects.put(addReactionToListAC(reaction));
18912
19020
  case 6:
18913
- _context1.n = 7;
19021
+ _context10.n = 7;
18914
19022
  return effects.put(addReactionToMessageAC(_message2, reaction, true));
18915
19023
  case 7:
18916
19024
  addReactionToMessageOnMap(channelId, _message2, reaction, true);
18917
19025
  addReactionOnAllMessages(_message2, reaction, true);
18918
- _context1.n = 9;
19026
+ _context10.n = 9;
18919
19027
  break;
18920
19028
  case 8:
18921
- _context1.p = 8;
18922
- _t1 = _context1.v;
18923
- log.error('ERROR in add reaction', _t1.message);
19029
+ _context10.p = 8;
19030
+ _t10 = _context10.v;
19031
+ log.error('ERROR in add reaction', _t10.message);
18924
19032
  case 9:
18925
- return _context1.a(2);
19033
+ return _context10.a(2);
18926
19034
  }
18927
- }, _marked9$1, null, [[0, 8]]);
19035
+ }, _marked0$1, null, [[0, 8]]);
18928
19036
  }
18929
19037
  function deleteReaction(action) {
18930
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, _message3, reaction, channelUpdateParam, _t10;
18931
- return _regenerator().w(function (_context10) {
18932
- while (1) switch (_context10.p = _context10.n) {
19038
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, _message3, reaction, channelUpdateParam, _t11;
19039
+ return _regenerator().w(function (_context11) {
19040
+ while (1) switch (_context11.p = _context11.n) {
18933
19041
  case 0:
18934
- _context10.p = 0;
19042
+ _context11.p = 0;
18935
19043
  payload = action.payload;
18936
19044
  channelId = payload.channelId, messageId = payload.messageId, key = payload.key, isLastReaction = payload.isLastReaction;
18937
- _context10.n = 1;
19045
+ _context11.n = 1;
18938
19046
  return effects.call(getChannelFromMap, channelId);
18939
19047
  case 1:
18940
- channel = _context10.v;
19048
+ channel = _context11.v;
18941
19049
  if (!channel) {
18942
19050
  channel = getChannelFromAllChannels(channelId);
18943
19051
  if (channel) {
18944
19052
  setChannelInMap(channel);
18945
19053
  }
18946
19054
  }
18947
- _context10.n = 2;
19055
+ _context11.n = 2;
18948
19056
  return effects.call(channel.deleteReaction, messageId, key);
18949
19057
  case 2:
18950
- _yield$call2 = _context10.v;
19058
+ _yield$call2 = _context11.v;
18951
19059
  _message3 = _yield$call2.message;
18952
19060
  reaction = _yield$call2.reaction;
18953
19061
  if (!isLastReaction) {
18954
- _context10.n = 4;
19062
+ _context11.n = 4;
18955
19063
  break;
18956
19064
  }
18957
19065
  channelUpdateParam = {
18958
19066
  userMessageReactions: [],
18959
19067
  lastReactedMessage: null
18960
19068
  };
18961
- _context10.n = 3;
19069
+ _context11.n = 3;
18962
19070
  return effects.put(updateChannelDataAC(channel.id, channelUpdateParam));
18963
19071
  case 3:
18964
19072
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
18965
19073
  case 4:
18966
19074
  log.info('message received. ... ', _message3);
18967
- _context10.n = 5;
19075
+ _context11.n = 5;
18968
19076
  return effects.put(deleteReactionFromListAC(reaction));
18969
19077
  case 5:
18970
- _context10.n = 6;
19078
+ _context11.n = 6;
18971
19079
  return effects.put(deleteReactionFromMessageAC(_message3, reaction, true));
18972
19080
  case 6:
18973
19081
  removeReactionToMessageOnMap(channelId, _message3, reaction, true);
18974
19082
  removeReactionOnAllMessages(_message3, reaction, true);
18975
- _context10.n = 8;
19083
+ _context11.n = 8;
18976
19084
  break;
18977
19085
  case 7:
18978
- _context10.p = 7;
18979
- _t10 = _context10.v;
18980
- log.error('ERROR in delete reaction', _t10.message);
19086
+ _context11.p = 7;
19087
+ _t11 = _context11.v;
19088
+ log.error('ERROR in delete reaction', _t11.message);
18981
19089
  case 8:
18982
- return _context10.a(2);
19090
+ return _context11.a(2);
18983
19091
  }
18984
- }, _marked0$1, null, [[0, 7]]);
19092
+ }, _marked1$1, null, [[0, 7]]);
18985
19093
  }
18986
19094
  function getReactions(action) {
18987
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t11;
18988
- return _regenerator().w(function (_context11) {
18989
- while (1) switch (_context11.p = _context11.n) {
19095
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t12;
19096
+ return _regenerator().w(function (_context12) {
19097
+ while (1) switch (_context12.p = _context12.n) {
18990
19098
  case 0:
18991
- _context11.p = 0;
19099
+ _context12.p = 0;
18992
19100
  payload = action.payload;
18993
19101
  messageId = payload.messageId, key = payload.key, limit = payload.limit;
18994
19102
  SceytChatClient = getClient();
18995
- _context11.n = 1;
19103
+ _context12.n = 1;
18996
19104
  return effects.put(setReactionsLoadingStateAC(LOADING_STATE.LOADING));
18997
19105
  case 1:
18998
19106
  reactionQueryBuilder = new SceytChatClient.ReactionListQueryBuilder(messageId);
@@ -19000,74 +19108,74 @@ function getReactions(action) {
19000
19108
  if (key) {
19001
19109
  reactionQueryBuilder.setKey(key);
19002
19110
  }
19003
- _context11.n = 2;
19111
+ _context12.n = 2;
19004
19112
  return effects.call(reactionQueryBuilder.build);
19005
19113
  case 2:
19006
- reactionQuery = _context11.v;
19007
- _context11.n = 3;
19114
+ reactionQuery = _context12.v;
19115
+ _context12.n = 3;
19008
19116
  return effects.call(reactionQuery.loadNext);
19009
19117
  case 3:
19010
- result = _context11.v;
19118
+ result = _context12.v;
19011
19119
  query.ReactionsQuery = reactionQuery;
19012
- _context11.n = 4;
19120
+ _context12.n = 4;
19013
19121
  return effects.put(setReactionsListAC(result.reactions, result.hasNext));
19014
19122
  case 4:
19015
- _context11.n = 5;
19123
+ _context12.n = 5;
19016
19124
  return effects.put(setReactionsLoadingStateAC(LOADING_STATE.LOADED));
19017
19125
  case 5:
19018
- _context11.n = 7;
19126
+ _context12.n = 7;
19019
19127
  break;
19020
19128
  case 6:
19021
- _context11.p = 6;
19022
- _t11 = _context11.v;
19023
- log.error('ERROR in get reactions', _t11.message);
19129
+ _context12.p = 6;
19130
+ _t12 = _context12.v;
19131
+ log.error('ERROR in get reactions', _t12.message);
19024
19132
  case 7:
19025
- return _context11.a(2);
19133
+ return _context12.a(2);
19026
19134
  }
19027
- }, _marked1$1, null, [[0, 6]]);
19135
+ }, _marked10$1, null, [[0, 6]]);
19028
19136
  }
19029
19137
  function loadMoreReactions(action) {
19030
- var payload, limit, ReactionQuery, result, _t12;
19031
- return _regenerator().w(function (_context12) {
19032
- while (1) switch (_context12.p = _context12.n) {
19138
+ var payload, limit, ReactionQuery, result, _t13;
19139
+ return _regenerator().w(function (_context13) {
19140
+ while (1) switch (_context13.p = _context13.n) {
19033
19141
  case 0:
19034
- _context12.p = 0;
19142
+ _context13.p = 0;
19035
19143
  payload = action.payload;
19036
19144
  limit = payload.limit;
19037
- _context12.n = 1;
19145
+ _context13.n = 1;
19038
19146
  return effects.put(setReactionsLoadingStateAC(LOADING_STATE.LOADING));
19039
19147
  case 1:
19040
19148
  ReactionQuery = query.ReactionsQuery;
19041
19149
  if (limit) {
19042
19150
  ReactionQuery.limit = limit;
19043
19151
  }
19044
- _context12.n = 2;
19152
+ _context13.n = 2;
19045
19153
  return effects.call(ReactionQuery.loadNext);
19046
19154
  case 2:
19047
- result = _context12.v;
19048
- _context12.n = 3;
19155
+ result = _context13.v;
19156
+ _context13.n = 3;
19049
19157
  return effects.put(addReactionsToListAC(result.reactions, result.hasNext));
19050
19158
  case 3:
19051
- _context12.n = 4;
19159
+ _context13.n = 4;
19052
19160
  return effects.put(setReactionsLoadingStateAC(LOADING_STATE.LOADED));
19053
19161
  case 4:
19054
- _context12.n = 6;
19162
+ _context13.n = 6;
19055
19163
  break;
19056
19164
  case 5:
19057
- _context12.p = 5;
19058
- _t12 = _context12.v;
19059
- log.error('ERROR in load more reactions', _t12.message);
19165
+ _context13.p = 5;
19166
+ _t13 = _context13.v;
19167
+ log.error('ERROR in load more reactions', _t13.message);
19060
19168
  case 6:
19061
- return _context12.a(2);
19169
+ return _context13.a(2);
19062
19170
  }
19063
- }, _marked10$1, null, [[0, 5]]);
19171
+ }, _marked11$1, null, [[0, 5]]);
19064
19172
  }
19065
19173
  function getMessageAttachments(action) {
19066
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t13;
19067
- return _regenerator().w(function (_context13) {
19068
- while (1) switch (_context13.p = _context13.n) {
19174
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t14;
19175
+ return _regenerator().w(function (_context14) {
19176
+ while (1) switch (_context14.p = _context14.n) {
19069
19177
  case 0:
19070
- _context13.p = 0;
19178
+ _context14.p = 0;
19071
19179
  _action$payload2 = action.payload, channelId = _action$payload2.channelId, attachmentType = _action$payload2.attachmentType, limit = _action$payload2.limit, direction = _action$payload2.direction, attachmentId = _action$payload2.attachmentId, forPopup = _action$payload2.forPopup;
19072
19180
  SceytChatClient = getClient();
19073
19181
  typeList = [attachmentTypes.video, attachmentTypes.image, attachmentTypes.file, attachmentTypes.link, attachmentTypes.voice];
@@ -19082,240 +19190,243 @@ function getMessageAttachments(action) {
19082
19190
  }
19083
19191
  AttachmentByTypeQueryBuilder = new SceytChatClient.AttachmentListQueryBuilder(channelId, typeList);
19084
19192
  AttachmentByTypeQueryBuilder.limit(limit || 34);
19085
- _context13.n = 1;
19193
+ _context14.n = 1;
19086
19194
  return effects.call(AttachmentByTypeQueryBuilder.build);
19087
19195
  case 1:
19088
- AttachmentByTypeQuery = _context13.v;
19196
+ AttachmentByTypeQuery = _context14.v;
19089
19197
  if (forPopup) {
19090
19198
  AttachmentByTypeQuery.reverse = true;
19091
19199
  }
19092
19200
  if (!(direction === queryDirection.NEXT)) {
19093
- _context13.n = 3;
19201
+ _context14.n = 3;
19094
19202
  break;
19095
19203
  }
19096
- _context13.n = 2;
19204
+ _context14.n = 2;
19097
19205
  return effects.call(AttachmentByTypeQuery.loadPrevious);
19098
19206
  case 2:
19099
- result = _context13.v;
19100
- _context13.n = 7;
19207
+ result = _context14.v;
19208
+ _context14.n = 7;
19101
19209
  break;
19102
19210
  case 3:
19103
19211
  if (!(direction === queryDirection.NEAR)) {
19104
- _context13.n = 5;
19212
+ _context14.n = 5;
19105
19213
  break;
19106
19214
  }
19107
- _context13.n = 4;
19215
+ _context14.n = 4;
19108
19216
  return effects.call(AttachmentByTypeQuery.loadNearMessageId, attachmentId);
19109
19217
  case 4:
19110
- result = _context13.v;
19111
- _context13.n = 7;
19218
+ result = _context14.v;
19219
+ _context14.n = 7;
19112
19220
  break;
19113
19221
  case 5:
19114
- _context13.n = 6;
19222
+ _context14.n = 6;
19115
19223
  return effects.call(AttachmentByTypeQuery.loadPrevious);
19116
19224
  case 6:
19117
- result = _context13.v;
19225
+ result = _context14.v;
19118
19226
  case 7:
19119
19227
  if (!forPopup) {
19120
- _context13.n = 10;
19228
+ _context14.n = 10;
19121
19229
  break;
19122
19230
  }
19123
19231
  query.AttachmentByTypeQueryForPopup = AttachmentByTypeQuery;
19124
- _context13.n = 8;
19232
+ _context14.n = 8;
19125
19233
  return effects.put(setAttachmentsForPopupAC(JSON.parse(JSON.stringify(result.attachments))));
19126
19234
  case 8:
19127
- _context13.n = 9;
19235
+ _context14.n = 9;
19128
19236
  return effects.put(setAttachmentsCompleteForPopupAC(result.hasNext));
19129
19237
  case 9:
19130
- _context13.n = 12;
19238
+ _context14.n = 12;
19131
19239
  break;
19132
19240
  case 10:
19133
19241
  query.AttachmentByTypeQuery = AttachmentByTypeQuery;
19134
- _context13.n = 11;
19242
+ _context14.n = 11;
19135
19243
  return effects.put(setAttachmentsCompleteAC(result.hasNext));
19136
19244
  case 11:
19137
- _context13.n = 12;
19245
+ _context14.n = 12;
19138
19246
  return effects.put(setAttachmentsAC(JSON.parse(JSON.stringify(result.attachments))));
19139
19247
  case 12:
19140
- _context13.n = 14;
19248
+ _context14.n = 14;
19141
19249
  break;
19142
19250
  case 13:
19143
- _context13.p = 13;
19144
- _t13 = _context13.v;
19145
- log.error('error in message attachment query', _t13);
19251
+ _context14.p = 13;
19252
+ _t14 = _context14.v;
19253
+ log.error('error in message attachment query', _t14);
19146
19254
  case 14:
19147
- return _context13.a(2);
19255
+ return _context14.a(2);
19148
19256
  }
19149
- }, _marked11$1, null, [[0, 13]]);
19257
+ }, _marked12$1, null, [[0, 13]]);
19150
19258
  }
19151
19259
  function loadMoreMessageAttachments(action) {
19152
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t14;
19153
- return _regenerator().w(function (_context14) {
19154
- while (1) switch (_context14.p = _context14.n) {
19260
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t15;
19261
+ return _regenerator().w(function (_context15) {
19262
+ while (1) switch (_context15.p = _context15.n) {
19155
19263
  case 0:
19156
- _context14.p = 0;
19264
+ _context15.p = 0;
19157
19265
  _action$payload3 = action.payload, limit = _action$payload3.limit, direction = _action$payload3.direction, forPopup = _action$payload3.forPopup;
19158
19266
  if (forPopup) {
19159
19267
  AttachmentQuery = query.AttachmentByTypeQueryForPopup;
19160
19268
  } else {
19161
19269
  AttachmentQuery = query.AttachmentByTypeQuery;
19162
19270
  }
19163
- _context14.n = 1;
19271
+ _context15.n = 1;
19164
19272
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19165
19273
  case 1:
19166
19274
  AttachmentQuery.limit = limit;
19167
- _context14.n = 2;
19275
+ _context15.n = 2;
19168
19276
  return effects.call(AttachmentQuery.loadPrevious);
19169
19277
  case 2:
19170
- _yield$call3 = _context14.v;
19278
+ _yield$call3 = _context15.v;
19171
19279
  attachments = _yield$call3.attachments;
19172
19280
  hasNext = _yield$call3.hasNext;
19173
19281
  if (!forPopup) {
19174
- _context14.n = 4;
19282
+ _context15.n = 4;
19175
19283
  break;
19176
19284
  }
19177
- _context14.n = 3;
19285
+ _context15.n = 3;
19178
19286
  return effects.put(addAttachmentsForPopupAC(attachments, direction));
19179
19287
  case 3:
19180
- _context14.n = 7;
19288
+ _context15.n = 7;
19181
19289
  break;
19182
19290
  case 4:
19183
- _context14.n = 5;
19291
+ _context15.n = 5;
19184
19292
  return effects.put(setAttachmentsCompleteAC(hasNext));
19185
19293
  case 5:
19186
- _context14.n = 6;
19294
+ _context15.n = 6;
19187
19295
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19188
19296
  case 6:
19189
- _context14.n = 7;
19297
+ _context15.n = 7;
19190
19298
  return effects.put(addAttachmentsAC(attachments));
19191
19299
  case 7:
19192
- _context14.n = 9;
19300
+ _context15.n = 9;
19193
19301
  break;
19194
19302
  case 8:
19195
- _context14.p = 8;
19196
- _t14 = _context14.v;
19197
- log.error('error in message attachment query', _t14);
19303
+ _context15.p = 8;
19304
+ _t15 = _context15.v;
19305
+ log.error('error in message attachment query', _t15);
19198
19306
  case 9:
19199
- return _context14.a(2);
19307
+ return _context15.a(2);
19200
19308
  }
19201
- }, _marked12$1, null, [[0, 8]]);
19309
+ }, _marked13$1, null, [[0, 8]]);
19202
19310
  }
19203
19311
  function pauseAttachmentUploading(action) {
19204
- var attachmentId, isPaused, _t15;
19205
- return _regenerator().w(function (_context15) {
19206
- while (1) switch (_context15.p = _context15.n) {
19312
+ var attachmentId, isPaused, _t16;
19313
+ return _regenerator().w(function (_context16) {
19314
+ while (1) switch (_context16.p = _context16.n) {
19207
19315
  case 0:
19208
- _context15.p = 0;
19316
+ _context16.p = 0;
19209
19317
  attachmentId = action.payload.attachmentId;
19210
19318
  if (!getCustomUploader()) {
19211
- _context15.n = 1;
19319
+ _context16.n = 1;
19212
19320
  break;
19213
19321
  }
19214
19322
  isPaused = pauseUpload(attachmentId);
19215
19323
  if (!isPaused) {
19216
- _context15.n = 1;
19324
+ _context16.n = 1;
19217
19325
  break;
19218
19326
  }
19219
- _context15.n = 1;
19327
+ _context16.n = 1;
19220
19328
  return effects.put(updateAttachmentUploadingStateAC(UPLOAD_STATE.PAUSED, attachmentId));
19221
19329
  case 1:
19222
- _context15.n = 3;
19330
+ _context16.n = 3;
19223
19331
  break;
19224
19332
  case 2:
19225
- _context15.p = 2;
19226
- _t15 = _context15.v;
19227
- log.error('error in pause attachment uploading', _t15);
19333
+ _context16.p = 2;
19334
+ _t16 = _context16.v;
19335
+ log.error('error in pause attachment uploading', _t16);
19228
19336
  case 3:
19229
- return _context15.a(2);
19337
+ return _context16.a(2);
19230
19338
  }
19231
- }, _marked13$1, null, [[0, 2]]);
19339
+ }, _marked14$1, null, [[0, 2]]);
19232
19340
  }
19233
19341
  function resumeAttachmentUploading(action) {
19234
- var attachmentId, isResumed, _t16;
19235
- return _regenerator().w(function (_context16) {
19236
- while (1) switch (_context16.p = _context16.n) {
19342
+ var attachmentId, isResumed, _t17;
19343
+ return _regenerator().w(function (_context17) {
19344
+ while (1) switch (_context17.p = _context17.n) {
19237
19345
  case 0:
19238
- _context16.p = 0;
19346
+ _context17.p = 0;
19239
19347
  attachmentId = action.payload.attachmentId;
19240
19348
  log.info('resume for attachment ... ', attachmentId);
19241
19349
  if (!getCustomUploader()) {
19242
- _context16.n = 1;
19350
+ _context17.n = 1;
19243
19351
  break;
19244
19352
  }
19245
19353
  isResumed = resumeUpload(attachmentId);
19246
19354
  if (!isResumed) {
19247
- _context16.n = 1;
19355
+ _context17.n = 1;
19248
19356
  break;
19249
19357
  }
19250
- _context16.n = 1;
19358
+ _context17.n = 1;
19251
19359
  return effects.put(updateAttachmentUploadingStateAC(UPLOAD_STATE.UPLOADING, attachmentId));
19252
19360
  case 1:
19253
- _context16.n = 3;
19361
+ _context17.n = 3;
19254
19362
  break;
19255
19363
  case 2:
19256
- _context16.p = 2;
19257
- _t16 = _context16.v;
19258
- log.error('error in resume attachment uploading', _t16);
19364
+ _context17.p = 2;
19365
+ _t17 = _context17.v;
19366
+ log.error('error in resume attachment uploading', _t17);
19259
19367
  case 3:
19260
- return _context16.a(2);
19368
+ return _context17.a(2);
19261
19369
  }
19262
- }, _marked14$1, null, [[0, 2]]);
19370
+ }, _marked15$1, null, [[0, 2]]);
19263
19371
  }
19264
19372
  function MessageSaga() {
19265
- return _regenerator().w(function (_context17) {
19266
- while (1) switch (_context17.n) {
19373
+ return _regenerator().w(function (_context18) {
19374
+ while (1) switch (_context18.n) {
19267
19375
  case 0:
19268
- _context17.n = 1;
19376
+ _context18.n = 1;
19269
19377
  return effects.takeEvery(SEND_MESSAGE, sendMessage);
19270
19378
  case 1:
19271
- _context17.n = 2;
19379
+ _context18.n = 2;
19272
19380
  return effects.takeEvery(SEND_TEXT_MESSAGE, sendTextMessage);
19273
19381
  case 2:
19274
- _context17.n = 3;
19382
+ _context18.n = 3;
19275
19383
  return effects.takeEvery(FORWARD_MESSAGE, forwardMessage);
19276
19384
  case 3:
19277
- _context17.n = 4;
19385
+ _context18.n = 4;
19278
19386
  return effects.takeEvery(RESEND_MESSAGE, resendMessage);
19279
19387
  case 4:
19280
- _context17.n = 5;
19388
+ _context18.n = 5;
19281
19389
  return effects.takeLatest(EDIT_MESSAGE, editMessage);
19282
19390
  case 5:
19283
- _context17.n = 6;
19391
+ _context18.n = 6;
19284
19392
  return effects.takeEvery(DELETE_MESSAGE, deleteMessage);
19285
19393
  case 6:
19286
- _context17.n = 7;
19394
+ _context18.n = 7;
19287
19395
  return effects.takeLatest(GET_MESSAGES, getMessagesQuery);
19288
19396
  case 7:
19289
- _context17.n = 8;
19290
- return effects.takeLatest(GET_MESSAGES_ATTACHMENTS, getMessageAttachments);
19397
+ _context18.n = 8;
19398
+ return effects.takeLatest(GET_MESSAGE, getMessageQuery);
19291
19399
  case 8:
19292
- _context17.n = 9;
19293
- return effects.takeLatest(LOAD_MORE_MESSAGES_ATTACHMENTS, loadMoreMessageAttachments);
19400
+ _context18.n = 9;
19401
+ return effects.takeLatest(GET_MESSAGES_ATTACHMENTS, getMessageAttachments);
19294
19402
  case 9:
19295
- _context17.n = 10;
19296
- return effects.takeLatest(ADD_REACTION, addReaction);
19403
+ _context18.n = 10;
19404
+ return effects.takeLatest(LOAD_MORE_MESSAGES_ATTACHMENTS, loadMoreMessageAttachments);
19297
19405
  case 10:
19298
- _context17.n = 11;
19299
- return effects.takeLatest(DELETE_REACTION, deleteReaction);
19406
+ _context18.n = 11;
19407
+ return effects.takeLatest(ADD_REACTION, addReaction);
19300
19408
  case 11:
19301
- _context17.n = 12;
19302
- return effects.takeEvery(LOAD_MORE_MESSAGES, loadMoreMessages);
19409
+ _context18.n = 12;
19410
+ return effects.takeLatest(DELETE_REACTION, deleteReaction);
19303
19411
  case 12:
19304
- _context17.n = 13;
19305
- return effects.takeEvery(GET_REACTIONS, getReactions);
19412
+ _context18.n = 13;
19413
+ return effects.takeEvery(LOAD_MORE_MESSAGES, loadMoreMessages);
19306
19414
  case 13:
19307
- _context17.n = 14;
19308
- return effects.takeEvery(LOAD_MORE_REACTIONS, loadMoreReactions);
19415
+ _context18.n = 14;
19416
+ return effects.takeEvery(GET_REACTIONS, getReactions);
19309
19417
  case 14:
19310
- _context17.n = 15;
19311
- return effects.takeEvery(PAUSE_ATTACHMENT_UPLOADING, pauseAttachmentUploading);
19418
+ _context18.n = 15;
19419
+ return effects.takeEvery(LOAD_MORE_REACTIONS, loadMoreReactions);
19312
19420
  case 15:
19313
- _context17.n = 16;
19314
- return effects.takeEvery(RESUME_ATTACHMENT_UPLOADING, resumeAttachmentUploading);
19421
+ _context18.n = 16;
19422
+ return effects.takeEvery(PAUSE_ATTACHMENT_UPLOADING, pauseAttachmentUploading);
19315
19423
  case 16:
19316
- return _context17.a(2);
19424
+ _context18.n = 17;
19425
+ return effects.takeEvery(RESUME_ATTACHMENT_UPLOADING, resumeAttachmentUploading);
19426
+ case 17:
19427
+ return _context18.a(2);
19317
19428
  }
19318
- }, _marked15$1);
19429
+ }, _marked16$1);
19319
19430
  }
19320
19431
 
19321
19432
  var _marked$4 = /*#__PURE__*/_regenerator().m(getMembers),
@@ -20083,6 +20194,12 @@ var store = configureStore({
20083
20194
  });
20084
20195
  sagaMiddleware.run(rootSaga);
20085
20196
 
20197
+ var SceytReduxContext = /*#__PURE__*/React__default.createContext(null);
20198
+
20199
+ var useSelector = reactRedux.createSelectorHook(SceytReduxContext);
20200
+ var useDispatch = reactRedux.createDispatchHook(SceytReduxContext);
20201
+ var useStore = reactRedux.createStoreHook(SceytReduxContext);
20202
+
20086
20203
  var channelsSelector = function channelsSelector(store) {
20087
20204
  return store.ChannelReducer.channels;
20088
20205
  };
@@ -20257,7 +20374,7 @@ function useOnScreen(ref, rootElement) {
20257
20374
  }
20258
20375
 
20259
20376
  var useColors = function useColors() {
20260
- var themeReducer = reactRedux.useSelector(function (state) {
20377
+ var themeReducer = useSelector(function (state) {
20261
20378
  return state.ThemeReducer;
20262
20379
  });
20263
20380
  var currentThemeMode = (themeReducer === null || themeReducer === void 0 ? void 0 : themeReducer.theme) || defaultThemeMode;
@@ -20314,11 +20431,11 @@ var SceytChat = function SceytChat(_ref) {
20314
20431
  var _useColor = useColors(),
20315
20432
  backgroundColor = _useColor[THEME_COLORS.BACKGROUND],
20316
20433
  highlightedBackground = _useColor[THEME_COLORS.HIGHLIGHTED_BACKGROUND];
20317
- var dispatch = reactRedux.useDispatch();
20318
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
20319
- var draggingSelector = reactRedux.useSelector(isDraggingSelector, reactRedux.shallowEqual);
20320
- var channelsListWidth = reactRedux.useSelector(channelListWidthSelector, reactRedux.shallowEqual);
20321
- var getRolesFail = reactRedux.useSelector(getRolesFailSelector, reactRedux.shallowEqual);
20434
+ var dispatch = useDispatch();
20435
+ var contactsMap = useSelector(contactsMapSelector);
20436
+ var draggingSelector = useSelector(isDraggingSelector, reactRedux.shallowEqual);
20437
+ var channelsListWidth = useSelector(channelListWidthSelector, reactRedux.shallowEqual);
20438
+ var getRolesFail = useSelector(getRolesFailSelector, reactRedux.shallowEqual);
20322
20439
  var _useState = React.useState(null),
20323
20440
  SceytChatClient = _useState[0],
20324
20441
  setSceytChatClient = _useState[1];
@@ -20566,7 +20683,8 @@ var SceytChatContainer = function SceytChatContainer(_ref) {
20566
20683
  log.setLevel(logLevel);
20567
20684
  }, []);
20568
20685
  return /*#__PURE__*/React__default.createElement(reactRedux.Provider, {
20569
- store: store
20686
+ store: store,
20687
+ context: SceytReduxContext
20570
20688
  }, /*#__PURE__*/React__default.createElement(SceytChat, {
20571
20689
  client: client,
20572
20690
  theme: theme,
@@ -20596,8 +20714,8 @@ var themeSelector = function themeSelector(store) {
20596
20714
 
20597
20715
  var updateInterval;
20598
20716
  function useUpdatePresence(channel, isVisible) {
20599
- var dispatch = reactRedux.useDispatch();
20600
- var connectionStatus = reactRedux.useSelector(connectionStatusSelector);
20717
+ var dispatch = useDispatch();
20718
+ var connectionStatus = useSelector(connectionStatusSelector);
20601
20719
  var ChatClient = getClient();
20602
20720
  var user = ChatClient.user;
20603
20721
  var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
@@ -20895,7 +21013,7 @@ var Avatar = function Avatar(_ref) {
20895
21013
  border = _ref.border,
20896
21014
  borderRadius = _ref.borderRadius,
20897
21015
  handleAvatarClick = _ref.handleAvatarClick;
20898
- var theme = reactRedux.useSelector(themeSelector);
21016
+ var theme = useSelector(themeSelector);
20899
21017
  var _useColor = useColors(),
20900
21018
  iconInactive = _useColor[THEME_COLORS.ICON_INACTIVE];
20901
21019
  var isDeletedUserAvatar = !image && !name;
@@ -21023,7 +21141,6 @@ var ChannelMessageText = function ChannelMessageText(_ref2) {
21023
21141
  }), channel.lastReactedMessage && '"')))));
21024
21142
  };
21025
21143
  var Channel = function Channel(_ref3) {
21026
- var _channel$metadata, _channel$metadata2;
21027
21144
  var channel = _ref3.channel,
21028
21145
  theme = _ref3.theme,
21029
21146
  _ref3$showAvatar = _ref3.showAvatar,
@@ -21061,18 +21178,18 @@ var Channel = function Channel(_ref3) {
21061
21178
  iconInactive = _useColor[THEME_COLORS.ICON_INACTIVE],
21062
21179
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
21063
21180
  background = _useColor[THEME_COLORS.BACKGROUND];
21064
- var dispatch = reactRedux.useDispatch();
21181
+ var dispatch = useDispatch();
21065
21182
  var ChatClient = getClient();
21066
21183
  var getFromContacts = getShowOnlyContactUsers();
21067
21184
  var user = ChatClient.user;
21068
- var activeChannel = reactRedux.useSelector(activeChannelSelector) || {};
21069
- var channelDraftIsRemoved = reactRedux.useSelector(channelMessageDraftIsRemovedSelector);
21185
+ var activeChannel = useSelector(activeChannelSelector) || {};
21186
+ var channelDraftIsRemoved = useSelector(channelMessageDraftIsRemovedSelector);
21070
21187
  var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
21071
- var isSelfChannel = isDirectChannel && ((_channel$metadata = channel.metadata) === null || _channel$metadata === void 0 ? void 0 : _channel$metadata.s);
21188
+ var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
21072
21189
  var directChannelUser = isDirectChannel && channel.members.find(function (member) {
21073
21190
  return member.id !== user.id;
21074
21191
  });
21075
- var typingOrRecordingIndicator = reactRedux.useSelector(typingOrRecordingIndicatorArraySelector(channel.id));
21192
+ var typingOrRecordingIndicator = useSelector(typingOrRecordingIndicatorArraySelector(channel.id));
21076
21193
  var _useState = React.useState(),
21077
21194
  draftMessageText = _useState[0],
21078
21195
  setDraftMessageText = _useState[1];
@@ -21210,7 +21327,7 @@ var Channel = function Channel(_ref3) {
21210
21327
  subjectLineHeight: channelSubjectLineHeight,
21211
21328
  subjectColor: channelSubjectColor || textPrimary,
21212
21329
  avatarSize: channelAvatarSize
21213
- }, /*#__PURE__*/React__default.createElement("h3", null, channel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap && contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : (_channel$metadata2 = channel.metadata) !== null && _channel$metadata2 !== void 0 && _channel$metadata2.s ? 'Me' : '')), channel.muted && (/*#__PURE__*/React__default.createElement(MutedIcon, {
21330
+ }, /*#__PURE__*/React__default.createElement("h3", null, channel.subject || (isDirectChannel && directChannelUser ? makeUsername(contactsMap && contactsMap[directChannelUser.id], directChannelUser, getFromContacts) : isSelfChannel ? 'Me' : '')), channel.muted && (/*#__PURE__*/React__default.createElement(MutedIcon, {
21214
21331
  color: notificationsIsMutedIconColor || iconInactive
21215
21332
  }, notificationsIsMutedIcon || /*#__PURE__*/React__default.createElement(SvgUnmuteNotifications, null))), (lastMessage || typingOrRecording.items.length > 0 || draftMessageText) && (/*#__PURE__*/React__default.createElement(LastMessage, {
21216
21333
  color: textSecondary,
@@ -21785,15 +21902,15 @@ var UsersPopup = function UsersPopup(_ref) {
21785
21902
  surface1 = _useColor[THEME_COLORS.SURFACE_1],
21786
21903
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
21787
21904
  surface2 = _useColor[THEME_COLORS.SURFACE_2];
21788
- var dispatch = reactRedux.useDispatch();
21905
+ var dispatch = useDispatch();
21789
21906
  var ChatClient = getClient();
21790
21907
  var selfUser = ChatClient.user;
21791
- var contactList = reactRedux.useSelector(contactListSelector);
21792
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
21793
- var usersList = reactRedux.useSelector(usersListSelector);
21794
- var theme = reactRedux.useSelector(themeSelector);
21908
+ var contactList = useSelector(contactListSelector);
21909
+ var contactsMap = useSelector(contactsMapSelector);
21910
+ var usersList = useSelector(usersListSelector);
21911
+ var theme = useSelector(themeSelector);
21795
21912
  var getFromContacts = getShowOnlyContactUsers();
21796
- var usersLoadingState = reactRedux.useSelector(usersLoadingStateSelector);
21913
+ var usersLoadingState = useSelector(usersLoadingStateSelector);
21797
21914
  var selectedMembersCont = React.useRef('');
21798
21915
  var _useState = React.useState(''),
21799
21916
  userSearchValue = _useState[0],
@@ -22353,11 +22470,11 @@ function CreateChannel(_ref) {
22353
22470
  warningColor = _useColor[THEME_COLORS.WARNING],
22354
22471
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
22355
22472
  background = _useColor[THEME_COLORS.BACKGROUND];
22356
- var dispatch = reactRedux.useDispatch();
22473
+ var dispatch = useDispatch();
22357
22474
  var uriRegexp = /^[A-Za-z0-9]*$/;
22358
22475
  var fileUploader = React.useRef(null);
22359
22476
  var uriPrefixRef = React.useRef(null);
22360
- var theme = reactRedux.useSelector(themeSelector);
22477
+ var theme = useSelector(themeSelector);
22361
22478
  var _useState = React.useState(false),
22362
22479
  usersPopupVisible = _useState[0],
22363
22480
  setUsersPopupVisible = _useState[1];
@@ -23031,7 +23148,7 @@ var EditProfile = function EditProfile(_ref) {
23031
23148
  textSecondary = _useColor[THEME_COLORS.TEXT_SECONDARY],
23032
23149
  background = _useColor[THEME_COLORS.BACKGROUND],
23033
23150
  surface1 = _useColor[THEME_COLORS.SURFACE_1];
23034
- var dispatch = reactRedux.useDispatch();
23151
+ var dispatch = useDispatch();
23035
23152
  var _useState = React.useState(user.firstName),
23036
23153
  firstName = _useState[0],
23037
23154
  setFirstName = _useState[1];
@@ -23122,7 +23239,7 @@ var ProfileSettings = function ProfileSettings(_ref) {
23122
23239
  var _useState2 = React.useState(''),
23123
23240
  activeSettingPage = _useState2[0],
23124
23241
  setActiveSettingPage = _useState2[1];
23125
- var user = reactRedux.useSelector(userSelector);
23242
+ var user = useSelector(userSelector);
23126
23243
  var handleOpenEditProfile = function handleOpenEditProfile() {
23127
23244
  setActiveSettingPage(editProfileIsOpen ? '' : settingsPages.profile);
23128
23245
  setEditProfileIsOpen(!editProfileIsOpen);
@@ -23260,27 +23377,27 @@ var ChannelList = function ChannelList(_ref) {
23260
23377
  textFootnote = _useColor[THEME_COLORS.TEXT_FOOTNOTE],
23261
23378
  borderColor = _useColor[THEME_COLORS.BORDER],
23262
23379
  surface2 = _useColor[THEME_COLORS.SURFACE_2];
23263
- var dispatch = reactRedux.useDispatch();
23380
+ var dispatch = useDispatch();
23264
23381
  var getFromContacts = getShowOnlyContactUsers();
23265
- var theme = reactRedux.useSelector(themeSelector);
23382
+ var theme = useSelector(themeSelector);
23266
23383
  var channelListRef = React.useRef(null);
23267
23384
  var channelsScrollRef = React.useRef(null);
23268
23385
  var _useState = React.useState(''),
23269
23386
  searchValue = _useState[0],
23270
23387
  setSearchValue = _useState[1];
23271
- var connectionStatus = reactRedux.useSelector(connectionStatusSelector);
23272
- var channels = reactRedux.useSelector(channelsSelector, reactRedux.shallowEqual) || [];
23273
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
23274
- var addedChannel = reactRedux.useSelector(addedChannelSelector);
23275
- var closeSearchChannels = reactRedux.useSelector(closeSearchChannelSelector);
23276
- var addedToChannel = reactRedux.useSelector(addedToChannelSelector);
23277
- var deletedChannel = reactRedux.useSelector(deletedChannelSelector);
23278
- var hiddenChannel = reactRedux.useSelector(hiddenChannelSelector);
23279
- var visibleChannel = reactRedux.useSelector(visibleChannelSelector);
23280
- var channelsHasNext = reactRedux.useSelector(channelsHasNextSelector) || false;
23281
- var searchedChannels = reactRedux.useSelector(searchedChannelsSelector) || [];
23282
- var channelsLoading = reactRedux.useSelector(channelsLoadingState) || {};
23283
- var activeChannel = reactRedux.useSelector(activeChannelSelector) || {};
23388
+ var connectionStatus = useSelector(connectionStatusSelector);
23389
+ var channels = useSelector(channelsSelector, reactRedux.shallowEqual) || [];
23390
+ var contactsMap = useSelector(contactsMapSelector);
23391
+ var addedChannel = useSelector(addedChannelSelector);
23392
+ var closeSearchChannels = useSelector(closeSearchChannelSelector);
23393
+ var addedToChannel = useSelector(addedToChannelSelector);
23394
+ var deletedChannel = useSelector(deletedChannelSelector);
23395
+ var hiddenChannel = useSelector(hiddenChannelSelector);
23396
+ var visibleChannel = useSelector(visibleChannelSelector);
23397
+ var channelsHasNext = useSelector(channelsHasNextSelector) || false;
23398
+ var searchedChannels = useSelector(searchedChannelsSelector) || [];
23399
+ var channelsLoading = useSelector(channelsLoadingState) || {};
23400
+ var activeChannel = useSelector(activeChannelSelector) || {};
23284
23401
  var _useState2 = React.useState(false),
23285
23402
  listWidthIsSet = _useState2[0],
23286
23403
  setListWidthIsSet = _useState2[1];
@@ -23863,12 +23980,12 @@ function Chat(_ref) {
23863
23980
  background = _useColor[THEME_COLORS.BACKGROUND],
23864
23981
  textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
23865
23982
  textSecondary = _useColor[THEME_COLORS.TEXT_SECONDARY];
23866
- var dispatch = reactRedux.useDispatch();
23867
- var channelListWidth = reactRedux.useSelector(channelListWidthSelector, reactRedux.shallowEqual);
23868
- var channelDetailsIsOpen = reactRedux.useSelector(channelInfoIsOpenSelector, reactRedux.shallowEqual);
23869
- var addedChannel = reactRedux.useSelector(addedToChannelSelector);
23870
- var channelCreated = reactRedux.useSelector(addedChannelSelector);
23871
- var activeChannel = reactRedux.useSelector(activeChannelSelector);
23983
+ var dispatch = useDispatch();
23984
+ var channelListWidth = useSelector(channelListWidthSelector, reactRedux.shallowEqual);
23985
+ var channelDetailsIsOpen = useSelector(channelInfoIsOpenSelector, reactRedux.shallowEqual);
23986
+ var addedChannel = useSelector(addedToChannelSelector);
23987
+ var channelCreated = useSelector(addedChannelSelector);
23988
+ var activeChannel = useSelector(activeChannelSelector);
23872
23989
  var autoSelectChannel = getAutoSelectFitsChannel();
23873
23990
  var _useState = React.useState(0),
23874
23991
  channelDetailsWidth = _useState[0],
@@ -23978,7 +24095,6 @@ function SvgInfo(props) {
23978
24095
 
23979
24096
  var _templateObject$i, _templateObject2$g, _templateObject3$c, _templateObject4$a, _templateObject5$8, _templateObject6$6, _templateObject7$5, _templateObject8$5, _templateObject9$5, _templateObject0$4;
23980
24097
  function ChatHeader(_ref) {
23981
- var _activeChannel$metada;
23982
24098
  var infoIcon = _ref.infoIcon,
23983
24099
  backgroundColor = _ref.backgroundColor,
23984
24100
  titleColor = _ref.titleColor,
@@ -24007,21 +24123,21 @@ function ChatHeader(_ref) {
24007
24123
  iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
24008
24124
  border = _useColor[THEME_COLORS.BORDER],
24009
24125
  backgroundHovered = _useColor[THEME_COLORS.BACKGROUND_HOVERED];
24010
- var dispatch = reactRedux.useDispatch();
24126
+ var dispatch = useDispatch();
24011
24127
  var ChatClient = getClient();
24012
24128
  var user = ChatClient.user;
24013
24129
  var getFromContacts = getShowOnlyContactUsers();
24014
- var activeChannel = reactRedux.useSelector(activeChannelSelector);
24015
- var theme = reactRedux.useSelector(themeSelector);
24130
+ var activeChannel = useSelector(activeChannelSelector);
24131
+ var theme = useSelector(themeSelector);
24016
24132
  var showChannelDetails = getShowChannelDetails();
24017
- var channelListHidden = reactRedux.useSelector(channelListHiddenSelector);
24018
- var channelDetailsIsOpen = reactRedux.useSelector(channelInfoIsOpenSelector, reactRedux.shallowEqual);
24133
+ var channelListHidden = useSelector(channelListHiddenSelector);
24134
+ var channelDetailsIsOpen = useSelector(channelInfoIsOpenSelector, reactRedux.shallowEqual);
24019
24135
  var isDirectChannel = activeChannel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
24020
- var isSelfChannel = isDirectChannel && ((_activeChannel$metada = activeChannel.metadata) === null || _activeChannel$metada === void 0 ? void 0 : _activeChannel$metada.s);
24136
+ var isSelfChannel = isDirectChannel && activeChannel.memberCount === 1 && activeChannel.members.length > 0 && activeChannel.members[0].id === user.id;
24021
24137
  var directChannelUser = isDirectChannel && activeChannel.members.find(function (member) {
24022
24138
  return member.id !== user.id;
24023
24139
  });
24024
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
24140
+ var contactsMap = useSelector(contactsMapSelector);
24025
24141
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
24026
24142
  var displayMemberText = memberDisplayText && memberDisplayText[activeChannel.type] ? activeChannel.memberCount > 1 ? memberDisplayText[activeChannel.type] + "s" : memberDisplayText[activeChannel.type] : activeChannel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || activeChannel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? activeChannel.memberCount > 1 ? 'subscribers' : 'subscriber' : activeChannel.memberCount > 1 ? 'members' : 'member';
24027
24143
  var channelDetailsOnOpen = function channelDetailsOnOpen() {
@@ -24862,13 +24978,13 @@ function ForwardMessagePopup(_ref) {
24862
24978
  surface2 = _useColor[THEME_COLORS.SURFACE_2];
24863
24979
  var ChatClient = getClient();
24864
24980
  var user = ChatClient.user;
24865
- var dispatch = reactRedux.useDispatch();
24866
- var channels = reactRedux.useSelector(channelsForForwardSelector) || [];
24867
- var searchedChannels = reactRedux.useSelector(searchedChannelsForForwardSelector) || [];
24868
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
24981
+ var dispatch = useDispatch();
24982
+ var channels = useSelector(channelsForForwardSelector) || [];
24983
+ var searchedChannels = useSelector(searchedChannelsForForwardSelector) || [];
24984
+ var contactsMap = useSelector(contactsMapSelector);
24869
24985
  var getFromContacts = getShowOnlyContactUsers();
24870
- var channelsLoading = reactRedux.useSelector(channelsLoadingStateForForwardSelector);
24871
- var channelsHasNext = reactRedux.useSelector(channelsForForwardHasNextSelector);
24986
+ var channelsLoading = useSelector(channelsLoadingStateForForwardSelector);
24987
+ var channelsHasNext = useSelector(channelsForForwardHasNextSelector);
24872
24988
  var _useState = React.useState(''),
24873
24989
  searchValue = _useState[0],
24874
24990
  setSearchValue = _useState[1];
@@ -24903,10 +25019,9 @@ function ForwardMessagePopup(_ref) {
24903
25019
  setSearchValue('');
24904
25020
  };
24905
25021
  var handleChannelSelect = function handleChannelSelect(isSelected, channel) {
24906
- var _channel$metadata;
24907
25022
  var newSelectedChannels = [].concat(selectedChannels);
24908
25023
  var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
24909
- var isSelfChannel = isDirectChannel && ((_channel$metadata = channel.metadata) === null || _channel$metadata === void 0 ? void 0 : _channel$metadata.s);
25024
+ var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
24910
25025
  var directChannelUser = isDirectChannel && channel.members.find(function (member) {
24911
25026
  return member.id !== user.id;
24912
25027
  });
@@ -25019,12 +25134,11 @@ function ForwardMessagePopup(_ref) {
25019
25134
  color: textSecondary,
25020
25135
  margin: '0 0 12px'
25021
25136
  }, "Chats & Groups"), searchedChannels.chats_groups.map(function (channel) {
25022
- var _channel$metadata2;
25023
25137
  var isSelected = selectedChannels.findIndex(function (chan) {
25024
25138
  return chan.id === channel.id;
25025
25139
  }) >= 0;
25026
25140
  var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
25027
- var isSelfChannel = isDirectChannel && ((_channel$metadata2 = channel.metadata) === null || _channel$metadata2 === void 0 ? void 0 : _channel$metadata2.s);
25141
+ var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
25028
25142
  var directChannelUser = isDirectChannel && isSelfChannel ? user : channel.members.find(function (member) {
25029
25143
  return member.id !== user.id;
25030
25144
  });
@@ -25095,9 +25209,8 @@ function ForwardMessagePopup(_ref) {
25095
25209
  }))), !searchedChannels.chats_groups.length && !searchedChannels.channels.length && (/*#__PURE__*/React__default.createElement(NoResults, {
25096
25210
  color: textSecondary
25097
25211
  }, "No channels found")))) : channels.map(function (channel) {
25098
- var _channel$metadata3;
25099
25212
  var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
25100
- var isSelfChannel = isDirectChannel && ((_channel$metadata3 = channel.metadata) === null || _channel$metadata3 === void 0 ? void 0 : _channel$metadata3.s);
25213
+ var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
25101
25214
  var directChannelUser = isDirectChannel && isSelfChannel ? user : channel.members.find(function (member) {
25102
25215
  return member.id !== user.id;
25103
25216
  });
@@ -25225,7 +25338,7 @@ var CustomLabel$1 = styled__default.label(_templateObject$m || (_templateObject$
25225
25338
  var Radio = styled__default.input(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteralLoose(["\n display: none;\n"])));
25226
25339
 
25227
25340
  function usePermissions(myRole) {
25228
- var rolesMap = reactRedux.useSelector(rolesMapSelector, reactRedux.shallowEqual);
25341
+ var rolesMap = useSelector(rolesMapSelector, reactRedux.shallowEqual);
25229
25342
  var myPermissions = myRole && rolesMap && rolesMap[myRole] ? rolesMap[myRole].permissions : [];
25230
25343
  var checkActionPermission = function checkActionPermission(actionName) {
25231
25344
  return myPermissions.includes(actionName);
@@ -25366,9 +25479,9 @@ var SliderPopup = function SliderPopup(_ref) {
25366
25479
  var _useColor = useColors(),
25367
25480
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
25368
25481
  overlayBackground2 = _useColor[THEME_COLORS.OVERLAY_BACKGROUND_2];
25369
- var dispatch = reactRedux.useDispatch();
25482
+ var dispatch = useDispatch();
25370
25483
  var getFromContacts = getShowOnlyContactUsers();
25371
- var connectionStatus = reactRedux.useSelector(connectionStatusSelector);
25484
+ var connectionStatus = useSelector(connectionStatusSelector);
25372
25485
  var ChatClient = getClient();
25373
25486
  var user = ChatClient.user;
25374
25487
  var _useState = React.useState(_extends({}, currentMediaFile)),
@@ -25405,8 +25518,8 @@ var SliderPopup = function SliderPopup(_ref) {
25405
25518
  messageToDelete = _useState1[0],
25406
25519
  setMessageToDelete = _useState1[1];
25407
25520
  var customDownloader = getCustomDownloader();
25408
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
25409
- var attachments = reactRedux.useSelector(attachmentsForPopupSelector, reactRedux.shallowEqual) || [];
25521
+ var contactsMap = useSelector(contactsMapSelector);
25522
+ var attachments = useSelector(attachmentsForPopupSelector, reactRedux.shallowEqual) || [];
25410
25523
  var visibilityTimeout = React.useRef();
25411
25524
  var carouselRef = React.useRef(null);
25412
25525
  var attachmentUserName = currentFile ? currentFile.user && makeUsername(contactsMap[currentFile.user.id], currentFile.user, getFromContacts && user.id !== currentFile.user.id) : '';
@@ -25938,7 +26051,7 @@ var Message = function Message(_ref) {
25938
26051
  var _useColor = useColors(),
25939
26052
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
25940
26053
  overlayBackground = _useColor[THEME_COLORS.OVERLAY_BACKGROUND];
25941
- var dispatch = reactRedux.useDispatch();
26054
+ var dispatch = useDispatch();
25942
26055
  var ChatClient = getClient();
25943
26056
  var user = ChatClient.user;
25944
26057
  var getFromContacts = getShowOnlyContactUsers();
@@ -26080,11 +26193,11 @@ function ReactionsPopup(_ref) {
26080
26193
  backgroundHovered = _useColor[THEME_COLORS.BACKGROUND_HOVERED];
26081
26194
  var popupRef = React.useRef(null);
26082
26195
  var scoresRef = React.useRef(null);
26083
- var reactions = reactRedux.useSelector(reactionsListSelector, reactRedux.shallowEqual);
26084
- var messageInputHeight = reactRedux.useSelector(sendMessageInputHeightSelector, reactRedux.shallowEqual);
26085
- var reactionsHasNext = reactRedux.useSelector(reactionsHasNextSelector, reactRedux.shallowEqual);
26086
- var reactionsLoadingState = reactRedux.useSelector(reactionsLoadingStateSelector, reactRedux.shallowEqual);
26087
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
26196
+ var reactions = useSelector(reactionsListSelector, reactRedux.shallowEqual);
26197
+ var messageInputHeight = useSelector(sendMessageInputHeightSelector, reactRedux.shallowEqual);
26198
+ var reactionsHasNext = useSelector(reactionsHasNextSelector, reactRedux.shallowEqual);
26199
+ var reactionsLoadingState = useSelector(reactionsLoadingStateSelector, reactRedux.shallowEqual);
26200
+ var contactsMap = useSelector(contactsMapSelector);
26088
26201
  var getFromContacts = getShowOnlyContactUsers();
26089
26202
  var _useState = React.useState('all'),
26090
26203
  activeTabKey = _useState[0],
@@ -26111,7 +26224,7 @@ function ReactionsPopup(_ref) {
26111
26224
  });
26112
26225
  }
26113
26226
  var user = getClient().user;
26114
- var dispatch = reactRedux.useDispatch();
26227
+ var dispatch = useDispatch();
26115
26228
  var _useState7 = React.useState(false),
26116
26229
  isScrolling = _useState7[0],
26117
26230
  setIsScrolling = _useState7[1];
@@ -27025,7 +27138,7 @@ var VideoPreview = /*#__PURE__*/React.memo(function VideoPreview(_ref) {
27025
27138
  preload: 'auto',
27026
27139
  id: 'video',
27027
27140
  src: file.attachmentUrl || videoUrl
27028
- }), videoCurrentTime && (/*#__PURE__*/React__default.createElement(VideoControls, null, !isPreview && !!videoCurrentTime && !isRepliedMessage && !uploading && !isDetailsView && (
27141
+ }), videoCurrentTime && !isRepliedMessage && (/*#__PURE__*/React__default.createElement(VideoControls, null, !isPreview && !!videoCurrentTime && !isRepliedMessage && !uploading && !isDetailsView && (
27029
27142
  /*#__PURE__*/
27030
27143
  React__default.createElement(VideoPlayButton, null, /*#__PURE__*/React__default.createElement(SvgPlayVideo, null))), /*#__PURE__*/React__default.createElement(VideoTime, {
27031
27144
  isDetailsView: isDetailsView,
@@ -29035,8 +29148,8 @@ var AudioPlayer = function AudioPlayer(_ref) {
29035
29148
  accentColor = _useColor[THEME_COLORS.ACCENT],
29036
29149
  textSecondary = _useColor[THEME_COLORS.TEXT_SECONDARY],
29037
29150
  backgroundSections = _useColor[THEME_COLORS.BACKGROUND_SECTIONS];
29038
- var dispatch = reactRedux.useDispatch();
29039
- var playingAudioId = reactRedux.useSelector(playingAudioIdSelector);
29151
+ var dispatch = useDispatch();
29152
+ var playingAudioId = useSelector(playingAudioIdSelector);
29040
29153
  var _useState = React.useState(recordingInitialState),
29041
29154
  recording = _useState[0],
29042
29155
  setRecording = _useState[1];
@@ -29277,11 +29390,11 @@ var Attachment = function Attachment(_ref) {
29277
29390
  iconInactive = _useColor[THEME_COLORS.ICON_INACTIVE],
29278
29391
  borderColor = _useColor[THEME_COLORS.BORDER],
29279
29392
  background = _useColor[THEME_COLORS.BACKGROUND];
29280
- var dispatch = reactRedux.useDispatch();
29281
- var attachmentCompilationState = reactRedux.useSelector(attachmentCompilationStateSelector) || {};
29282
- var attachmentsUploadProgress = reactRedux.useSelector(attachmentsUploadProgressSelector) || {};
29283
- var connectionStatus = reactRedux.useSelector(connectionStatusSelector);
29284
- var theme = reactRedux.useSelector(themeSelector);
29393
+ var dispatch = useDispatch();
29394
+ var attachmentCompilationState = useSelector(attachmentCompilationStateSelector) || {};
29395
+ var attachmentsUploadProgress = useSelector(attachmentsUploadProgressSelector) || {};
29396
+ var connectionStatus = useSelector(connectionStatusSelector);
29397
+ var theme = useSelector(themeSelector);
29285
29398
  var imageContRef = React.useRef(null);
29286
29399
  var _useState = React.useState(!attachment.attachmentUrl),
29287
29400
  imageLoading = _useState[0],
@@ -31078,6 +31191,12 @@ var OGMetadata = function OGMetadata(_ref) {
31078
31191
  var _useState = React.useState(null),
31079
31192
  metadata = _useState[0],
31080
31193
  setMetadata = _useState[1];
31194
+ var _useState2 = React.useState(true),
31195
+ imageLoadError = _useState2[0],
31196
+ setImageLoadError = _useState2[1];
31197
+ var _useState3 = React.useState(true),
31198
+ faviconLoadError = _useState3[0],
31199
+ setFaviconLoadError = _useState3[1];
31081
31200
  var attachment = React.useMemo(function () {
31082
31201
  return attachments.find(function (attachment) {
31083
31202
  return attachment.type === attachmentTypes.link;
@@ -31099,6 +31218,7 @@ var OGMetadata = function OGMetadata(_ref) {
31099
31218
  });
31100
31219
  }, function () {
31101
31220
  console.log('Failed to fetch OG metadata');
31221
+ setMetadata(null);
31102
31222
  });
31103
31223
  if (_temp && _temp.then) return _temp.then(function () {});
31104
31224
  }
@@ -31150,13 +31270,25 @@ var OGMetadata = function OGMetadata(_ref) {
31150
31270
  window.open(attachment === null || attachment === void 0 ? void 0 : attachment.url, '_blank');
31151
31271
  }
31152
31272
  }, /*#__PURE__*/React__default.createElement(ImageContainer, {
31153
- showOGMetadata: !!showOGMetadata
31154
- }, metadata !== null && metadata !== void 0 && (_metadata$og4 = metadata.og) !== null && _metadata$og4 !== void 0 && (_metadata$og4$image = _metadata$og4.image) !== null && _metadata$og4$image !== void 0 && (_metadata$og4$image$ = _metadata$og4$image[0]) !== null && _metadata$og4$image$ !== void 0 && _metadata$og4$image$.url ? /*#__PURE__*/React__default.createElement(Img, {
31273
+ showOGMetadata: !!showOGMetadata && !imageLoadError
31274
+ }, metadata !== null && metadata !== void 0 && (_metadata$og4 = metadata.og) !== null && _metadata$og4 !== void 0 && (_metadata$og4$image = _metadata$og4.image) !== null && _metadata$og4$image !== void 0 && (_metadata$og4$image$ = _metadata$og4$image[0]) !== null && _metadata$og4$image$ !== void 0 && _metadata$og4$image$.url ? (/*#__PURE__*/React__default.createElement(Img, {
31155
31275
  src: metadata === null || metadata === void 0 ? void 0 : (_metadata$og5 = metadata.og) === null || _metadata$og5 === void 0 ? void 0 : (_metadata$og5$image = _metadata$og5.image) === null || _metadata$og5$image === void 0 ? void 0 : (_metadata$og5$image$ = _metadata$og5$image[0]) === null || _metadata$og5$image$ === void 0 ? void 0 : _metadata$og5$image$.url,
31156
- alt: 'OG metadata image'
31157
- }) : null), showOGMetadata ? (/*#__PURE__*/React__default.createElement(OGText, null, /*#__PURE__*/React__default.createElement(Url, null, ogUrl), metadata !== null && metadata !== void 0 && (_metadata$og6 = metadata.og) !== null && _metadata$og6 !== void 0 && _metadata$og6.title ? (/*#__PURE__*/React__default.createElement(Title, null, metadata !== null && metadata !== void 0 && (_metadata$og7 = metadata.og) !== null && _metadata$og7 !== void 0 && (_metadata$og7$favicon = _metadata$og7.favicon) !== null && _metadata$og7$favicon !== void 0 && _metadata$og7$favicon.url ? /*#__PURE__*/React__default.createElement(Favicon, {
31158
- src: metadata === null || metadata === void 0 ? void 0 : (_metadata$og8 = metadata.og) === null || _metadata$og8 === void 0 ? void 0 : (_metadata$og8$favicon = _metadata$og8.favicon) === null || _metadata$og8$favicon === void 0 ? void 0 : _metadata$og8$favicon.url
31159
- }) : null, /*#__PURE__*/React__default.createElement("span", null, metadata === null || metadata === void 0 ? void 0 : (_metadata$og9 = metadata.og) === null || _metadata$og9 === void 0 ? void 0 : _metadata$og9.title))) : null, metadata !== null && metadata !== void 0 && (_metadata$og0 = metadata.og) !== null && _metadata$og0 !== void 0 && _metadata$og0.description ? /*#__PURE__*/React__default.createElement(Desc, null, metadata === null || metadata === void 0 ? void 0 : (_metadata$og1 = metadata.og) === null || _metadata$og1 === void 0 ? void 0 : _metadata$og1.description) : null)) : null));
31276
+ alt: 'OG metadata image',
31277
+ onLoad: function onLoad() {
31278
+ return setImageLoadError(false);
31279
+ },
31280
+ onError: function onError() {
31281
+ return setImageLoadError(true);
31282
+ }
31283
+ })) : null), showOGMetadata ? (/*#__PURE__*/React__default.createElement(OGText, null, /*#__PURE__*/React__default.createElement(Url, null, ogUrl), metadata !== null && metadata !== void 0 && (_metadata$og6 = metadata.og) !== null && _metadata$og6 !== void 0 && _metadata$og6.title ? (/*#__PURE__*/React__default.createElement(Title, null, metadata !== null && metadata !== void 0 && (_metadata$og7 = metadata.og) !== null && _metadata$og7 !== void 0 && (_metadata$og7$favicon = _metadata$og7.favicon) !== null && _metadata$og7$favicon !== void 0 && _metadata$og7$favicon.url && !faviconLoadError ? (/*#__PURE__*/React__default.createElement(Favicon, {
31284
+ src: metadata === null || metadata === void 0 ? void 0 : (_metadata$og8 = metadata.og) === null || _metadata$og8 === void 0 ? void 0 : (_metadata$og8$favicon = _metadata$og8.favicon) === null || _metadata$og8$favicon === void 0 ? void 0 : _metadata$og8$favicon.url,
31285
+ onLoad: function onLoad() {
31286
+ return setFaviconLoadError(false);
31287
+ },
31288
+ onError: function onError() {
31289
+ return setFaviconLoadError(true);
31290
+ }
31291
+ })) : null, /*#__PURE__*/React__default.createElement("span", null, metadata === null || metadata === void 0 ? void 0 : (_metadata$og9 = metadata.og) === null || _metadata$og9 === void 0 ? void 0 : _metadata$og9.title))) : null, metadata !== null && metadata !== void 0 && (_metadata$og0 = metadata.og) !== null && _metadata$og0 !== void 0 && _metadata$og0.description ? /*#__PURE__*/React__default.createElement(Desc, null, metadata === null || metadata === void 0 ? void 0 : (_metadata$og1 = metadata.og) === null || _metadata$og1 === void 0 ? void 0 : _metadata$og1.description) : null)) : null));
31160
31292
  };
31161
31293
  var OGMetadataContainer = styled__default.div(_templateObject$A || (_templateObject$A = _taggedTemplateLiteralLoose(["\n min-width: inherit;\n max-width: inherit;\n display: grid;\n grid-template-columns: 1fr;\n background-color: rgba(0, 0, 0, 0.034);\n border-radius: 6px;\n margin-bottom: 0.4rem;\n margin: 0 auto;\n margin-bottom: ", ";\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n cursor: pointer;\n }\n"])), function (_ref2) {
31162
31294
  var showOGMetadata = _ref2.showOGMetadata;
@@ -31850,7 +31982,7 @@ var Message$1 = function Message(_ref) {
31850
31982
  border = _useColor[THEME_COLORS.BORDER];
31851
31983
  var bubbleOutgoing = outgoingMessageBackground;
31852
31984
  var bubbleIncoming = incomingMessageBackground;
31853
- var dispatch = reactRedux.useDispatch();
31985
+ var dispatch = useDispatch();
31854
31986
  var _useState = React.useState(false),
31855
31987
  deletePopupOpen = _useState[0],
31856
31988
  setDeletePopupOpen = _useState[1];
@@ -31884,7 +32016,7 @@ var Message$1 = function Message(_ref) {
31884
32016
  }),
31885
32017
  reactionsPopupHorizontalPosition = _useState0[0],
31886
32018
  setReactionsPopupHorizontalPosition = _useState0[1];
31887
- var scrollToNewMessage = reactRedux.useSelector(scrollToNewMessageSelector, reactRedux.shallowEqual);
32019
+ var scrollToNewMessage = useSelector(scrollToNewMessageSelector, reactRedux.shallowEqual);
31888
32020
  var messageItemRef = React.useRef();
31889
32021
  var isVisible = useOnScreen(messageItemRef);
31890
32022
  var reactionsCount = message.reactionTotals && message.reactionTotals.reduce(function (prevValue, currentValue) {
@@ -32059,6 +32191,7 @@ var Message$1 = function Message(_ref) {
32059
32191
  };
32060
32192
  React.useEffect(function () {
32061
32193
  if (isVisible) {
32194
+ var _channel$lastMessage;
32062
32195
  if (setLastVisibleMessageId) {
32063
32196
  setLastVisibleMessageId(message.id);
32064
32197
  }
@@ -32066,7 +32199,7 @@ var Message$1 = function Message(_ref) {
32066
32199
  if (!channel.isLinkedChannel) {
32067
32200
  setMessageToVisibleMessagesMap(message);
32068
32201
  }
32069
- if (scrollToNewMessage.scrollToBottom && (message.id === channel.lastMessage.id || !message.id)) {
32202
+ if (scrollToNewMessage.scrollToBottom && ((message === null || message === void 0 ? void 0 : message.id) === ((_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id) || !(message !== null && message !== void 0 && message.id))) {
32070
32203
  dispatch(scrollToNewMessageAC(false, false, false));
32071
32204
  dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
32072
32205
  }
@@ -32403,7 +32536,7 @@ var Message$1 = function Message(_ref) {
32403
32536
  })));
32404
32537
  };
32405
32538
  var Message$2 = /*#__PURE__*/React__default.memo(Message$1, function (prevProps, nextProps) {
32406
- return prevProps.message.deliveryStatus === nextProps.message.deliveryStatus && prevProps.message.state === nextProps.message.state && prevProps.message.userReactions === nextProps.message.userReactions && prevProps.message.body === nextProps.message.body && prevProps.message.reactionTotals === nextProps.message.reactionTotals && prevProps.message.attachments === nextProps.message.attachments && prevProps.message.userMarkers === nextProps.message.userMarkers && prevProps.prevMessage === nextProps.prevMessage && prevProps.nextMessage === nextProps.nextMessage && prevProps.selectedMessagesMap === nextProps.selectedMessagesMap && prevProps.contactsMap === nextProps.contactsMap && prevProps.connectionStatus === nextProps.connectionStatus && prevProps.openedMessageMenuId === nextProps.openedMessageMenuId && prevProps.theme === nextProps.theme;
32539
+ return prevProps.message.deliveryStatus === nextProps.message.deliveryStatus && prevProps.message.state === nextProps.message.state && prevProps.message.userReactions === nextProps.message.userReactions && prevProps.message.body === nextProps.message.body && prevProps.message.reactionTotals === nextProps.message.reactionTotals && prevProps.message.attachments === nextProps.message.attachments && prevProps.message.metadata === nextProps.message.metadata && prevProps.message.userMarkers === nextProps.message.userMarkers && prevProps.prevMessage === nextProps.prevMessage && prevProps.nextMessage === nextProps.nextMessage && prevProps.selectedMessagesMap === nextProps.selectedMessagesMap && prevProps.contactsMap === nextProps.contactsMap && prevProps.connectionStatus === nextProps.connectionStatus && prevProps.openedMessageMenuId === nextProps.openedMessageMenuId && prevProps.theme === nextProps.theme;
32407
32540
  });
32408
32541
  var MessageReactionKey = styled__default.span(_templateObject$C || (_templateObject$C = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n font-family:\n apple color emoji,\n segoe ui emoji,\n noto color emoji,\n android emoji,\n emojisymbols,\n emojione mozilla,\n twemoji mozilla,\n segoe ui symbol;\n"])));
32409
32542
  var ReactionItemCount = styled__default.span(_templateObject2$x || (_templateObject2$x = _taggedTemplateLiteralLoose(["\n margin-left: 2px;\n font-family: Inter, sans-serif;\n font-weight: 400;\n font-size: 14px;\n line-height: 16px;\n color: ", ";\n"])), function (props) {
@@ -32718,25 +32851,25 @@ var MessageList = function MessageList(_ref2) {
32718
32851
  incomingMessageBackgroundX = _useColor[THEME_COLORS.INCOMING_MESSAGE_BACKGROUND_X];
32719
32852
  var ChatClient = getClient();
32720
32853
  var user = ChatClient.user;
32721
- var dispatch = reactRedux.useDispatch();
32722
- var theme = reactRedux.useSelector(themeSelector);
32723
- var channel = reactRedux.useSelector(activeChannelSelector);
32724
- var contactsMap = reactRedux.useSelector(contactsMapSelector, reactRedux.shallowEqual);
32725
- var connectionStatus = reactRedux.useSelector(connectionStatusSelector, reactRedux.shallowEqual);
32726
- var openedMessageMenuId = reactRedux.useSelector(openedMessageMenuSelector, reactRedux.shallowEqual);
32727
- var tabIsActive = reactRedux.useSelector(tabIsActiveSelector, reactRedux.shallowEqual);
32728
- var selectedMessagesMap = reactRedux.useSelector(selectedMessagesMapSelector);
32729
- var scrollToNewMessage = reactRedux.useSelector(scrollToNewMessageSelector, reactRedux.shallowEqual);
32730
- var scrollToMentionedMessage = reactRedux.useSelector(scrollToMentionedMessageSelector, reactRedux.shallowEqual);
32731
- var scrollToRepliedMessage = reactRedux.useSelector(scrollToMessageSelector, reactRedux.shallowEqual);
32732
- var scrollToMessageHighlight = reactRedux.useSelector(scrollToMessageHighlightSelector, reactRedux.shallowEqual);
32733
- var browserTabIsActive = reactRedux.useSelector(browserTabIsActiveSelector, reactRedux.shallowEqual);
32734
- var hasNextMessages = reactRedux.useSelector(messagesHasNextSelector, reactRedux.shallowEqual);
32735
- var hasPrevMessages = reactRedux.useSelector(messagesHasPrevSelector, reactRedux.shallowEqual);
32736
- var messagesLoading = reactRedux.useSelector(messagesLoadingState);
32737
- var draggingSelector = reactRedux.useSelector(isDraggingSelector, reactRedux.shallowEqual);
32738
- var showScrollToNewMessageButton = reactRedux.useSelector(showScrollToNewMessageButtonSelector, reactRedux.shallowEqual);
32739
- var messages = reactRedux.useSelector(activeChannelMessagesSelector, reactRedux.shallowEqual) || [];
32854
+ var dispatch = useDispatch();
32855
+ var theme = useSelector(themeSelector);
32856
+ var channel = useSelector(activeChannelSelector);
32857
+ var contactsMap = useSelector(contactsMapSelector, reactRedux.shallowEqual);
32858
+ var connectionStatus = useSelector(connectionStatusSelector, reactRedux.shallowEqual);
32859
+ var openedMessageMenuId = useSelector(openedMessageMenuSelector, reactRedux.shallowEqual);
32860
+ var tabIsActive = useSelector(tabIsActiveSelector, reactRedux.shallowEqual);
32861
+ var selectedMessagesMap = useSelector(selectedMessagesMapSelector);
32862
+ var scrollToNewMessage = useSelector(scrollToNewMessageSelector, reactRedux.shallowEqual);
32863
+ var scrollToMentionedMessage = useSelector(scrollToMentionedMessageSelector, reactRedux.shallowEqual);
32864
+ var scrollToRepliedMessage = useSelector(scrollToMessageSelector, reactRedux.shallowEqual);
32865
+ var scrollToMessageHighlight = useSelector(scrollToMessageHighlightSelector, reactRedux.shallowEqual);
32866
+ var browserTabIsActive = useSelector(browserTabIsActiveSelector, reactRedux.shallowEqual);
32867
+ var hasNextMessages = useSelector(messagesHasNextSelector, reactRedux.shallowEqual);
32868
+ var hasPrevMessages = useSelector(messagesHasPrevSelector, reactRedux.shallowEqual);
32869
+ var messagesLoading = useSelector(messagesLoadingState);
32870
+ var draggingSelector = useSelector(isDraggingSelector, reactRedux.shallowEqual);
32871
+ var showScrollToNewMessageButton = useSelector(showScrollToNewMessageButtonSelector, reactRedux.shallowEqual);
32872
+ var messages = useSelector(activeChannelMessagesSelector, reactRedux.shallowEqual) || [];
32740
32873
  var _useState = React.useState(''),
32741
32874
  unreadMessageId = _useState[0],
32742
32875
  setUnreadMessageId = _useState[1];
@@ -34087,7 +34220,7 @@ function MentionsContainer(_ref2) {
34087
34220
  selectOptionAndCleanUp = _ref2.selectOptionAndCleanUp,
34088
34221
  setHighlightedIndex = _ref2.setHighlightedIndex,
34089
34222
  setMentionsIsOpen = _ref2.setMentionsIsOpen;
34090
- var theme = reactRedux.useSelector(themeSelector);
34223
+ var theme = useSelector(themeSelector);
34091
34224
  var _useColor2 = useColors(),
34092
34225
  borderColor = _useColor2[THEME_COLORS.BORDER],
34093
34226
  background = _useColor2[THEME_COLORS.BACKGROUND];
@@ -35564,7 +35697,7 @@ var AudioRecord = function AudioRecord(_ref) {
35564
35697
  setRecordedFile(currentRecordedFile);
35565
35698
  }
35566
35699
  }, [currentRecordedFile]);
35567
- var dispatch = reactRedux.useDispatch();
35700
+ var dispatch = useDispatch();
35568
35701
  var handleStartRecording = function handleStartRecording() {
35569
35702
  dispatch(sendRecordingAC(true, currentChannelId));
35570
35703
  if (sendingInterval) {
@@ -36003,8 +36136,12 @@ var AudioRecord = function AudioRecord(_ref) {
36003
36136
  }
36004
36137
  }, [currentRecordedFile]);
36005
36138
  React.useEffect(function () {
36139
+ if (!showRecording) {
36140
+ setCurrentTime(0);
36141
+ }
36006
36142
  return function () {
36007
36143
  handleStopRecording();
36144
+ setCurrentTime(0);
36008
36145
  };
36009
36146
  }, [showRecording]);
36010
36147
  React.useEffect(function () {
@@ -36292,18 +36429,18 @@ var SendMessageInput = function SendMessageInput(_ref3) {
36292
36429
  textFootnote = _useColor[THEME_COLORS.TEXT_FOOTNOTE],
36293
36430
  highlightedBackground = _useColor[THEME_COLORS.HIGHLIGHTED_BACKGROUND],
36294
36431
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY];
36295
- var dispatch = reactRedux.useDispatch();
36432
+ var dispatch = useDispatch();
36296
36433
  var ChatClient = getClient();
36297
36434
  var user = ChatClient.user;
36298
- var channelDetailsIsOpen = reactRedux.useSelector(channelInfoIsOpenSelector, reactRedux.shallowEqual);
36299
- var theme = reactRedux.useSelector(themeSelector);
36435
+ var channelDetailsIsOpen = useSelector(channelInfoIsOpenSelector, reactRedux.shallowEqual);
36436
+ var theme = useSelector(themeSelector);
36300
36437
  var getFromContacts = getShowOnlyContactUsers();
36301
- var activeChannel = reactRedux.useSelector(activeChannelSelector);
36302
- var messageToEdit = reactRedux.useSelector(messageToEditSelector);
36303
- var activeChannelMembers = reactRedux.useSelector(activeChannelMembersSelector, reactRedux.shallowEqual);
36304
- var messageForReply = reactRedux.useSelector(messageForReplySelector);
36305
- var draggedAttachments = reactRedux.useSelector(draggedAttachmentsSelector);
36306
- var selectedMessagesMap = reactRedux.useSelector(selectedMessagesMapSelector);
36438
+ var activeChannel = useSelector(activeChannelSelector);
36439
+ var messageToEdit = useSelector(messageToEditSelector);
36440
+ var activeChannelMembers = useSelector(activeChannelMembersSelector, reactRedux.shallowEqual);
36441
+ var messageForReply = useSelector(messageForReplySelector);
36442
+ var draggedAttachments = useSelector(draggedAttachmentsSelector);
36443
+ var selectedMessagesMap = useSelector(selectedMessagesMapSelector);
36307
36444
  var isDirectChannel = activeChannel && activeChannel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
36308
36445
  var directChannelUser = isDirectChannel && activeChannel.members.find(function (member) {
36309
36446
  return member.id !== user.id;
@@ -36398,9 +36535,9 @@ var SendMessageInput = function SendMessageInput(_ref3) {
36398
36535
  var _useState25 = React.useState(''),
36399
36536
  uploadErrorMessage = _useState25[0],
36400
36537
  setUploadErrorMessage = _useState25[1];
36401
- var typingOrRecordingIndicator = reactRedux.useSelector(typingOrRecordingIndicatorArraySelector(activeChannel.id));
36402
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
36403
- var connectionStatus = reactRedux.useSelector(connectionStatusSelector, reactRedux.shallowEqual);
36538
+ var typingOrRecordingIndicator = useSelector(typingOrRecordingIndicatorArraySelector(activeChannel.id));
36539
+ var contactsMap = useSelector(contactsMapSelector);
36540
+ var connectionStatus = useSelector(connectionStatusSelector, reactRedux.shallowEqual);
36404
36541
  var messageContRef = React.useRef(null);
36405
36542
  var fileUploader = React.useRef(null);
36406
36543
  var inputWrapperRef = React.useRef(null);
@@ -38088,7 +38225,6 @@ function SvgUnpin(props) {
38088
38225
 
38089
38226
  var _templateObject$K, _templateObject2$F, _templateObject3$y, _templateObject4$t, _templateObject5$p, _templateObject6$l, _templateObject7$j, _templateObject8$h, _templateObject9$e, _templateObject0$d, _templateObject1$a, _templateObject10$6, _templateObject11$6, _templateObject12$5, _templateObject13$4, _templateObject14$3, _templateObject15$3, _templateObject16$3;
38090
38227
  var Actions = function Actions(_ref) {
38091
- var _channel$metadata;
38092
38228
  var setActionsHeight = _ref.setActionsHeight,
38093
38229
  channel = _ref.channel,
38094
38230
  actionMenuOpen = _ref.actionMenuOpen,
@@ -38201,12 +38337,12 @@ var Actions = function Actions(_ref) {
38201
38337
  var _useState0 = React.useState(''),
38202
38338
  popupTitle = _useState0[0],
38203
38339
  setPopupTitle = _useState0[1];
38204
- var dispatch = reactRedux.useDispatch();
38340
+ var dispatch = useDispatch();
38205
38341
  var oneHour = 60 * 60 * 1000;
38206
38342
  var twoHours = oneHour * 2;
38207
38343
  var oneDay = oneHour * 24;
38208
38344
  var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
38209
- var isSelfChannel = isDirectChannel && ((_channel$metadata = channel.metadata) === null || _channel$metadata === void 0 ? void 0 : _channel$metadata.s);
38345
+ var isSelfChannel = isDirectChannel && channel.memberCount === 1 && channel.members.length > 0 && channel.members[0].id === user.id;
38210
38346
  var directChannelUser = isDirectChannel && channel.members.find(function (member) {
38211
38347
  return member.id !== user.id;
38212
38348
  });
@@ -38663,14 +38799,14 @@ var ChangeMemberRole = function ChangeMemberRole(_ref) {
38663
38799
  surface1 = _useColor[THEME_COLORS.SURFACE_1],
38664
38800
  iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
38665
38801
  border = _useColor[THEME_COLORS.BORDER];
38666
- var dispatch = reactRedux.useDispatch();
38802
+ var dispatch = useDispatch();
38667
38803
  var _useState = React.useState(false),
38668
38804
  isChanged = _useState[0],
38669
38805
  setIsChanged = _useState[1];
38670
38806
  var _useState2 = React.useState(),
38671
38807
  selectedRole = _useState2[0],
38672
38808
  setSelectedRole = _useState2[1];
38673
- var roles = reactRedux.useSelector(rolesSelector, reactRedux.shallowEqual) || [];
38809
+ var roles = useSelector(rolesSelector, reactRedux.shallowEqual) || [];
38674
38810
  React.useEffect(function () {
38675
38811
  dispatch(getRolesAC());
38676
38812
  }, []);
@@ -38780,7 +38916,7 @@ var Members = function Members(_ref) {
38780
38916
  backgroundFocused = _useColor[THEME_COLORS.BACKGROUND_FOCUSED],
38781
38917
  iconInactive = _useColor[THEME_COLORS.ICON_INACTIVE],
38782
38918
  surface1 = _useColor[THEME_COLORS.SURFACE_1];
38783
- var dispatch = reactRedux.useDispatch();
38919
+ var dispatch = useDispatch();
38784
38920
  var getFromContacts = getShowOnlyContactUsers();
38785
38921
  var _useState = React.useState(null),
38786
38922
  selectedMember = _useState[0],
@@ -38806,9 +38942,9 @@ var Members = function Members(_ref) {
38806
38942
  var _useState8 = React.useState(),
38807
38943
  closeMenu = _useState8[0],
38808
38944
  setCloseMenu = _useState8[1];
38809
- var members = reactRedux.useSelector(activeChannelMembersSelector) || [];
38810
- var contactsMap = reactRedux.useSelector(contactsMapSelector) || {};
38811
- var membersLoading = reactRedux.useSelector(membersLoadingStateSelector) || {};
38945
+ var members = useSelector(activeChannelMembersSelector) || [];
38946
+ var contactsMap = useSelector(contactsMapSelector) || {};
38947
+ var membersLoading = useSelector(membersLoadingStateSelector) || {};
38812
38948
  var user = getClient().user;
38813
38949
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
38814
38950
  var channelTypeRoleMap = getDefaultRolesByChannelTypesMap();
@@ -39088,11 +39224,11 @@ var Media = function Media(_ref) {
39088
39224
  var channel = _ref.channel;
39089
39225
  var _useColor = useColors(),
39090
39226
  background = _useColor[THEME_COLORS.BACKGROUND];
39091
- var attachments = reactRedux.useSelector(activeTabAttachmentsSelector, reactRedux.shallowEqual) || [];
39227
+ var attachments = useSelector(activeTabAttachmentsSelector, reactRedux.shallowEqual) || [];
39092
39228
  var _useState = React.useState(null),
39093
39229
  mediaFile = _useState[0],
39094
39230
  setMediaFile = _useState[1];
39095
- var dispatch = reactRedux.useDispatch();
39231
+ var dispatch = useDispatch();
39096
39232
  var handleMediaItemClick = function handleMediaItemClick(file) {
39097
39233
  setMediaFile(file);
39098
39234
  };
@@ -39206,11 +39342,11 @@ var Files = function Files(_ref) {
39206
39342
  backgroundHovered = _useColor[THEME_COLORS.BACKGROUND_HOVERED],
39207
39343
  surface1 = _useColor[THEME_COLORS.SURFACE_1],
39208
39344
  overlayBackground2 = _useColor[THEME_COLORS.OVERLAY_BACKGROUND_2];
39209
- var dispatch = reactRedux.useDispatch();
39345
+ var dispatch = useDispatch();
39210
39346
  var _useState = React.useState({}),
39211
39347
  downloadingFilesMap = _useState[0],
39212
39348
  setDownloadingFilesMap = _useState[1];
39213
- var attachments = reactRedux.useSelector(activeTabAttachmentsSelector, reactRedux.shallowEqual) || [];
39349
+ var attachments = useSelector(activeTabAttachmentsSelector, reactRedux.shallowEqual) || [];
39214
39350
  var nameSizeNum = fileNameFontSize && Number(fileNameFontSize.slice(0, -2));
39215
39351
  var nameMaxLength = nameSizeNum ? 32 - (nameSizeNum - 15) * (nameSizeNum < 20 ? 2 : 1) : 32;
39216
39352
  var handleCompleteDownload = function handleCompleteDownload(attachmentId) {
@@ -39275,7 +39411,7 @@ var Files = function Files(_ref) {
39275
39411
  lineHeight: fileSizeLineHeight,
39276
39412
  color: filePreviewSizeColor || textSecondary
39277
39413
  }, file.size ? bytesToSize(file.size) : '')), /*#__PURE__*/React__default.createElement(DownloadWrapper, {
39278
- visible: downloadingFilesMap[file.id],
39414
+ visible: !!downloadingFilesMap[file.id],
39279
39415
  iconColor: accentColor,
39280
39416
  onClick: function onClick() {
39281
39417
  return handleDownloadFile(file);
@@ -39422,8 +39558,8 @@ var Links = function Links(_ref) {
39422
39558
  linkPreviewTitleColor = _ref.linkPreviewTitleColor,
39423
39559
  linkPreviewColor = _ref.linkPreviewColor,
39424
39560
  linkPreviewHoverBackgroundColor = _ref.linkPreviewHoverBackgroundColor;
39425
- var dispatch = reactRedux.useDispatch();
39426
- var attachments = reactRedux.useSelector(activeTabAttachmentsSelector, reactRedux.shallowEqual) || [];
39561
+ var dispatch = useDispatch();
39562
+ var attachments = useSelector(activeTabAttachmentsSelector, reactRedux.shallowEqual) || [];
39427
39563
  React.useEffect(function () {
39428
39564
  dispatch(getAttachmentsAC(channelId, channelDetailsTabs.link));
39429
39565
  }, [channelId]);
@@ -39511,8 +39647,8 @@ var VoiceItem = function VoiceItem(_ref) {
39511
39647
  textSecondary = _useColor[THEME_COLORS.TEXT_SECONDARY],
39512
39648
  backgroundHovered = _useColor[THEME_COLORS.BACKGROUND_HOVERED],
39513
39649
  accentColor = _useColor[THEME_COLORS.ACCENT];
39514
- var dispatch = reactRedux.useDispatch();
39515
- var playingAudioId = reactRedux.useSelector(playingAudioIdSelector);
39650
+ var dispatch = useDispatch();
39651
+ var playingAudioId = useSelector(playingAudioIdSelector);
39516
39652
  var getFromContacts = getShowOnlyContactUsers();
39517
39653
  var _useState = React.useState(''),
39518
39654
  fileUrl = _useState[0],
@@ -39524,8 +39660,8 @@ var VoiceItem = function VoiceItem(_ref) {
39524
39660
  currentTime = _useState3[0],
39525
39661
  setCurrentTime = _useState3[1];
39526
39662
  var customDownloader = getCustomDownloader();
39527
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
39528
- var user = reactRedux.useSelector(userSelector);
39663
+ var contactsMap = useSelector(contactsMapSelector);
39664
+ var user = useSelector(userSelector);
39529
39665
  var audioRef = React.useRef();
39530
39666
  var intervalRef = React.useRef(null);
39531
39667
  var handlePlayPause = function handlePlayPause() {
@@ -39655,8 +39791,8 @@ var Voices = function Voices(_ref) {
39655
39791
  voicePreviewTitleColor = _ref.voicePreviewTitleColor,
39656
39792
  voicePreviewDateAndTimeColor = _ref.voicePreviewDateAndTimeColor,
39657
39793
  voicePreviewHoverBackgroundColor = _ref.voicePreviewHoverBackgroundColor;
39658
- var dispatch = reactRedux.useDispatch();
39659
- var attachments = reactRedux.useSelector(activeTabAttachmentsSelector, reactRedux.shallowEqual) || [];
39794
+ var dispatch = useDispatch();
39795
+ var attachments = useSelector(activeTabAttachmentsSelector, reactRedux.shallowEqual) || [];
39660
39796
  React.useEffect(function () {
39661
39797
  dispatch(getAttachmentsAC(channelId, channelDetailsTabs.voice));
39662
39798
  }, [channelId]);
@@ -39727,7 +39863,7 @@ var DetailsTab = function DetailsTab(_ref) {
39727
39863
  textSecondary = _useColor[THEME_COLORS.TEXT_SECONDARY],
39728
39864
  border = _useColor[THEME_COLORS.BORDER],
39729
39865
  background = _useColor[THEME_COLORS.BACKGROUND];
39730
- var dispatch = reactRedux.useDispatch();
39866
+ var dispatch = useDispatch();
39731
39867
  var isDirectChannel = channel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
39732
39868
  var showMembers = !isDirectChannel && checkActionPermission('getMembers');
39733
39869
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
@@ -39879,8 +40015,8 @@ var EditChannel = function EditChannel(_ref) {
39879
40015
  textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY];
39880
40016
  var ChatClient = getClient();
39881
40017
  var user = ChatClient.user;
39882
- var dispatch = reactRedux.useDispatch();
39883
- var isEditMode = reactRedux.useSelector(channelEditModeSelector);
40018
+ var dispatch = useDispatch();
40019
+ var isEditMode = useSelector(channelEditModeSelector);
39884
40020
  var _useState = React.useState(false),
39885
40021
  cropPopup = _useState[0],
39886
40022
  setCropPopup = _useState[1];
@@ -40113,7 +40249,7 @@ var EditChannel = function EditChannel(_ref) {
40113
40249
 
40114
40250
  var _templateObject$V, _templateObject2$O, _templateObject3$F, _templateObject4$z, _templateObject5$u, _templateObject6$p, _templateObject7$n, _templateObject8$l, _templateObject9$g, _templateObject0$e, _templateObject1$b, _templateObject10$7;
40115
40251
  var Details = function Details(_ref) {
40116
- var _activeChannel$metada;
40252
+ var _activeChannel$member;
40117
40253
  var detailsTitleText = _ref.detailsTitleText,
40118
40254
  editDetailsTitleText = _ref.editDetailsTitleText,
40119
40255
  detailsTitleFontSize = _ref.detailsTitleFontSize,
@@ -40236,10 +40372,10 @@ var Details = function Details(_ref) {
40236
40372
  borderThemeColor = _useColor[THEME_COLORS.BORDER],
40237
40373
  textFootnote = _useColor[THEME_COLORS.TEXT_FOOTNOTE],
40238
40374
  surface2 = _useColor[THEME_COLORS.SURFACE_2];
40239
- var dispatch = reactRedux.useDispatch();
40375
+ var dispatch = useDispatch();
40240
40376
  var ChatClient = getClient();
40241
40377
  var user = ChatClient.user;
40242
- var theme = reactRedux.useSelector(themeSelector);
40378
+ var theme = useSelector(themeSelector);
40243
40379
  var getFromContacts = getShowOnlyContactUsers();
40244
40380
  var _useState = React.useState(false),
40245
40381
  mounted = _useState[0],
@@ -40253,14 +40389,14 @@ var Details = function Details(_ref) {
40253
40389
  var _useState4 = React.useState(0),
40254
40390
  actionsHeight = _useState4[0],
40255
40391
  setActionsHeight = _useState4[1];
40256
- var editMode = reactRedux.useSelector(channelEditModeSelector);
40257
- var activeChannel = reactRedux.useSelector(activeChannelSelector, reactRedux.shallowEqual);
40392
+ var editMode = useSelector(channelEditModeSelector);
40393
+ var activeChannel = useSelector(activeChannelSelector, reactRedux.shallowEqual);
40258
40394
  var _usePermissions = usePermissions(activeChannel ? activeChannel.userRole : ''),
40259
40395
  checkActionPermission = _usePermissions[0];
40260
- var membersLoading = reactRedux.useSelector(membersLoadingStateSelector);
40261
- var messagesLoading = reactRedux.useSelector(messagesLoadingState);
40262
- var attachmentsHasNex = reactRedux.useSelector(activeTabAttachmentsHasNextSelector);
40263
- var contactsMap = reactRedux.useSelector(contactsMapSelector);
40396
+ var membersLoading = useSelector(membersLoadingStateSelector);
40397
+ var messagesLoading = useSelector(messagesLoadingState);
40398
+ var attachmentsHasNex = useSelector(activeTabAttachmentsHasNextSelector);
40399
+ var contactsMap = useSelector(contactsMapSelector);
40264
40400
  var _useState5 = React.useState(false),
40265
40401
  isScrolling = _useState5[0],
40266
40402
  setIsScrolling = _useState5[1];
@@ -40268,12 +40404,12 @@ var Details = function Details(_ref) {
40268
40404
  var detailsHeaderRef = React.useRef(null);
40269
40405
  var openTimeOut = React.useRef(null);
40270
40406
  var isDirectChannel = activeChannel && activeChannel.type === DEFAULT_CHANNEL_TYPE.DIRECT;
40271
- var isSelfChannel = isDirectChannel && ((_activeChannel$metada = activeChannel.metadata) === null || _activeChannel$metada === void 0 ? void 0 : _activeChannel$metada.s);
40407
+ var isSelfChannel = isDirectChannel && activeChannel.memberCount === 1 && activeChannel.members.length > 0 && activeChannel.members[0].id === user.id;
40272
40408
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
40273
40409
  var displayMemberText = memberDisplayText && (memberDisplayText[activeChannel.type] ? activeChannel.memberCount > 1 ? memberDisplayText[activeChannel.type] + "s" : memberDisplayText[activeChannel.type] : activeChannel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || activeChannel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? activeChannel.memberCount > 1 ? 'subscribers' : 'subscriber' : activeChannel.memberCount > 1 ? 'members' : 'member');
40274
- var directChannelUser = isDirectChannel && activeChannel.members.find(function (member) {
40410
+ var directChannelUser = isDirectChannel && (activeChannel.members.find(function (member) {
40275
40411
  return member.id !== user.id;
40276
- });
40412
+ }) || (activeChannel === null || activeChannel === void 0 ? void 0 : (_activeChannel$member = activeChannel.members) === null || _activeChannel$member === void 0 ? void 0 : _activeChannel$member[0]));
40277
40413
  var handleMembersListScroll = function handleMembersListScroll(event) {
40278
40414
  if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
40279
40415
  if (activeTab === channelDetailsTabs.member) {
@@ -40382,7 +40518,7 @@ var Details = function Details(_ref) {
40382
40518
  color: textSecondary,
40383
40519
  fontSize: channelMembersFontSize,
40384
40520
  lineHeight: channelMembersLineHeight
40385
- }, showPhoneNumber ? "+" + directChannelUser.id : hideUserPresence && directChannelUser && hideUserPresence(directChannelUser) ? '' : directChannelUser && directChannelUser.presence && (directChannelUser.presence.state === USER_PRESENCE_STATUS.ONLINE ? 'Online' : directChannelUser.presence.lastActiveAt && userLastActiveDateFormat(directChannelUser.presence.lastActiveAt)))) : (/*#__PURE__*/React__default.createElement(SubTitle, {
40521
+ }, showPhoneNumber && directChannelUser !== null && directChannelUser !== void 0 && directChannelUser.id ? "+" + (directChannelUser === null || directChannelUser === void 0 ? void 0 : directChannelUser.id) : hideUserPresence && directChannelUser && hideUserPresence(directChannelUser) ? '' : directChannelUser && directChannelUser.presence && (directChannelUser.presence.state === USER_PRESENCE_STATUS.ONLINE ? 'Online' : directChannelUser.presence.lastActiveAt && userLastActiveDateFormat(directChannelUser.presence.lastActiveAt)))) : (/*#__PURE__*/React__default.createElement(SubTitle, {
40386
40522
  color: textSecondary,
40387
40523
  fontSize: channelMembersFontSize,
40388
40524
  lineHeight: channelMembersLineHeight
@@ -40660,7 +40796,7 @@ var ChannelDetailsContainer = function ChannelDetailsContainer(_ref) {
40660
40796
  tabItemsMinWidth = _ref.tabItemsMinWidth,
40661
40797
  bordersColor = _ref.bordersColor,
40662
40798
  showPhoneNumber = _ref.showPhoneNumber;
40663
- var channelDetailsIsOpen = reactRedux.useSelector(channelInfoIsOpenSelector, reactRedux.shallowEqual);
40799
+ var channelDetailsIsOpen = useSelector(channelInfoIsOpenSelector, reactRedux.shallowEqual);
40664
40800
  React.useEffect(function () {
40665
40801
  setShowChannelDetails(true);
40666
40802
  }, []);
@@ -40821,12 +40957,12 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
40821
40957
  var _useColor = useColors(),
40822
40958
  accentColor = _useColor[THEME_COLORS.ACCENT],
40823
40959
  backgroundSections = _useColor[THEME_COLORS.BACKGROUND_SECTIONS];
40824
- var dispatch = reactRedux.useDispatch();
40825
- var channel = reactRedux.useSelector(activeChannelSelector);
40826
- var theme = reactRedux.useSelector(themeSelector);
40827
- var sendMessageInputHeight = reactRedux.useSelector(sendMessageInputHeightSelector);
40828
- var showScrollToNewMessageButton = reactRedux.useSelector(showScrollToNewMessageButtonSelector);
40829
- var messages = reactRedux.useSelector(activeChannelMessagesSelector) || [];
40960
+ var dispatch = useDispatch();
40961
+ var channel = useSelector(activeChannelSelector);
40962
+ var theme = useSelector(themeSelector);
40963
+ var sendMessageInputHeight = useSelector(sendMessageInputHeightSelector);
40964
+ var showScrollToNewMessageButton = useSelector(showScrollToNewMessageButtonSelector);
40965
+ var messages = useSelector(activeChannelMessagesSelector) || [];
40830
40966
  var handleScrollToBottom = function handleScrollToBottom() {
40831
40967
  var user = getClient().user;
40832
40968
  if (channel.lastMessage.user.id !== user.id) {
@@ -40958,12 +41094,12 @@ var MessagesScrollToUnreadMentionsButton = function MessagesScrollToUnreadMentio
40958
41094
  var _useColor = useColors(),
40959
41095
  accentColor = _useColor[THEME_COLORS.ACCENT],
40960
41096
  backgroundSections = _useColor[THEME_COLORS.BACKGROUND_SECTIONS];
40961
- var dispatch = reactRedux.useDispatch();
40962
- var channel = reactRedux.useSelector(activeChannelSelector);
40963
- var theme = reactRedux.useSelector(themeSelector);
40964
- var sendMessageInputHeight = reactRedux.useSelector(sendMessageInputHeightSelector);
40965
- var showScrollToNewMessageButton = reactRedux.useSelector(showScrollToNewMessageButtonSelector);
40966
- var messages = reactRedux.useSelector(activeChannelMessagesSelector) || [];
41097
+ var dispatch = useDispatch();
41098
+ var channel = useSelector(activeChannelSelector);
41099
+ var theme = useSelector(themeSelector);
41100
+ var sendMessageInputHeight = useSelector(sendMessageInputHeightSelector);
41101
+ var showScrollToNewMessageButton = useSelector(showScrollToNewMessageButtonSelector);
41102
+ var messages = useSelector(activeChannelMessagesSelector) || [];
40967
41103
  var isMessageRead = React.useCallback(function (messageId) {
40968
41104
  var _message$userMarkers;
40969
41105
  var message = messages.find(function (msg) {
@@ -41103,6 +41239,37 @@ var UnreadCount$2 = styled__default.span(_templateObject2$Q || (_templateObject2
41103
41239
  return props.textColor || '#fff';
41104
41240
  });
41105
41241
 
41242
+ var createOrGetDirectChannel = function createOrGetDirectChannel(user, callback) {
41243
+ try {
41244
+ if (user) {
41245
+ store.dispatch(createChannelAC({
41246
+ metadata: '',
41247
+ type: DEFAULT_CHANNEL_TYPE.DIRECT,
41248
+ members: [_extends({}, user, {
41249
+ role: 'owner'
41250
+ })]
41251
+ }, false, callback));
41252
+ }
41253
+ return Promise.resolve();
41254
+ } catch (e) {
41255
+ return Promise.reject(e);
41256
+ }
41257
+ };
41258
+ var switchChannelActiveChannel = function switchChannelActiveChannel(channel) {
41259
+ try {
41260
+ store.dispatch(switchChannelActionAC(channel, true));
41261
+ return Promise.resolve();
41262
+ } catch (e) {
41263
+ return Promise.reject(e);
41264
+ }
41265
+ };
41266
+ var handleSendMessage = function handleSendMessage(message, channelId, connectionState) {
41267
+ return store.dispatch(sendTextMessageAC(message, channelId, connectionState));
41268
+ };
41269
+ var handleGetMessage = function handleGetMessage(channelId, messageId) {
41270
+ return store.dispatch(getMessageAC(channelId, messageId));
41271
+ };
41272
+
41106
41273
  exports.Attachment = Attachment$1;
41107
41274
  exports.Avatar = Avatar;
41108
41275
  exports.Channel = Channel;
@@ -41124,4 +41291,8 @@ exports.OGMetadata = OGMetadata;
41124
41291
  exports.SceytChat = SceytChatContainer;
41125
41292
  exports.SendMessage = SendMessageInput;
41126
41293
  exports.THEME_COLORS = THEME_COLORS;
41294
+ exports.createOrGetDirectChannel = createOrGetDirectChannel;
41295
+ exports.handleGetMessage = handleGetMessage;
41296
+ exports.handleSendMessage = handleSendMessage;
41297
+ exports.switchChannelActiveChannel = switchChannelActiveChannel;
41127
41298
  //# sourceMappingURL=index.js.map