sceyt-chat-react-uikit 1.6.9-beta.2 → 1.6.9-beta.3

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
@@ -17129,14 +17129,14 @@ function editMessage(action) {
17129
17129
  }, _marked6$1, null, [[0, 21]]);
17130
17130
  }
17131
17131
  function getMessagesQuery(action) {
17132
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, pendingMessages, messagesMap, filteredPendingMessages, _secondResult2, _thirdResult, _secondResult3, _pendingMessages, _messagesMap, _filteredPendingMessages, _secondResult4, _pendingMessages2, _messagesMap2, _filteredPendingMessages2;
17132
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, pendingMessages, _messagesMap, filteredPendingMessages, _secondResult2, _thirdResult, _secondResult3, _pendingMessages, _messagesMap2, _filteredPendingMessages, _secondResult4, _pendingMessages2, _messagesMap3, _filteredPendingMessages2;
17133
17133
  return _regeneratorRuntime().wrap(function getMessagesQuery$(_context9) {
17134
17134
  while (1) switch (_context9.prev = _context9.next) {
17135
17135
  case 0:
17136
17136
  _context9.prev = 0;
17137
17137
  _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages;
17138
17138
  if (!(channel.id && !channel.isMockChannel)) {
17139
- _context9.next = 175;
17139
+ _context9.next = 178;
17140
17140
  break;
17141
17141
  }
17142
17142
  SceytChatClient = getClient();
@@ -17157,13 +17157,13 @@ function getMessagesQuery(action) {
17157
17157
  hasNext: false
17158
17158
  };
17159
17159
  if (!loadWithLastMessage) {
17160
- _context9.next = 54;
17160
+ _context9.next = 57;
17161
17161
  break;
17162
17162
  }
17163
17163
  allMessages = getAllMessages();
17164
17164
  havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
17165
17165
  if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
17166
- _context9.next = 44;
17166
+ _context9.next = 47;
17167
17167
  break;
17168
17168
  }
17169
17169
  setHasPrevCached(false);
@@ -17188,37 +17188,44 @@ function getMessagesQuery(action) {
17188
17188
  if (withDeliveredMessages) {
17189
17189
  sentMessages = getFromAllMessagesByMessageId('', '', true);
17190
17190
  }
17191
- result.messages = [].concat(result.messages, sentMessages);
17192
- _context9.next = 36;
17191
+ messagesMap = {};
17192
+ result.messages.forEach(function (msg) {
17193
+ messagesMap[msg.tid || ''] = msg;
17194
+ });
17195
+ filteredSentMessages = sentMessages.filter(function (msg) {
17196
+ return !messagesMap[msg.tid || ''];
17197
+ });
17198
+ result.messages = [].concat(result.messages, filteredSentMessages);
17199
+ _context9.next = 39;
17193
17200
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
17194
- case 36:
17201
+ case 39:
17195
17202
  setMessagesToMap(channel.id, result.messages);
17196
17203
  setAllMessages(result.messages);
17197
- _context9.next = 40;
17204
+ _context9.next = 43;
17198
17205
  return effects.put(setMessagesHasPrevAC(true));
17199
- case 40:
17200
- _context9.next = 42;
17206
+ case 43:
17207
+ _context9.next = 45;
17201
17208
  return effects.put(markChannelAsReadAC(channel.id));
17202
- case 42:
17203
- _context9.next = 49;
17209
+ case 45:
17210
+ _context9.next = 52;
17204
17211
  break;
17205
- case 44:
17212
+ case 47:
17206
17213
  result.messages = getFromAllMessagesByMessageId('', '', true);
17207
- _context9.next = 47;
17214
+ _context9.next = 50;
17208
17215
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
17209
- case 47:
17210
- _context9.next = 49;
17216
+ case 50:
17217
+ _context9.next = 52;
17211
17218
  return effects.put(setMessagesHasPrevAC(true));
17212
- case 49:
17213
- _context9.next = 51;
17219
+ case 52:
17220
+ _context9.next = 54;
17214
17221
  return effects.put(setMessagesHasNextAC(false));
17215
- case 51:
17222
+ case 54:
17216
17223
  setHasNextCached(false);
17217
- _context9.next = 164;
17224
+ _context9.next = 167;
17218
17225
  break;
17219
- case 54:
17226
+ case 57:
17220
17227
  if (!messageId) {
17221
- _context9.next = 97;
17228
+ _context9.next = 100;
17222
17229
  break;
17223
17230
  }
17224
17231
  _allMessages = getAllMessages();
@@ -17227,181 +17234,181 @@ function getMessagesQuery(action) {
17227
17234
  });
17228
17235
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
17229
17236
  if (!(messageIndex >= maxLengthPart)) {
17230
- _context9.next = 66;
17237
+ _context9.next = 69;
17231
17238
  break;
17232
17239
  }
17233
17240
  result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
17234
- _context9.next = 62;
17241
+ _context9.next = 65;
17235
17242
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
17236
- case 62:
17243
+ case 65:
17237
17244
  setHasPrevCached(messageIndex > maxLengthPart);
17238
17245
  setHasNextCached(_allMessages.length > maxLengthPart);
17239
- _context9.next = 93;
17246
+ _context9.next = 96;
17240
17247
  break;
17241
- case 66:
17248
+ case 69:
17242
17249
  messageQuery.limit = MESSAGES_MAX_LENGTH;
17243
17250
  log.info('load by message id from server ...............', messageId);
17244
- _context9.next = 70;
17251
+ _context9.next = 73;
17245
17252
  return effects.call(messageQuery.loadNearMessageId, messageId);
17246
- case 70:
17253
+ case 73:
17247
17254
  result = _context9.sent;
17248
17255
  if (!(result.messages.length === 50)) {
17249
- _context9.next = 83;
17256
+ _context9.next = 86;
17250
17257
  break;
17251
17258
  }
17252
17259
  messageQuery.limit = (MESSAGES_MAX_LENGTH - 50) / 2;
17253
- _context9.next = 75;
17260
+ _context9.next = 78;
17254
17261
  return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
17255
- case 75:
17262
+ case 78:
17256
17263
  _secondResult = _context9.sent;
17257
17264
  messageQuery.reverse = false;
17258
- _context9.next = 79;
17265
+ _context9.next = 82;
17259
17266
  return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
17260
- case 79:
17267
+ case 82:
17261
17268
  thirdResult = _context9.sent;
17262
17269
  result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
17263
17270
  result.hasNext = _secondResult.hasNext;
17264
17271
  messageQuery.reverse = true;
17265
- case 83:
17272
+ case 86:
17266
17273
  log.info('result from server ....... ', result);
17267
- _context9.next = 86;
17274
+ _context9.next = 89;
17268
17275
  return effects.put(setMessagesHasNextAC(true));
17269
- case 86:
17276
+ case 89:
17270
17277
  pendingMessages = getPendingMessages(channel.id);
17271
17278
  if (pendingMessages && pendingMessages.length) {
17272
- messagesMap = {};
17279
+ _messagesMap = {};
17273
17280
  result.messages.forEach(function (msg) {
17274
- messagesMap[msg.tid || ''] = msg;
17281
+ _messagesMap[msg.tid || ''] = msg;
17275
17282
  });
17276
17283
  filteredPendingMessages = pendingMessages.filter(function (msg) {
17277
- return !messagesMap[msg.tid || ''];
17284
+ return !_messagesMap[msg.tid || ''];
17278
17285
  });
17279
17286
  setPendingMessages(channel.id, filteredPendingMessages);
17280
17287
  result.messages = [].concat(result.messages, filteredPendingMessages);
17281
17288
  }
17282
- _context9.next = 90;
17289
+ _context9.next = 93;
17283
17290
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
17284
- case 90:
17291
+ case 93:
17285
17292
  setAllMessages([].concat(result.messages));
17286
17293
  setHasPrevCached(false);
17287
17294
  setHasNextCached(false);
17288
- case 93:
17289
- _context9.next = 95;
17295
+ case 96:
17296
+ _context9.next = 98;
17290
17297
  return effects.put(setScrollToMessagesAC(messageId));
17291
- case 95:
17292
- _context9.next = 164;
17298
+ case 98:
17299
+ _context9.next = 167;
17293
17300
  break;
17294
- case 97:
17301
+ case 100:
17295
17302
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
17296
- _context9.next = 143;
17303
+ _context9.next = 146;
17297
17304
  break;
17298
17305
  }
17299
17306
  setAllMessages([]);
17300
17307
  messageQuery.limit = MESSAGES_MAX_LENGTH;
17301
17308
  if (!Number(channel.lastDisplayedMessageId)) {
17302
- _context9.next = 121;
17309
+ _context9.next = 124;
17303
17310
  break;
17304
17311
  }
17305
- _context9.next = 103;
17312
+ _context9.next = 106;
17306
17313
  return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
17307
- case 103:
17314
+ case 106:
17308
17315
  result = _context9.sent;
17309
17316
  if (!(result.messages.length === 50)) {
17310
- _context9.next = 119;
17317
+ _context9.next = 122;
17311
17318
  break;
17312
17319
  }
17313
17320
  messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
17314
- _context9.next = 108;
17321
+ _context9.next = 111;
17315
17322
  return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
17316
- case 108:
17323
+ case 111:
17317
17324
  _secondResult2 = _context9.sent;
17318
17325
  if (!(channel.newMessageCount > 25)) {
17319
- _context9.next = 118;
17326
+ _context9.next = 121;
17320
17327
  break;
17321
17328
  }
17322
17329
  messageQuery.reverse = false;
17323
- _context9.next = 113;
17330
+ _context9.next = 116;
17324
17331
  return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
17325
- case 113:
17332
+ case 116:
17326
17333
  _thirdResult = _context9.sent;
17327
17334
  result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
17328
17335
  messageQuery.reverse = true;
17329
- _context9.next = 119;
17336
+ _context9.next = 122;
17330
17337
  break;
17331
- case 118:
17338
+ case 121:
17332
17339
  result.messages = [].concat(_secondResult2.messages, result.messages);
17333
- case 119:
17334
- _context9.next = 131;
17340
+ case 122:
17341
+ _context9.next = 134;
17335
17342
  break;
17336
- case 121:
17337
- _context9.next = 123;
17343
+ case 124:
17344
+ _context9.next = 126;
17338
17345
  return effects.call(messageQuery.loadPrevious);
17339
- case 123:
17346
+ case 126:
17340
17347
  result = _context9.sent;
17341
17348
  if (!(result.messages.length === 50)) {
17342
- _context9.next = 131;
17349
+ _context9.next = 134;
17343
17350
  break;
17344
17351
  }
17345
17352
  messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
17346
- _context9.next = 128;
17353
+ _context9.next = 131;
17347
17354
  return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
17348
- case 128:
17355
+ case 131:
17349
17356
  _secondResult3 = _context9.sent;
17350
17357
  result.messages = [].concat(_secondResult3.messages, result.messages);
17351
17358
  result.hasNext = _secondResult3.hasNext;
17352
- case 131:
17359
+ case 134:
17353
17360
  setMessagesToMap(channel.id, result.messages);
17354
- _context9.next = 134;
17361
+ _context9.next = 137;
17355
17362
  return effects.put(setMessagesHasPrevAC(true));
17356
- case 134:
17357
- _context9.next = 136;
17363
+ case 137:
17364
+ _context9.next = 139;
17358
17365
  return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
17359
- case 136:
17366
+ case 139:
17360
17367
  _pendingMessages = getPendingMessages(channel.id);
17361
17368
  if (_pendingMessages && _pendingMessages.length) {
17362
- _messagesMap = {};
17369
+ _messagesMap2 = {};
17363
17370
  result.messages.forEach(function (msg) {
17364
- _messagesMap[msg.tid || ''] = msg;
17371
+ _messagesMap2[msg.tid || ''] = msg;
17365
17372
  });
17366
17373
  _filteredPendingMessages = _pendingMessages.filter(function (msg) {
17367
- return !_messagesMap[msg.tid || ''];
17374
+ return !_messagesMap2[msg.tid || ''];
17368
17375
  });
17369
17376
  setPendingMessages(channel.id, _filteredPendingMessages);
17370
17377
  result.messages = [].concat(result.messages, _filteredPendingMessages);
17371
17378
  }
17372
17379
  setAllMessages([].concat(result.messages));
17373
- _context9.next = 141;
17380
+ _context9.next = 144;
17374
17381
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
17375
- case 141:
17376
- _context9.next = 164;
17382
+ case 144:
17383
+ _context9.next = 167;
17377
17384
  break;
17378
- case 143:
17385
+ case 146:
17379
17386
  setAllMessages([]);
17380
17387
  if (!(cachedMessages && cachedMessages.length)) {
17381
- _context9.next = 148;
17388
+ _context9.next = 151;
17382
17389
  break;
17383
17390
  }
17384
17391
  setAllMessages([].concat(cachedMessages));
17385
- _context9.next = 148;
17392
+ _context9.next = 151;
17386
17393
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
17387
- case 148:
17394
+ case 151:
17388
17395
  log.info('load message from server');
17389
- _context9.next = 151;
17396
+ _context9.next = 154;
17390
17397
  return effects.call(messageQuery.loadPrevious);
17391
- case 151:
17398
+ case 154:
17392
17399
  result = _context9.sent;
17393
17400
  if (!(result.messages.length === 50)) {
17394
- _context9.next = 159;
17401
+ _context9.next = 162;
17395
17402
  break;
17396
17403
  }
17397
17404
  messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
17398
- _context9.next = 156;
17405
+ _context9.next = 159;
17399
17406
  return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
17400
- case 156:
17407
+ case 159:
17401
17408
  _secondResult4 = _context9.sent;
17402
17409
  result.messages = [].concat(_secondResult4.messages, result.messages);
17403
17410
  result.hasNext = _secondResult4.hasNext;
17404
- case 159:
17411
+ case 162:
17405
17412
  result.messages.forEach(function (msg) {
17406
17413
  updateMessageOnMap(channel.id, {
17407
17414
  messageId: msg.id,
@@ -17409,58 +17416,58 @@ function getMessagesQuery(action) {
17409
17416
  });
17410
17417
  updateMessageOnAllMessages(msg.id, msg);
17411
17418
  });
17412
- _context9.next = 162;
17419
+ _context9.next = 165;
17413
17420
  return effects.put(setMessagesHasPrevAC(result.hasNext));
17414
- case 162:
17415
- _context9.next = 164;
17421
+ case 165:
17422
+ _context9.next = 167;
17416
17423
  return effects.put(setMessagesHasNextAC(false));
17417
- case 164:
17424
+ case 167:
17418
17425
  if (cachedMessages && cachedMessages.length) {
17419
- _context9.next = 171;
17426
+ _context9.next = 174;
17420
17427
  break;
17421
17428
  }
17422
17429
  _pendingMessages2 = getPendingMessages(channel.id);
17423
17430
  if (_pendingMessages2 && _pendingMessages2.length) {
17424
- _messagesMap2 = {};
17431
+ _messagesMap3 = {};
17425
17432
  result.messages.forEach(function (msg) {
17426
- _messagesMap2[msg.tid || ''] = msg;
17433
+ _messagesMap3[msg.tid || ''] = msg;
17427
17434
  });
17428
17435
  _filteredPendingMessages2 = _pendingMessages2.filter(function (msg) {
17429
- return !_messagesMap2[msg.tid || ''];
17436
+ return !_messagesMap3[msg.tid || ''];
17430
17437
  });
17431
17438
  setPendingMessages(channel.id, _filteredPendingMessages2);
17432
17439
  result.messages = [].concat(result.messages, _filteredPendingMessages2);
17433
17440
  }
17434
- _context9.next = 169;
17441
+ _context9.next = 172;
17435
17442
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
17436
- case 169:
17443
+ case 172:
17437
17444
  setMessagesToMap(channel.id, result.messages);
17438
17445
  setAllMessages([].concat(result.messages));
17439
- case 171:
17440
- _context9.next = 173;
17446
+ case 174:
17447
+ _context9.next = 176;
17441
17448
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
17442
- case 173:
17443
- _context9.next = 178;
17449
+ case 176:
17450
+ _context9.next = 181;
17444
17451
  break;
17445
- case 175:
17452
+ case 178:
17446
17453
  if (!channel.isMockChannel) {
17447
- _context9.next = 178;
17454
+ _context9.next = 181;
17448
17455
  break;
17449
17456
  }
17450
- _context9.next = 178;
17457
+ _context9.next = 181;
17451
17458
  return effects.put(setMessagesAC([]));
17452
- case 178:
17453
- _context9.next = 183;
17459
+ case 181:
17460
+ _context9.next = 186;
17454
17461
  break;
17455
- case 180:
17456
- _context9.prev = 180;
17462
+ case 183:
17463
+ _context9.prev = 183;
17457
17464
  _context9.t0 = _context9["catch"](0);
17458
17465
  log.error('error in message query', _context9.t0);
17459
- case 183:
17466
+ case 186:
17460
17467
  case "end":
17461
17468
  return _context9.stop();
17462
17469
  }
17463
- }, _marked7$1, null, [[0, 180]]);
17470
+ }, _marked7$1, null, [[0, 183]]);
17464
17471
  }
17465
17472
  function loadMoreMessages(action) {
17466
17473
  var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result;
@@ -19620,20 +19627,24 @@ var DeletedAvatarWrapper = styled__default(SvgDeletedUserAvatar)(_templateObject
19620
19627
  });
19621
19628
 
19622
19629
  var _templateObject$4, _templateObject2$4, _templateObject3$3, _templateObject4$3, _templateObject5$2, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject0$1, _templateObject1$1, _templateObject10$1, _templateObject11$1, _templateObject12$1, _templateObject13$1, _templateObject14$1, _templateObject15$1, _templateObject16$1, _templateObject17$1, _templateObject18$1, _templateObject19$1, _templateObject20$1;
19623
- var ChannelMessageText = function ChannelMessageText(_ref) {
19624
- var isTypingOrRecording = _ref.isTypingOrRecording,
19625
- textPrimary = _ref.textPrimary,
19626
- textSecondary = _ref.textSecondary,
19627
- draftMessageText = _ref.draftMessageText,
19628
- lastMessage = _ref.lastMessage,
19629
- user = _ref.user,
19630
- contactsMap = _ref.contactsMap,
19631
- getFromContacts = _ref.getFromContacts,
19632
- lastMessageMetas = _ref.lastMessageMetas,
19633
- accentColor = _ref.accentColor,
19634
- typingOrRecording = _ref.typingOrRecording,
19635
- channel = _ref.channel,
19636
- isDirectChannel = _ref.isDirectChannel;
19630
+ var LastMessageAttachments = function LastMessageAttachments(_ref) {
19631
+ var lastMessage = _ref.lastMessage;
19632
+ return !!(lastMessage.attachments && lastMessage.attachments.length) && (lastMessage.attachments[0].type === attachmentTypes.image ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgPicture, null), lastMessage.body ? '' : 'Photo')) : lastMessage.attachments[0].type === attachmentTypes.video ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgVideoCall, null), lastMessage.body ? '' : 'Video')) : lastMessage.attachments[0].type === attachmentTypes.file ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgChoseFile, null), lastMessage.body ? '' : 'File')) : lastMessage.attachments[0].type === attachmentTypes.voice ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgVoiceIcon, null), lastMessage.body ? '' : 'Voice')) : null);
19633
+ };
19634
+ var ChannelMessageText = function ChannelMessageText(_ref2) {
19635
+ var isTypingOrRecording = _ref2.isTypingOrRecording,
19636
+ textPrimary = _ref2.textPrimary,
19637
+ textSecondary = _ref2.textSecondary,
19638
+ draftMessageText = _ref2.draftMessageText,
19639
+ lastMessage = _ref2.lastMessage,
19640
+ user = _ref2.user,
19641
+ contactsMap = _ref2.contactsMap,
19642
+ getFromContacts = _ref2.getFromContacts,
19643
+ lastMessageMetas = _ref2.lastMessageMetas,
19644
+ accentColor = _ref2.accentColor,
19645
+ typingOrRecording = _ref2.typingOrRecording,
19646
+ channel = _ref2.channel,
19647
+ isDirectChannel = _ref2.isDirectChannel;
19637
19648
  return /*#__PURE__*/React__default.createElement(MessageTextContainer, null, isTypingOrRecording && (/*#__PURE__*/React__default.createElement(TypingIndicator, null, !isDirectChannel && /*#__PURE__*/React__default.createElement(Points, {
19638
19649
  color: textPrimary
19639
19650
  }, ":"), typingOrRecording.isTyping ? 'typing' : 'recording', "...")), !isTypingOrRecording && (draftMessageText ? (/*#__PURE__*/React__default.createElement(DraftMessageText, {
@@ -19642,7 +19653,9 @@ var ChannelMessageText = function ChannelMessageText(_ref) {
19642
19653
  return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
19643
19654
  })) + " " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.length > 5 ? "and " + (lastMessageMetas.m.length - 5) + " more" : '') : lastMessage.body === 'RM' ? " removed " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.slice(0, 5).map(function (mem) {
19644
19655
  return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
19645
- })) + " " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.length > 5 ? "and " + (lastMessageMetas.m.length - 5) + " more" : '') : lastMessage.body === 'LG' ? 'Left this group' : '') : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, channel.lastReactedMessage && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, "Reacted", /*#__PURE__*/React__default.createElement(ReactionItem, null, channel.newReactions && channel.newReactions[0] && channel.newReactions[0].key), "to", ' "')), !!(lastMessage.attachments && lastMessage.attachments.length) && (lastMessage.attachments[0].type === attachmentTypes.image ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgPicture, null), lastMessage.body ? '' : 'Photo')) : lastMessage.attachments[0].type === attachmentTypes.video ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgVideoCall, null), lastMessage.body ? '' : 'Video')) : lastMessage.attachments[0].type === attachmentTypes.file ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgChoseFile, null), lastMessage.body ? '' : 'File')) : lastMessage.attachments[0].type === attachmentTypes.voice ? (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SvgVoiceIcon, null), lastMessage.body ? '' : 'Voice')) : null), /*#__PURE__*/React__default.createElement(LastMessageDescription, null, !!(lastMessage && lastMessage.id) && MessageTextFormat({
19656
+ })) + " " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.length > 5 ? "and " + (lastMessageMetas.m.length - 5) + " more" : '') : lastMessage.body === 'LG' ? 'Left this group' : '') : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(LastMessageDescription, null, channel.lastReactedMessage && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, "Reacted", /*#__PURE__*/React__default.createElement(ReactionItem, null, channel.newReactions && channel.newReactions[0] && channel.newReactions[0].key), "to", ' "')), LastMessageAttachments({
19657
+ lastMessage: lastMessage
19658
+ }), !!(lastMessage && lastMessage.id) && MessageTextFormat({
19646
19659
  text: lastMessage.body,
19647
19660
  message: lastMessage,
19648
19661
  contactsMap: contactsMap,
@@ -19650,34 +19663,34 @@ var ChannelMessageText = function ChannelMessageText(_ref) {
19650
19663
  isLastMessage: true,
19651
19664
  accentColor: accentColor,
19652
19665
  textSecondary: textSecondary
19653
- })), channel.lastReactedMessage && '"'))));
19666
+ }), channel.lastReactedMessage && '"')))));
19654
19667
  };
19655
- var Channel = function Channel(_ref2) {
19668
+ var Channel = function Channel(_ref3) {
19656
19669
  var _channel$metadata, _channel$metadata2;
19657
- var channel = _ref2.channel,
19658
- theme = _ref2.theme,
19659
- _ref2$showAvatar = _ref2.showAvatar,
19660
- showAvatar = _ref2$showAvatar === void 0 ? true : _ref2$showAvatar,
19661
- avatarBorderRadius = _ref2.avatarBorderRadius,
19662
- notificationsIsMutedIcon = _ref2.notificationsIsMutedIcon,
19663
- notificationsIsMutedIconColor = _ref2.notificationsIsMutedIconColor,
19664
- pinedIcon = _ref2.pinedIcon,
19665
- selectedChannelLeftBorder = _ref2.selectedChannelLeftBorder,
19666
- selectedChannelBackground = _ref2.selectedChannelBackground,
19667
- contactsMap = _ref2.contactsMap,
19668
- selectedChannelBorderRadius = _ref2.selectedChannelBorderRadius,
19669
- selectedChannelPaddings = _ref2.selectedChannelPaddings,
19670
- channelsPaddings = _ref2.channelsPaddings,
19671
- channelsMargin = _ref2.channelsMargin,
19672
- channelHoverBackground = _ref2.channelHoverBackground,
19673
- channelSubjectFontSize = _ref2.channelSubjectFontSize,
19674
- channelSubjectLineHeight = _ref2.channelSubjectLineHeight,
19675
- channelSubjectColor = _ref2.channelSubjectColor,
19676
- channelLastMessageFontSize = _ref2.channelLastMessageFontSize,
19677
- channelLastMessageTimeFontSize = _ref2.channelLastMessageTimeFontSize,
19678
- channelLastMessageHeight = _ref2.channelLastMessageHeight,
19679
- channelAvatarSize = _ref2.channelAvatarSize,
19680
- channelAvatarTextSize = _ref2.channelAvatarTextSize;
19670
+ var channel = _ref3.channel,
19671
+ theme = _ref3.theme,
19672
+ _ref3$showAvatar = _ref3.showAvatar,
19673
+ showAvatar = _ref3$showAvatar === void 0 ? true : _ref3$showAvatar,
19674
+ avatarBorderRadius = _ref3.avatarBorderRadius,
19675
+ notificationsIsMutedIcon = _ref3.notificationsIsMutedIcon,
19676
+ notificationsIsMutedIconColor = _ref3.notificationsIsMutedIconColor,
19677
+ pinedIcon = _ref3.pinedIcon,
19678
+ selectedChannelLeftBorder = _ref3.selectedChannelLeftBorder,
19679
+ selectedChannelBackground = _ref3.selectedChannelBackground,
19680
+ contactsMap = _ref3.contactsMap,
19681
+ selectedChannelBorderRadius = _ref3.selectedChannelBorderRadius,
19682
+ selectedChannelPaddings = _ref3.selectedChannelPaddings,
19683
+ channelsPaddings = _ref3.channelsPaddings,
19684
+ channelsMargin = _ref3.channelsMargin,
19685
+ channelHoverBackground = _ref3.channelHoverBackground,
19686
+ channelSubjectFontSize = _ref3.channelSubjectFontSize,
19687
+ channelSubjectLineHeight = _ref3.channelSubjectLineHeight,
19688
+ channelSubjectColor = _ref3.channelSubjectColor,
19689
+ channelLastMessageFontSize = _ref3.channelLastMessageFontSize,
19690
+ channelLastMessageTimeFontSize = _ref3.channelLastMessageTimeFontSize,
19691
+ channelLastMessageHeight = _ref3.channelLastMessageHeight,
19692
+ channelAvatarSize = _ref3.channelAvatarSize,
19693
+ channelAvatarTextSize = _ref3.channelAvatarTextSize;
19681
19694
  var _useColor = useColors(),
19682
19695
  accentColor = _useColor[THEME_COLORS.ACCENT],
19683
19696
  textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
@@ -19929,9 +19942,9 @@ var Container$2 = styled__default.div(_templateObject6$1 || (_templateObject6$1
19929
19942
  return props.channelsMargin || '0 8px';
19930
19943
  }, function (props) {
19931
19944
  return props.selectedChannelBorderRadius || '12px';
19932
- }, function (_ref3) {
19933
- var selectedChannel = _ref3.selectedChannel,
19934
- hoverBackground = _ref3.hoverBackground;
19945
+ }, function (_ref4) {
19946
+ var selectedChannel = _ref4.selectedChannel,
19947
+ hoverBackground = _ref4.hoverBackground;
19935
19948
  return !selectedChannel && "\n background-color: " + hoverBackground + ";\n ";
19936
19949
  }, UserStatus, function (props) {
19937
19950
  return props.selectedChannel ? props.selectedBackgroundColor : props.hoverBackground;
@@ -19946,9 +19959,9 @@ var DraftMessageText = styled__default.span(_templateObject8$1 || (_templateObje
19946
19959
  });
19947
19960
  var LastMessageAuthor = styled__default.div(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteralLoose(["\n max-width: 120px;\n font-weight: 500;\n color: ", ";\n\n ", "\n & > span {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n }\n"])), function (props) {
19948
19961
  return props.color;
19949
- }, function (_ref4) {
19950
- var typing = _ref4.typing,
19951
- recording = _ref4.recording;
19962
+ }, function (_ref5) {
19963
+ var typing = _ref5.typing,
19964
+ recording = _ref5.recording;
19952
19965
  return (typing || recording) && "\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: calc(100% - " + (typing ? 62 : 76) + "px);\n ";
19953
19966
  });
19954
19967
  var Points = styled__default.span(_templateObject0$1 || (_templateObject0$1 = _taggedTemplateLiteralLoose(["\n margin-right: 4px;\n color: ", ";\n font-style: normal;\n"])), function (props) {
@@ -19965,7 +19978,7 @@ var LastMessageText = styled__default.span(_templateObject1$1 || (_templateObjec
19965
19978
  }, function (props) {
19966
19979
  return props.color;
19967
19980
  });
19968
- var LastMessageDescription = styled__default.div(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteralLoose(["\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n"])));
19981
+ var LastMessageDescription = styled__default.div(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteralLoose(["\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 100%;\n & > svg {\n width: 18px;\n height: 18px;\n margin: 3px 0 -3px 0;\n margin-right: 4px;\n }\n"])));
19969
19982
  var ChannelStatus = styled__default.div(_templateObject11$1 || (_templateObject11$1 = _taggedTemplateLiteralLoose(["\n position: absolute;\n right: 16px;\n top: 15px;\n display: flex;\n flex-wrap: wrap;\n height: 42px;\n margin-left: auto;\n\n & > svg {\n width: 16px;\n height: 16px;\n color: ", ";\n }\n"])), function (props) {
19970
19983
  return props.color;
19971
19984
  });
@@ -30907,8 +30920,7 @@ var CreateMessageDateDivider = function CreateMessageDateDivider(_ref) {
30907
30920
  };
30908
30921
  var MessageList = function MessageList(_ref2) {
30909
30922
  var _channel$lastMessage, _channel$lastMessage3, _scrollRef$current;
30910
- var messages = _ref2.messages,
30911
- fontFamily = _ref2.fontFamily,
30923
+ var fontFamily = _ref2.fontFamily,
30912
30924
  _ref2$ownMessageOnRig = _ref2.ownMessageOnRightSide,
30913
30925
  ownMessageOnRightSide = _ref2$ownMessageOnRig === void 0 ? true : _ref2$ownMessageOnRig,
30914
30926
  messageWidthPercent = _ref2.messageWidthPercent,
@@ -31081,6 +31093,7 @@ var MessageList = function MessageList(_ref2) {
31081
31093
  var messagesLoading = reactRedux.useSelector(messagesLoadingState);
31082
31094
  var draggingSelector = reactRedux.useSelector(isDraggingSelector, reactRedux.shallowEqual);
31083
31095
  var showScrollToNewMessageButton = reactRedux.useSelector(showScrollToNewMessageButtonSelector, reactRedux.shallowEqual);
31096
+ var messages = reactRedux.useSelector(activeChannelMessagesSelector, reactRedux.shallowEqual) || [];
31084
31097
  var _useState = React.useState(''),
31085
31098
  unreadMessageId = _useState[0],
31086
31099
  setUnreadMessageId = _useState[1];
@@ -31167,14 +31180,14 @@ var MessageList = function MessageList(_ref2) {
31167
31180
  if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING) {
31168
31181
  dispatch(getMessagesAC(channel, true));
31169
31182
  }
31183
+ if (target.scrollTop <= -50) {
31184
+ dispatch(showScrollToNewMessageButtonAC(true));
31185
+ } else {
31186
+ dispatch(showScrollToNewMessageButtonAC(false));
31187
+ }
31170
31188
  if (scrollToReply) {
31171
31189
  target.scrollTop = scrollToReply;
31172
31190
  } else {
31173
- if (target.scrollTop <= -50) {
31174
- dispatch(showScrollToNewMessageButtonAC(true));
31175
- } else {
31176
- dispatch(showScrollToNewMessageButtonAC(false));
31177
- }
31178
31191
  if (messagesIndexMap[lastVisibleMessageId] < 15 || forceLoadPrevMessages) {
31179
31192
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
31180
31193
  if (messagesLoading === LOADING_STATE.LOADING || loading || prevDisable) {
@@ -31224,7 +31237,10 @@ var MessageList = function MessageList(_ref2) {
31224
31237
  }) >= 10) {
31225
31238
  var repliedMessage = document.getElementById(messageId);
31226
31239
  if (repliedMessage) {
31227
- scrollRef.current.scrollTop = repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2;
31240
+ scrollRef.current.scrollTo({
31241
+ top: repliedMessage.offsetTop - scrollRef.current.offsetHeight / 2,
31242
+ behavior: 'smooth'
31243
+ });
31228
31244
  repliedMessage.classList.add('highlight');
31229
31245
  setTimeout(function () {
31230
31246
  repliedMessage.classList.remove('highlight');
@@ -31357,7 +31373,10 @@ var MessageList = function MessageList(_ref2) {
31357
31373
  var repliedMessage = document.getElementById(scrollToRepliedMessage);
31358
31374
  if (repliedMessage) {
31359
31375
  setScrollToReply(repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200));
31360
- scrollRef.current.scrollTop = repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200);
31376
+ scrollRef.current.scrollTo({
31377
+ top: repliedMessage && repliedMessage.offsetTop - (channel.backToLinkedChannel ? 0 : 200),
31378
+ behavior: 'smooth'
31379
+ });
31361
31380
  scrollRef.current.style.scrollBehavior = 'smooth';
31362
31381
  if (!channel.backToLinkedChannel) {
31363
31382
  repliedMessage && repliedMessage.classList.add('highlight');
@@ -31379,12 +31398,18 @@ var MessageList = function MessageList(_ref2) {
31379
31398
  if (scrollToNewMessage.scrollToBottom) {
31380
31399
  if (scrollToNewMessage.isIncomingMessage) {
31381
31400
  if (scrollRef.current.scrollTop > -100) {
31382
- scrollRef.current.scrollTop = 0;
31401
+ scrollRef.current.scrollTo({
31402
+ top: 0,
31403
+ behavior: 'smooth'
31404
+ });
31383
31405
  }
31384
31406
  } else {
31385
31407
  nextDisable = true;
31386
31408
  prevDisable = true;
31387
- scrollRef.current.scrollTop = 0;
31409
+ scrollRef.current.scrollTo({
31410
+ top: 0,
31411
+ behavior: 'smooth'
31412
+ });
31388
31413
  dispatch(showScrollToNewMessageButtonAC(false));
31389
31414
  setTimeout(function () {
31390
31415
  prevDisable = false;
@@ -32031,9 +32056,7 @@ var MessagesContainer = function MessagesContainer(_ref) {
32031
32056
  _ref$hiddenMessagesPr = _ref.hiddenMessagesProperties,
32032
32057
  hiddenMessagesProperties = _ref$hiddenMessagesPr === void 0 ? [] : _ref$hiddenMessagesPr,
32033
32058
  shouldOpenUserProfileForMention = _ref.shouldOpenUserProfileForMention;
32034
- var messages = reactRedux.useSelector(activeChannelMessagesSelector) || [];
32035
32059
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MessageList, {
32036
- messages: messages,
32037
32060
  fontFamily: fontFamily,
32038
32061
  ownMessageOnRightSide: ownMessageOnRightSide,
32039
32062
  messageWidthPercent: messageWidthPercent,
@@ -38986,7 +39009,10 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
38986
39009
  if (repliedMessage) {
38987
39010
  var scrollRef = document.getElementById('scrollableDiv');
38988
39011
  if (scrollRef) {
38989
- scrollRef.scrollTop = repliedMessage.offsetTop;
39012
+ scrollRef.scrollTo({
39013
+ top: repliedMessage.offsetTop - scrollRef.offsetHeight / 2,
39014
+ behavior: 'smooth'
39015
+ });
38990
39016
  }
38991
39017
  }
38992
39018
  } else {