sceyt-chat-react-uikit 1.7.8-beta.1 → 1.7.8-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.
Files changed (3) hide show
  1. package/index.js +667 -651
  2. package/index.modern.js +667 -651
  3. package/package.json +1 -1
package/index.modern.js CHANGED
@@ -9027,6 +9027,9 @@ var handleVoteDetails = function handleVoteDetails(voteDetails, message) {
9027
9027
  voteDetails: newVoteDetails
9028
9028
  });
9029
9029
  };
9030
+ var checkIsTypeKeyPressed = function checkIsTypeKeyPressed(code) {
9031
+ return !(code === 'Enter' || code === 'NumpadEnter' || code === 'Backspace' || code === 'Delete' || code === 'ArrowLeft' || code === 'ArrowRight' || code === 'ArrowUp' || code === 'ArrowDown' || code === 'PageUp' || code === 'PageDown' || code === 'Home' || code === 'End' || code === 'Insert' || code === 'Escape' || code === 'Tab' || code === 'F1' || code === 'F2' || code === 'F3' || code === 'F4' || code === 'F5' || code === 'F6' || code === 'F7' || code === 'F8' || code === 'F9' || code === 'F10' || code === 'F11' || code === 'F12' || code === 'CapsLock' || code === 'Shift' || code === 'ShiftLeft' || code === 'ShiftRight' || code === 'Control' || code === 'ControlLeft' || code === 'ControlRight' || code === 'Alt' || code === 'AltLeft' || code === 'AltRight' || code === 'MetaLeft' || code === 'MetaRight' || code === 'Space' || code === 'Enter' || code === 'NumpadEnter' || code === 'Backspace' || code === 'Delete' || code === 'ArrowLeft' || code === 'ArrowRight' || code === 'ArrowUp' || code === 'ArrowDown' || code === 'PageUp' || code === 'PageDown' || code === 'Home' || code === 'End' || code === 'Insert' || code === 'Escape' || code === 'Tab' || code === 'F1' || code === 'F2' || code === 'F3' || code === 'F4' || code === 'F5' || code === 'F6' || code === 'F7' || code === 'F8' || code === 'F9' || code === 'F10' || code === 'F11' || code === 'F12' || code === 'Shift');
9032
+ };
9030
9033
 
9031
9034
  var baseUrlForInviteMembers = '';
9032
9035
  var autoSelectFitsChannel = false;
@@ -10057,46 +10060,76 @@ var hashString = function hashString(str) {
10057
10060
  }
10058
10061
  };
10059
10062
  var formatDisappearingMessageTime = function formatDisappearingMessageTime(periodInMilliseconds) {
10060
- var _getDisappearingSetti;
10061
10063
  if (!periodInMilliseconds) return 'Off';
10062
10064
  var periodInSeconds = periodInMilliseconds / 1000;
10063
- switch (periodInSeconds) {
10064
- case FIXED_TIMER_OPTIONS['1day']:
10065
- return '1 day';
10066
- case FIXED_TIMER_OPTIONS['1week']:
10067
- return '1 week';
10068
- case FIXED_TIMER_OPTIONS['1month']:
10069
- return '1 month';
10070
- }
10071
- var customOptions = ((_getDisappearingSetti = getDisappearingSettings()) === null || _getDisappearingSetti === void 0 ? void 0 : _getDisappearingSetti.customOptions) || [];
10072
- var customMatch = customOptions.find(function (option) {
10073
- return option.seconds === periodInSeconds;
10074
- });
10075
- if (customMatch) return customMatch.label;
10076
10065
  var SECONDS_PER_MINUTE = 60;
10077
10066
  var SECONDS_PER_HOUR = SECONDS_PER_MINUTE * 60;
10078
10067
  var SECONDS_PER_DAY = SECONDS_PER_HOUR * 24;
10079
10068
  var DAYS_PER_WEEK = 7;
10080
10069
  var DAYS_PER_MONTH = 30;
10081
- var days = Math.floor(periodInSeconds / SECONDS_PER_DAY);
10082
- var weeks = Math.floor(days / DAYS_PER_WEEK);
10083
- var months = Math.floor(days / DAYS_PER_MONTH);
10084
- var hours = Math.floor(periodInSeconds / SECONDS_PER_HOUR);
10085
- var minutes = Math.floor(periodInSeconds / SECONDS_PER_MINUTE);
10086
- switch (true) {
10087
- case months > 0:
10088
- return months + " " + (months === 1 ? 'month' : 'months');
10089
- case weeks > 0:
10090
- return weeks + " " + (weeks === 1 ? 'week' : 'weeks');
10091
- case days > 0:
10092
- return days + " " + (days === 1 ? 'day' : 'days');
10093
- case hours > 0:
10094
- return hours + " " + (hours === 1 ? 'hour' : 'hours');
10095
- case minutes > 0:
10096
- return minutes + " " + (minutes === 1 ? 'minute' : 'minutes');
10097
- default:
10098
- return periodInSeconds + " " + (periodInSeconds === 1 ? 'second' : 'seconds');
10070
+ var DAYS_PER_YEAR = 365;
10071
+ var remainingSeconds = Math.floor(periodInSeconds);
10072
+ var years = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_YEAR));
10073
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_YEAR;
10074
+ var months = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_MONTH));
10075
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_MONTH;
10076
+ var weeks = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_WEEK));
10077
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_WEEK;
10078
+ var days = Math.floor(remainingSeconds / SECONDS_PER_DAY);
10079
+ remainingSeconds %= SECONDS_PER_DAY;
10080
+ var hours = Math.floor(remainingSeconds / SECONDS_PER_HOUR);
10081
+ remainingSeconds %= SECONDS_PER_HOUR;
10082
+ var minutes = Math.floor(remainingSeconds / SECONDS_PER_MINUTE);
10083
+ remainingSeconds %= SECONDS_PER_MINUTE;
10084
+ var seconds = remainingSeconds;
10085
+ var parts = [];
10086
+ var partCount = 0;
10087
+ if (years > 0) {
10088
+ partCount++;
10089
+ }
10090
+ if (months > 0) {
10091
+ partCount++;
10092
+ }
10093
+ if (weeks > 0) {
10094
+ partCount++;
10095
+ }
10096
+ if (days > 0) {
10097
+ partCount++;
10098
+ }
10099
+ if (hours > 0) {
10100
+ partCount++;
10101
+ }
10102
+ if (minutes > 0) {
10103
+ partCount++;
10104
+ }
10105
+ if (seconds > 0) {
10106
+ partCount++;
10107
+ }
10108
+ if (years > 0) {
10109
+ parts.push("" + years + (partCount > 1 ? 'y' : years === 1 ? ' year' : ' years'));
10110
+ }
10111
+ if (months > 0) {
10112
+ parts.push("" + months + (partCount > 1 ? 'm' : months === 1 ? ' month' : ' months'));
10113
+ }
10114
+ if (weeks > 0) {
10115
+ parts.push("" + weeks + (partCount > 1 ? 'w' : weeks === 1 ? ' week' : ' weeks'));
10116
+ }
10117
+ if (days > 0) {
10118
+ parts.push("" + days + (partCount > 1 ? 'd' : days === 1 ? ' day' : ' days'));
10119
+ }
10120
+ if (hours > 0) {
10121
+ parts.push("" + hours + (partCount > 1 ? 'h' : hours === 1 ? ' hour' : ' hours'));
10122
+ }
10123
+ if (minutes > 0) {
10124
+ parts.push("" + minutes + (partCount > 1 ? 'm' : minutes === 1 ? ' minute' : ' minutes'));
10125
+ }
10126
+ if (seconds > 0) {
10127
+ parts.push("" + seconds + (partCount > 1 ? 's' : seconds === 1 ? ' second' : ' seconds'));
10099
10128
  }
10129
+ if (parts.length === 0) {
10130
+ return '0 seconds';
10131
+ }
10132
+ return parts.join(' ');
10100
10133
  };
10101
10134
 
10102
10135
  var GET_MESSAGES = 'GET_MESSAGES';
@@ -10130,10 +10163,7 @@ var queryDirection = {
10130
10163
  NEAR: 'near'
10131
10164
  };
10132
10165
 
10133
- function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend, isAddToPendingMessagesMap) {
10134
- if (isAddToPendingMessagesMap === void 0) {
10135
- isAddToPendingMessagesMap = true;
10136
- }
10166
+ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend) {
10137
10167
  return {
10138
10168
  type: SEND_MESSAGE,
10139
10169
  payload: {
@@ -10141,22 +10171,17 @@ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSep
10141
10171
  channelId: channelId,
10142
10172
  connectionState: connectionState,
10143
10173
  sendAttachmentsAsSeparateMessage: sendAttachmentsAsSeparateMessage,
10144
- isResend: isResend,
10145
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10174
+ isResend: isResend
10146
10175
  }
10147
10176
  };
10148
10177
  }
10149
- function sendTextMessageAC(message, channelId, connectionState, isAddToPendingMessagesMap) {
10150
- if (isAddToPendingMessagesMap === void 0) {
10151
- isAddToPendingMessagesMap = true;
10152
- }
10178
+ function sendTextMessageAC(message, channelId, connectionState) {
10153
10179
  return {
10154
10180
  type: SEND_TEXT_MESSAGE,
10155
10181
  payload: {
10156
10182
  message: message,
10157
10183
  channelId: channelId,
10158
- connectionState: connectionState,
10159
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10184
+ connectionState: connectionState
10160
10185
  }
10161
10186
  };
10162
10187
  }
@@ -10170,21 +10195,17 @@ function resendMessageAC(message, channelId, connectionState) {
10170
10195
  }
10171
10196
  };
10172
10197
  }
10173
- function forwardMessageAC(message, channelId, connectionState, isForward, isAddToPendingMessagesMap) {
10198
+ function forwardMessageAC(message, channelId, connectionState, isForward) {
10174
10199
  if (isForward === void 0) {
10175
10200
  isForward = true;
10176
10201
  }
10177
- if (isAddToPendingMessagesMap === void 0) {
10178
- isAddToPendingMessagesMap = true;
10179
- }
10180
10202
  return {
10181
10203
  type: FORWARD_MESSAGE,
10182
10204
  payload: {
10183
10205
  message: message,
10184
10206
  channelId: channelId,
10185
10207
  connectionState: connectionState,
10186
- isForward: isForward,
10187
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10208
+ isForward: isForward
10188
10209
  }
10189
10210
  };
10190
10211
  }
@@ -10731,7 +10752,8 @@ function updatePendingMessageAC(channelId, messageId, updatedMessage) {
10731
10752
  });
10732
10753
  }
10733
10754
 
10734
- var MESSAGES_MAX_LENGTH = 80;
10755
+ var MESSAGES_MAX_PAGE_COUNT = 80;
10756
+ var MESSAGES_MAX_LENGTH = 50;
10735
10757
  var LOAD_MAX_MESSAGE_COUNT = 30;
10736
10758
  var MESSAGE_LOAD_DIRECTION = {
10737
10759
  PREV: 'prev',
@@ -10797,12 +10819,12 @@ var setAllMessages = function setAllMessages(messages) {
10797
10819
  var addAllMessages = function addAllMessages(messages, direction) {
10798
10820
  if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
10799
10821
  activeChannelAllMessages = [].concat(messages, activeChannelAllMessages);
10800
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10822
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10801
10823
  setHasNextCached(true);
10802
10824
  }
10803
10825
  } else {
10804
10826
  activeChannelAllMessages = [].concat(activeChannelAllMessages, messages);
10805
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10827
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10806
10828
  setHasPrevCached(true);
10807
10829
  }
10808
10830
  }
@@ -10871,8 +10893,8 @@ var getHasNextCached = function getHasNextCached() {
10871
10893
  var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messageId, direction, getWithLastMessage) {
10872
10894
  var messagesForAdd = [];
10873
10895
  if (getWithLastMessage) {
10874
- messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_LENGTH));
10875
- setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_LENGTH);
10896
+ messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_PAGE_COUNT));
10897
+ setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT);
10876
10898
  setHasNextCached(false);
10877
10899
  } else {
10878
10900
  var fromMessageIndex = activeChannelAllMessages.findIndex(function (mes) {
@@ -10900,14 +10922,25 @@ var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messa
10900
10922
  }
10901
10923
  return messagesForAdd;
10902
10924
  };
10903
- function setMessagesToMap(channelId, messages) {
10925
+ function setMessagesToMap(channelId, messages, firstMessageId, lastMessageId) {
10926
+ if (firstMessageId === void 0) {
10927
+ firstMessageId = '0';
10928
+ }
10929
+ if (lastMessageId === void 0) {
10930
+ lastMessageId = '0';
10931
+ }
10904
10932
  if (!messagesMap[channelId]) {
10905
10933
  messagesMap[channelId] = {};
10906
10934
  }
10907
- messages.forEach(function (msg) {
10908
- if (msg.tid && messagesMap[channelId][msg.tid]) {
10909
- delete messagesMap[channelId][msg.tid];
10935
+ for (var key in messagesMap[channelId]) {
10936
+ if (Object.prototype.hasOwnProperty.call(messagesMap[channelId], key)) {
10937
+ var element = messagesMap[channelId][key];
10938
+ if (element.id >= firstMessageId && element.id <= lastMessageId) {
10939
+ delete messagesMap[channelId][key];
10940
+ }
10910
10941
  }
10942
+ }
10943
+ messages.forEach(function (msg) {
10911
10944
  messagesMap[channelId][msg.id || msg.tid] = msg;
10912
10945
  });
10913
10946
  }
@@ -10935,8 +10968,6 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
10935
10968
  updatedPendingMessages.forEach(function (msg) {
10936
10969
  store.dispatch(updatePendingMessageAC(channelId, msg.tid || msg.id, msg));
10937
10970
  });
10938
- } else {
10939
- store.dispatch(removePendingMessageAC(channelId, updatedMessage.messageId));
10940
10971
  }
10941
10972
  }
10942
10973
  var updatedMessageData = null;
@@ -11335,42 +11366,36 @@ var messageSlice = createSlice({
11335
11366
  });
11336
11367
  });
11337
11368
  if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
11338
- if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
11369
+ if (currentMessagesLength + newMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11339
11370
  var _state$activeChannelM;
11340
11371
  setHasNextCached(true);
11341
11372
  if (newMessagesLength > 0) {
11342
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11373
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11343
11374
  state.activeChannelMessages.splice(-newMessagesLength);
11344
11375
  } else {
11345
- state.activeChannelMessages.splice(-(newMessagesLength - (MESSAGES_MAX_LENGTH - currentMessagesLength)));
11376
+ state.activeChannelMessages.splice(-(currentMessagesLength - currentMessagesLength + newMessagesLength - MESSAGES_MAX_PAGE_COUNT));
11346
11377
  }
11347
11378
  }
11348
11379
  (_state$activeChannelM = state.activeChannelMessages).splice.apply(_state$activeChannelM, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11349
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11380
+ } else {
11350
11381
  var _state$activeChannelM2;
11351
- var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11352
- setHasNextCached(true);
11353
- state.activeChannelMessages.splice(-sliceElementCount);
11354
11382
  (_state$activeChannelM2 = state.activeChannelMessages).splice.apply(_state$activeChannelM2, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11355
- } else {
11356
- var _state$activeChannelM3;
11357
- (_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11358
11383
  }
11359
- } else if (direction === 'next' && newMessagesLength > 0) {
11360
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11361
- var _state$activeChannelM4;
11384
+ } else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && newMessagesLength > 0) {
11385
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11386
+ var _state$activeChannelM3;
11362
11387
  setHasPrevCached(true);
11363
11388
  state.activeChannelMessages.splice(0, messagesIsNotIncludeInActiveChannelMessages.length);
11389
+ (_state$activeChannelM3 = state.activeChannelMessages).push.apply(_state$activeChannelM3, messagesIsNotIncludeInActiveChannelMessages);
11390
+ } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11391
+ var _state$activeChannelM4;
11392
+ var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_PAGE_COUNT;
11393
+ setHasPrevCached(true);
11394
+ state.activeChannelMessages.splice(0, sliceElementCount);
11364
11395
  (_state$activeChannelM4 = state.activeChannelMessages).push.apply(_state$activeChannelM4, messagesIsNotIncludeInActiveChannelMessages);
11365
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11396
+ } else {
11366
11397
  var _state$activeChannelM5;
11367
- var _sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11368
- setHasPrevCached(true);
11369
- state.activeChannelMessages.splice(0, _sliceElementCount);
11370
11398
  (_state$activeChannelM5 = state.activeChannelMessages).push.apply(_state$activeChannelM5, messagesIsNotIncludeInActiveChannelMessages);
11371
- } else {
11372
- var _state$activeChannelM6;
11373
- (_state$activeChannelM6 = state.activeChannelMessages).push.apply(_state$activeChannelM6, messagesIsNotIncludeInActiveChannelMessages);
11374
11399
  }
11375
11400
  }
11376
11401
  },
@@ -18864,6 +18889,53 @@ var getFrame = function getFrame(videoSrc, time) {
18864
18889
  }
18865
18890
  };
18866
18891
 
18892
+ var SDKErrorTypeEnum = {
18893
+ BadRequest: {
18894
+ value: 'BadRequest',
18895
+ isResendable: false
18896
+ },
18897
+ BadParam: {
18898
+ value: 'BadParam',
18899
+ isResendable: false
18900
+ },
18901
+ NotFound: {
18902
+ value: 'NotFound',
18903
+ isResendable: false
18904
+ },
18905
+ NotAllowed: {
18906
+ value: 'NotAllowed',
18907
+ isResendable: false
18908
+ },
18909
+ TooLargeRequest: {
18910
+ value: 'TooLargeRequest',
18911
+ isResendable: false
18912
+ },
18913
+ InternalError: {
18914
+ value: 'InternalError',
18915
+ isResendable: true
18916
+ },
18917
+ TooManyRequests: {
18918
+ value: 'TooManyRequests',
18919
+ isResendable: true
18920
+ },
18921
+ Authentication: {
18922
+ value: 'Authentication',
18923
+ isResendable: true
18924
+ }
18925
+ };
18926
+ var fromValue = function fromValue(value) {
18927
+ if (!value) return null;
18928
+ var entries = Object.values(SDKErrorTypeEnum);
18929
+ return entries.find(function (entry) {
18930
+ return entry.value === value;
18931
+ }) || null;
18932
+ };
18933
+ var isResendableError = function isResendableError(value) {
18934
+ var _errorType$isResendab;
18935
+ var errorType = fromValue(value);
18936
+ return (_errorType$isResendab = errorType === null || errorType === void 0 ? void 0 : errorType.isResendable) != null ? _errorType$isResendab : true;
18937
+ };
18938
+
18867
18939
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
18868
18940
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
18869
18941
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -18979,63 +19051,96 @@ var handleUploadAttachments = function handleUploadAttachments(attachments, mess
18979
19051
  return Promise.reject(e);
18980
19052
  }
18981
19053
  };
18982
- var addPendingMessage = function addPendingMessage(message, messageCopy, channel) {
19054
+ var addPendingMessage = function addPendingMessage(message, messageCopy, channelId) {
18983
19055
  try {
18984
19056
  var messageToAdd = _extends({}, messageCopy, {
18985
19057
  createdAt: new Date(Date.now()),
18986
19058
  mentionedUsers: message.mentionedUsers,
18987
19059
  parentMessage: message.parentMessage
18988
19060
  });
18989
- setPendingMessage(channel.id, messageToAdd);
19061
+ setPendingMessage(channelId, messageToAdd);
18990
19062
  return Promise.resolve();
18991
19063
  } catch (e) {
18992
19064
  return Promise.reject(e);
18993
19065
  }
18994
19066
  };
18995
- var updateMessage$1 = function updateMessage(actionType, pending, channel, scrollToNewMessage) {
19067
+ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scrollToNewMessage, message) {
18996
19068
  if (scrollToNewMessage === void 0) {
18997
19069
  scrollToNewMessage = true;
18998
19070
  }
18999
19071
  return /*#__PURE__*/_regenerator().m(function _callee() {
19000
- var activeChannelId;
19072
+ var activeChannelId, channel, messages, _channel$lastMessage2, repliedMessage, scrollRef, _channel$lastMessage3;
19001
19073
  return _regenerator().w(function (_context) {
19002
19074
  while (1) switch (_context.n) {
19003
19075
  case 0:
19004
19076
  activeChannelId = getActiveChannelId();
19005
19077
  if (!(actionType !== RESEND_MESSAGE)) {
19006
- _context.n = 2;
19078
+ _context.n = 7;
19007
19079
  break;
19008
19080
  }
19009
- addMessageToMap(channel.id, pending);
19010
- if (activeChannelId === channel.id) {
19081
+ if (activeChannelId === channelId) {
19011
19082
  addAllMessages([pending], MESSAGE_LOAD_DIRECTION.NEXT);
19012
19083
  }
19013
- if (!(activeChannelId === channel.id)) {
19084
+ if (!(activeChannelId === channelId)) {
19014
19085
  _context.n = 1;
19015
19086
  break;
19016
19087
  }
19017
19088
  _context.n = 1;
19018
19089
  return put(addMessageAC(pending));
19019
19090
  case 1:
19091
+ _context.n = 2;
19092
+ return call(addPendingMessage, message, pending, channelId);
19093
+ case 2:
19020
19094
  if (!scrollToNewMessage) {
19021
- _context.n = 2;
19095
+ _context.n = 7;
19022
19096
  break;
19023
19097
  }
19024
- _context.n = 2;
19025
- return put(scrollToNewMessageAC(true, true));
19026
- case 2:
19098
+ _context.n = 3;
19099
+ return call(getChannelFromAllChannels, channelId);
19100
+ case 3:
19101
+ channel = _context.v;
19102
+ messages = store.getState().MessageReducer.activeChannelMessages;
19103
+ if (!(messages.findIndex(function (msg) {
19104
+ var _channel$lastMessage;
19105
+ return msg.id === (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id);
19106
+ }) >= 10)) {
19107
+ _context.n = 6;
19108
+ break;
19109
+ }
19110
+ _context.n = 4;
19111
+ return put(scrollToNewMessageAC(true, false, false));
19112
+ case 4:
19113
+ _context.n = 5;
19114
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19115
+ case 5:
19116
+ repliedMessage = document.getElementById(channel === null || channel === void 0 ? void 0 : (_channel$lastMessage2 = channel.lastMessage) === null || _channel$lastMessage2 === void 0 ? void 0 : _channel$lastMessage2.id);
19117
+ if (repliedMessage) {
19118
+ scrollRef = document.getElementById('scrollableDiv');
19119
+ if (scrollRef) {
19120
+ scrollRef.scrollTo({
19121
+ top: 1000,
19122
+ behavior: 'smooth'
19123
+ });
19124
+ }
19125
+ }
19126
+ _context.n = 7;
19127
+ break;
19128
+ case 6:
19129
+ _context.n = 7;
19130
+ return put(getMessagesAC(channel, false, channel === null || channel === void 0 ? void 0 : (_channel$lastMessage3 = channel.lastMessage) === null || _channel$lastMessage3 === void 0 ? void 0 : _channel$lastMessage3.id, undefined, undefined, false, 'smooth', true));
19131
+ case 7:
19027
19132
  return _context.a(2);
19028
19133
  }
19029
19134
  }, _callee);
19030
19135
  })();
19031
19136
  };
19032
19137
  function sendMessage(action) {
19033
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19138
+ var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19034
19139
  return _regenerator().w(function (_context4) {
19035
19140
  while (1) switch (_context4.p = _context4.n) {
19036
19141
  case 0:
19037
19142
  payload = action.payload;
19038
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19143
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage;
19039
19144
  pendingMessages = [];
19040
19145
  _context4.p = 1;
19041
19146
  _context4.n = 2;
@@ -19170,8 +19275,12 @@ function sendMessage(action) {
19170
19275
  createdAt: new Date(Date.now())
19171
19276
  });
19172
19277
  pendingMessages.push(_pending);
19278
+ if (!(action.type !== RESEND_MESSAGE)) {
19279
+ _context2.n = 1;
19280
+ break;
19281
+ }
19173
19282
  _context2.n = 1;
19174
- return call(updateMessage$1, action.type, _pending, channel);
19283
+ return call(updateMessage$1, action.type, _pending, channel.id, true, message);
19175
19284
  case 1:
19176
19285
  _context2.n = 3;
19177
19286
  break;
@@ -19219,8 +19328,12 @@ function sendMessage(action) {
19219
19328
  createdAt: new Date(Date.now())
19220
19329
  });
19221
19330
  pendingMessages.push(pending);
19331
+ if (!(action.type !== RESEND_MESSAGE)) {
19332
+ _context4.n = 11;
19333
+ break;
19334
+ }
19222
19335
  _context4.n = 11;
19223
- return call(updateMessage$1, action.type, pending, channel);
19336
+ return call(updateMessage$1, action.type, pending, channel.id, true, message);
19224
19337
  case 11:
19225
19338
  messageToSend = _extends({}, messageToSend, {
19226
19339
  attachments: attachmentsToSend
@@ -19228,7 +19341,7 @@ function sendMessage(action) {
19228
19341
  messagesToSend.push(messageToSend);
19229
19342
  case 12:
19230
19343
  _loop2 = /*#__PURE__*/_regenerator().m(function _callee3() {
19231
- var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, messageToUpdate, channelUpdateParam, pendingMessage, connectionIsDisconnected, _t;
19344
+ var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, activeChannelId, messageToUpdate, channelUpdateParam, isErrorResendable, _t;
19232
19345
  return _regenerator().w(function (_context3) {
19233
19346
  while (1) switch (_context3.p = _context3.n) {
19234
19347
  case 0:
@@ -19237,7 +19350,7 @@ function sendMessage(action) {
19237
19350
  _context3.p = 1;
19238
19351
  messageCopy = JSON.parse(JSON.stringify(messagesToSend[_i]));
19239
19352
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19240
- _context3.n = 12;
19353
+ _context3.n = 13;
19241
19354
  break;
19242
19355
  }
19243
19356
  _attachmentsToSend = messageAttachment;
@@ -19298,9 +19411,6 @@ function sendMessage(action) {
19298
19411
  _context3.n = 5;
19299
19412
  break;
19300
19413
  case 8:
19301
- if (action.type === RESEND_MESSAGE) {
19302
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19303
- }
19304
19414
  attachmentsToUpdate = [];
19305
19415
  if (messageResponse.attachments && messageResponse.attachments.length > 0) {
19306
19416
  currentAttachmentsMap = {};
@@ -19333,13 +19443,18 @@ function sendMessage(action) {
19333
19443
  createdAt: messageResponse.createdAt,
19334
19444
  channelId: channel.id
19335
19445
  };
19446
+ activeChannelId = getActiveChannelId();
19447
+ if (!(activeChannelId === channel.id)) {
19448
+ _context3.n = 9;
19449
+ break;
19450
+ }
19336
19451
  _context3.n = 9;
19337
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19452
+ return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19338
19453
  case 9:
19339
- updateMessageOnMap(channel.id, {
19340
- messageId: messageToSend.tid,
19341
- params: messageUpdateData
19342
- });
19454
+ _context3.n = 10;
19455
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19456
+ case 10:
19457
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19343
19458
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19344
19459
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19345
19460
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19348,46 +19463,36 @@ function sendMessage(action) {
19348
19463
  lastReactedMessage: null
19349
19464
  };
19350
19465
  if (!channel.unread) {
19351
- _context3.n = 10;
19466
+ _context3.n = 11;
19352
19467
  break;
19353
19468
  }
19354
- _context3.n = 10;
19355
- return put(markChannelAsReadAC(channel.id));
19356
- case 10:
19357
19469
  _context3.n = 11;
19358
- return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19470
+ return put(markChannelAsReadAC(channel.id));
19359
19471
  case 11:
19472
+ _context3.n = 12;
19473
+ return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19474
+ case 12:
19360
19475
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19361
- _context3.n = 13;
19476
+ _context3.n = 14;
19362
19477
  break;
19363
- case 12:
19364
- throw new Error('Connection required to send message');
19365
19478
  case 13:
19479
+ throw new Error('Connection required to send message');
19480
+ case 14:
19366
19481
  _context3.n = 19;
19367
19482
  break;
19368
- case 14:
19369
- _context3.p = 14;
19483
+ case 15:
19484
+ _context3.p = 15;
19370
19485
  _t = _context3.v;
19371
- pendingMessage = pendingMessages === null || pendingMessages === void 0 ? void 0 : pendingMessages.find(function (pendingMessage) {
19372
- return pendingMessage.tid === messageToSend.tid;
19373
- });
19374
- if (!(channel && pendingMessage && action.type !== RESEND_MESSAGE)) {
19486
+ isErrorResendable = isResendableError(_t === null || _t === void 0 ? void 0 : _t.type);
19487
+ if (isErrorResendable) {
19375
19488
  _context3.n = 17;
19376
19489
  break;
19377
19490
  }
19378
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19379
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19380
- _context3.n = 16;
19381
- break;
19382
- }
19383
- _context3.n = 15;
19384
- return call(addPendingMessage, message, pendingMessage, channel);
19385
- case 15:
19386
- _context3.n = 17;
19387
- break;
19491
+ _context3.n = 16;
19492
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19388
19493
  case 16:
19389
- _context3.n = 17;
19390
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19494
+ _context3.n = 19;
19495
+ break;
19391
19496
  case 17:
19392
19497
  log.error('Error on uploading attachment', messageToSend.tid, _t);
19393
19498
  if (!(messageToSend.attachments && messageToSend.attachments.length)) {
@@ -19413,7 +19518,7 @@ function sendMessage(action) {
19413
19518
  case 19:
19414
19519
  return _context3.a(2);
19415
19520
  }
19416
- }, _callee3, null, [[1, 14]]);
19521
+ }, _callee3, null, [[1, 15]]);
19417
19522
  });
19418
19523
  _i = 0;
19419
19524
  case 13:
@@ -19445,12 +19550,12 @@ function sendMessage(action) {
19445
19550
  }, _marked$3, null, [[1, 16, 17, 19]]);
19446
19551
  }
19447
19552
  function sendTextMessage(action) {
19448
- var payload, message, connectionState, channelId, isAddToPendingMessagesMap, channel, sendMessageTid, pendingMessage, activeChannelId, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t3;
19553
+ var payload, message, connectionState, channelId, channel, sendMessageTid, pendingMessage, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, activeChannelId, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId, _t3;
19449
19554
  return _regenerator().w(function (_context5) {
19450
19555
  while (1) switch (_context5.p = _context5.n) {
19451
19556
  case 0:
19452
19557
  payload = action.payload;
19453
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19558
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19454
19559
  _context5.n = 1;
19455
19560
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19456
19561
  case 1:
@@ -19464,8 +19569,8 @@ function sendTextMessage(action) {
19464
19569
  setChannelInMap(channel);
19465
19570
  }
19466
19571
  }
19572
+ sendMessageTid = null;
19467
19573
  pendingMessage = null;
19468
- activeChannelId = getActiveChannelId();
19469
19574
  _context5.p = 3;
19470
19575
  if (!channel.isMockChannel) {
19471
19576
  _context5.n = 6;
@@ -19525,11 +19630,15 @@ function sendTextMessage(action) {
19525
19630
  _context5.n = 8;
19526
19631
  break;
19527
19632
  }
19633
+ if (!(action.type !== RESEND_MESSAGE)) {
19634
+ _context5.n = 8;
19635
+ break;
19636
+ }
19528
19637
  _context5.n = 8;
19529
- return call(updateMessage$1, action.type, pendingMessage, channel);
19638
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, true, message);
19530
19639
  case 8:
19531
19640
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19532
- _context5.n = 16;
19641
+ _context5.n = 17;
19533
19642
  break;
19534
19643
  }
19535
19644
  if (!sendMessageHandler) {
@@ -19565,19 +19674,20 @@ function sendTextMessage(action) {
19565
19674
  pollDetails: (_messageResponse = messageResponse) === null || _messageResponse === void 0 ? void 0 : _messageResponse.pollDetails,
19566
19675
  channelId: channel.id
19567
19676
  };
19677
+ activeChannelId = getActiveChannelId();
19568
19678
  if (!(activeChannelId === channel.id)) {
19569
19679
  _context5.n = 13;
19570
19680
  break;
19571
19681
  }
19572
19682
  _context5.n = 13;
19573
- return put(updateMessageAC(messageToSend.tid, messageUpdateData));
19683
+ return put(updateMessageAC(messageToSend.tid, messageUpdateData, true));
19574
19684
  case 13:
19575
- updateMessageOnMap(channel.id, {
19576
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19577
- params: messageUpdateData
19578
- });
19685
+ _context5.n = 14;
19686
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19687
+ case 14:
19688
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19579
19689
  if (activeChannelId === channel.id) {
19580
- updateMessageOnAllMessages(!isAddToPendingMessagesMap ? message.tid : messageToSend.tid, messageUpdateData);
19690
+ updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19581
19691
  }
19582
19692
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19583
19693
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19585,57 +19695,52 @@ function sendTextMessage(action) {
19585
19695
  lastMessage: messageToUpdate,
19586
19696
  lastReactedMessage: null
19587
19697
  };
19588
- _context5.n = 14;
19698
+ _context5.n = 15;
19589
19699
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19590
- case 14:
19700
+ case 15:
19591
19701
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19592
19702
  if (!channel.unread) {
19593
- _context5.n = 15;
19703
+ _context5.n = 16;
19594
19704
  break;
19595
19705
  }
19596
- _context5.n = 15;
19706
+ _context5.n = 16;
19597
19707
  return put(markChannelAsReadAC(channel.id));
19598
- case 15:
19708
+ case 16:
19599
19709
  channel.lastMessage = messageToUpdate;
19600
- if (action.type === RESEND_MESSAGE) {
19601
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19602
- }
19603
- _context5.n = 17;
19710
+ _context5.n = 18;
19604
19711
  break;
19605
- case 16:
19606
- throw new Error('Connection required to send message');
19607
19712
  case 17:
19713
+ throw new Error('Connection required to send message');
19714
+ case 18:
19608
19715
  _context5.n = 22;
19609
19716
  break;
19610
- case 18:
19611
- _context5.p = 18;
19717
+ case 19:
19718
+ _context5.p = 19;
19612
19719
  _t3 = _context5.v;
19613
- if (!(activeChannelId === channel.id && pendingMessage && action.type !== RESEND_MESSAGE)) {
19720
+ log.error('error on send text message ... ', _t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19721
+ isErrorResendable = isResendableError(_t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19722
+ if (!(!isErrorResendable && channel.id && sendMessageTid)) {
19614
19723
  _context5.n = 21;
19615
19724
  break;
19616
19725
  }
19617
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19618
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19619
- _context5.n = 20;
19620
- break;
19621
- }
19622
- _context5.n = 19;
19623
- return call(addPendingMessage, message, pendingMessage, channel);
19624
- case 19:
19625
- _context5.n = 21;
19626
- break;
19726
+ _context5.n = 20;
19727
+ return put(removePendingMessageAC(channel.id, sendMessageTid));
19627
19728
  case 20:
19628
- _context5.n = 21;
19629
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19729
+ _context5.n = 22;
19730
+ break;
19630
19731
  case 21:
19631
- log.error('error on send text message ... ', _t3);
19732
+ if (!(channel.id && sendMessageTid)) {
19733
+ _context5.n = 22;
19734
+ break;
19735
+ }
19632
19736
  updateMessageOnMap(channel.id, {
19633
19737
  messageId: sendMessageTid,
19634
19738
  params: {
19635
19739
  state: MESSAGE_STATUS.FAILED
19636
19740
  }
19637
19741
  });
19638
- if (!(activeChannelId === channel.id)) {
19742
+ _activeChannelId = getActiveChannelId();
19743
+ if (!(_activeChannelId === channel.id)) {
19639
19744
  _context5.n = 22;
19640
19745
  break;
19641
19746
  }
@@ -19655,15 +19760,15 @@ function sendTextMessage(action) {
19655
19760
  case 24:
19656
19761
  return _context5.a(2);
19657
19762
  }
19658
- }, _marked2$2, null, [[3, 18, 22, 24]]);
19763
+ }, _marked2$2, null, [[3, 19, 22, 24]]);
19659
19764
  }
19660
19765
  function forwardMessage(action) {
19661
- var payload, message, channelId, connectionState, isForward, isAddToPendingMessagesMap, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t4;
19766
+ var payload, message, channelId, connectionState, isForward, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId2, _t4;
19662
19767
  return _regenerator().w(function (_context6) {
19663
19768
  while (1) switch (_context6.p = _context6.n) {
19664
19769
  case 0:
19665
19770
  payload = action.payload;
19666
- message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19771
+ message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward;
19667
19772
  pendingMessage = null;
19668
19773
  channel = null;
19669
19774
  activeChannelId = getActiveChannelId();
@@ -19706,7 +19811,7 @@ function forwardMessage(action) {
19706
19811
  }) : [];
19707
19812
  attachments = message.attachments;
19708
19813
  if ((channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC) && !(channel.userRole === 'admin' || channel.userRole === 'owner')) {
19709
- _context6.n = 16;
19814
+ _context6.n = 17;
19710
19815
  break;
19711
19816
  }
19712
19817
  if (message.attachments && message.attachments.length) {
@@ -19733,7 +19838,7 @@ function forwardMessage(action) {
19733
19838
  };
19734
19839
  }
19735
19840
  messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisableMentionsCount(getDisableFrowardMentionsCount()).setMetadata(message.metadata ? isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata) : '').setForwardingMessageId(message.forwardingDetails ? message.forwardingDetails.messageId : message.id).setPollDetails(pollDetails);
19736
- messageToSend = messageBuilder.create();
19841
+ messageToSend = action.type === RESEND_MESSAGE ? action.payload.message : messageBuilder.create();
19737
19842
  messageToSend.tid = action.type === RESEND_MESSAGE ? action.payload.message.tid : messageToSend.tid;
19738
19843
  messageTid = messageToSend.tid;
19739
19844
  pendingMessage = _extends({}, messageToSend, {
@@ -19769,11 +19874,15 @@ function forwardMessage(action) {
19769
19874
  _context6.n = 9;
19770
19875
  break;
19771
19876
  }
19877
+ if (!(action.type !== RESEND_MESSAGE)) {
19878
+ _context6.n = 9;
19879
+ break;
19880
+ }
19772
19881
  _context6.n = 9;
19773
- return call(updateMessage$1, action.type, pendingMessage, channel, false);
19882
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19774
19883
  case 9:
19775
19884
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19776
- _context6.n = 15;
19885
+ _context6.n = 16;
19777
19886
  break;
19778
19887
  }
19779
19888
  _context6.n = 10;
@@ -19799,61 +19908,55 @@ function forwardMessage(action) {
19799
19908
  break;
19800
19909
  }
19801
19910
  _context6.n = 11;
19802
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19911
+ return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19803
19912
  case 11:
19804
19913
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19805
19914
  case 12:
19806
- if (action.type === RESEND_MESSAGE) {
19807
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19915
+ if (!messageToSend.tid) {
19916
+ _context6.n = 13;
19917
+ break;
19808
19918
  }
19809
- updateMessageOnMap(channel.id, {
19810
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19811
- params: messageUpdateData
19812
- });
19919
+ _context6.n = 13;
19920
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19921
+ case 13:
19922
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19813
19923
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19814
19924
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19815
19925
  channelUpdateParam = {
19816
19926
  lastMessage: messageToUpdate,
19817
19927
  lastReactedMessage: null
19818
19928
  };
19819
- _context6.n = 13;
19929
+ _context6.n = 14;
19820
19930
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19821
- case 13:
19931
+ case 14:
19822
19932
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19823
19933
  if (!channel.unread) {
19824
- _context6.n = 14;
19934
+ _context6.n = 15;
19825
19935
  break;
19826
19936
  }
19827
- _context6.n = 14;
19937
+ _context6.n = 15;
19828
19938
  return put(markChannelAsReadAC(channel.id));
19829
- case 14:
19830
- _context6.n = 16;
19831
- break;
19832
19939
  case 15:
19833
- throw new Error('Connection required to forward message');
19940
+ _context6.n = 17;
19941
+ break;
19834
19942
  case 16:
19943
+ throw new Error('Connection required to forward message');
19944
+ case 17:
19835
19945
  _context6.n = 22;
19836
19946
  break;
19837
- case 17:
19838
- _context6.p = 17;
19947
+ case 18:
19948
+ _context6.p = 18;
19839
19949
  _t4 = _context6.v;
19840
- if (!(pendingMessage && channel && action.type !== RESEND_MESSAGE)) {
19950
+ isErrorResendable = isResendableError(_t4 === null || _t4 === void 0 ? void 0 : _t4.type);
19951
+ if (isErrorResendable) {
19841
19952
  _context6.n = 20;
19842
19953
  break;
19843
19954
  }
19844
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19845
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19846
- _context6.n = 19;
19847
- break;
19848
- }
19849
- _context6.n = 18;
19850
- return call(addPendingMessage, message, pendingMessage, channel);
19851
- case 18:
19852
- _context6.n = 20;
19853
- break;
19955
+ _context6.n = 19;
19956
+ return put(removePendingMessageAC(channel.id, messageTid));
19854
19957
  case 19:
19855
- _context6.n = 20;
19856
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19958
+ _context6.n = 21;
19959
+ break;
19857
19960
  case 20:
19858
19961
  if (!(channel && messageTid)) {
19859
19962
  _context6.n = 21;
@@ -19865,7 +19968,8 @@ function forwardMessage(action) {
19865
19968
  state: MESSAGE_STATUS.FAILED
19866
19969
  }
19867
19970
  });
19868
- if (!(activeChannelId === channel.id)) {
19971
+ _activeChannelId2 = getActiveChannelId();
19972
+ if (!(_activeChannelId2 === channel.id)) {
19869
19973
  _context6.n = 21;
19870
19974
  break;
19871
19975
  }
@@ -19887,25 +19991,67 @@ function forwardMessage(action) {
19887
19991
  case 24:
19888
19992
  return _context6.a(2);
19889
19993
  }
19890
- }, _marked3$1, null, [[1, 17, 22, 24]]);
19994
+ }, _marked3$1, null, [[1, 18, 22, 24]]);
19891
19995
  }
19892
19996
  function resendMessage(action) {
19893
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isVoiceMessage;
19997
+ var _message$attachments;
19998
+ var payload, message, connectionState, channelId, attachments, sendAttachmentsAsSeparateMessage, isVoiceMessage;
19894
19999
  return _regenerator().w(function (_context7) {
19895
20000
  while (1) switch (_context7.n) {
19896
20001
  case 0:
19897
20002
  payload = action.payload;
19898
20003
  message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19899
- if (message.forwardingDetails) {
19900
- store.dispatch(forwardMessageAC(message, channelId, connectionState, false, false));
19901
- } else if (message.attachments && message.attachments.length) {
19902
- sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
19903
- isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
19904
- store.dispatch(sendMessageAC(message, channelId, connectionState, isVoiceMessage ? false : sendAttachmentsAsSeparateMessage, false, false));
19905
- } else {
19906
- store.dispatch(sendTextMessageAC(message, channelId, connectionState, false));
20004
+ attachments = message === null || message === void 0 ? void 0 : (_message$attachments = message.attachments) === null || _message$attachments === void 0 ? void 0 : _message$attachments.filter(function (att) {
20005
+ return (att === null || att === void 0 ? void 0 : att.type) !== attachmentTypes.link;
20006
+ });
20007
+ if (!message.forwardingDetails) {
20008
+ _context7.n = 2;
20009
+ break;
19907
20010
  }
20011
+ _context7.n = 1;
20012
+ return call(forwardMessage, {
20013
+ type: RESEND_MESSAGE,
20014
+ payload: {
20015
+ message: message,
20016
+ connectionState: connectionState,
20017
+ channelId: channelId,
20018
+ isForward: false
20019
+ }
20020
+ });
19908
20021
  case 1:
20022
+ _context7.n = 5;
20023
+ break;
20024
+ case 2:
20025
+ if (!(attachments && attachments.length)) {
20026
+ _context7.n = 4;
20027
+ break;
20028
+ }
20029
+ sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
20030
+ isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
20031
+ _context7.n = 3;
20032
+ return call(sendMessage, {
20033
+ type: RESEND_MESSAGE,
20034
+ payload: {
20035
+ message: message,
20036
+ connectionState: connectionState,
20037
+ channelId: channelId,
20038
+ sendAttachmentsAsSeparateMessage: isVoiceMessage ? false : sendAttachmentsAsSeparateMessage
20039
+ }
20040
+ });
20041
+ case 3:
20042
+ _context7.n = 5;
20043
+ break;
20044
+ case 4:
20045
+ _context7.n = 5;
20046
+ return call(sendTextMessage, {
20047
+ type: RESEND_MESSAGE,
20048
+ payload: {
20049
+ message: message,
20050
+ connectionState: connectionState,
20051
+ channelId: channelId
20052
+ }
20053
+ });
20054
+ case 5:
19909
20055
  return _context7.a(2);
19910
20056
  }
19911
20057
  }, _marked4$1);
@@ -20067,8 +20213,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20067
20213
  message: msg,
20068
20214
  connectionState: connectionState,
20069
20215
  channelId: channelId,
20070
- isForward: true,
20071
- isAddToPendingMessagesMap: false
20216
+ isForward: true
20072
20217
  }
20073
20218
  });
20074
20219
  case 4:
@@ -20086,9 +20231,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20086
20231
  message: msg,
20087
20232
  connectionState: connectionState,
20088
20233
  channelId: channelId,
20089
- sendAttachmentsAsSeparateMessage: false,
20090
- isResend: true,
20091
- isAddToPendingMessagesMap: false
20234
+ sendAttachmentsAsSeparateMessage: false
20092
20235
  }
20093
20236
  });
20094
20237
  case 6:
@@ -20101,8 +20244,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20101
20244
  payload: {
20102
20245
  message: msg,
20103
20246
  connectionState: connectionState,
20104
- channelId: channelId,
20105
- isAddToPendingMessagesMap: false
20247
+ channelId: channelId
20106
20248
  }
20107
20249
  });
20108
20250
  case 8:
@@ -20131,26 +20273,13 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20131
20273
  }
20132
20274
  }, _callee4, null, [[3, 9]]);
20133
20275
  });
20134
- var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20135
- var _messages, _Object$values;
20136
- var previousAllMessages, messages, lastMessageId, setMappedAllMessages, allMessagesAfterLastMessage;
20276
+ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages, firstMessageId, lastMessageId) {
20277
+ var messages;
20137
20278
  return _regenerator().w(function (_context1) {
20138
20279
  while (1) switch (_context1.n) {
20139
20280
  case 0:
20140
- previousAllMessages = getAllMessages();
20141
20281
  messages = [].concat(updatedMessages);
20142
- lastMessageId = (_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : _messages.id;
20143
- setMappedAllMessages = {};
20144
- previousAllMessages.forEach(function (msg) {
20145
- if (msg.channelId === channel.id) {
20146
- setMappedAllMessages[msg.id || msg.tid || ''] = msg;
20147
- }
20148
- });
20149
- allMessagesAfterLastMessage = lastMessageId ? (_Object$values = Object.values(setMappedAllMessages || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.filter(function (msg) {
20150
- return msg.id > lastMessageId || !msg.id;
20151
- }) : Object.values(setMappedAllMessages || {});
20152
- messages = [].concat(messages, allMessagesAfterLastMessage || []);
20153
- setMessagesToMap(channel.id, messages);
20282
+ setMessagesToMap(channel.id, messages, firstMessageId, lastMessageId);
20154
20283
  setAllMessages(messages);
20155
20284
  _context1.n = 1;
20156
20285
  return put(setMessagesAC(JSON.parse(JSON.stringify(messages))));
@@ -20159,8 +20288,23 @@ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, up
20159
20288
  }
20160
20289
  }, _callee5);
20161
20290
  });
20291
+ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20292
+ var filteredPendingMessages = [];
20293
+ var activeChannelId = getActiveChannelId();
20294
+ var pendingMessages = JSON.parse(JSON.stringify(getPendingMessages(activeChannelId) || []));
20295
+ if (pendingMessages && pendingMessages.length) {
20296
+ var messagesMap = {};
20297
+ messages.forEach(function (msg) {
20298
+ messagesMap[msg.tid || ''] = msg;
20299
+ });
20300
+ filteredPendingMessages = pendingMessages.filter(function (msg) {
20301
+ return !messagesMap[msg.tid || ''];
20302
+ });
20303
+ }
20304
+ return filteredPendingMessages;
20305
+ };
20162
20306
  function getMessagesQuery(action) {
20163
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, waitToSendPendingMessages, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
20307
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, _result$messages$, _result$messages, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _result$messages$2, _result$messages2, _result$messages$3, _result$messages3, _channel$lastMessage4, _channel$lastMessage5, _channel$lastMessage6, _updatedMessages$, _parsedMessages$, _parsedMessages, parsedMessages, _filteredPendingMessages, updatedMessages, messageIdForLoad, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15;
20164
20308
  return _regenerator().w(function (_context10) {
20165
20309
  while (1) switch (_context10.p = _context10.n) {
20166
20310
  case 0:
@@ -20171,7 +20315,7 @@ function getMessagesQuery(action) {
20171
20315
  _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, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage;
20172
20316
  connectionState = store.getState().UserReducer.connectionStatus;
20173
20317
  if (!(channel.id && !channel.isMockChannel)) {
20174
- _context10.n = 76;
20318
+ _context10.n = 59;
20175
20319
  break;
20176
20320
  }
20177
20321
  SceytChatClient = getClient();
@@ -20201,17 +20345,16 @@ function getMessagesQuery(action) {
20201
20345
  hasNext: false
20202
20346
  };
20203
20347
  if (!loadWithLastMessage) {
20204
- _context10.n = 19;
20348
+ _context10.n = 15;
20205
20349
  break;
20206
20350
  }
20207
20351
  allMessages = getAllMessages();
20208
20352
  havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
20209
20353
  if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
20210
- _context10.n = 14;
20354
+ _context10.n = 10;
20211
20355
  break;
20212
20356
  }
20213
20357
  setHasPrevCached(false);
20214
- setMessagesToMap(channel.id, []);
20215
20358
  setAllMessages([]);
20216
20359
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20217
20360
  _context10.n = 6;
@@ -20230,31 +20373,6 @@ function getMessagesQuery(action) {
20230
20373
  };
20231
20374
  case 7:
20232
20375
  result = _t1;
20233
- if (!(result.messages.length === 50)) {
20234
- _context10.n = 11;
20235
- break;
20236
- }
20237
- messageQuery.limit = 30;
20238
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20239
- _context10.n = 9;
20240
- break;
20241
- }
20242
- _context10.n = 8;
20243
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20244
- case 8:
20245
- _t10 = _context10.v;
20246
- _context10.n = 10;
20247
- break;
20248
- case 9:
20249
- _t10 = {
20250
- messages: [],
20251
- hasNext: false
20252
- };
20253
- case 10:
20254
- secondResult = _t10;
20255
- result.messages = [].concat(secondResult.messages, result.messages);
20256
- result.hasNext = secondResult.hasNext;
20257
- case 11:
20258
20376
  sentMessages = [];
20259
20377
  if (withDeliveredMessages) {
20260
20378
  sentMessages = getFromAllMessagesByMessageId('', '', true);
@@ -20267,40 +20385,40 @@ function getMessagesQuery(action) {
20267
20385
  return !messagesMap[msg.tid || ''];
20268
20386
  });
20269
20387
  result.messages = [].concat(result.messages, filteredSentMessages).slice(filteredSentMessages.length);
20270
- _context10.n = 12;
20388
+ _context10.n = 8;
20271
20389
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20272
- case 12:
20273
- setMessagesToMap(channel.id, result.messages);
20390
+ case 8:
20391
+ setMessagesToMap(channel.id, result.messages, (_result$messages$ = result.messages[0]) === null || _result$messages$ === void 0 ? void 0 : _result$messages$.id, (_result$messages = result.messages[result.messages.length - 1]) === null || _result$messages === void 0 ? void 0 : _result$messages.id);
20274
20392
  setAllMessages(result.messages);
20275
- _context10.n = 13;
20393
+ _context10.n = 9;
20276
20394
  return put(setMessagesHasPrevAC(true));
20277
- case 13:
20278
- _context10.n = 16;
20395
+ case 9:
20396
+ _context10.n = 12;
20279
20397
  break;
20280
- case 14:
20398
+ case 10:
20281
20399
  result.messages = getFromAllMessagesByMessageId('', '', true);
20282
- _context10.n = 15;
20400
+ _context10.n = 11;
20283
20401
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20284
- case 15:
20285
- _context10.n = 16;
20402
+ case 11:
20403
+ _context10.n = 12;
20286
20404
  return put(setMessagesHasPrevAC(true));
20287
- case 16:
20288
- _context10.n = 17;
20405
+ case 12:
20406
+ _context10.n = 13;
20289
20407
  return put(setMessagesHasNextAC(false));
20290
- case 17:
20408
+ case 13:
20291
20409
  setHasNextCached(false);
20292
20410
  if (!(messageId && scrollToMessage)) {
20293
- _context10.n = 18;
20411
+ _context10.n = 14;
20294
20412
  break;
20295
20413
  }
20296
- _context10.n = 18;
20414
+ _context10.n = 14;
20297
20415
  return put(setScrollToMessagesAC(messageId, highlight, behavior));
20298
- case 18:
20299
- _context10.n = 72;
20416
+ case 14:
20417
+ _context10.n = 52;
20300
20418
  break;
20301
- case 19:
20419
+ case 15:
20302
20420
  if (!messageId) {
20303
- _context10.n = 38;
20421
+ _context10.n = 27;
20304
20422
  break;
20305
20423
  }
20306
20424
  _allMessages = getAllMessages();
@@ -20309,302 +20427,187 @@ function getMessagesQuery(action) {
20309
20427
  });
20310
20428
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
20311
20429
  if (!(messageIndex >= maxLengthPart)) {
20312
- _context10.n = 22;
20430
+ _context10.n = 18;
20313
20431
  break;
20314
20432
  }
20315
20433
  result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20316
- _context10.n = 20;
20434
+ _context10.n = 16;
20317
20435
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20318
- case 20:
20436
+ case 16:
20319
20437
  setHasPrevCached(messageIndex > maxLengthPart);
20320
20438
  setHasNextCached(_allMessages.length > maxLengthPart);
20321
- _context10.n = 21;
20439
+ _context10.n = 17;
20322
20440
  return put(setMessagesHasPrevAC(true));
20323
- case 21:
20324
- _context10.n = 34;
20441
+ case 17:
20442
+ _context10.n = 23;
20325
20443
  break;
20326
- case 22:
20444
+ case 18:
20327
20445
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20328
20446
  log.info('load by message id from server ...............', messageId);
20329
20447
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20330
- _context10.n = 24;
20448
+ _context10.n = 20;
20331
20449
  break;
20332
20450
  }
20333
- _context10.n = 23;
20451
+ _context10.n = 19;
20334
20452
  return call(messageQuery.loadNearMessageId, messageId);
20335
- case 23:
20336
- _t11 = _context10.v;
20337
- _context10.n = 25;
20338
- break;
20339
- case 24:
20340
- _t11 = {
20341
- messages: [],
20342
- hasNext: false
20343
- };
20344
- case 25:
20345
- result = _t11;
20346
- if (!(result.messages.length === 50)) {
20347
- _context10.n = 32;
20348
- break;
20349
- }
20350
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20351
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20352
- _context10.n = 27;
20353
- break;
20354
- }
20355
- _context10.n = 26;
20356
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20357
- case 26:
20358
- _t12 = _context10.v;
20359
- _context10.n = 28;
20360
- break;
20361
- case 27:
20362
- _t12 = {
20363
- messages: [],
20364
- hasNext: false
20365
- };
20366
- case 28:
20367
- _secondResult = _t12;
20368
- messageQuery.reverse = false;
20369
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20370
- _context10.n = 30;
20371
- break;
20372
- }
20373
- _context10.n = 29;
20374
- return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20375
- case 29:
20376
- _t13 = _context10.v;
20377
- _context10.n = 31;
20453
+ case 19:
20454
+ _t10 = _context10.v;
20455
+ _context10.n = 21;
20378
20456
  break;
20379
- case 30:
20380
- _t13 = {
20457
+ case 20:
20458
+ _t10 = {
20381
20459
  messages: [],
20382
20460
  hasNext: false
20383
20461
  };
20384
- case 31:
20385
- thirdResult = _t13;
20386
- result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
20387
- result.hasNext = _secondResult.hasNext;
20388
- messageQuery.reverse = true;
20389
- _context10.n = 32;
20390
- return put(setMessagesHasPrevAC(_secondResult.hasNext));
20391
- case 32:
20392
- _context10.n = 33;
20462
+ case 21:
20463
+ result = _t10;
20464
+ _context10.n = 22;
20393
20465
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20394
- case 33:
20395
- setMessagesToMap(channel.id, result.messages);
20466
+ case 22:
20467
+ setMessagesToMap(channel.id, result.messages, (_result$messages$2 = result.messages[0]) === null || _result$messages$2 === void 0 ? void 0 : _result$messages$2.id, (_result$messages2 = result.messages[result.messages.length - 1]) === null || _result$messages2 === void 0 ? void 0 : _result$messages2.id);
20396
20468
  setAllMessages([].concat(result.messages));
20397
20469
  setHasPrevCached(false);
20398
20470
  setHasNextCached(false);
20399
- case 34:
20400
- _context10.n = 35;
20471
+ case 23:
20472
+ _context10.n = 24;
20401
20473
  return put(setMessagesHasNextAC(true));
20402
- case 35:
20474
+ case 24:
20403
20475
  if (!scrollToMessage) {
20404
- _context10.n = 36;
20476
+ _context10.n = 25;
20405
20477
  break;
20406
20478
  }
20407
- _context10.n = 36;
20408
- return put(setScrollToMessagesAC(messageId, true, behavior));
20409
- case 36:
20410
- _context10.n = 37;
20479
+ _context10.n = 25;
20480
+ return put(setScrollToMessagesAC(messageId, highlight, behavior));
20481
+ case 25:
20482
+ _context10.n = 26;
20411
20483
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20412
- case 37:
20413
- _context10.n = 72;
20484
+ case 26:
20485
+ _context10.n = 52;
20414
20486
  break;
20415
- case 38:
20487
+ case 27:
20416
20488
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20417
- _context10.n = 61;
20489
+ _context10.n = 39;
20418
20490
  break;
20419
20491
  }
20420
- setMessagesToMap(channel.id, []);
20421
20492
  setAllMessages([]);
20422
20493
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20423
20494
  if (!Number(channel.lastDisplayedMessageId)) {
20424
- _context10.n = 50;
20495
+ _context10.n = 31;
20425
20496
  break;
20426
20497
  }
20427
20498
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20428
- _context10.n = 40;
20499
+ _context10.n = 29;
20429
20500
  break;
20430
20501
  }
20431
- _context10.n = 39;
20502
+ _context10.n = 28;
20432
20503
  return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20433
- case 39:
20434
- _t14 = _context10.v;
20435
- _context10.n = 41;
20436
- break;
20437
- case 40:
20438
- _t14 = {
20439
- messages: [],
20440
- hasNext: false
20441
- };
20442
- case 41:
20443
- result = _t14;
20444
- if (!(result.messages.length === 50)) {
20445
- _context10.n = 49;
20446
- break;
20447
- }
20448
- messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20449
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20450
- _context10.n = 43;
20451
- break;
20452
- }
20453
- _context10.n = 42;
20454
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20455
- case 42:
20456
- _t15 = _context10.v;
20457
- _context10.n = 44;
20458
- break;
20459
- case 43:
20460
- _t15 = {
20461
- messages: [],
20462
- hasNext: false
20463
- };
20464
- case 44:
20465
- _secondResult2 = _t15;
20466
- if (!(channel.newMessageCount > 25)) {
20467
- _context10.n = 48;
20468
- break;
20469
- }
20470
- messageQuery.reverse = false;
20471
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20472
- _context10.n = 46;
20473
- break;
20474
- }
20475
- _context10.n = 45;
20476
- return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20477
- case 45:
20478
- _t16 = _context10.v;
20479
- _context10.n = 47;
20504
+ case 28:
20505
+ _t11 = _context10.v;
20506
+ _context10.n = 30;
20480
20507
  break;
20481
- case 46:
20482
- _t16 = {
20508
+ case 29:
20509
+ _t11 = {
20483
20510
  messages: [],
20484
20511
  hasNext: false
20485
20512
  };
20486
- case 47:
20487
- _thirdResult = _t16;
20488
- result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
20489
- messageQuery.reverse = true;
20490
- _context10.n = 49;
20491
- break;
20492
- case 48:
20493
- result.messages = [].concat(_secondResult2.messages, result.messages);
20494
- case 49:
20495
- _context10.n = 57;
20513
+ case 30:
20514
+ result = _t11;
20515
+ _context10.n = 35;
20496
20516
  break;
20497
- case 50:
20517
+ case 31:
20498
20518
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20499
- _context10.n = 52;
20519
+ _context10.n = 33;
20500
20520
  break;
20501
20521
  }
20502
- _context10.n = 51;
20522
+ _context10.n = 32;
20503
20523
  return call(messageQuery.loadPrevious);
20504
- case 51:
20505
- _t17 = _context10.v;
20506
- _context10.n = 53;
20507
- break;
20508
- case 52:
20509
- _t17 = {
20510
- messages: [],
20511
- hasNext: false
20512
- };
20513
- case 53:
20514
- result = _t17;
20515
- if (!(result.messages.length === 50)) {
20516
- _context10.n = 57;
20517
- break;
20518
- }
20519
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20520
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20521
- _context10.n = 55;
20522
- break;
20523
- }
20524
- _context10.n = 54;
20525
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20526
- case 54:
20527
- _t18 = _context10.v;
20528
- _context10.n = 56;
20524
+ case 32:
20525
+ _t12 = _context10.v;
20526
+ _context10.n = 34;
20529
20527
  break;
20530
- case 55:
20531
- _t18 = {
20528
+ case 33:
20529
+ _t12 = {
20532
20530
  messages: [],
20533
20531
  hasNext: false
20534
20532
  };
20535
- case 56:
20536
- _secondResult3 = _t18;
20537
- result.messages = [].concat(_secondResult3.messages, result.messages);
20538
- result.hasNext = _secondResult3.hasNext;
20539
- case 57:
20540
- _context10.n = 58;
20533
+ case 34:
20534
+ result = _t12;
20535
+ case 35:
20536
+ _context10.n = 36;
20541
20537
  return put(setMessagesHasPrevAC(true));
20542
- case 58:
20543
- _context10.n = 59;
20538
+ case 36:
20539
+ _context10.n = 37;
20544
20540
  return put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20545
- case 59:
20546
- setMessagesToMap(channel.id, result.messages);
20541
+ case 37:
20542
+ setMessagesToMap(channel.id, result.messages, (_result$messages$3 = result.messages[0]) === null || _result$messages$3 === void 0 ? void 0 : _result$messages$3.id, (_result$messages3 = result.messages[result.messages.length - 1]) === null || _result$messages3 === void 0 ? void 0 : _result$messages3.id);
20547
20543
  setAllMessages([].concat(result.messages));
20548
- _context10.n = 60;
20544
+ _context10.n = 38;
20549
20545
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20550
- case 60:
20551
- _context10.n = 72;
20546
+ case 38:
20547
+ _context10.n = 52;
20552
20548
  break;
20553
- case 61:
20554
- setMessagesToMap(channel.id, []);
20555
- setAllMessages([]);
20549
+ case 39:
20556
20550
  if (!(cachedMessages && cachedMessages.length)) {
20557
- _context10.n = 62;
20551
+ _context10.n = 41;
20558
20552
  break;
20559
20553
  }
20560
- setMessagesToMap(channel.id, []);
20561
- setAllMessages([].concat(cachedMessages));
20562
- _context10.n = 62;
20563
- return put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
20564
- case 62:
20554
+ parsedMessages = JSON.parse(JSON.stringify(cachedMessages));
20555
+ setMessagesToMap(channel.id, parsedMessages, (_parsedMessages$ = parsedMessages[0]) === null || _parsedMessages$ === void 0 ? void 0 : _parsedMessages$.id, (_parsedMessages = parsedMessages[parsedMessages.length - 1]) === null || _parsedMessages === void 0 ? void 0 : _parsedMessages.id);
20556
+ setAllMessages(parsedMessages);
20557
+ _context10.n = 40;
20558
+ return put(setMessagesAC(parsedMessages));
20559
+ case 40:
20560
+ _filteredPendingMessages = getFilteredPendingMessages(parsedMessages);
20561
+ _context10.n = 41;
20562
+ return put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20563
+ case 41:
20565
20564
  log.info('load message from server');
20565
+ result = {
20566
+ messages: [],
20567
+ hasNext: false
20568
+ };
20569
+ if (!((channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId) > (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage4 = channel.lastMessage) === null || _channel$lastMessage4 === void 0 ? void 0 : _channel$lastMessage4.id))) {
20570
+ _context10.n = 45;
20571
+ break;
20572
+ }
20566
20573
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20567
- _context10.n = 64;
20574
+ _context10.n = 43;
20568
20575
  break;
20569
20576
  }
20570
- _context10.n = 63;
20571
- return call(messageQuery.loadPrevious);
20572
- case 63:
20573
- _t19 = _context10.v;
20574
- _context10.n = 65;
20577
+ _context10.n = 42;
20578
+ return call(messageQuery.loadPreviousMessageId, channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId);
20579
+ case 42:
20580
+ _t13 = _context10.v;
20581
+ _context10.n = 44;
20575
20582
  break;
20576
- case 64:
20577
- _t19 = {
20583
+ case 43:
20584
+ _t13 = {
20578
20585
  messages: [],
20579
20586
  hasNext: false
20580
20587
  };
20581
- case 65:
20582
- result = _t19;
20583
- if (!(result.messages.length === 50)) {
20584
- _context10.n = 69;
20585
- break;
20586
- }
20587
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20588
+ case 44:
20589
+ result = _t13;
20590
+ _context10.n = 49;
20591
+ break;
20592
+ case 45:
20588
20593
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20589
- _context10.n = 67;
20594
+ _context10.n = 47;
20590
20595
  break;
20591
20596
  }
20592
- _context10.n = 66;
20593
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20594
- case 66:
20595
- _t20 = _context10.v;
20596
- _context10.n = 68;
20597
+ _context10.n = 46;
20598
+ return call(messageQuery.loadPrevious);
20599
+ case 46:
20600
+ _t14 = _context10.v;
20601
+ _context10.n = 48;
20597
20602
  break;
20598
- case 67:
20599
- _t20 = {
20603
+ case 47:
20604
+ _t14 = {
20600
20605
  messages: [],
20601
20606
  hasNext: false
20602
20607
  };
20603
- case 68:
20604
- _secondResult4 = _t20;
20605
- result.messages = [].concat(_secondResult4.messages, result.messages);
20606
- result.hasNext = _secondResult4.hasNext;
20607
- case 69:
20608
+ case 48:
20609
+ result = _t14;
20610
+ case 49:
20608
20611
  updatedMessages = [];
20609
20612
  result.messages.forEach(function (msg) {
20610
20613
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20614,70 +20617,73 @@ function getMessagesQuery(action) {
20614
20617
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20615
20618
  updatedMessages.push(updatedMessage || msg);
20616
20619
  });
20617
- _context10.n = 70;
20618
- return call(updateMessages, channel, updatedMessages);
20619
- case 70:
20620
- _context10.n = 71;
20620
+ messageIdForLoad = (channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId) > (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage5 = channel.lastMessage) === null || _channel$lastMessage5 === void 0 ? void 0 : _channel$lastMessage5.id) ? (channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId) || '0' : (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage6 = channel.lastMessage) === null || _channel$lastMessage6 === void 0 ? void 0 : _channel$lastMessage6.id) || '0';
20621
+ _context10.n = 50;
20622
+ return call(updateMessages, channel, updatedMessages, (_updatedMessages$ = updatedMessages[0]) === null || _updatedMessages$ === void 0 ? void 0 : _updatedMessages$.id, messageIdForLoad);
20623
+ case 50:
20624
+ _context10.n = 51;
20621
20625
  return put(setMessagesHasPrevAC(true));
20622
- case 71:
20623
- _context10.n = 72;
20626
+ case 51:
20627
+ _context10.n = 52;
20624
20628
  return put(setMessagesHasNextAC(false));
20625
- case 72:
20626
- pendingMessages = getPendingMessages(channel.id);
20627
- if (!(pendingMessages && pendingMessages.length)) {
20628
- _context10.n = 73;
20629
- break;
20630
- }
20631
- _messagesMap = {};
20632
- result.messages.forEach(function (msg) {
20633
- _messagesMap[msg.tid || ''] = msg;
20634
- });
20635
- filteredPendingMessages = pendingMessages.filter(function (msg) {
20636
- return !_messagesMap[msg.tid || ''];
20637
- });
20638
- _context10.n = 73;
20629
+ case 52:
20630
+ filteredPendingMessages = getFilteredPendingMessages(result.messages);
20631
+ _context10.n = 53;
20639
20632
  return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20640
- case 73:
20633
+ case 53:
20641
20634
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20642
20635
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20643
- _context10.n = 75;
20636
+ _context10.n = 55;
20644
20637
  break;
20645
20638
  }
20646
- _context10.n = 74;
20639
+ _context10.n = 54;
20647
20640
  return put(setWaitToSendPendingMessagesAC(false));
20648
- case 74:
20649
- _context10.n = 75;
20641
+ case 54:
20642
+ _context10.n = 55;
20650
20643
  return spawn(sendPendingMessages, connectionState);
20651
- case 75:
20652
- _context10.n = 77;
20644
+ case 55:
20645
+ _context10.n = 56;
20646
+ return call(SceytChatClient.getChannel, channel.id, true);
20647
+ case 56:
20648
+ updatedChannel = _context10.v;
20649
+ if (!updatedChannel) {
20650
+ _context10.n = 58;
20651
+ break;
20652
+ }
20653
+ _context10.n = 57;
20654
+ return put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
20655
+ case 57:
20656
+ updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
20657
+ case 58:
20658
+ _context10.n = 60;
20653
20659
  break;
20654
- case 76:
20660
+ case 59:
20655
20661
  if (!channel.isMockChannel) {
20656
- _context10.n = 77;
20662
+ _context10.n = 60;
20657
20663
  break;
20658
20664
  }
20659
- _context10.n = 77;
20665
+ _context10.n = 60;
20660
20666
  return put(setMessagesAC([]));
20661
- case 77:
20662
- _context10.n = 79;
20667
+ case 60:
20668
+ _context10.n = 62;
20663
20669
  break;
20664
- case 78:
20665
- _context10.p = 78;
20666
- _t21 = _context10.v;
20667
- log.error('error in message query', _t21);
20668
- case 79:
20669
- _context10.p = 79;
20670
- _context10.n = 80;
20670
+ case 61:
20671
+ _context10.p = 61;
20672
+ _t15 = _context10.v;
20673
+ log.error('error in message query', _t15);
20674
+ case 62:
20675
+ _context10.p = 62;
20676
+ _context10.n = 63;
20671
20677
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20672
- case 80:
20673
- return _context10.f(79);
20674
- case 81:
20678
+ case 63:
20679
+ return _context10.f(62);
20680
+ case 64:
20675
20681
  return _context10.a(2);
20676
20682
  }
20677
- }, _marked7$1, null, [[0, 78, 79, 81]]);
20683
+ }, _marked7$1, null, [[0, 61, 62, 64]]);
20678
20684
  }
20679
20685
  function getMessageQuery(action) {
20680
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t22;
20686
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t16;
20681
20687
  return _regenerator().w(function (_context11) {
20682
20688
  while (1) switch (_context11.p = _context11.n) {
20683
20689
  case 0:
@@ -20727,15 +20733,15 @@ function getMessageQuery(action) {
20727
20733
  break;
20728
20734
  case 7:
20729
20735
  _context11.p = 7;
20730
- _t22 = _context11.v;
20731
- log.error('error in message query', _t22);
20736
+ _t16 = _context11.v;
20737
+ log.error('error in message query', _t16);
20732
20738
  case 8:
20733
20739
  return _context11.a(2);
20734
20740
  }
20735
20741
  }, _marked8$1, null, [[0, 7]]);
20736
20742
  }
20737
20743
  function loadMoreMessages(action) {
20738
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t23;
20744
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _result$messages$4, _result$messages4, _result$messages$5, _result$messages5, _t17;
20739
20745
  return _regenerator().w(function (_context12) {
20740
20746
  while (1) switch (_context12.p = _context12.n) {
20741
20747
  case 0:
@@ -20779,7 +20785,7 @@ function loadMoreMessages(action) {
20779
20785
  result = _context12.v;
20780
20786
  if (result.messages.length) {
20781
20787
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.PREV);
20782
- setMessagesToMap(channelId, result.messages);
20788
+ setMessagesToMap(channelId, result.messages, (_result$messages$4 = result.messages[0]) === null || _result$messages$4 === void 0 ? void 0 : _result$messages$4.id, (_result$messages4 = result.messages[result.messages.length - 1]) === null || _result$messages4 === void 0 ? void 0 : _result$messages4.id);
20783
20789
  }
20784
20790
  _context12.n = 5;
20785
20791
  return put(setMessagesHasPrevAC(result.hasNext));
@@ -20807,7 +20813,7 @@ function loadMoreMessages(action) {
20807
20813
  result = _context12.v;
20808
20814
  if (result.messages.length) {
20809
20815
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.NEXT);
20810
- setMessagesToMap(channelId, result.messages);
20816
+ setMessagesToMap(channelId, result.messages, (_result$messages$5 = result.messages[0]) === null || _result$messages$5 === void 0 ? void 0 : _result$messages$5.id, (_result$messages5 = result.messages[result.messages.length - 1]) === null || _result$messages5 === void 0 ? void 0 : _result$messages5.id);
20811
20817
  }
20812
20818
  _context12.n = 9;
20813
20819
  return put(setMessagesHasNextAC(result.hasNext));
@@ -20848,15 +20854,15 @@ function loadMoreMessages(action) {
20848
20854
  break;
20849
20855
  case 18:
20850
20856
  _context12.p = 18;
20851
- _t23 = _context12.v;
20852
- log.error('error in load more messages', _t23);
20857
+ _t17 = _context12.v;
20858
+ log.error('error in load more messages', _t17);
20853
20859
  case 19:
20854
20860
  return _context12.a(2);
20855
20861
  }
20856
20862
  }, _marked9$1, null, [[0, 18]]);
20857
20863
  }
20858
20864
  function addReaction(action) {
20859
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t24;
20865
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t18;
20860
20866
  return _regenerator().w(function (_context13) {
20861
20867
  while (1) switch (_context13.p = _context13.n) {
20862
20868
  case 0:
@@ -20909,15 +20915,15 @@ function addReaction(action) {
20909
20915
  break;
20910
20916
  case 8:
20911
20917
  _context13.p = 8;
20912
- _t24 = _context13.v;
20913
- log.error('ERROR in add reaction', _t24.message);
20918
+ _t18 = _context13.v;
20919
+ log.error('ERROR in add reaction', _t18.message);
20914
20920
  case 9:
20915
20921
  return _context13.a(2);
20916
20922
  }
20917
20923
  }, _marked0$1, null, [[0, 8]]);
20918
20924
  }
20919
20925
  function deleteReaction(action) {
20920
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t25;
20926
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t19;
20921
20927
  return _regenerator().w(function (_context14) {
20922
20928
  while (1) switch (_context14.p = _context14.n) {
20923
20929
  case 0:
@@ -20965,15 +20971,15 @@ function deleteReaction(action) {
20965
20971
  break;
20966
20972
  case 7:
20967
20973
  _context14.p = 7;
20968
- _t25 = _context14.v;
20969
- log.error('ERROR in delete reaction', _t25.message);
20974
+ _t19 = _context14.v;
20975
+ log.error('ERROR in delete reaction', _t19.message);
20970
20976
  case 8:
20971
20977
  return _context14.a(2);
20972
20978
  }
20973
20979
  }, _marked1$1, null, [[0, 7]]);
20974
20980
  }
20975
20981
  function getReactions(action) {
20976
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t26;
20982
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t20;
20977
20983
  return _regenerator().w(function (_context15) {
20978
20984
  while (1) switch (_context15.p = _context15.n) {
20979
20985
  case 0:
@@ -21008,15 +21014,15 @@ function getReactions(action) {
21008
21014
  break;
21009
21015
  case 6:
21010
21016
  _context15.p = 6;
21011
- _t26 = _context15.v;
21012
- log.error('ERROR in get reactions', _t26.message);
21017
+ _t20 = _context15.v;
21018
+ log.error('ERROR in get reactions', _t20.message);
21013
21019
  case 7:
21014
21020
  return _context15.a(2);
21015
21021
  }
21016
21022
  }, _marked10$1, null, [[0, 6]]);
21017
21023
  }
21018
21024
  function loadMoreReactions(action) {
21019
- var payload, limit, ReactionQuery, result, _t27;
21025
+ var payload, limit, ReactionQuery, result, _t21;
21020
21026
  return _regenerator().w(function (_context16) {
21021
21027
  while (1) switch (_context16.p = _context16.n) {
21022
21028
  case 0:
@@ -21044,15 +21050,15 @@ function loadMoreReactions(action) {
21044
21050
  break;
21045
21051
  case 5:
21046
21052
  _context16.p = 5;
21047
- _t27 = _context16.v;
21048
- log.error('ERROR in load more reactions', _t27.message);
21053
+ _t21 = _context16.v;
21054
+ log.error('ERROR in load more reactions', _t21.message);
21049
21055
  case 6:
21050
21056
  return _context16.a(2);
21051
21057
  }
21052
21058
  }, _marked11$1, null, [[0, 5]]);
21053
21059
  }
21054
21060
  function getMessageAttachments(action) {
21055
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t28;
21061
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t22;
21056
21062
  return _regenerator().w(function (_context17) {
21057
21063
  while (1) switch (_context17.p = _context17.n) {
21058
21064
  case 0:
@@ -21130,15 +21136,15 @@ function getMessageAttachments(action) {
21130
21136
  break;
21131
21137
  case 13:
21132
21138
  _context17.p = 13;
21133
- _t28 = _context17.v;
21134
- log.error('error in message attachment query', _t28);
21139
+ _t22 = _context17.v;
21140
+ log.error('error in message attachment query', _t22);
21135
21141
  case 14:
21136
21142
  return _context17.a(2);
21137
21143
  }
21138
21144
  }, _marked12$1, null, [[0, 13]]);
21139
21145
  }
21140
21146
  function loadMoreMessageAttachments(action) {
21141
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t29;
21147
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t23;
21142
21148
  return _regenerator().w(function (_context18) {
21143
21149
  while (1) switch (_context18.p = _context18.n) {
21144
21150
  case 0:
@@ -21182,15 +21188,15 @@ function loadMoreMessageAttachments(action) {
21182
21188
  break;
21183
21189
  case 8:
21184
21190
  _context18.p = 8;
21185
- _t29 = _context18.v;
21186
- log.error('error in message attachment query', _t29);
21191
+ _t23 = _context18.v;
21192
+ log.error('error in message attachment query', _t23);
21187
21193
  case 9:
21188
21194
  return _context18.a(2);
21189
21195
  }
21190
21196
  }, _marked13$1, null, [[0, 8]]);
21191
21197
  }
21192
21198
  function pauseAttachmentUploading(action) {
21193
- var attachmentId, isPaused, _t30;
21199
+ var attachmentId, isPaused, _t24;
21194
21200
  return _regenerator().w(function (_context19) {
21195
21201
  while (1) switch (_context19.p = _context19.n) {
21196
21202
  case 0:
@@ -21212,15 +21218,15 @@ function pauseAttachmentUploading(action) {
21212
21218
  break;
21213
21219
  case 2:
21214
21220
  _context19.p = 2;
21215
- _t30 = _context19.v;
21216
- log.error('error in pause attachment uploading', _t30);
21221
+ _t24 = _context19.v;
21222
+ log.error('error in pause attachment uploading', _t24);
21217
21223
  case 3:
21218
21224
  return _context19.a(2);
21219
21225
  }
21220
21226
  }, _marked14$1, null, [[0, 2]]);
21221
21227
  }
21222
21228
  function resumeAttachmentUploading(action) {
21223
- var attachmentId, isResumed, _t31;
21229
+ var attachmentId, isResumed, _t25;
21224
21230
  return _regenerator().w(function (_context20) {
21225
21231
  while (1) switch (_context20.p = _context20.n) {
21226
21232
  case 0:
@@ -21243,15 +21249,15 @@ function resumeAttachmentUploading(action) {
21243
21249
  break;
21244
21250
  case 2:
21245
21251
  _context20.p = 2;
21246
- _t31 = _context20.v;
21247
- log.error('error in resume attachment uploading', _t31);
21252
+ _t25 = _context20.v;
21253
+ log.error('error in resume attachment uploading', _t25);
21248
21254
  case 3:
21249
21255
  return _context20.a(2);
21250
21256
  }
21251
21257
  }, _marked15$1, null, [[0, 2]]);
21252
21258
  }
21253
21259
  function getMessageMarkers(action) {
21254
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t32;
21260
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t26;
21255
21261
  return _regenerator().w(function (_context21) {
21256
21262
  while (1) switch (_context21.p = _context21.n) {
21257
21263
  case 0:
@@ -21281,8 +21287,8 @@ function getMessageMarkers(action) {
21281
21287
  break;
21282
21288
  case 5:
21283
21289
  _context21.p = 5;
21284
- _t32 = _context21.v;
21285
- log.error('error in get message markers', _t32);
21290
+ _t26 = _context21.v;
21291
+ log.error('error in get message markers', _t26);
21286
21292
  case 6:
21287
21293
  _context21.p = 6;
21288
21294
  _context21.n = 7;
@@ -21420,7 +21426,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21420
21426
  }, _marked18$1);
21421
21427
  }
21422
21428
  function addPollVote(action) {
21423
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values2, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t33;
21429
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t27;
21424
21430
  return _regenerator().w(function (_context24) {
21425
21431
  while (1) switch (_context24.p = _context24.n) {
21426
21432
  case 0:
@@ -21479,7 +21485,7 @@ function addPollVote(action) {
21479
21485
  _context24.n = 3;
21480
21486
  break;
21481
21487
  }
21482
- currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21488
+ currentMessage = ((_Object$values = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.find(function (msg) {
21483
21489
  return msg.id === message.id || msg.tid === message.id;
21484
21490
  })) || message;
21485
21491
  hasNext = ((_store$getState$Messa = store.getState().MessageReducer.pollVotesHasMore) === null || _store$getState$Messa === void 0 ? void 0 : _store$getState$Messa[pollId]) || false;
@@ -21519,8 +21525,8 @@ function addPollVote(action) {
21519
21525
  break;
21520
21526
  case 8:
21521
21527
  _context24.p = 8;
21522
- _t33 = _context24.v;
21523
- log.error('error in add poll vote', _t33);
21528
+ _t27 = _context24.v;
21529
+ log.error('error in add poll vote', _t27);
21524
21530
  case 9:
21525
21531
  return _context24.a(2);
21526
21532
  }
@@ -21621,7 +21627,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21621
21627
  }, _marked21$1);
21622
21628
  }
21623
21629
  function deletePollVote(action) {
21624
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values3, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t34;
21630
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t28;
21625
21631
  return _regenerator().w(function (_context27) {
21626
21632
  while (1) switch (_context27.p = _context27.n) {
21627
21633
  case 0:
@@ -21667,7 +21673,7 @@ function deletePollVote(action) {
21667
21673
  _context27.n = 4;
21668
21674
  break;
21669
21675
  }
21670
- currentMessage = ((_Object$values3 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values3 === void 0 ? void 0 : _Object$values3.find(function (msg) {
21676
+ currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21671
21677
  return msg.id === message.id || msg.tid === message.id;
21672
21678
  })) || message;
21673
21679
  _context27.n = 3;
@@ -21706,8 +21712,8 @@ function deletePollVote(action) {
21706
21712
  break;
21707
21713
  case 9:
21708
21714
  _context27.p = 9;
21709
- _t34 = _context27.v;
21710
- log.error('error in delete poll vote', _t34);
21715
+ _t28 = _context27.v;
21716
+ log.error('error in delete poll vote', _t28);
21711
21717
  case 10:
21712
21718
  return _context27.a(2);
21713
21719
  }
@@ -21785,7 +21791,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
21785
21791
  }, _marked24$1);
21786
21792
  }
21787
21793
  function closePoll(action) {
21788
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t35;
21794
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t29;
21789
21795
  return _regenerator().w(function (_context30) {
21790
21796
  while (1) switch (_context30.p = _context30.n) {
21791
21797
  case 0:
@@ -21818,8 +21824,8 @@ function closePoll(action) {
21818
21824
  break;
21819
21825
  case 4:
21820
21826
  _context30.p = 4;
21821
- _t35 = _context30.v;
21822
- log.error('error in close poll', _t35);
21827
+ _t29 = _context30.v;
21828
+ log.error('error in close poll', _t29);
21823
21829
  case 5:
21824
21830
  return _context30.a(2);
21825
21831
  }
@@ -21908,7 +21914,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21908
21914
  }, _marked27$1);
21909
21915
  }
21910
21916
  function retractPollVote(action) {
21911
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t36;
21917
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t30;
21912
21918
  return _regenerator().w(function (_context33) {
21913
21919
  while (1) switch (_context33.p = _context33.n) {
21914
21920
  case 0:
@@ -21950,15 +21956,15 @@ function retractPollVote(action) {
21950
21956
  break;
21951
21957
  case 4:
21952
21958
  _context33.p = 4;
21953
- _t36 = _context33.v;
21954
- log.error('error in retract poll vote', _t36);
21959
+ _t30 = _context33.v;
21960
+ log.error('error in retract poll vote', _t30);
21955
21961
  case 5:
21956
21962
  return _context33.a(2);
21957
21963
  }
21958
21964
  }, _marked28$1, null, [[0, 4]]);
21959
21965
  }
21960
21966
  function resendPendingPollActions(action) {
21961
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t37;
21967
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t31;
21962
21968
  return _regenerator().w(function (_context34) {
21963
21969
  while (1) switch (_context34.p = _context34.n) {
21964
21970
  case 0:
@@ -21974,13 +21980,6 @@ function resendPendingPollActions(action) {
21974
21980
  case 1:
21975
21981
  pendingPollActionsMap = store.getState().MessageReducer.pendingPollActions;
21976
21982
  pendingPollActionsMapCopy = JSON.parse(JSON.stringify(pendingPollActionsMap));
21977
- _context34.n = 2;
21978
- return call(function () {
21979
- return new Promise(function (resolve) {
21980
- return setTimeout(resolve, 1000);
21981
- });
21982
- });
21983
- case 2:
21984
21983
  Object.keys(pendingPollActionsMapCopy).forEach(function (messageId) {
21985
21984
  pendingPollActionsMapCopy[messageId].forEach(function (pendingAction) {
21986
21985
  var type = pendingAction.type,
@@ -22010,19 +22009,19 @@ function resendPendingPollActions(action) {
22010
22009
  }
22011
22010
  });
22012
22011
  });
22013
- _context34.n = 4;
22012
+ _context34.n = 3;
22014
22013
  break;
22014
+ case 2:
22015
+ _context34.p = 2;
22016
+ _t31 = _context34.v;
22017
+ log.error('error in resend pending poll actions', _t31);
22015
22018
  case 3:
22016
- _context34.p = 3;
22017
- _t37 = _context34.v;
22018
- log.error('error in resend pending poll actions', _t37);
22019
- case 4:
22020
22019
  return _context34.a(2);
22021
22020
  }
22022
- }, _marked29$1, null, [[0, 3]]);
22021
+ }, _marked29$1, null, [[0, 2]]);
22023
22022
  }
22024
22023
  function getPollVotes(action) {
22025
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t38;
22024
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t32;
22026
22025
  return _regenerator().w(function (_context35) {
22027
22026
  while (1) switch (_context35.p = _context35.n) {
22028
22027
  case 0:
@@ -22088,8 +22087,8 @@ function getPollVotes(action) {
22088
22087
  break;
22089
22088
  case 7:
22090
22089
  _context35.p = 7;
22091
- _t38 = _context35.v;
22092
- log.error('ERROR in get poll votes', _t38);
22090
+ _t32 = _context35.v;
22091
+ log.error('ERROR in get poll votes', _t32);
22093
22092
  _context35.n = 8;
22094
22093
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22095
22094
  case 8:
@@ -22098,7 +22097,7 @@ function getPollVotes(action) {
22098
22097
  }, _marked30$1, null, [[0, 7]]);
22099
22098
  }
22100
22099
  function loadMorePollVotes(action) {
22101
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t39;
22100
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t33;
22102
22101
  return _regenerator().w(function (_context36) {
22103
22102
  while (1) switch (_context36.p = _context36.n) {
22104
22103
  case 0:
@@ -22156,8 +22155,8 @@ function loadMorePollVotes(action) {
22156
22155
  break;
22157
22156
  case 6:
22158
22157
  _context36.p = 6;
22159
- _t39 = _context36.v;
22160
- log.error('ERROR in load more poll votes', _t39);
22158
+ _t33 = _context36.v;
22159
+ log.error('ERROR in load more poll votes', _t33);
22161
22160
  _context36.n = 7;
22162
22161
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22163
22162
  case 7:
@@ -37446,16 +37445,7 @@ var Message$1 = function Message(_ref) {
37446
37445
  setMessageActionsShow(false);
37447
37446
  };
37448
37447
  var handleResendMessage = function handleResendMessage() {
37449
- var messageToResend = _extends({}, message);
37450
- if (message.attachments && message.attachments.length) {
37451
- messageToResend.attachments = message.attachments.map(function (att) {
37452
- var pendingAttachment = getPendingAttachment(att.tid);
37453
- return _extends({}, att, {
37454
- data: new File([pendingAttachment.file], att.data.name)
37455
- });
37456
- });
37457
- }
37458
- dispatch(resendMessageAC(messageToResend, channel.id, connectionStatus));
37448
+ dispatch(resendMessageAC(message, channel.id, connectionStatus));
37459
37449
  setMessageActionsShow(false);
37460
37450
  };
37461
37451
  var handleCopyMessage = function handleCopyMessage() {
@@ -37513,12 +37503,12 @@ var Message$1 = function Message(_ref) {
37513
37503
  setFrequentlyEmojisOpen(false);
37514
37504
  };
37515
37505
  var handleSendReadMarker = function handleSendReadMarker() {
37516
- if (!message.userMarkers.find(function (marker) {
37506
+ if (message.incoming && !message.userMarkers.find(function (marker) {
37517
37507
  return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
37518
37508
  })) {
37519
37509
  if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
37520
37510
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
37521
- }) && message.incoming && !unreadScrollTo) {
37511
+ }) && !unreadScrollTo) {
37522
37512
  dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
37523
37513
  }
37524
37514
  }
@@ -37676,7 +37666,8 @@ var Message$1 = function Message(_ref) {
37676
37666
  withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
37677
37667
  className: 'messageContent'
37678
37668
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
37679
- rtl: ownMessageOnRightSide && !message.incoming
37669
+ rtl: ownMessageOnRightSide && !message.incoming,
37670
+ onClick: handleResendMessage
37680
37671
  }, /*#__PURE__*/React__default.createElement(ErrorIconWrapper, null))), CustomMessageItem ? (/*#__PURE__*/React__default.createElement(CustomMessageItem, {
37681
37672
  key: message.id || message.tid,
37682
37673
  channel: channel,
@@ -37981,7 +37972,7 @@ var MessageReaction = styled.span(_templateObject3$y || (_templateObject3$y = _t
37981
37972
  var ThreadMessageCountContainer = styled.div(_templateObject4$t || (_templateObject4$t = _taggedTemplateLiteralLoose(["\n position: relative;\n color: ", ";\n font-weight: 500;\n font-size: 13px;\n line-height: 15px;\n margin: 12px;\n cursor: pointer;\n\n &::before {\n content: '';\n position: absolute;\n left: -25px;\n top: -21px;\n width: 16px;\n height: 26px;\n border-left: 2px solid #cdcdcf;\n border-bottom: 2px solid #cdcdcf;\n border-radius: 0 0 0 14px;\n }\n"])), function (props) {
37982
37973
  return props.color;
37983
37974
  });
37984
- var FailedMessageIcon = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n"])), function (props) {
37975
+ var FailedMessageIcon = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n cursor: pointer;\n"])), function (props) {
37985
37976
  return !props.rtl && '-24px';
37986
37977
  }, function (props) {
37987
37978
  return props.rtl && '-24px';
@@ -38360,7 +38351,8 @@ var MessageList = function MessageList(_ref2) {
38360
38351
  var handleMessagesListScroll = useCallback(function () {
38361
38352
  try {
38362
38353
  var target = scrollRef.current;
38363
- if (!target) return Promise.resolve();
38354
+ var messageBox = document.getElementById('messageBox');
38355
+ if (!target || !messageBox) return Promise.resolve();
38364
38356
  if (scrollToMentionedMessage) {
38365
38357
  if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
38366
38358
  dispatch(showScrollToNewMessageButtonAC(true));
@@ -38373,9 +38365,12 @@ var MessageList = function MessageList(_ref2) {
38373
38365
  clearTimeout(hideTopDateTimeout.current);
38374
38366
  renderTopDate();
38375
38367
  var forceLoadPrevMessages = false;
38376
- if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
38368
+ if (-target.scrollTop + target.offsetHeight + 100 > messageBox.scrollHeight) {
38377
38369
  forceLoadPrevMessages = true;
38378
38370
  }
38371
+ if (unreadScrollTo) {
38372
+ return Promise.resolve();
38373
+ }
38379
38374
  if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING) {
38380
38375
  dispatch(getMessagesAC(channel, true));
38381
38376
  }
@@ -38390,7 +38385,7 @@ var MessageList = function MessageList(_ref2) {
38390
38385
  }
38391
38386
  var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
38392
38387
  var hasIndex = typeof currentIndex === 'number';
38393
- if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
38388
+ if (hasIndex && currentIndex < 10 || forceLoadPrevMessages) {
38394
38389
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
38395
38390
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
38396
38391
  shouldLoadMessagesRef.current = 'prev';
@@ -38407,7 +38402,7 @@ var MessageList = function MessageList(_ref2) {
38407
38402
  }
38408
38403
  }
38409
38404
  }
38410
- if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
38405
+ if (hasIndex && currentIndex >= messages.length - 10 || target.scrollTop > -100) {
38411
38406
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
38412
38407
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
38413
38408
  shouldLoadMessagesRef.current = 'next';
@@ -38466,7 +38461,7 @@ var MessageList = function MessageList(_ref2) {
38466
38461
  }, 1000 + positiveValue * 0.1);
38467
38462
  }
38468
38463
  } else {
38469
- dispatch(getMessagesAC(channel, undefined, messageId));
38464
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, true, 'smooth', true));
38470
38465
  }
38471
38466
  return Promise.resolve();
38472
38467
  } catch (e) {
@@ -38833,7 +38828,18 @@ var MessageList = function MessageList(_ref2) {
38833
38828
  scrollElement.style.scrollBehavior = 'inherit';
38834
38829
  }
38835
38830
  setScrollIntoView(true);
38836
- var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId);
38831
+ var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId) || null;
38832
+ var newLastDisplayedMessageId = channel.lastDisplayedMessageId;
38833
+ if (!lastReadMessageNode) {
38834
+ for (var index = 0; index < messages.length; index++) {
38835
+ var message = messages[index];
38836
+ if (channel.lastDisplayedMessageId >= message.id && (messages.length < index + 2 || channel.lastDisplayedMessageId <= messages[index + 1].id)) {
38837
+ newLastDisplayedMessageId = message.id;
38838
+ lastReadMessageNode = document.getElementById(newLastDisplayedMessageId);
38839
+ break;
38840
+ }
38841
+ }
38842
+ }
38837
38843
  if (lastReadMessageNode && scrollElement) {
38838
38844
  dispatch(scrollToNewMessageAC(false));
38839
38845
  scrollElement.scrollTo({
@@ -38918,7 +38924,8 @@ var MessageList = function MessageList(_ref2) {
38918
38924
  enableResetScrollToCoords: false,
38919
38925
  replyMessage: messageForReply && messageForReply.id,
38920
38926
  attachmentsSelected: attachmentsSelected,
38921
- className: 'messageBox'
38927
+ className: 'messageBox',
38928
+ id: 'messageBox'
38922
38929
  }, messages.map(function (message, index) {
38923
38930
  var prevMessage = messages[index - 1];
38924
38931
  var nextMessage = messages[index + 1];
@@ -42554,7 +42561,13 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42554
42561
  nodes: [MentionNode],
42555
42562
  onError: onError
42556
42563
  };
42557
- var handleSendTypingState = function handleSendTypingState(typingState) {
42564
+ var handleSendTypingState = function handleSendTypingState(typingState, code) {
42565
+ if (code) {
42566
+ var isTypeKeyPressed = checkIsTypeKeyPressed(code);
42567
+ if (!isTypeKeyPressed) {
42568
+ return;
42569
+ }
42570
+ }
42558
42571
  if (typingState) {
42559
42572
  setInTypingStateTimout(setTimeout(function () {
42560
42573
  setInTypingStateTimout(0);
@@ -42691,11 +42704,11 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42691
42704
  } else {
42692
42705
  if (typingTimout) {
42693
42706
  if (!inTypingStateTimout) {
42694
- handleSendTypingState(true);
42707
+ handleSendTypingState(true, code);
42695
42708
  }
42696
42709
  clearTimeout(typingTimout);
42697
42710
  } else {
42698
- handleSendTypingState(true);
42711
+ handleSendTypingState(true, code);
42699
42712
  }
42700
42713
  setTypingTimout(setTimeout(function () {
42701
42714
  setTypingTimout(0);
@@ -44962,7 +44975,8 @@ var Actions = function Actions(_ref) {
44962
44975
  iconColor: iconPrimary,
44963
44976
  color: textPrimary,
44964
44977
  hoverColor: textPrimary,
44965
- fontSize: actionItemsFontSize
44978
+ fontSize: actionItemsFontSize,
44979
+ flexWrap: 'wrap'
44966
44980
  }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DefaultWatchIcon, {
44967
44981
  "$isLightMode": backgroundColor === '#FFFFFF'
44968
44982
  }), "Disappearing messages", /*#__PURE__*/React__default.createElement(DisappearingMessagesStatusWrapper, null, /*#__PURE__*/React__default.createElement(DisappearingMessagesStatus, {
@@ -45166,7 +45180,7 @@ var DefaultMarkAsReadIcon = styled(SvgLeave)(_templateObject15$3 || (_templateOb
45166
45180
  var DefaultWatchIcon = styled(SvgWatch)(_templateObject16$3 || (_templateObject16$3 = _taggedTemplateLiteralLoose(["\n width: 24px;\n height: 24px;\n\n path.watch-ticks,\n path:nth-child(2) {\n fill: ", " !important;\n }\n"])), function (props) {
45167
45181
  return props.$isLightMode ? '#FFFFFF' : '#000000';
45168
45182
  });
45169
- var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45183
+ var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n ", "\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45170
45184
  return props.fontSize || '15px';
45171
45185
  }, function (props) {
45172
45186
  return props.color;
@@ -45174,6 +45188,8 @@ var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _tagged
45174
45188
  return props.order;
45175
45189
  }, function (props) {
45176
45190
  return props.disableEvent && 'none';
45191
+ }, function (props) {
45192
+ return props.flexWrap && "flex-wrap: " + props.flexWrap + ";";
45177
45193
  }, function (props) {
45178
45194
  return props.iconColor;
45179
45195
  }, function (props) {