sceyt-chat-react-uikit 1.9.0 → 1.9.1-beta.2

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
@@ -14324,6 +14324,7 @@ var messageSlice = createSlice({
14324
14324
  if (state.pinnedMessagesListOpen) {
14325
14325
  state.pinnedMessagesListOpen = false;
14326
14326
  state.pinnedMessagesListCloseRequested = true;
14327
+ state.selectedMessagesMap = null;
14327
14328
  }
14328
14329
  },
14329
14330
  setMessageForReply: function setMessageForReply(state, action) {
@@ -19304,69 +19305,55 @@ function forwardMessage(action) {
19304
19305
  activeChannelId = getActiveChannelId();
19305
19306
  messageTid = null;
19306
19307
  _context15.p = 1;
19307
- if (!(accompanyingMessage !== null && accompanyingMessage !== void 0 && accompanyingMessage.body)) {
19308
- _context15.n = 2;
19309
- break;
19310
- }
19311
19308
  _context15.n = 2;
19312
- return call(sendTextMessage, {
19313
- type: SEND_TEXT_MESSAGE,
19314
- payload: {
19315
- message: accompanyingMessage,
19316
- channelId: channelId,
19317
- connectionState: connectionState
19318
- }
19319
- });
19320
- case 2:
19321
- _context15.n = 3;
19322
19309
  return call(getChannelFromMap, channelId);
19323
- case 3:
19310
+ case 2:
19324
19311
  channel = _context15.v;
19325
19312
  if (channel) {
19326
- _context15.n = 8;
19313
+ _context15.n = 7;
19327
19314
  break;
19328
19315
  }
19329
19316
  channel = getChannelFromAllChannels(channelId) || null;
19330
19317
  if (channel) {
19331
- _context15.n = 6;
19318
+ _context15.n = 5;
19332
19319
  break;
19333
19320
  }
19334
19321
  _SceytChatClient = getClient();
19335
- _context15.n = 4;
19322
+ _context15.n = 3;
19336
19323
  return call(_SceytChatClient.getChannel, channelId);
19337
- case 4:
19324
+ case 3:
19338
19325
  channel = _context15.v;
19339
19326
  if (!channel) {
19340
- _context15.n = 5;
19327
+ _context15.n = 4;
19341
19328
  break;
19342
19329
  }
19343
19330
  setChannelInMap(channel);
19344
19331
  addChannelToAllChannels(_extends({}, channel));
19345
19332
  parsedChannel = JSON.parse(JSON.stringify(channel));
19346
- _context15.n = 5;
19333
+ _context15.n = 4;
19347
19334
  return put(addChannelAC(parsedChannel));
19348
- case 5:
19349
- _context15.n = 7;
19335
+ case 4:
19336
+ _context15.n = 6;
19350
19337
  break;
19351
- case 6:
19338
+ case 5:
19352
19339
  setChannelInMap(channel);
19353
- case 7:
19340
+ case 6:
19354
19341
  if (!channel) {
19355
19342
  channel = getChannelFromAllChannelsMap(channelId);
19356
19343
  }
19357
- case 8:
19344
+ case 7:
19358
19345
  if (channel) {
19359
- _context15.n = 9;
19346
+ _context15.n = 8;
19360
19347
  break;
19361
19348
  }
19362
19349
  throw new Error('Channel not found');
19363
- case 9:
19350
+ case 8:
19364
19351
  mentionedUserIds = message.mentionedUsers ? message.mentionedUsers.map(function (member) {
19365
19352
  return member.id;
19366
19353
  }) : [];
19367
19354
  attachments = message.attachments;
19368
19355
  if ((channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC) && !(channel.userRole === 'admin' || channel.userRole === 'owner')) {
19369
- _context15.n = 18;
19356
+ _context15.n = 17;
19370
19357
  break;
19371
19358
  }
19372
19359
  if (message.attachments && message.attachments.length && action.type !== RESEND_MESSAGE) {
@@ -19419,28 +19406,28 @@ function forwardMessage(action) {
19419
19406
  pendingMessage.forwardingDetails.hops = message.forwardingDetails ? message.forwardingDetails.hops : 1;
19420
19407
  }
19421
19408
  if (!pendingMessage) {
19422
- _context15.n = 11;
19409
+ _context15.n = 10;
19423
19410
  break;
19424
19411
  }
19425
19412
  if (!(action.type !== RESEND_MESSAGE)) {
19426
- _context15.n = 11;
19413
+ _context15.n = 10;
19427
19414
  break;
19428
19415
  }
19429
- _context15.n = 10;
19416
+ _context15.n = 9;
19430
19417
  return call(loadOGMetadataForLinkMessages, [pendingMessage], true);
19431
- case 10:
19432
- _context15.n = 11;
19418
+ case 9:
19419
+ _context15.n = 10;
19433
19420
  return call(updateMessage$1, action.type, pendingMessage, channel.id, channelId === activeChannelId, message, isNotShowOwnMessageForward, false);
19434
- case 11:
19421
+ case 10:
19435
19422
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19436
- _context15.n = 17;
19423
+ _context15.n = 16;
19437
19424
  break;
19438
19425
  }
19439
- _context15.n = 12;
19426
+ _context15.n = 11;
19440
19427
  return call(channel.sendMessage, _extends({}, messageToSend, isNotShowOwnMessageForward ? {
19441
19428
  forwardingDetails: null
19442
19429
  } : {}));
19443
- case 12:
19430
+ case 11:
19444
19431
  messageResponse = _context15.v;
19445
19432
  responseAttachments = (messageResponse.attachments || attachments || []).map(function (attachment, index) {
19446
19433
  var localAttachment = attachments[index];
@@ -19456,12 +19443,12 @@ function forwardMessage(action) {
19456
19443
  parentMessage: isForward ? null : messageResponse.parentMessage
19457
19444
  });
19458
19445
  if (!(channelId === activeChannelId)) {
19459
- _context15.n = 13;
19446
+ _context15.n = 12;
19460
19447
  break;
19461
19448
  }
19462
- _context15.n = 13;
19449
+ _context15.n = 12;
19463
19450
  return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19464
- case 13:
19451
+ case 12:
19465
19452
  confirmedForward = JSON.parse(JSON.stringify(messageUpdateData));
19466
19453
  updateMessageOnMap(channel.id, {
19467
19454
  messageId: messageToSend.tid,
@@ -19470,15 +19457,15 @@ function forwardMessage(action) {
19470
19457
  addConfirmedMessageToCache(channel.id, confirmedForward);
19471
19458
  messageToUpdate = JSON.parse(JSON.stringify(messageUpdateData));
19472
19459
  if (!channel.unread) {
19473
- _context15.n = 14;
19460
+ _context15.n = 13;
19474
19461
  break;
19475
19462
  }
19476
- _context15.n = 14;
19463
+ _context15.n = 13;
19477
19464
  return put(markChannelAsReadAC(channel.id));
19478
- case 14:
19465
+ case 13:
19479
19466
  resolvedLastMessage = getResolvedChannelLastMessage(channel.id, messageToUpdate, messageToSend);
19480
19467
  if (!lastMessageNeedsUpdate(getReduxChannelLastMessage(channel.id), resolvedLastMessage)) {
19481
- _context15.n = 16;
19468
+ _context15.n = 15;
19482
19469
  break;
19483
19470
  }
19484
19471
  updateChannelLastMessageOnAllChannels(channel.id, resolvedLastMessage);
@@ -19486,15 +19473,29 @@ function forwardMessage(action) {
19486
19473
  lastMessage: resolvedLastMessage,
19487
19474
  lastReactedMessage: null
19488
19475
  };
19489
- _context15.n = 15;
19476
+ _context15.n = 14;
19490
19477
  return put(updateChannelDataAC(channel.id, _extends({}, channel, channelUpdateParam), true, false, true));
19491
- case 15:
19478
+ case 14:
19492
19479
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19493
- case 16:
19494
- _context15.n = 18;
19480
+ case 15:
19481
+ _context15.n = 17;
19495
19482
  break;
19496
- case 17:
19483
+ case 16:
19497
19484
  throw new Error('Connection required to forward message');
19485
+ case 17:
19486
+ if (!(accompanyingMessage !== null && accompanyingMessage !== void 0 && accompanyingMessage.body)) {
19487
+ _context15.n = 18;
19488
+ break;
19489
+ }
19490
+ _context15.n = 18;
19491
+ return call(sendTextMessage, {
19492
+ type: SEND_TEXT_MESSAGE,
19493
+ payload: {
19494
+ message: accompanyingMessage,
19495
+ channelId: channelId,
19496
+ connectionState: connectionState
19497
+ }
19498
+ });
19498
19499
  case 18:
19499
19500
  _context15.n = 21;
19500
19501
  break;
@@ -25083,7 +25084,7 @@ var getResolvedChannelLastMessage$1 = function getResolvedChannelLastMessage(cha
25083
25084
  };
25084
25085
  function handleChannelMessageEvent(args, SceytChatClient) {
25085
25086
  var _storedChannel$lastMe3, _storedChannel$lastMe4, _store$getState$Messa, _storedChannel$lastMe9, _message$attachments;
25086
- var channel, message, messageToHandle, channelFilterTypes, activeChannelId, channelExists, channelForAdd, storedChannel, candidateLastMessage, resolvedLastMessage, messages, lastMessageIsInActiveWindow, isSameLastMessage, resolvedLastMessageUpdate, shouldUpdateLastMessage, shouldUpdateReduxLastMessage, _store$getState$Messa2, _storedChannel$lastMe7, visibleMessagesMap, lastMessageIsVisible, messagesHasNext, existingMessage, tabIsActive, channelDataUpdate, groupName, showNotifications, _tabIsActive, _state$ThemeReducer$n, _state$ThemeReducer$n2, _state$ThemeReducer$n3, _state$ThemeReducer$n4, _state$ThemeReducer$n5, _state$ThemeReducer$n6, contactsMap, getFromContacts, state, theme, accentColor, textSecondary, messageBody;
25087
+ var channel, message, messageToHandle, channelFilterTypes, activeChannelId, channelExists, channelForAdd, storedChannel, candidateLastMessage, resolvedLastMessage, messages, lastMessageIsInActiveWindow, isSameLastMessage, shouldRetainStoredDeliveryStatus, resolvedDeliveryStatus, resolvedLastMessageUpdate, shouldUpdateLastMessage, shouldUpdateReduxLastMessage, _store$getState$Messa2, _storedChannel$lastMe7, visibleMessagesMap, lastMessageIsVisible, messagesHasNext, existingMessage, tabIsActive, channelDataUpdate, groupName, showNotifications, _tabIsActive, _state$ThemeReducer$n, _state$ThemeReducer$n2, _state$ThemeReducer$n3, _state$ThemeReducer$n4, _state$ThemeReducer$n5, _state$ThemeReducer$n6, contactsMap, getFromContacts, state, theme, accentColor, textSecondary, messageBody;
25087
25088
  return _regenerator().w(function (_context2) {
25088
25089
  while (1) switch (_context2.n) {
25089
25090
  case 0:
@@ -25110,9 +25111,11 @@ function handleChannelMessageEvent(args, SceytChatClient) {
25110
25111
  return m.id === ((_storedChannel$lastMe5 = storedChannel.lastMessage) === null || _storedChannel$lastMe5 === void 0 ? void 0 : _storedChannel$lastMe5.id) || (storedChannel === null || storedChannel === void 0 ? void 0 : (_storedChannel$lastMe6 = storedChannel.lastMessage) === null || _storedChannel$lastMe6 === void 0 ? void 0 : _storedChannel$lastMe6.tid) === m.tid;
25111
25112
  }) : false;
25112
25113
  isSameLastMessage = (storedChannel === null || storedChannel === void 0 ? void 0 : storedChannel.lastMessage) && resolvedLastMessage && (resolvedLastMessage.id && storedChannel.lastMessage.id === resolvedLastMessage.id || resolvedLastMessage.tid && storedChannel.lastMessage.tid === resolvedLastMessage.tid);
25114
+ shouldRetainStoredDeliveryStatus = !!isSameLastMessage && shouldSkipDeliveryStatusUpdate(message.deliveryStatus, storedChannel.lastMessage.deliveryStatus);
25115
+ resolvedDeliveryStatus = shouldRetainStoredDeliveryStatus ? storedChannel.lastMessage.deliveryStatus : message.deliveryStatus;
25113
25116
  resolvedLastMessageUpdate = isSameLastMessage ? _extends({}, storedChannel.lastMessage, {
25114
25117
  id: message.id,
25115
- deliveryStatus: message.deliveryStatus,
25118
+ deliveryStatus: resolvedDeliveryStatus,
25116
25119
  state: MESSAGE_STATUS.UNMODIFIED
25117
25120
  }) : resolvedLastMessage;
25118
25121
  shouldUpdateLastMessage = lastMessageNeedsUpdate$1(storedChannel === null || storedChannel === void 0 ? void 0 : storedChannel.lastMessage, resolvedLastMessageUpdate);
@@ -25159,7 +25162,7 @@ function handleChannelMessageEvent(args, SceytChatClient) {
25159
25162
  _context2.n = 5;
25160
25163
  return put(updateMessageAC(existingMessage.id || existingMessage.tid, _extends({}, existingMessage, {
25161
25164
  id: message.id,
25162
- deliveryStatus: message.deliveryStatus,
25165
+ deliveryStatus: resolvedDeliveryStatus,
25163
25166
  state: MESSAGE_STATUS.UNMODIFIED
25164
25167
  })));
25165
25168
  case 5:
@@ -25182,7 +25185,9 @@ function handleChannelMessageEvent(args, SceytChatClient) {
25182
25185
  }, 50);
25183
25186
  }
25184
25187
  case 10:
25185
- addMessageToMap(channel.id, message);
25188
+ addMessageToMap(channel.id, _extends({}, message, {
25189
+ deliveryStatus: resolvedDeliveryStatus
25190
+ }));
25186
25191
  channelDataUpdate = _extends({
25187
25192
  messageCount: channelForAdd.messageCount,
25188
25193
  unread: channelForAdd.unread,
@@ -42084,7 +42089,7 @@ function ForwardMessagePopup(_ref2) {
42084
42089
  }, /*#__PURE__*/React__default.createElement(ForwardLinkPreviewIcon, {
42085
42090
  color: accentColor,
42086
42091
  bg: surface1
42087
- }))) : firstForwardAttachment ? (/*#__PURE__*/React__default.createElement(ForwardPreviewIconWrapper, {
42092
+ }))) : firstForwardAttachment && firstForwardAttachment.type !== attachmentTypes.voice ? (/*#__PURE__*/React__default.createElement(ForwardPreviewIconWrapper, {
42088
42093
  backgroundColor: accentColor,
42089
42094
  iconColor: textOnPrimary
42090
42095
  }, /*#__PURE__*/React__default.createElement(SvgChoseFile, null))) : null, /*#__PURE__*/React__default.createElement(ForwardPreviewInfo, null, /*#__PURE__*/React__default.createElement(ForwardPreviewTitle, {
@@ -45715,6 +45720,8 @@ var PinnedMessagesList = function PinnedMessagesList(_ref) {
45715
45720
  var channelId = _ref.channelId,
45716
45721
  onClose = _ref.onClose,
45717
45722
  closeRequested = _ref.closeRequested,
45723
+ _ref$selectionIsActiv = _ref.selectionIsActive,
45724
+ selectionIsActive = _ref$selectionIsActiv === void 0 ? false : _ref$selectionIsActiv,
45718
45725
  renderMessage = _ref.renderMessage,
45719
45726
  ScrollContainer = _ref.ScrollContainer,
45720
45727
  MessagesContainer = _ref.MessagesContainer;
@@ -45866,7 +45873,7 @@ var PinnedMessagesList = function PinnedMessagesList(_ref) {
45866
45873
  prevMessage: previousMessage || null,
45867
45874
  nextMessage: ((_displayedPins2 = displayedPins[index + 1]) === null || _displayedPins2 === void 0 ? void 0 : _displayedPins2.message) || null,
45868
45875
  index: index
45869
- }), (pin.message.id || pin.message.tid) && (/*#__PURE__*/React__default.createElement(GoToMessageButton, {
45876
+ }), !selectionIsActive && (pin.message.id || pin.message.tid) && (/*#__PURE__*/React__default.createElement(GoToMessageButton, {
45870
45877
  background: backgroundSections,
45871
45878
  className: 'pinned-message-navigation',
45872
45879
  type: 'button',
@@ -53014,6 +53021,7 @@ var MessageList = function MessageList(_ref) {
53014
53021
  channelId: channel.id,
53015
53022
  onClose: closePinnedMessagesList,
53016
53023
  closeRequested: pinnedMessagesListCloseRequested,
53024
+ selectionIsActive: Boolean(selectedMessagesMap === null || selectedMessagesMap === void 0 ? void 0 : selectedMessagesMap.size),
53017
53025
  ScrollContainer: Container$j,
53018
53026
  MessagesContainer: MessagesBox,
53019
53027
  renderMessage: function renderMessage(_ref3) {
@@ -53420,6 +53428,9 @@ var MessagesContainer = function MessagesContainer(_ref) {
53420
53428
  }));
53421
53429
  };
53422
53430
 
53431
+ function isMentionTextUnchanged(originalText, currentText) {
53432
+ return originalText == null || originalText === currentText;
53433
+ }
53423
53434
  function convertMentionElement(domNode) {
53424
53435
  var textContent = domNode.textContent;
53425
53436
  if (textContent !== null) {
@@ -53445,6 +53456,7 @@ var MentionNode = /*#__PURE__*/function (_TextNode) {
53445
53456
  value: function exportJSON() {
53446
53457
  return _extends({}, _superPropGet(MentionNode, "exportJSON", this, 3)([]), {
53447
53458
  mentionName: this.__mention.id,
53459
+ mentionText: this.__mention.name,
53448
53460
  type: 'mention',
53449
53461
  version: 1
53450
53462
  });
@@ -53453,9 +53465,26 @@ var MentionNode = /*#__PURE__*/function (_TextNode) {
53453
53465
  key: "createDOM",
53454
53466
  value: function createDOM(config) {
53455
53467
  var dom = _superPropGet(MentionNode, "createDOM", this, 3)([config]);
53456
- dom.className = 'mention';
53468
+ if (this.isUnchangedMention()) {
53469
+ dom.className = 'mention';
53470
+ }
53457
53471
  return dom;
53458
53472
  }
53473
+ }, {
53474
+ key: "updateDOM",
53475
+ value: function updateDOM(prevNode, dom, config) {
53476
+ var wasUnchangedMention = prevNode.isUnchangedMention();
53477
+ var isUnchangedMention = this.isUnchangedMention();
53478
+ if (wasUnchangedMention !== isUnchangedMention) {
53479
+ dom.classList.toggle('mention', isUnchangedMention);
53480
+ }
53481
+ return _superPropGet(MentionNode, "updateDOM", this, 3)([prevNode, dom, config]);
53482
+ }
53483
+ }, {
53484
+ key: "isUnchangedMention",
53485
+ value: function isUnchangedMention() {
53486
+ return isMentionTextUnchanged(this.__mention.name, this.__text);
53487
+ }
53459
53488
  }, {
53460
53489
  key: "exportDOM",
53461
53490
  value: function exportDOM() {
@@ -53494,7 +53523,11 @@ var MentionNode = /*#__PURE__*/function (_TextNode) {
53494
53523
  }, {
53495
53524
  key: "importJSON",
53496
53525
  value: function importJSON(serializedNode) {
53497
- var node = $createMentionNode(serializedNode.mentionName);
53526
+ var _serializedNode$menti;
53527
+ var node = $createMentionNode({
53528
+ id: serializedNode.mentionName,
53529
+ name: (_serializedNode$menti = serializedNode.mentionText) != null ? _serializedNode$menti : serializedNode.text
53530
+ });
53498
53531
  node.setTextContent(serializedNode.text);
53499
53532
  node.setFormat(serializedNode.format);
53500
53533
  node.setDetail(serializedNode.detail);
@@ -53666,7 +53699,6 @@ function MentionsContainer(_ref2) {
53666
53699
  selectedIndex = _ref2.selectedIndex,
53667
53700
  selectOptionAndCleanUp = _ref2.selectOptionAndCleanUp,
53668
53701
  setHighlightedIndex = _ref2.setHighlightedIndex,
53669
- setMentionsIsOpen = _ref2.setMentionsIsOpen,
53670
53702
  channelId = _ref2.channelId,
53671
53703
  alignLeft = _ref2.alignLeft,
53672
53704
  handleLeftOffset = _ref2.handleLeftOffset;
@@ -53708,7 +53740,6 @@ function MentionsContainer(_ref2) {
53708
53740
  };
53709
53741
  }, [selectedIndex]);
53710
53742
  useEffect(function () {
53711
- setMentionsIsOpen(true);
53712
53743
  var menuTimeOut = setTimeout(function () {
53713
53744
  var menuElement = document.getElementById('typeahead-menu');
53714
53745
  if (menuElement) {
@@ -53722,7 +53753,6 @@ function MentionsContainer(_ref2) {
53722
53753
  menuElement.style.zIndex = '-1';
53723
53754
  }
53724
53755
  selectOptionAndCleanUp(null);
53725
- setMentionsIsOpen(false);
53726
53756
  };
53727
53757
  }, []);
53728
53758
  var handleScroll = useCallback(function (e) {
@@ -53772,7 +53802,6 @@ function MentionsPlugin(_ref3) {
53772
53802
  userId = _ref3.userId,
53773
53803
  getFromContacts = _ref3.getFromContacts,
53774
53804
  setMentionMember = _ref3.setMentionMember,
53775
- setMentionsIsOpen = _ref3.setMentionsIsOpen,
53776
53805
  members = _ref3.members,
53777
53806
  channelId = _ref3.channelId;
53778
53807
  var _useLexicalComposerCo = useLexicalComposerContext(),
@@ -53846,7 +53875,6 @@ function MentionsPlugin(_ref3) {
53846
53875
  return anchorElementRef.current ? (/*#__PURE__*/React__default.createElement(MentionsContainer, {
53847
53876
  queryString: queryString,
53848
53877
  options: options,
53849
- setMentionsIsOpen: setMentionsIsOpen,
53850
53878
  selectOptionAndCleanUp: selectOptionAndCleanUp,
53851
53879
  selectedIndex: selectedIndex,
53852
53880
  setHighlightedIndex: setHighlightedIndex,
@@ -54584,6 +54612,48 @@ function EditMessagePlugin(_ref) {
54584
54612
  return null;
54585
54613
  }
54586
54614
 
54615
+ function serializeFormattedMessage(messageText, children, offsetList) {
54616
+ var currentOffsetDiff = 0;
54617
+ var newMessageText = messageText;
54618
+ var messageBodyAttributes = [];
54619
+ children.forEach(function (child, index) {
54620
+ var offsetRange = offsetList[index];
54621
+ if (!offsetRange) return;
54622
+ var offset = offsetRange.start;
54623
+ var length = offsetRange.end - offsetRange.start;
54624
+ var attributeOffset = offset + currentOffsetDiff;
54625
+ var attributeTypes = bodyAttributesMapByType[child.format];
54626
+ var isUnchangedMention = child.type === 'mention' && Boolean(child.mentionName) && isMentionTextUnchanged(child.mentionText, child.text);
54627
+ if (isUnchangedMention) {
54628
+ var mentionId = "@" + child.mentionName;
54629
+ var idLength = mentionId.length;
54630
+ newMessageText = "" + newMessageText.slice(0, attributeOffset) + mentionId + newMessageText.slice(attributeOffset + length);
54631
+ currentOffsetDiff += idLength - length;
54632
+ messageBodyAttributes.push({
54633
+ type: 'mention',
54634
+ metadata: child.mentionName,
54635
+ offset: attributeOffset,
54636
+ length: idLength
54637
+ });
54638
+ }
54639
+ if (attributeTypes) {
54640
+ var formattedLength = isUnchangedMention ? ("@" + child.mentionName).length : length;
54641
+ var formattedOffset = attributeOffset;
54642
+ attributeTypes.forEach(function (attributeType) {
54643
+ messageBodyAttributes.push({
54644
+ type: attributeType,
54645
+ metadata: child.metadata || '',
54646
+ offset: formattedOffset,
54647
+ length: formattedLength
54648
+ });
54649
+ });
54650
+ }
54651
+ });
54652
+ return {
54653
+ messageText: newMessageText,
54654
+ bodyAttributes: messageBodyAttributes
54655
+ };
54656
+ }
54587
54657
  function parseHTMLToFormattedSegments(html) {
54588
54658
  var parser = new DOMParser();
54589
54659
  var doc = parser.parseFromString(html, 'text/html');
@@ -54813,74 +54883,11 @@ function useFormatMessage(editor, editorState, setMessageBodyAttributes, setMess
54813
54883
  var parsedEditorState = editorState.toJSON();
54814
54884
  var offsetView = $createOffsetView(editor);
54815
54885
  var offsetList = Array.from(offsetView._offsetMap.values());
54816
- var messageBodyAttributes = [];
54817
54886
  if (parsedEditorState.root && parsedEditorState.root.children && parsedEditorState.root.children.length && (parsedEditorState.root.children[0].children.length > 1 || parsedEditorState.root.children[0].children[0] && (parsedEditorState.root.children[0].children[0].type === 'mention' || parsedEditorState.root.children[0].children[0].format > 0))) {
54818
- var currentOffsetDiff = 0;
54819
- var newMessageText = messageText;
54820
- parsedEditorState.root.children[0].children.forEach(function (child, index) {
54821
- if (child.type === 'mention') {
54822
- var offset = offsetList[index].start;
54823
- var length = offsetList[index].end - offsetList[index].start;
54824
- var mentionId = "@" + child.mentionName;
54825
- var idLength = mentionId.length;
54826
- newMessageText = "" + newMessageText.slice(0, offset + currentOffsetDiff) + mentionId + newMessageText.slice(offset + currentOffsetDiff + length);
54827
- var menIndex = offset + currentOffsetDiff;
54828
- currentOffsetDiff += idLength - length;
54829
- messageBodyAttributes.push({
54830
- type: 'mention',
54831
- metadata: child.mentionName,
54832
- offset: menIndex,
54833
- length: idLength
54834
- });
54835
- if (child.format) {
54836
- var attributeTypes = bodyAttributesMapByType[child.format];
54837
- if (attributeTypes.length > 1) {
54838
- attributeTypes.forEach(function (attributeType) {
54839
- messageBodyAttributes.push({
54840
- type: attributeType,
54841
- metadata: child.metadata || '',
54842
- offset: menIndex,
54843
- length: length
54844
- });
54845
- });
54846
- } else {
54847
- messageBodyAttributes.push({
54848
- type: attributeTypes[0],
54849
- metadata: child.metadata || '',
54850
- offset: menIndex,
54851
- length: length
54852
- });
54853
- }
54854
- }
54855
- } else {
54856
- var _attributeTypes = bodyAttributesMapByType[child.format];
54857
- if (_attributeTypes) {
54858
- var _offset = offsetList[index].start;
54859
- var _length = offsetList[index].end - offsetList[index].start;
54860
- var attIndex = _offset + currentOffsetDiff;
54861
- if (_attributeTypes.length > 1) {
54862
- _attributeTypes.forEach(function (attributeType) {
54863
- messageBodyAttributes.push({
54864
- type: attributeType,
54865
- metadata: child.metadata || '',
54866
- offset: attIndex,
54867
- length: _length
54868
- });
54869
- });
54870
- } else {
54871
- messageBodyAttributes.push({
54872
- type: _attributeTypes[0],
54873
- metadata: child.metadata || '',
54874
- offset: attIndex,
54875
- length: _length
54876
- });
54877
- }
54878
- }
54879
- }
54880
- });
54887
+ var serializedMessage = serializeFormattedMessage(messageText, parsedEditorState.root.children[0].children, offsetList);
54881
54888
  if (messageText) {
54882
- setMessageText(newMessageText);
54883
- setMessageBodyAttributes(messageBodyAttributes);
54889
+ setMessageText(serializedMessage.messageText);
54890
+ setMessageBodyAttributes(serializedMessage.bodyAttributes);
54884
54891
  } else {
54885
54892
  setMessageText(messageToEdit ? messageToEdit.body : '');
54886
54893
  }
@@ -56892,56 +56899,53 @@ var SendMessageInput = function SendMessageInput(_ref3) {
56892
56899
  var _useState16 = useState(''),
56893
56900
  browser = _useState16[0],
56894
56901
  setBrowser = _useState16[1];
56895
- var _useState17 = useState(false),
56896
- mentionsIsOpen = _useState17[0],
56897
- setMentionsIsOpen = _useState17[1];
56898
- var _useState18 = useState(),
56899
- inputContainerHeight = _useState18[0],
56900
- setInputContainerHeight = _useState18[1];
56902
+ var _useState17 = useState(),
56903
+ inputContainerHeight = _useState17[0],
56904
+ setInputContainerHeight = _useState17[1];
56901
56905
  var selectedText = useRef(null);
56906
+ var _useState18 = useState(),
56907
+ typingTimout = _useState18[0],
56908
+ setTypingTimout = _useState18[1];
56902
56909
  var _useState19 = useState(),
56903
- typingTimout = _useState19[0],
56904
- setTypingTimout = _useState19[1];
56905
- var _useState20 = useState(),
56906
- inTypingStateTimout = _useState20[0],
56907
- setInTypingStateTimout = _useState20[1];
56910
+ inTypingStateTimout = _useState19[0],
56911
+ setInTypingStateTimout = _useState19[1];
56912
+ var _useState20 = useState(false),
56913
+ inTypingState = _useState20[0],
56914
+ setInTypingState = _useState20[1];
56908
56915
  var _useState21 = useState(false),
56909
- inTypingState = _useState21[0],
56910
- setInTypingState = _useState21[1];
56916
+ sendMessageIsActive = _useState21[0],
56917
+ setSendMessageIsActive = _useState21[1];
56911
56918
  var _useState22 = useState(false),
56912
- sendMessageIsActive = _useState22[0],
56913
- setSendMessageIsActive = _useState22[1];
56914
- var _useState23 = useState(false),
56915
- isSendMessageInFlight = _useState23[0],
56916
- setIsSendMessageInFlight = _useState23[1];
56917
- var _useState24 = useState([]),
56918
- attachments = _useState24[0],
56919
- setAttachments = _useState24[1];
56919
+ isSendMessageInFlight = _useState22[0],
56920
+ setIsSendMessageInFlight = _useState22[1];
56921
+ var _useState23 = useState([]),
56922
+ attachments = _useState23[0],
56923
+ setAttachments = _useState23[1];
56920
56924
  var attachmentsRef = useRef([]);
56925
+ var _useState24 = useState(false),
56926
+ forwardPopupOpen = _useState24[0],
56927
+ setForwardPopupOpen = _useState24[1];
56921
56928
  var _useState25 = useState(false),
56922
- forwardPopupOpen = _useState25[0],
56923
- setForwardPopupOpen = _useState25[1];
56929
+ deletePopupOpen = _useState25[0],
56930
+ setDeletePopupOpen = _useState25[1];
56924
56931
  var _useState26 = useState(false),
56925
- deletePopupOpen = _useState26[0],
56926
- setDeletePopupOpen = _useState26[1];
56927
- var _useState27 = useState(false),
56928
- isIncomingMessage = _useState27[0],
56929
- setIsIncomingMessage = _useState27[1];
56930
- var _useState28 = useState('.jpg,.jpeg,.png,.gif,.mp4,.mov,.avi,.wmv,.flv,.webm,.jfif'),
56931
- mediaExtensions = _useState28[0],
56932
- setMediaExtensions = _useState28[1];
56933
- var _useState29 = useState(''),
56934
- uploadErrorMessage = _useState29[0],
56935
- setUploadErrorMessage = _useState29[1];
56936
- var _useState30 = useState(false),
56937
- viewOnce = _useState30[0],
56938
- setViewOnce = _useState30[1];
56939
- var _useState31 = useState(areDraftMessagesHydrated()),
56940
- draftsHydrated = _useState31[0],
56941
- setDraftsHydrated = _useState31[1];
56942
- var _useState32 = useState(activeChannel.id || ''),
56943
- composerChannelId = _useState32[0],
56944
- setComposerChannelId = _useState32[1];
56932
+ isIncomingMessage = _useState26[0],
56933
+ setIsIncomingMessage = _useState26[1];
56934
+ var _useState27 = useState('.jpg,.jpeg,.png,.gif,.mp4,.mov,.avi,.wmv,.flv,.webm,.jfif'),
56935
+ mediaExtensions = _useState27[0],
56936
+ setMediaExtensions = _useState27[1];
56937
+ var _useState28 = useState(''),
56938
+ uploadErrorMessage = _useState28[0],
56939
+ setUploadErrorMessage = _useState28[1];
56940
+ var _useState29 = useState(false),
56941
+ viewOnce = _useState29[0],
56942
+ setViewOnce = _useState29[1];
56943
+ var _useState30 = useState(areDraftMessagesHydrated()),
56944
+ draftsHydrated = _useState30[0],
56945
+ setDraftsHydrated = _useState30[1];
56946
+ var _useState31 = useState(activeChannel.id || ''),
56947
+ composerChannelId = _useState31[0],
56948
+ setComposerChannelId = _useState31[1];
56945
56949
  var typingOrRecordingIndicator = useSelector(typingOrRecordingIndicatorArraySelector(activeChannel.id));
56946
56950
  var contactsMap = useSelector(contactsMapSelector);
56947
56951
  var connectionStatus = useSelector(connectionStatusSelector, shallowEqual);
@@ -56965,36 +56969,36 @@ var SendMessageInput = function SendMessageInput(_ref3) {
56965
56969
  setIsSendMessageInFlight(false);
56966
56970
  });
56967
56971
  };
56968
- var _useState33 = useState(),
56969
- realEditorState = _useState33[0],
56970
- setRealEditorState = _useState33[1];
56971
- var _useState34 = useState(null),
56972
- floatingAnchorElem = _useState34[0],
56973
- setFloatingAnchorElem = _useState34[1];
56972
+ var _useState32 = useState(),
56973
+ realEditorState = _useState32[0],
56974
+ setRealEditorState = _useState32[1];
56975
+ var _useState33 = useState(null),
56976
+ floatingAnchorElem = _useState33[0],
56977
+ setFloatingAnchorElem = _useState33[1];
56978
+ var _useState34 = useState(false),
56979
+ isSmallWidthViewport = _useState34[0],
56980
+ setIsSmallWidthViewport = _useState34[1];
56974
56981
  var _useState35 = useState(false),
56975
- isSmallWidthViewport = _useState35[0],
56976
- setIsSmallWidthViewport = _useState35[1];
56977
- var _useState36 = useState(false),
56978
- isScrolling = _useState36[0],
56979
- setIsScrolling = _useState36[1];
56982
+ isScrolling = _useState35[0],
56983
+ setIsScrolling = _useState35[1];
56984
+ var _useState36 = useState(null),
56985
+ linkPreview = _useState36[0],
56986
+ setLinkPreview = _useState36[1];
56980
56987
  var _useState37 = useState(null),
56981
- linkPreview = _useState37[0],
56982
- setLinkPreview = _useState37[1];
56983
- var _useState38 = useState(null),
56984
- detectedUrl = _useState38[0],
56985
- setDetectedUrl = _useState38[1];
56986
- var _useState39 = useState(new Set()),
56987
- dismissedUrls = _useState39[0],
56988
- setDismissedUrls = _useState39[1];
56988
+ detectedUrl = _useState37[0],
56989
+ setDetectedUrl = _useState37[1];
56990
+ var _useState38 = useState(new Set()),
56991
+ dismissedUrls = _useState38[0],
56992
+ setDismissedUrls = _useState38[1];
56993
+ var _useState39 = useState(false),
56994
+ isClosingPreview = _useState39[0],
56995
+ setIsClosingPreview = _useState39[1];
56989
56996
  var _useState40 = useState(false),
56990
- isClosingPreview = _useState40[0],
56991
- setIsClosingPreview = _useState40[1];
56997
+ replyLinkPreviewImageFailed = _useState40[0],
56998
+ setReplyLinkPreviewImageFailed = _useState40[1];
56992
56999
  var _useState41 = useState(false),
56993
- replyLinkPreviewImageFailed = _useState41[0],
56994
- setReplyLinkPreviewImageFailed = _useState41[1];
56995
- var _useState42 = useState(false),
56996
- linkPreviewImageFailed = _useState42[0],
56997
- setLinkPreviewImageFailed = _useState42[1];
57000
+ linkPreviewImageFailed = _useState41[0],
57001
+ setLinkPreviewImageFailed = _useState41[1];
56998
57002
  var addAttachmentByMenu = showChooseFileAttachment && showChooseMediaAttachment;
56999
57003
  var linkify = new LinkifyIt();
57000
57004
  var oGMetadata = useSelector(function (state) {
@@ -57264,7 +57268,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
57264
57268
  });
57265
57269
  }
57266
57270
  }
57267
- if (shouldSend && !mentionsIsOpen) {
57271
+ if (shouldSend) {
57268
57272
  if (isSendMessageInFlightRef.current) {
57269
57273
  event.preventDefault();
57270
57274
  event.stopPropagation();
@@ -58777,7 +58781,6 @@ var SendMessageInput = function SendMessageInput(_ref3) {
58777
58781
  userId: user.id,
58778
58782
  getFromContacts: getFromContacts,
58779
58783
  members: activeChannelMembers,
58780
- setMentionsIsOpen: setMentionsIsOpen,
58781
58784
  channelId: activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.id
58782
58785
  })), /*#__PURE__*/React__default.createElement(HistoryPlugin, null), /*#__PURE__*/React__default.createElement(RichTextPlugin, {
58783
58786
  contentEditable: /*#__PURE__*/React__default.createElement("div", {