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