sceyt-chat-react-uikit 1.6.9-beta.17 → 1.6.9-beta.19

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.modern.js CHANGED
@@ -10054,18 +10054,29 @@ function updateMessageOnMap(channelId, updatedMessage) {
10054
10054
  }
10055
10055
  }
10056
10056
  }
10057
+ var updatedMessageData = null;
10057
10058
  if (messagesMap[channelId]) {
10058
- messagesMap[channelId] = messagesMap[channelId].map(function (mes) {
10059
+ messagesMap[channelId].map(function (mes) {
10059
10060
  if (mes.tid === updatedMessage.messageId || mes.id === updatedMessage.messageId) {
10060
10061
  if (updatedMessage.params.state === MESSAGE_STATUS.DELETE) {
10061
- return _extends({}, updatedMessage.params);
10062
+ updatedMessageData = _extends({}, updatedMessage.params);
10063
+ return updatedMessageData;
10062
10064
  } else {
10063
- return _extends({}, mes, updatedMessage.params);
10065
+ var _updatedMessage$param;
10066
+ updatedMessageData = _extends({}, mes, updatedMessage.params, {
10067
+ attachments: [].concat(mes.attachments, ((_updatedMessage$param = updatedMessage.params) === null || _updatedMessage$param === void 0 ? void 0 : _updatedMessage$param.attachments) || []).filter(function (att, index, self) {
10068
+ return index === self.findIndex(function (t) {
10069
+ return t.url === att.url && t.type === att.type && t.name === att.name;
10070
+ });
10071
+ })
10072
+ });
10073
+ return updatedMessage;
10064
10074
  }
10065
10075
  }
10066
10076
  return mes;
10067
10077
  });
10068
10078
  }
10079
+ return updatedMessageData;
10069
10080
  }
10070
10081
  function addReactionToMessageOnMap(channelId, message, reaction, isSelf) {
10071
10082
  if (messagesMap[channelId]) {
@@ -10309,7 +10320,6 @@ var messageSlice = createSlice({
10309
10320
  reducers: {
10310
10321
  addMessage: function addMessage(state, action) {
10311
10322
  var message = action.payload.message;
10312
- log.info('addMessage ... ', message);
10313
10323
  state.activeChannelMessages.push(message);
10314
10324
  },
10315
10325
  deleteMessageFromList: function deleteMessageFromList(state, action) {
@@ -10427,11 +10437,48 @@ var messageSlice = createSlice({
10427
10437
  state.activeChannelMessages.push(params);
10428
10438
  }
10429
10439
  },
10430
- addReactionToMessage: function addReactionToMessage(state, action) {
10440
+ updateMessageAttachment: function updateMessageAttachment(state, action) {
10431
10441
  var _action$payload4 = action.payload,
10432
- message = _action$payload4.message,
10433
- reaction = _action$payload4.reaction,
10434
- isSelf = _action$payload4.isSelf;
10442
+ url = _action$payload4.url,
10443
+ messageId = _action$payload4.messageId,
10444
+ params = _action$payload4.params;
10445
+ state.activeChannelMessages = state.activeChannelMessages.map(function (message) {
10446
+ if (message.id === messageId) {
10447
+ for (var index = 0; index < message.attachments.length; index++) {
10448
+ var attachment = message.attachments[index];
10449
+ if (attachment.url === url) {
10450
+ message.attachments[index] = _extends({}, attachment, params);
10451
+ }
10452
+ }
10453
+ }
10454
+ if (message.attachments.length) {
10455
+ var detachedAttachments = message.attachments.map(function (att) {
10456
+ var _att$user, _att$user2;
10457
+ return _extends({}, att, {
10458
+ user: _extends({}, att.user, {
10459
+ metadata: _extends({}, ((_att$user = att.user) === null || _att$user === void 0 ? void 0 : _att$user.metadata) || {}),
10460
+ presence: _extends({}, ((_att$user2 = att.user) === null || _att$user2 === void 0 ? void 0 : _att$user2.presence) || {})
10461
+ })
10462
+ });
10463
+ });
10464
+ updateMessageOnAllMessages(messageId, {
10465
+ attachments: detachedAttachments
10466
+ });
10467
+ updateMessageOnMap(message.channelId, {
10468
+ messageId: messageId,
10469
+ params: {
10470
+ attachments: detachedAttachments
10471
+ }
10472
+ });
10473
+ }
10474
+ return message;
10475
+ });
10476
+ },
10477
+ addReactionToMessage: function addReactionToMessage(state, action) {
10478
+ var _action$payload5 = action.payload,
10479
+ message = _action$payload5.message,
10480
+ reaction = _action$payload5.reaction,
10481
+ isSelf = _action$payload5.isSelf;
10435
10482
  state.activeChannelMessages = state.activeChannelMessages.map(function (msg) {
10436
10483
  if (msg.id === message.id) {
10437
10484
  var slfReactions = [].concat(msg.userReactions);
@@ -10451,10 +10498,10 @@ var messageSlice = createSlice({
10451
10498
  });
10452
10499
  },
10453
10500
  deleteReactionFromMessage: function deleteReactionFromMessage(state, action) {
10454
- var _action$payload5 = action.payload,
10455
- reaction = _action$payload5.reaction,
10456
- message = _action$payload5.message,
10457
- isSelf = _action$payload5.isSelf;
10501
+ var _action$payload6 = action.payload,
10502
+ reaction = _action$payload6.reaction,
10503
+ message = _action$payload6.message,
10504
+ isSelf = _action$payload6.isSelf;
10458
10505
  state.activeChannelMessages = state.activeChannelMessages.map(function (msg) {
10459
10506
  if (msg.id === message.id) {
10460
10507
  var userReactions = msg.userReactions;
@@ -10503,9 +10550,9 @@ var messageSlice = createSlice({
10503
10550
  (_state$activeTabAttac = state.activeTabAttachments).push.apply(_state$activeTabAttac, action.payload.attachments);
10504
10551
  },
10505
10552
  addAttachmentsForPopup: function addAttachmentsForPopup(state, action) {
10506
- var _action$payload6 = action.payload,
10507
- attachments = _action$payload6.attachments,
10508
- direction = _action$payload6.direction;
10553
+ var _action$payload7 = action.payload,
10554
+ attachments = _action$payload7.attachments,
10555
+ direction = _action$payload7.direction;
10509
10556
  if (direction === 'prev') {
10510
10557
  var _state$attachmentsFor;
10511
10558
  (_state$attachmentsFor = state.attachmentsForPopup).push.apply(_state$attachmentsFor, attachments);
@@ -10521,11 +10568,11 @@ var messageSlice = createSlice({
10521
10568
  state.attachmentForPopupHasNext = action.payload.hasPrev;
10522
10569
  },
10523
10570
  updateUploadProgress: function updateUploadProgress(state, action) {
10524
- var _action$payload7 = action.payload,
10525
- uploaded = _action$payload7.uploaded,
10526
- total = _action$payload7.total,
10527
- attachmentId = _action$payload7.attachmentId,
10528
- progress = _action$payload7.progress;
10571
+ var _action$payload8 = action.payload,
10572
+ uploaded = _action$payload8.uploaded,
10573
+ total = _action$payload8.total,
10574
+ attachmentId = _action$payload8.attachmentId,
10575
+ progress = _action$payload8.progress;
10529
10576
  var updateData = {
10530
10577
  uploaded: uploaded,
10531
10578
  total: total,
@@ -10549,23 +10596,23 @@ var messageSlice = createSlice({
10549
10596
  state.messageForReply = action.payload.message;
10550
10597
  },
10551
10598
  uploadAttachmentCompilation: function uploadAttachmentCompilation(state, action) {
10552
- var _action$payload8 = action.payload,
10553
- attachmentUploadingState = _action$payload8.attachmentUploadingState,
10554
- attachmentId = _action$payload8.attachmentId;
10599
+ var _action$payload9 = action.payload,
10600
+ attachmentUploadingState = _action$payload9.attachmentUploadingState,
10601
+ attachmentId = _action$payload9.attachmentId;
10555
10602
  state.attachmentsUploadingState[attachmentId] = attachmentUploadingState;
10556
10603
  },
10557
10604
  setReactionsList: function setReactionsList(state, action) {
10558
- var _action$payload9 = action.payload,
10559
- reactions = _action$payload9.reactions,
10560
- hasNext = _action$payload9.hasNext;
10605
+ var _action$payload0 = action.payload,
10606
+ reactions = _action$payload0.reactions,
10607
+ hasNext = _action$payload0.hasNext;
10561
10608
  state.reactionsHasNext = hasNext;
10562
10609
  state.reactionsList = [].concat(reactions);
10563
10610
  },
10564
10611
  addReactionsToList: function addReactionsToList(state, action) {
10565
10612
  var _state$reactionsList;
10566
- var _action$payload0 = action.payload,
10567
- reactions = _action$payload0.reactions,
10568
- hasNext = _action$payload0.hasNext;
10613
+ var _action$payload1 = action.payload,
10614
+ reactions = _action$payload1.reactions,
10615
+ hasNext = _action$payload1.hasNext;
10569
10616
  state.reactionsHasNext = hasNext;
10570
10617
  (_state$reactionsList = state.reactionsList).push.apply(_state$reactionsList, reactions);
10571
10618
  },
@@ -10626,6 +10673,7 @@ var _messageSlice$actions = messageSlice.actions,
10626
10673
  addMessages = _messageSlice$actions.addMessages,
10627
10674
  updateMessagesStatus = _messageSlice$actions.updateMessagesStatus,
10628
10675
  updateMessage = _messageSlice$actions.updateMessage,
10676
+ updateMessageAttachment = _messageSlice$actions.updateMessageAttachment,
10629
10677
  addReactionToMessage = _messageSlice$actions.addReactionToMessage,
10630
10678
  deleteReactionFromMessage = _messageSlice$actions.deleteReactionFromMessage,
10631
10679
  setHasPrevMessages = _messageSlice$actions.setHasPrevMessages,
@@ -11717,6 +11765,13 @@ function setMessagesHasNextAC(hasNext) {
11717
11765
  hasNext: hasNext
11718
11766
  });
11719
11767
  }
11768
+ function setUpdateMessageAttachmentAC(url, messageId, params) {
11769
+ return updateMessageAttachment({
11770
+ url: url,
11771
+ messageId: messageId,
11772
+ params: params
11773
+ });
11774
+ }
11720
11775
  function updateMessageAC(messageId, params, addIfNotExists) {
11721
11776
  return updateMessage({
11722
11777
  messageId: messageId,
@@ -17132,12 +17187,6 @@ var addPendingMessage = function addPendingMessage(message, messageCopy, channel
17132
17187
  addMessageToMap(channel.id, messageToAdd);
17133
17188
  addAllMessages([messageToAdd], MESSAGE_LOAD_DIRECTION.NEXT);
17134
17189
  setPendingMessages(channel.id, [messageToAdd]);
17135
- var hasNextMessages = store.getState().MessageReducer.messagesHasNext;
17136
- var activeChannelMessages = store.getState().MessageReducer.activeChannelMessages;
17137
- var isLatestMessageInChannelMessages = activeChannelMessages[activeChannelMessages.length - 1].id === channel.lastMessage.id;
17138
- if (hasNextMessages || !isLatestMessageInChannelMessages) {
17139
- store.dispatch(getMessagesAC(channel, true, channel.lastMessage.id, undefined, undefined, false));
17140
- }
17141
17190
  store.dispatch(scrollToNewMessageAC(true));
17142
17191
  store.dispatch(addMessageAC(messageToAdd));
17143
17192
  return Promise.resolve();
@@ -18311,7 +18360,7 @@ function editMessage(action) {
18311
18360
  }, _marked6$1, null, [[0, 5]]);
18312
18361
  }
18313
18362
  function getMessagesQuery(action) {
18314
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, pendingMessages, _messagesMap, filteredPendingMessages, index, mes, _t9;
18363
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, index, mes, _t9;
18315
18364
  return _regenerator().w(function (_context9) {
18316
18365
  while (1) switch (_context9.p = _context9.n) {
18317
18366
  case 0:
@@ -18321,7 +18370,7 @@ function getMessagesQuery(action) {
18321
18370
  case 1:
18322
18371
  _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight;
18323
18372
  if (!(channel.id && !channel.isMockChannel)) {
18324
- _context9.n = 47;
18373
+ _context9.n = 48;
18325
18374
  break;
18326
18375
  }
18327
18376
  SceytChatClient = getClient();
@@ -18407,7 +18456,7 @@ function getMessagesQuery(action) {
18407
18456
  _context9.n = 12;
18408
18457
  return put(setScrollToMessagesAC(messageId, highlight));
18409
18458
  case 12:
18410
- _context9.n = 44;
18459
+ _context9.n = 45;
18411
18460
  break;
18412
18461
  case 13:
18413
18462
  if (!messageId) {
@@ -18473,7 +18522,7 @@ function getMessagesQuery(action) {
18473
18522
  _context9.n = 24;
18474
18523
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18475
18524
  case 24:
18476
- _context9.n = 44;
18525
+ _context9.n = 45;
18477
18526
  break;
18478
18527
  case 25:
18479
18528
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
@@ -18545,7 +18594,7 @@ function getMessagesQuery(action) {
18545
18594
  _context9.n = 37;
18546
18595
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
18547
18596
  case 37:
18548
- _context9.n = 44;
18597
+ _context9.n = 45;
18549
18598
  break;
18550
18599
  case 38:
18551
18600
  setAllMessages([]);
@@ -18574,22 +18623,29 @@ function getMessagesQuery(action) {
18574
18623
  result.messages = [].concat(_secondResult4.messages, result.messages);
18575
18624
  result.hasNext = _secondResult4.hasNext;
18576
18625
  case 42:
18626
+ updatedMessages = [];
18577
18627
  result.messages.forEach(function (msg) {
18578
- updateMessageOnMap(channel.id, {
18628
+ var updatedMessage = updateMessageOnMap(channel.id, {
18579
18629
  messageId: msg.id,
18580
18630
  params: msg
18581
18631
  });
18582
- updateMessageOnAllMessages(msg.id, msg);
18632
+ updateMessageOnAllMessages(msg.id, updatedMessage || msg);
18633
+ updatedMessages.push(updatedMessage || msg);
18583
18634
  });
18635
+ setMessagesToMap(channel.id, updatedMessages);
18636
+ setAllMessages([].concat(updatedMessages));
18584
18637
  _context9.n = 43;
18585
- return put(setMessagesHasPrevAC(result.hasNext));
18638
+ return put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
18586
18639
  case 43:
18587
18640
  _context9.n = 44;
18588
- return put(setMessagesHasNextAC(false));
18641
+ return put(setMessagesHasPrevAC(result.hasNext));
18589
18642
  case 44:
18643
+ _context9.n = 45;
18644
+ return put(setMessagesHasNextAC(false));
18645
+ case 45:
18590
18646
  pendingMessages = getPendingMessages(channel.id);
18591
18647
  if (!(pendingMessages && pendingMessages.length)) {
18592
- _context9.n = 46;
18648
+ _context9.n = 47;
18593
18649
  break;
18594
18650
  }
18595
18651
  _messagesMap = {};
@@ -18599,40 +18655,40 @@ function getMessagesQuery(action) {
18599
18655
  filteredPendingMessages = pendingMessages.filter(function (msg) {
18600
18656
  return !_messagesMap[msg.tid || ''];
18601
18657
  });
18602
- _context9.n = 45;
18658
+ _context9.n = 46;
18603
18659
  return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
18604
- case 45:
18660
+ case 46:
18605
18661
  for (index = 0; index < filteredPendingMessages.length; index++) {
18606
18662
  mes = filteredPendingMessages[index];
18607
18663
  removePendingMessageFromMap(channel === null || channel === void 0 ? void 0 : channel.id, mes.tid || mes.id);
18608
18664
  }
18609
- case 46:
18610
- _context9.n = 48;
18611
- break;
18612
18665
  case 47:
18666
+ _context9.n = 49;
18667
+ break;
18668
+ case 48:
18613
18669
  if (!channel.isMockChannel) {
18614
- _context9.n = 48;
18670
+ _context9.n = 49;
18615
18671
  break;
18616
18672
  }
18617
- _context9.n = 48;
18673
+ _context9.n = 49;
18618
18674
  return put(setMessagesAC([]));
18619
- case 48:
18620
- _context9.n = 50;
18621
- break;
18622
18675
  case 49:
18623
- _context9.p = 49;
18624
- _t9 = _context9.v;
18625
- log.error('error in message query', _t9);
18676
+ _context9.n = 51;
18677
+ break;
18626
18678
  case 50:
18627
18679
  _context9.p = 50;
18628
- _context9.n = 51;
18629
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18680
+ _t9 = _context9.v;
18681
+ log.error('error in message query', _t9);
18630
18682
  case 51:
18631
- return _context9.f(50);
18683
+ _context9.p = 51;
18684
+ _context9.n = 52;
18685
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18632
18686
  case 52:
18687
+ return _context9.f(51);
18688
+ case 53:
18633
18689
  return _context9.a(2);
18634
18690
  }
18635
- }, _marked7$1, null, [[0, 49, 50, 52]]);
18691
+ }, _marked7$1, null, [[0, 50, 51, 53]]);
18636
18692
  }
18637
18693
  function loadMoreMessages(action) {
18638
18694
  var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t0;
@@ -20874,7 +20930,15 @@ var ChannelMessageText = function ChannelMessageText(_ref2) {
20874
20930
  color: textPrimary
20875
20931
  }, ":"), typingOrRecording.isTyping ? 'typing' : 'recording', "...")), !isTypingOrRecording && (draftMessageText ? (/*#__PURE__*/React__default.createElement(DraftMessageText, {
20876
20932
  color: textSecondary
20877
- }, audioRecording && /*#__PURE__*/React__default.createElement(SvgVoiceIcon, null), draftMessageText)) : lastMessage.state === MESSAGE_STATUS.DELETE ? 'Message was deleted.' : lastMessage.type === 'system' ? (lastMessage.user && (lastMessage.user.id === user.id ? 'You ' : makeUsername(lastMessage.user && contactsMap && contactsMap[lastMessage.user.id], lastMessage.user, getFromContacts))) + " " + (lastMessage.body === 'CC' ? 'created this channel' : lastMessage.body === 'CG' ? 'created this group' : lastMessage.body === 'AM' ? " added " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.slice(0, 5).map(function (mem) {
20933
+ }, audioRecording && /*#__PURE__*/React__default.createElement(SvgVoiceIcon, null), MessageTextFormat({
20934
+ text: draftMessageText,
20935
+ message: lastMessage,
20936
+ contactsMap: contactsMap,
20937
+ getFromContacts: getFromContacts,
20938
+ isLastMessage: true,
20939
+ accentColor: accentColor,
20940
+ textSecondary: textSecondary
20941
+ }))) : lastMessage.state === MESSAGE_STATUS.DELETE ? 'Message was deleted.' : lastMessage.type === 'system' ? (lastMessage.user && (lastMessage.user.id === user.id ? 'You ' : makeUsername(lastMessage.user && contactsMap && contactsMap[lastMessage.user.id], lastMessage.user, getFromContacts))) + " " + (lastMessage.body === 'CC' ? 'created this channel' : lastMessage.body === 'CG' ? 'created this group' : lastMessage.body === 'AM' ? " added " + (lastMessageMetas && lastMessageMetas.m && lastMessageMetas.m.slice(0, 5).map(function (mem) {
20878
20942
  return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
20879
20943
  })) + " " + (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) {
20880
20944
  return mem === user.id ? ' You' : " " + systemMessageUserName(mem, contactsMap && contactsMap[mem], lastMessage.mentionedUsers);
@@ -20944,11 +21008,14 @@ var Channel = function Channel(_ref3) {
20944
21008
  var _useState = useState(),
20945
21009
  draftMessageText = _useState[0],
20946
21010
  setDraftMessageText = _useState[1];
21011
+ var _useState2 = useState(),
21012
+ draftMessage = _useState2[0],
21013
+ setDraftMessage = _useState2[1];
20947
21014
  var lastMessage = channel.lastReactedMessage || channel.lastMessage;
20948
21015
  var lastMessageMetas = lastMessage && lastMessage.type === 'system' && lastMessage.metadata && (isJSON(lastMessage.metadata) ? JSON.parse(lastMessage.metadata) : lastMessage.metadata);
20949
- var _useState2 = useState(0),
20950
- statusWidth = _useState2[0],
20951
- setStatusWidth = _useState2[1];
21016
+ var _useState3 = useState(0),
21017
+ statusWidth = _useState3[0],
21018
+ setStatusWidth = _useState3[1];
20952
21019
  var avatarName = channel.subject || (isDirectChannel && directChannelUser ? directChannelUser.firstName || directChannelUser.id : isSelfChannel ? 'Me' : '');
20953
21020
  var handleChangeActiveChannel = function handleChangeActiveChannel(chan) {
20954
21021
  if (activeChannel.id !== chan.id) {
@@ -20972,17 +21039,25 @@ var Channel = function Channel(_ref3) {
20972
21039
  if (channelDraftMessage || draftAudioRecording) {
20973
21040
  if (channelDraftMessage) {
20974
21041
  setDraftMessageText(channelDraftMessage.text);
21042
+ setDraftMessage({
21043
+ mentionedUsers: channelDraftMessage.mentionedMembers,
21044
+ body: channelDraftMessage.text,
21045
+ bodyAttributes: channelDraftMessage.bodyAttributes
21046
+ });
20975
21047
  } else if (draftAudioRecording) {
20976
21048
  setDraftMessageText('Voice');
21049
+ setDraftMessage(undefined);
20977
21050
  }
20978
21051
  } else if (draftMessageText) {
20979
21052
  setDraftMessageText(undefined);
21053
+ setDraftMessage(undefined);
20980
21054
  }
20981
21055
  }
20982
21056
  }, [activeChannel.id]);
20983
21057
  useEffect(function () {
20984
21058
  if (channelDraftIsRemoved && channelDraftIsRemoved === channel.id) {
20985
21059
  setDraftMessageText(undefined);
21060
+ setDraftMessage(undefined);
20986
21061
  dispatch(setChannelDraftMessageIsRemovedAC());
20987
21062
  }
20988
21063
  }, [channelDraftIsRemoved]);
@@ -21029,7 +21104,7 @@ var Channel = function Channel(_ref3) {
21029
21104
  textPrimary: textPrimary,
21030
21105
  textSecondary: textSecondary,
21031
21106
  draftMessageText: draftMessageText,
21032
- lastMessage: lastMessage,
21107
+ lastMessage: draftMessage || lastMessage,
21033
21108
  isDirectChannel: isDirectChannel
21034
21109
  });
21035
21110
  }, [typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isTyping, typingOrRecording === null || typingOrRecording === void 0 ? void 0 : typingOrRecording.isRecording, draftMessageText, lastMessage, user, contactsMap, getFromContacts, lastMessageMetas, accentColor, typingOrRecording, channel, isDirectChannel]);
@@ -23108,7 +23183,8 @@ var ChannelList = function ChannelList(_ref) {
23108
23183
  channelAvatarSize = _ref.channelAvatarSize,
23109
23184
  channelAvatarTextSize = _ref.channelAvatarTextSize,
23110
23185
  searchChannelInputFontSize = _ref.searchChannelInputFontSize,
23111
- searchedChannelsTitleFontSize = _ref.searchedChannelsTitleFontSize;
23186
+ searchedChannelsTitleFontSize = _ref.searchedChannelsTitleFontSize,
23187
+ searchChannelsPadding = _ref.searchChannelsPadding;
23112
23188
  var _useColor = useColors(),
23113
23189
  background = _useColor[THEME_COLORS.BACKGROUND],
23114
23190
  textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
@@ -23345,7 +23421,8 @@ var ChannelList = function ChannelList(_ref) {
23345
23421
  }, /*#__PURE__*/React__default.createElement(ChannelListHeader, {
23346
23422
  withCustomList: !!List,
23347
23423
  maxWidth: channelListRef.current && ((_channelListRef$curre2 = channelListRef.current) === null || _channelListRef$curre2 === void 0 ? void 0 : _channelListRef$curre2.clientWidth) || 0,
23348
- borderColor: borderColor
23424
+ borderColor: borderColor,
23425
+ padding: searchChannelsPadding
23349
23426
  }, Profile, showSearch && searchChannelsPosition === 'inline' ? (/*#__PURE__*/React__default.createElement(ChannelSearch, {
23350
23427
  inline: true,
23351
23428
  borderRadius: searchInputBorderRadius,
@@ -23668,8 +23745,10 @@ var NoData = styled.div(_templateObject8$4 || (_templateObject8$4 = _taggedTempl
23668
23745
  return props.color;
23669
23746
  });
23670
23747
  var LoadingWrapper = styled.div(_templateObject9$4 || (_templateObject9$4 = _taggedTemplateLiteralLoose(["\n position: absolute;\n left: calc(50% - 20px);\n top: calc(50% - 20px);\n"])));
23671
- var ChannelListHeader = styled.div(_templateObject0$3 || (_templateObject0$3 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n max-width: ", ";\n padding: 12px;\n padding-left: 22px;\n box-sizing: border-box;\n padding-left: ", ";\n border-right: ", ";\n"])), function (props) {
23748
+ var ChannelListHeader = styled.div(_templateObject0$3 || (_templateObject0$3 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n max-width: ", ";\n padding: ", ";\n padding-left: 22px;\n box-sizing: border-box;\n padding-left: ", ";\n border-right: ", ";\n"])), function (props) {
23672
23749
  return props.maxWidth ? props.maxWidth + "px" : 'inherit';
23750
+ }, function (props) {
23751
+ return props.padding || '12px';
23673
23752
  }, function (props) {
23674
23753
  return props.withoutProfile && '52px';
23675
23754
  }, function (props) {
@@ -29206,7 +29285,15 @@ var Attachment = function Attachment(_ref) {
29206
29285
  if (downloadIsCancelled) {
29207
29286
  setDownloadIsCancelled(false);
29208
29287
  if (customDownloader) {
29209
- customDownloader(attachment.url, false, function () {}, messageType).then(function (url) {
29288
+ customDownloader(attachment.url, false, function (progress) {
29289
+ var loadedRes = progress.loaded && progress.loaded / progress.total;
29290
+ var uploadPercent = loadedRes && loadedRes * 100;
29291
+ setSizeProgress({
29292
+ loaded: progress.loaded || 0,
29293
+ total: progress.total || 0
29294
+ });
29295
+ setProgress(uploadPercent);
29296
+ }, messageType).then(function (url) {
29210
29297
  downloadImage(url);
29211
29298
  });
29212
29299
  } else {
@@ -29334,23 +29421,35 @@ var Attachment = function Attachment(_ref) {
29334
29421
  }
29335
29422
  }, [attachmentUrl]);
29336
29423
  useEffect(function () {
29337
- if (connectionStatus === CONNECTION_STATUS.CONNECTED && attachment.id && !(attachment.type === attachmentTypes.file || attachment.type === attachmentTypes.link)) {
29424
+ if (!attachment.attachmentUrl && connectionStatus === CONNECTION_STATUS.CONNECTED && attachment.id && !(attachment.type === attachmentTypes.file || attachment.type === attachmentTypes.link)) {
29338
29425
  getAttachmentUrlFromCache(attachment.url).then(function (cachedUrl) {
29339
29426
  try {
29340
29427
  if (attachment.type === 'image' && !isPreview) {
29341
29428
  if (cachedUrl) {
29342
29429
  setAttachmentUrl(cachedUrl);
29430
+ dispatch(setUpdateMessageAttachmentAC(attachment.url, attachment.messageId, {
29431
+ attachmentUrl: cachedUrl
29432
+ }));
29343
29433
  setIsCached(true);
29344
29434
  } else {
29345
29435
  setIsCached(false);
29346
29436
  setDownloadingFile(true);
29347
29437
  if (customDownloader) {
29348
- customDownloader(attachment.url, false, function () {}, messageType).then(function (url) {
29438
+ customDownloader(attachment.url, false, function (progress) {
29439
+ var loadedRes = progress.loaded && progress.loaded / progress.total;
29440
+ var uploadPercent = loadedRes && loadedRes * 100;
29441
+ setSizeProgress({
29442
+ loaded: progress.loaded || 0,
29443
+ total: progress.total || 0
29444
+ });
29445
+ setProgress(uploadPercent);
29446
+ }, messageType).then(function (url) {
29349
29447
  try {
29350
29448
  downloadImage(url);
29351
29449
  return Promise.resolve(fetch(url)).then(function (response) {
29352
29450
  setAttachmentToCache(attachment.url, response);
29353
29451
  setIsCached(true);
29452
+ setDownloadingFile(false);
29354
29453
  });
29355
29454
  } catch (e) {
29356
29455
  return Promise.reject(e);
@@ -29389,7 +29488,15 @@ var Attachment = function Attachment(_ref) {
29389
29488
  log.info('error on get attachment url from cache. .. ', e);
29390
29489
  if (customDownloader) {
29391
29490
  setDownloadingFile(true);
29392
- customDownloader(attachment.url, false, function () {}, messageType).then(function (url) {
29491
+ customDownloader(attachment.url, true, function (progress) {
29492
+ var loadedRes = progress.loaded && progress.loaded / progress.total;
29493
+ var uploadPercent = loadedRes && loadedRes * 100;
29494
+ setSizeProgress({
29495
+ loaded: progress.loaded || 0,
29496
+ total: progress.total || 0
29497
+ });
29498
+ setProgress(uploadPercent);
29499
+ }, messageType).then(function (url) {
29393
29500
  try {
29394
29501
  return Promise.resolve(fetch(url)).then(function (response) {
29395
29502
  setAttachmentToCache(attachment.url, response);
@@ -29494,7 +29601,7 @@ var Attachment = function Attachment(_ref) {
29494
29601
  imageMinWidth: imageMinWidth,
29495
29602
  withPrefix: withPrefix,
29496
29603
  borderColor: borderColor
29497
- }, /*#__PURE__*/React__default.createElement(UploadPercent, {
29604
+ }, !isPreview && (isInUploadingState || downloadingFile) && sizeProgress && sizeProgress.loaded < sizeProgress.total && (/*#__PURE__*/React__default.createElement(UploadPercent, {
29498
29605
  isRepliedMessage: isRepliedMessage,
29499
29606
  isDetailsView: isDetailsView,
29500
29607
  backgroundColor: overlayBackground2
@@ -29524,7 +29631,7 @@ var Attachment = function Attachment(_ref) {
29524
29631
  }
29525
29632
  })), sizeProgress && (/*#__PURE__*/React__default.createElement(SizeProgress, {
29526
29633
  color: textOnPrimary
29527
- }, bytesToSize(sizeProgress.loaded, 1), " / ", bytesToSize(sizeProgress.total, 1)))))))) : null, isPreview && (/*#__PURE__*/React__default.createElement(RemoveChosenFile, {
29634
+ }, bytesToSize(sizeProgress.loaded, 1), " / ", bytesToSize(sizeProgress.total, 1))))))))) : null, isPreview && (/*#__PURE__*/React__default.createElement(RemoveChosenFile, {
29528
29635
  backgroundColor: background,
29529
29636
  color: iconInactive,
29530
29637
  onClick: function onClick() {
@@ -30964,25 +31071,33 @@ var OGMetadata = function OGMetadata(_ref) {
30964
31071
  }, [attachment === null || attachment === void 0 ? void 0 : attachment.url]);
30965
31072
  var showOGMetadata = useMemo(function () {
30966
31073
  var _metadata$og, _metadata$og2, _metadata$og2$image, _metadata$og2$image$, _metadata$og3;
30967
- return state === 'deleted' || (metadata === null || metadata === void 0 ? void 0 : (_metadata$og = metadata.og) === null || _metadata$og === void 0 ? void 0 : _metadata$og.title) === '' || (metadata === null || metadata === void 0 ? void 0 : (_metadata$og2 = metadata.og) === null || _metadata$og2 === void 0 ? void 0 : (_metadata$og2$image = _metadata$og2.image) === null || _metadata$og2$image === void 0 ? void 0 : (_metadata$og2$image$ = _metadata$og2$image[0]) === null || _metadata$og2$image$ === void 0 ? void 0 : _metadata$og2$image$.url) === '' || (metadata === null || metadata === void 0 ? void 0 : (_metadata$og3 = metadata.og) === null || _metadata$og3 === void 0 ? void 0 : _metadata$og3.description) === '' || !metadata;
31074
+ return state !== 'deleted' && (metadata === null || metadata === void 0 ? void 0 : (_metadata$og = metadata.og) === null || _metadata$og === void 0 ? void 0 : _metadata$og.title) && (metadata === null || metadata === void 0 ? void 0 : (_metadata$og2 = metadata.og) === null || _metadata$og2 === void 0 ? void 0 : (_metadata$og2$image = _metadata$og2.image) === null || _metadata$og2$image === void 0 ? void 0 : (_metadata$og2$image$ = _metadata$og2$image[0]) === null || _metadata$og2$image$ === void 0 ? void 0 : _metadata$og2$image$.url) && (metadata === null || metadata === void 0 ? void 0 : (_metadata$og3 = metadata.og) === null || _metadata$og3 === void 0 ? void 0 : _metadata$og3.description) && metadata;
30968
31075
  }, [state, metadata]);
30969
- return /*#__PURE__*/React__default.createElement(OGMetadataContainer, null, /*#__PURE__*/React__default.createElement("div", {
31076
+ return /*#__PURE__*/React__default.createElement(OGMetadataContainer, {
31077
+ showOGMetadata: !!showOGMetadata
31078
+ }, /*#__PURE__*/React__default.createElement("div", {
30970
31079
  onClick: function onClick() {
30971
31080
  window.open(attachment === null || attachment === void 0 ? void 0 : attachment.url, '_blank');
30972
31081
  }
30973
31082
  }, /*#__PURE__*/React__default.createElement(ImageContainer, {
30974
- showOGMetadata: showOGMetadata
31083
+ showOGMetadata: !!showOGMetadata
30975
31084
  }, 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, {
30976
31085
  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,
30977
31086
  alt: 'OG metadata image'
30978
- }) : null), showOGMetadata ? null : (/*#__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, {
31087
+ }) : 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, {
30979
31088
  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
30980
- }) : 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))));
31089
+ }) : 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));
30981
31090
  };
30982
- var OGMetadataContainer = styled.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: 0.8rem;\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n cursor: pointer;\n }\n"])));
30983
- var ImageContainer = styled.div(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n max-width: 100%;\n max-height: 200px;\n width: 100%;\n height: 200px;\n margin: 0 auto;\n padding: 0.3rem;\n height: ", ";\n transition: height 0.2s ease;\n"])), function (_ref2) {
31091
+ var OGMetadataContainer = styled.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) {
30984
31092
  var showOGMetadata = _ref2.showOGMetadata;
30985
- return !showOGMetadata ? '200px' : '0';
31093
+ return showOGMetadata ? '0.8rem' : '0';
31094
+ });
31095
+ var ImageContainer = styled.div(_templateObject2$v || (_templateObject2$v = _taggedTemplateLiteralLoose(["\n max-width: 100%;\n max-height: 200px;\n width: 100%;\n margin: 0 auto;\n padding: ", ";\n height: ", ";\n transition: height 0.2s ease;\n"])), function (_ref3) {
31096
+ var showOGMetadata = _ref3.showOGMetadata;
31097
+ return showOGMetadata ? '0.3rem' : '0';
31098
+ }, function (_ref4) {
31099
+ var showOGMetadata = _ref4.showOGMetadata;
31100
+ return showOGMetadata ? '200px' : '0';
30986
31101
  });
30987
31102
  var OGText = styled.div(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteralLoose(["\n width: 80%;\n padding: 0.5rem;\n margin: 0;\n"])));
30988
31103
  var Url = styled.p(_templateObject4$l || (_templateObject4$l = _taggedTemplateLiteralLoose(["\n font-weight: normal;\n font-size: 13px;\n padding: 0;\n margin: 0 0 12px 0;\n color: gray;\n"])));
@@ -32918,7 +33033,7 @@ var MessageList = function MessageList(_ref2) {
32918
33033
  clearVisibleMessagesMap();
32919
33034
  }
32920
33035
  if (channel) {
32921
- dispatch(getMessagesAC(channel, true, undefined, undefined, true));
33036
+ dispatch(getMessagesAC(channel, undefined, undefined, undefined, true));
32922
33037
  }
32923
33038
  if (channel.id) {
32924
33039
  if (channel.newMessageCount && channel.newMessageCount > 0) {
@@ -35842,11 +35957,11 @@ var AudioRecord = function AudioRecord(_ref) {
35842
35957
  setShowRecording(false);
35843
35958
  setStartRecording(false);
35844
35959
  setPlayAudio(false);
35845
- setCurrentTime(0);
35846
35960
  var audioRecording = getAudioRecordingFromMap(channelId);
35847
35961
  setRecordedFile(audioRecording || null);
35848
35962
  setRecordingIsReadyToPlay(!!audioRecording);
35849
35963
  }
35964
+ setCurrentTime(0);
35850
35965
  handleStopRecording();
35851
35966
  setCurrentChannelId(channelId);
35852
35967
  }, [channelId]);
@@ -37078,14 +37193,16 @@ var SendMessageInput = function SendMessageInput(_ref3) {
37078
37193
  text: messageText,
37079
37194
  mentionedMembers: draftMessage.mentionedMembers,
37080
37195
  messageForReply: messageForReply,
37081
- editorState: realEditorState
37196
+ editorState: realEditorState,
37197
+ bodyAttributes: messageBodyAttributes
37082
37198
  });
37083
37199
  } else {
37084
37200
  setDraftMessageToMap(activeChannel.id, {
37085
37201
  text: messageText,
37086
37202
  mentionedMembers: mentionedMembers,
37087
37203
  messageForReply: messageForReply,
37088
- editorState: realEditorState
37204
+ editorState: realEditorState,
37205
+ bodyAttributes: messageBodyAttributes
37089
37206
  });
37090
37207
  }
37091
37208
  if (!listenerIsAdded) {
@@ -37106,7 +37223,8 @@ var SendMessageInput = function SendMessageInput(_ref3) {
37106
37223
  setDraftMessageToMap(activeChannel.id, {
37107
37224
  text: messageText,
37108
37225
  mentionedMembers: mentionedMembers,
37109
- messageForReply: messageForReply
37226
+ messageForReply: messageForReply,
37227
+ bodyAttributes: messageBodyAttributes
37110
37228
  });
37111
37229
  }
37112
37230
  }, [mentionedMembers]);
@@ -37160,7 +37278,8 @@ var SendMessageInput = function SendMessageInput(_ref3) {
37160
37278
  setDraftMessageToMap(activeChannel.id, {
37161
37279
  text: messageText,
37162
37280
  mentionedMembers: mentionedMembers,
37163
- messageForReply: messageForReply
37281
+ messageForReply: messageForReply,
37282
+ bodyAttributes: messageBodyAttributes
37164
37283
  });
37165
37284
  }
37166
37285
  if (messageForReply && messageToEdit) {
@@ -40621,7 +40740,10 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
40621
40740
  var showScrollToNewMessageButton = useSelector(showScrollToNewMessageButtonSelector);
40622
40741
  var messages = useSelector(activeChannelMessagesSelector) || [];
40623
40742
  var handleScrollToBottom = function handleScrollToBottom() {
40624
- dispatch(markMessagesAsReadAC(channel.id, [channel.lastMessage.id]));
40743
+ var user = getClient().user;
40744
+ if (channel.lastMessage.user.id !== user.id) {
40745
+ dispatch(markMessagesAsReadAC(channel.id, [channel.lastMessage.id]));
40746
+ }
40625
40747
  handleScrollToLastMessage(channel.lastMessage.id);
40626
40748
  };
40627
40749
  var handleScrollToLastMessage = function handleScrollToLastMessage(messageId) {