sceyt-chat-react-uikit 1.7.8-beta.1 → 1.7.8-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.modern.js CHANGED
@@ -9027,6 +9027,9 @@ var handleVoteDetails = function handleVoteDetails(voteDetails, message) {
9027
9027
  voteDetails: newVoteDetails
9028
9028
  });
9029
9029
  };
9030
+ var checkIsTypeKeyPressed = function checkIsTypeKeyPressed(code) {
9031
+ return !(code === 'Enter' || code === 'NumpadEnter' || code === 'Backspace' || code === 'Delete' || code === 'ArrowLeft' || code === 'ArrowRight' || code === 'ArrowUp' || code === 'ArrowDown' || code === 'PageUp' || code === 'PageDown' || code === 'Home' || code === 'End' || code === 'Insert' || code === 'Escape' || code === 'Tab' || code === 'F1' || code === 'F2' || code === 'F3' || code === 'F4' || code === 'F5' || code === 'F6' || code === 'F7' || code === 'F8' || code === 'F9' || code === 'F10' || code === 'F11' || code === 'F12' || code === 'CapsLock' || code === 'Shift' || code === 'ShiftLeft' || code === 'ShiftRight' || code === 'Control' || code === 'ControlLeft' || code === 'ControlRight' || code === 'Alt' || code === 'AltLeft' || code === 'AltRight' || code === 'MetaLeft' || code === 'MetaRight' || code === 'Space' || code === 'Enter' || code === 'NumpadEnter' || code === 'Backspace' || code === 'Delete' || code === 'ArrowLeft' || code === 'ArrowRight' || code === 'ArrowUp' || code === 'ArrowDown' || code === 'PageUp' || code === 'PageDown' || code === 'Home' || code === 'End' || code === 'Insert' || code === 'Escape' || code === 'Tab' || code === 'F1' || code === 'F2' || code === 'F3' || code === 'F4' || code === 'F5' || code === 'F6' || code === 'F7' || code === 'F8' || code === 'F9' || code === 'F10' || code === 'F11' || code === 'F12' || code === 'Shift');
9032
+ };
9030
9033
 
9031
9034
  var baseUrlForInviteMembers = '';
9032
9035
  var autoSelectFitsChannel = false;
@@ -9211,7 +9214,9 @@ function updateChannelLastMessageOnAllChannels(channelId, message) {
9211
9214
  if (updateChannel) {
9212
9215
  var updateMessage = message;
9213
9216
  if (updateChannel.lastMessage && updateChannel.lastMessage.id === message.id && updateChannel.lastMessage.deliveryStatus === MESSAGE_DELIVERY_STATUS.READ) {
9214
- updateMessage.deliveryStatus = MESSAGE_DELIVERY_STATUS.READ;
9217
+ updateMessage = _extends({}, message, {
9218
+ deliveryStatus: MESSAGE_DELIVERY_STATUS.READ
9219
+ });
9215
9220
  }
9216
9221
  updateChannel = _extends({}, updateChannel, {
9217
9222
  lastMessage: updateMessage
@@ -9228,7 +9233,9 @@ function updateChannelOnAllChannels(channelId, config, messageUpdateData) {
9228
9233
  if (messageUpdateData && channel.lastMessage && messageUpdateData.id === channel.lastMessage.id) {
9229
9234
  var updateMessage = messageUpdateData;
9230
9235
  if (channel.lastMessage.id === messageUpdateData.id && channel.lastMessage.deliveryStatus === MESSAGE_DELIVERY_STATUS.READ) {
9231
- updateMessage.deliveryStatus = MESSAGE_DELIVERY_STATUS.READ;
9236
+ updateMessage = _extends({}, messageUpdateData, {
9237
+ deliveryStatus: MESSAGE_DELIVERY_STATUS.READ
9238
+ });
9232
9239
  }
9233
9240
  channel.lastMessage = _extends({}, channel.lastMessage, updateMessage);
9234
9241
  }
@@ -10057,46 +10064,76 @@ var hashString = function hashString(str) {
10057
10064
  }
10058
10065
  };
10059
10066
  var formatDisappearingMessageTime = function formatDisappearingMessageTime(periodInMilliseconds) {
10060
- var _getDisappearingSetti;
10061
10067
  if (!periodInMilliseconds) return 'Off';
10062
10068
  var periodInSeconds = periodInMilliseconds / 1000;
10063
- switch (periodInSeconds) {
10064
- case FIXED_TIMER_OPTIONS['1day']:
10065
- return '1 day';
10066
- case FIXED_TIMER_OPTIONS['1week']:
10067
- return '1 week';
10068
- case FIXED_TIMER_OPTIONS['1month']:
10069
- return '1 month';
10070
- }
10071
- var customOptions = ((_getDisappearingSetti = getDisappearingSettings()) === null || _getDisappearingSetti === void 0 ? void 0 : _getDisappearingSetti.customOptions) || [];
10072
- var customMatch = customOptions.find(function (option) {
10073
- return option.seconds === periodInSeconds;
10074
- });
10075
- if (customMatch) return customMatch.label;
10076
10069
  var SECONDS_PER_MINUTE = 60;
10077
10070
  var SECONDS_PER_HOUR = SECONDS_PER_MINUTE * 60;
10078
10071
  var SECONDS_PER_DAY = SECONDS_PER_HOUR * 24;
10079
10072
  var DAYS_PER_WEEK = 7;
10080
10073
  var DAYS_PER_MONTH = 30;
10081
- var days = Math.floor(periodInSeconds / SECONDS_PER_DAY);
10082
- var weeks = Math.floor(days / DAYS_PER_WEEK);
10083
- var months = Math.floor(days / DAYS_PER_MONTH);
10084
- var hours = Math.floor(periodInSeconds / SECONDS_PER_HOUR);
10085
- var minutes = Math.floor(periodInSeconds / SECONDS_PER_MINUTE);
10086
- switch (true) {
10087
- case months > 0:
10088
- return months + " " + (months === 1 ? 'month' : 'months');
10089
- case weeks > 0:
10090
- return weeks + " " + (weeks === 1 ? 'week' : 'weeks');
10091
- case days > 0:
10092
- return days + " " + (days === 1 ? 'day' : 'days');
10093
- case hours > 0:
10094
- return hours + " " + (hours === 1 ? 'hour' : 'hours');
10095
- case minutes > 0:
10096
- return minutes + " " + (minutes === 1 ? 'minute' : 'minutes');
10097
- default:
10098
- return periodInSeconds + " " + (periodInSeconds === 1 ? 'second' : 'seconds');
10074
+ var DAYS_PER_YEAR = 365;
10075
+ var remainingSeconds = Math.floor(periodInSeconds);
10076
+ var years = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_YEAR));
10077
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_YEAR;
10078
+ var months = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_MONTH));
10079
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_MONTH;
10080
+ var weeks = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_WEEK));
10081
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_WEEK;
10082
+ var days = Math.floor(remainingSeconds / SECONDS_PER_DAY);
10083
+ remainingSeconds %= SECONDS_PER_DAY;
10084
+ var hours = Math.floor(remainingSeconds / SECONDS_PER_HOUR);
10085
+ remainingSeconds %= SECONDS_PER_HOUR;
10086
+ var minutes = Math.floor(remainingSeconds / SECONDS_PER_MINUTE);
10087
+ remainingSeconds %= SECONDS_PER_MINUTE;
10088
+ var seconds = remainingSeconds;
10089
+ var parts = [];
10090
+ var partCount = 0;
10091
+ if (years > 0) {
10092
+ partCount++;
10093
+ }
10094
+ if (months > 0) {
10095
+ partCount++;
10096
+ }
10097
+ if (weeks > 0) {
10098
+ partCount++;
10099
+ }
10100
+ if (days > 0) {
10101
+ partCount++;
10102
+ }
10103
+ if (hours > 0) {
10104
+ partCount++;
10105
+ }
10106
+ if (minutes > 0) {
10107
+ partCount++;
10108
+ }
10109
+ if (seconds > 0) {
10110
+ partCount++;
10111
+ }
10112
+ if (years > 0) {
10113
+ parts.push("" + years + (partCount > 1 ? 'y' : years === 1 ? ' year' : ' years'));
10114
+ }
10115
+ if (months > 0) {
10116
+ parts.push("" + months + (partCount > 1 ? 'm' : months === 1 ? ' month' : ' months'));
10117
+ }
10118
+ if (weeks > 0) {
10119
+ parts.push("" + weeks + (partCount > 1 ? 'w' : weeks === 1 ? ' week' : ' weeks'));
10120
+ }
10121
+ if (days > 0) {
10122
+ parts.push("" + days + (partCount > 1 ? 'd' : days === 1 ? ' day' : ' days'));
10123
+ }
10124
+ if (hours > 0) {
10125
+ parts.push("" + hours + (partCount > 1 ? 'h' : hours === 1 ? ' hour' : ' hours'));
10099
10126
  }
10127
+ if (minutes > 0) {
10128
+ parts.push("" + minutes + (partCount > 1 ? 'm' : minutes === 1 ? ' minute' : ' minutes'));
10129
+ }
10130
+ if (seconds > 0) {
10131
+ parts.push("" + seconds + (partCount > 1 ? 's' : seconds === 1 ? ' second' : ' seconds'));
10132
+ }
10133
+ if (parts.length === 0) {
10134
+ return '0 seconds';
10135
+ }
10136
+ return parts.join(' ');
10100
10137
  };
10101
10138
 
10102
10139
  var GET_MESSAGES = 'GET_MESSAGES';
@@ -10130,10 +10167,7 @@ var queryDirection = {
10130
10167
  NEAR: 'near'
10131
10168
  };
10132
10169
 
10133
- function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend, isAddToPendingMessagesMap) {
10134
- if (isAddToPendingMessagesMap === void 0) {
10135
- isAddToPendingMessagesMap = true;
10136
- }
10170
+ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend) {
10137
10171
  return {
10138
10172
  type: SEND_MESSAGE,
10139
10173
  payload: {
@@ -10141,22 +10175,17 @@ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSep
10141
10175
  channelId: channelId,
10142
10176
  connectionState: connectionState,
10143
10177
  sendAttachmentsAsSeparateMessage: sendAttachmentsAsSeparateMessage,
10144
- isResend: isResend,
10145
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10178
+ isResend: isResend
10146
10179
  }
10147
10180
  };
10148
10181
  }
10149
- function sendTextMessageAC(message, channelId, connectionState, isAddToPendingMessagesMap) {
10150
- if (isAddToPendingMessagesMap === void 0) {
10151
- isAddToPendingMessagesMap = true;
10152
- }
10182
+ function sendTextMessageAC(message, channelId, connectionState) {
10153
10183
  return {
10154
10184
  type: SEND_TEXT_MESSAGE,
10155
10185
  payload: {
10156
10186
  message: message,
10157
10187
  channelId: channelId,
10158
- connectionState: connectionState,
10159
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10188
+ connectionState: connectionState
10160
10189
  }
10161
10190
  };
10162
10191
  }
@@ -10170,21 +10199,17 @@ function resendMessageAC(message, channelId, connectionState) {
10170
10199
  }
10171
10200
  };
10172
10201
  }
10173
- function forwardMessageAC(message, channelId, connectionState, isForward, isAddToPendingMessagesMap) {
10202
+ function forwardMessageAC(message, channelId, connectionState, isForward) {
10174
10203
  if (isForward === void 0) {
10175
10204
  isForward = true;
10176
10205
  }
10177
- if (isAddToPendingMessagesMap === void 0) {
10178
- isAddToPendingMessagesMap = true;
10179
- }
10180
10206
  return {
10181
10207
  type: FORWARD_MESSAGE,
10182
10208
  payload: {
10183
10209
  message: message,
10184
10210
  channelId: channelId,
10185
10211
  connectionState: connectionState,
10186
- isForward: isForward,
10187
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10212
+ isForward: isForward
10188
10213
  }
10189
10214
  };
10190
10215
  }
@@ -10217,13 +10242,16 @@ function setMessageToEditAC(message) {
10217
10242
  message: message
10218
10243
  });
10219
10244
  }
10220
- function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage) {
10245
+ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged) {
10221
10246
  if (highlight === void 0) {
10222
10247
  highlight = true;
10223
10248
  }
10224
10249
  if (scrollToMessage === void 0) {
10225
10250
  scrollToMessage = true;
10226
10251
  }
10252
+ if (networkChanged === void 0) {
10253
+ networkChanged = false;
10254
+ }
10227
10255
  return {
10228
10256
  type: GET_MESSAGES,
10229
10257
  payload: {
@@ -10231,10 +10259,10 @@ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliv
10231
10259
  loadWithLastMessage: loadWithLastMessage,
10232
10260
  messageId: messageId,
10233
10261
  limit: limit,
10234
- withDeliveredMessages: withDeliveredMessages,
10235
10262
  highlight: highlight,
10236
10263
  behavior: behavior,
10237
- scrollToMessage: scrollToMessage
10264
+ scrollToMessage: scrollToMessage,
10265
+ networkChanged: networkChanged
10238
10266
  }
10239
10267
  };
10240
10268
  }
@@ -10711,6 +10739,12 @@ function setPendingPollActionsMapAC(messageId, event) {
10711
10739
  event: event
10712
10740
  });
10713
10741
  }
10742
+ function updatePendingPollActionAC(messageId, message) {
10743
+ return updatePendingPollAction({
10744
+ messageId: messageId,
10745
+ message: message
10746
+ });
10747
+ }
10714
10748
  function setPendingMessageAC(channelId, message) {
10715
10749
  return setPendingMessage$1({
10716
10750
  channelId: channelId,
@@ -10731,7 +10765,8 @@ function updatePendingMessageAC(channelId, messageId, updatedMessage) {
10731
10765
  });
10732
10766
  }
10733
10767
 
10734
- var MESSAGES_MAX_LENGTH = 80;
10768
+ var MESSAGES_MAX_PAGE_COUNT = 80;
10769
+ var MESSAGES_MAX_LENGTH = 50;
10735
10770
  var LOAD_MAX_MESSAGE_COUNT = 30;
10736
10771
  var MESSAGE_LOAD_DIRECTION = {
10737
10772
  PREV: 'prev',
@@ -10797,12 +10832,12 @@ var setAllMessages = function setAllMessages(messages) {
10797
10832
  var addAllMessages = function addAllMessages(messages, direction) {
10798
10833
  if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
10799
10834
  activeChannelAllMessages = [].concat(messages, activeChannelAllMessages);
10800
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10835
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10801
10836
  setHasNextCached(true);
10802
10837
  }
10803
10838
  } else {
10804
10839
  activeChannelAllMessages = [].concat(activeChannelAllMessages, messages);
10805
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10840
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10806
10841
  setHasPrevCached(true);
10807
10842
  }
10808
10843
  }
@@ -10871,8 +10906,8 @@ var getHasNextCached = function getHasNextCached() {
10871
10906
  var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messageId, direction, getWithLastMessage) {
10872
10907
  var messagesForAdd = [];
10873
10908
  if (getWithLastMessage) {
10874
- messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_LENGTH));
10875
- setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_LENGTH);
10909
+ messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_PAGE_COUNT));
10910
+ setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT);
10876
10911
  setHasNextCached(false);
10877
10912
  } else {
10878
10913
  var fromMessageIndex = activeChannelAllMessages.findIndex(function (mes) {
@@ -10900,14 +10935,25 @@ var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messa
10900
10935
  }
10901
10936
  return messagesForAdd;
10902
10937
  };
10903
- function setMessagesToMap(channelId, messages) {
10938
+ function setMessagesToMap(channelId, messages, firstMessageId, lastMessageId) {
10939
+ if (firstMessageId === void 0) {
10940
+ firstMessageId = '0';
10941
+ }
10942
+ if (lastMessageId === void 0) {
10943
+ lastMessageId = '0';
10944
+ }
10904
10945
  if (!messagesMap[channelId]) {
10905
10946
  messagesMap[channelId] = {};
10906
10947
  }
10907
- messages.forEach(function (msg) {
10908
- if (msg.tid && messagesMap[channelId][msg.tid]) {
10909
- delete messagesMap[channelId][msg.tid];
10948
+ for (var key in messagesMap[channelId]) {
10949
+ if (Object.prototype.hasOwnProperty.call(messagesMap[channelId], key)) {
10950
+ var element = messagesMap[channelId][key];
10951
+ if (element.id >= firstMessageId && element.id <= lastMessageId) {
10952
+ delete messagesMap[channelId][key];
10953
+ }
10910
10954
  }
10955
+ }
10956
+ messages.forEach(function (msg) {
10911
10957
  messagesMap[channelId][msg.id || msg.tid] = msg;
10912
10958
  });
10913
10959
  }
@@ -10935,8 +10981,6 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
10935
10981
  updatedPendingMessages.forEach(function (msg) {
10936
10982
  store.dispatch(updatePendingMessageAC(channelId, msg.tid || msg.id, msg));
10937
10983
  });
10938
- } else {
10939
- store.dispatch(removePendingMessageAC(channelId, updatedMessage.messageId));
10940
10984
  }
10941
10985
  }
10942
10986
  var updatedMessageData = null;
@@ -11335,42 +11379,36 @@ var messageSlice = createSlice({
11335
11379
  });
11336
11380
  });
11337
11381
  if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
11338
- if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
11382
+ if (currentMessagesLength + newMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11339
11383
  var _state$activeChannelM;
11340
11384
  setHasNextCached(true);
11341
11385
  if (newMessagesLength > 0) {
11342
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11386
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11343
11387
  state.activeChannelMessages.splice(-newMessagesLength);
11344
11388
  } else {
11345
- state.activeChannelMessages.splice(-(newMessagesLength - (MESSAGES_MAX_LENGTH - currentMessagesLength)));
11389
+ state.activeChannelMessages.splice(-(currentMessagesLength - currentMessagesLength + newMessagesLength - MESSAGES_MAX_PAGE_COUNT));
11346
11390
  }
11347
11391
  }
11348
11392
  (_state$activeChannelM = state.activeChannelMessages).splice.apply(_state$activeChannelM, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11349
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11393
+ } else {
11350
11394
  var _state$activeChannelM2;
11351
- var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11352
- setHasNextCached(true);
11353
- state.activeChannelMessages.splice(-sliceElementCount);
11354
11395
  (_state$activeChannelM2 = state.activeChannelMessages).splice.apply(_state$activeChannelM2, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11355
- } else {
11356
- var _state$activeChannelM3;
11357
- (_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11358
11396
  }
11359
- } else if (direction === 'next' && newMessagesLength > 0) {
11360
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11361
- var _state$activeChannelM4;
11397
+ } else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && newMessagesLength > 0) {
11398
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11399
+ var _state$activeChannelM3;
11362
11400
  setHasPrevCached(true);
11363
11401
  state.activeChannelMessages.splice(0, messagesIsNotIncludeInActiveChannelMessages.length);
11402
+ (_state$activeChannelM3 = state.activeChannelMessages).push.apply(_state$activeChannelM3, messagesIsNotIncludeInActiveChannelMessages);
11403
+ } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11404
+ var _state$activeChannelM4;
11405
+ var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_PAGE_COUNT;
11406
+ setHasPrevCached(true);
11407
+ state.activeChannelMessages.splice(0, sliceElementCount);
11364
11408
  (_state$activeChannelM4 = state.activeChannelMessages).push.apply(_state$activeChannelM4, messagesIsNotIncludeInActiveChannelMessages);
11365
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11409
+ } else {
11366
11410
  var _state$activeChannelM5;
11367
- var _sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11368
- setHasPrevCached(true);
11369
- state.activeChannelMessages.splice(0, _sliceElementCount);
11370
11411
  (_state$activeChannelM5 = state.activeChannelMessages).push.apply(_state$activeChannelM5, messagesIsNotIncludeInActiveChannelMessages);
11371
- } else {
11372
- var _state$activeChannelM6;
11373
- (_state$activeChannelM6 = state.activeChannelMessages).push.apply(_state$activeChannelM6, messagesIsNotIncludeInActiveChannelMessages);
11374
11412
  }
11375
11413
  }
11376
11414
  },
@@ -11394,6 +11432,9 @@ var messageSlice = createSlice({
11394
11432
  });
11395
11433
  }
11396
11434
  }
11435
+ state.activeChannelMessages.sort(function (a, b) {
11436
+ return !(a !== null && a !== void 0 && a.id) ? 1 : (a === null || a === void 0 ? void 0 : a.id) < (b === null || b === void 0 ? void 0 : b.id) ? -1 : 1;
11437
+ });
11397
11438
  },
11398
11439
  updateMessage: function updateMessage(state, action) {
11399
11440
  var _action$payload3 = action.payload,
@@ -11439,6 +11480,9 @@ var messageSlice = createSlice({
11439
11480
  if (!messageFound && addIfNotExists) {
11440
11481
  state.activeChannelMessages.push(params);
11441
11482
  }
11483
+ state.activeChannelMessages.sort(function (a, b) {
11484
+ return !(a !== null && a !== void 0 && a.id) ? 1 : (a === null || a === void 0 ? void 0 : a.id) < (b === null || b === void 0 ? void 0 : b.id) ? -1 : 1;
11485
+ });
11442
11486
  },
11443
11487
  updateMessageAttachment: function updateMessageAttachment(state, action) {
11444
11488
  var _action$payload4 = action.payload,
@@ -11802,10 +11846,24 @@ var messageSlice = createSlice({
11802
11846
  }
11803
11847
  state.pendingPollActions[messageId] = [].concat(state.pendingPollActions[messageId], [event]);
11804
11848
  },
11805
- setPendingMessage: function setPendingMessage(state, action) {
11849
+ updatePendingPollAction: function updatePendingPollAction(state, action) {
11806
11850
  var _action$payload20 = action.payload,
11807
- channelId = _action$payload20.channelId,
11851
+ messageId = _action$payload20.messageId,
11808
11852
  message = _action$payload20.message;
11853
+ if (!state.pendingPollActions[messageId]) {
11854
+ return;
11855
+ }
11856
+ state.pendingPollActions[messageId] = state.pendingPollActions[messageId].map(function (action) {
11857
+ var _action$message, _action$message2;
11858
+ return ((_action$message = action.message) === null || _action$message === void 0 ? void 0 : _action$message.id) === messageId || ((_action$message2 = action.message) === null || _action$message2 === void 0 ? void 0 : _action$message2.tid) === messageId ? _extends({}, action, {
11859
+ message: message
11860
+ }) : action;
11861
+ });
11862
+ },
11863
+ setPendingMessage: function setPendingMessage(state, action) {
11864
+ var _action$payload21 = action.payload,
11865
+ channelId = _action$payload21.channelId,
11866
+ message = _action$payload21.message;
11809
11867
  if (!state.pendingMessagesMap[channelId]) {
11810
11868
  state.pendingMessagesMap[channelId] = [];
11811
11869
  }
@@ -11817,9 +11875,9 @@ var messageSlice = createSlice({
11817
11875
  }
11818
11876
  },
11819
11877
  removePendingMessage: function removePendingMessage(state, action) {
11820
- var _action$payload21 = action.payload,
11821
- channelId = _action$payload21.channelId,
11822
- messageId = _action$payload21.messageId;
11878
+ var _action$payload22 = action.payload,
11879
+ channelId = _action$payload22.channelId,
11880
+ messageId = _action$payload22.messageId;
11823
11881
  if (state.pendingMessagesMap[channelId]) {
11824
11882
  state.pendingMessagesMap[channelId] = state.pendingMessagesMap[channelId].filter(function (msg) {
11825
11883
  return !(msg.id === messageId || msg.tid === messageId);
@@ -11830,10 +11888,10 @@ var messageSlice = createSlice({
11830
11888
  }
11831
11889
  },
11832
11890
  updatePendingMessage: function updatePendingMessage(state, action) {
11833
- var _action$payload22 = action.payload,
11834
- channelId = _action$payload22.channelId,
11835
- messageId = _action$payload22.messageId,
11836
- updatedMessage = _action$payload22.updatedMessage;
11891
+ var _action$payload23 = action.payload,
11892
+ channelId = _action$payload23.channelId,
11893
+ messageId = _action$payload23.messageId,
11894
+ updatedMessage = _action$payload23.updatedMessage;
11837
11895
  if (state.pendingMessagesMap[channelId]) {
11838
11896
  state.pendingMessagesMap[channelId] = state.pendingMessagesMap[channelId].map(function (msg) {
11839
11897
  if (msg.id === messageId || msg.tid === messageId) {
@@ -11908,7 +11966,8 @@ var _messageSlice$actions = messageSlice.actions,
11908
11966
  setPendingPollActionsMap = _messageSlice$actions.setPendingPollActionsMap,
11909
11967
  setPendingMessage$1 = _messageSlice$actions.setPendingMessage,
11910
11968
  removePendingMessage = _messageSlice$actions.removePendingMessage,
11911
- updatePendingMessage = _messageSlice$actions.updatePendingMessage;
11969
+ updatePendingMessage = _messageSlice$actions.updatePendingMessage,
11970
+ updatePendingPollAction = _messageSlice$actions.updatePendingPollAction;
11912
11971
  var MessageReducer = messageSlice.reducer;
11913
11972
 
11914
11973
  var initialState$2 = {
@@ -11917,7 +11976,12 @@ var initialState$2 = {
11917
11976
  activeChannelMembers: [],
11918
11977
  roles: [],
11919
11978
  getRolesFail: undefined,
11920
- rolesMap: {}
11979
+ rolesMap: {},
11980
+ restricted: {
11981
+ isRestricted: false,
11982
+ fromChannel: false
11983
+ },
11984
+ openInviteModal: false
11921
11985
  };
11922
11986
  var memberSlice = createSlice({
11923
11987
  name: 'members',
@@ -12000,6 +12064,16 @@ var memberSlice = createSlice({
12000
12064
  },
12001
12065
  setMembersHasNext: function setMembersHasNext(state, action) {
12002
12066
  state.membersHasNext = action.payload.hasNext;
12067
+ },
12068
+ setActionIsRestricted: function setActionIsRestricted(state, action) {
12069
+ var _action$payload2 = action.payload,
12070
+ isRestricted = _action$payload2.isRestricted,
12071
+ fromChannel = _action$payload2.fromChannel;
12072
+ state.restricted.isRestricted = isRestricted;
12073
+ state.restricted.fromChannel = fromChannel;
12074
+ },
12075
+ setOpenInviteModal: function setOpenInviteModal(state, action) {
12076
+ state.openInviteModal = action.payload.open;
12003
12077
  }
12004
12078
  },
12005
12079
  extraReducers: function extraReducers(builder) {
@@ -12017,7 +12091,9 @@ var _memberSlice$actions = memberSlice.actions,
12017
12091
  setMembersLoadingState = _memberSlice$actions.setMembersLoadingState,
12018
12092
  getRolesSuccess = _memberSlice$actions.getRolesSuccess,
12019
12093
  getRolesFail = _memberSlice$actions.getRolesFail,
12020
- setMembersHasNext = _memberSlice$actions.setMembersHasNext;
12094
+ setMembersHasNext = _memberSlice$actions.setMembersHasNext,
12095
+ setActionIsRestricted = _memberSlice$actions.setActionIsRestricted,
12096
+ setOpenInviteModal = _memberSlice$actions.setOpenInviteModal;
12021
12097
  var MembersReducer = memberSlice.reducer;
12022
12098
 
12023
12099
  var SET_CONTACT_LOADING_STATE = 'SET_CONTACT_LOADING_STATE';
@@ -12764,12 +12840,13 @@ var getChannelInviteKeysAC = function getChannelInviteKeysAC(channelId) {
12764
12840
  }
12765
12841
  };
12766
12842
  };
12767
- var regenerateChannelInviteKeyAC = function regenerateChannelInviteKeyAC(channelId, key) {
12843
+ var regenerateChannelInviteKeyAC = function regenerateChannelInviteKeyAC(channelId, key, deletePermanently) {
12768
12844
  return {
12769
12845
  type: REGENERATE_CHANNEL_INVITE_KEY,
12770
12846
  payload: {
12771
12847
  channelId: channelId,
12772
- key: key
12848
+ key: key,
12849
+ deletePermanently: deletePermanently
12773
12850
  }
12774
12851
  };
12775
12852
  };
@@ -13217,6 +13294,17 @@ var setMembersHasNextAC = function setMembersHasNextAC(hasNext) {
13217
13294
  hasNext: hasNext
13218
13295
  });
13219
13296
  };
13297
+ var setActionIsRestrictedAC = function setActionIsRestrictedAC(isRestricted, fromChannel) {
13298
+ return setActionIsRestricted({
13299
+ isRestricted: isRestricted,
13300
+ fromChannel: fromChannel
13301
+ });
13302
+ };
13303
+ var setOpenInviteModalAC = function setOpenInviteModalAC(open) {
13304
+ return setOpenInviteModal({
13305
+ open: open
13306
+ });
13307
+ };
13220
13308
 
13221
13309
  var connectionStatusSelector = function connectionStatusSelector(store) {
13222
13310
  return store.UserReducer.connectionStatus;
@@ -15386,6 +15474,7 @@ function watchForEvents() {
15386
15474
  }
15387
15475
  return _context.a(3, 183);
15388
15476
  case 99:
15477
+ log.info('CHANNEL_EVENT_TYPES.POLL_ADDED ... ');
15389
15478
  _channel10 = args.channel, pollDetails = args.pollDetails, _messageId = args.messageId;
15390
15479
  pollDetailsData = pollDetails;
15391
15480
  _context.n = 100;
@@ -15470,6 +15559,7 @@ function watchForEvents() {
15470
15559
  case 108:
15471
15560
  return _context.a(3, 183);
15472
15561
  case 109:
15562
+ log.info('CHANNEL_EVENT_TYPES.POLL_DELETED ... ');
15473
15563
  _channel11 = args.channel, _pollDetails = args.pollDetails, _messageId2 = args.messageId;
15474
15564
  _pollDetailsData = _pollDetails;
15475
15565
  _context.n = 110;
@@ -15529,6 +15619,7 @@ function watchForEvents() {
15529
15619
  case 116:
15530
15620
  return _context.a(3, 183);
15531
15621
  case 117:
15622
+ log.info('CHANNEL_EVENT_TYPES.POLL_RETRACTED ... ');
15532
15623
  _channel12 = args.channel, _pollDetails2 = args.pollDetails, _messageId3 = args.messageId;
15533
15624
  _context.n = 118;
15534
15625
  return call(getActiveChannelId);
@@ -15587,6 +15678,7 @@ function watchForEvents() {
15587
15678
  case 124:
15588
15679
  return _context.a(3, 183);
15589
15680
  case 125:
15681
+ log.info('CHANNEL_EVENT_TYPES.POLL_CLOSED ... ');
15590
15682
  _channel13 = args.channel, _messageId4 = args.messageId;
15591
15683
  _context.n = 126;
15592
15684
  return call(getActiveChannelId);
@@ -16185,13 +16277,20 @@ function createChannel(action) {
16185
16277
  _context.n = 16;
16186
16278
  return call(setActiveChannelId, createdChannel.id);
16187
16279
  case 16:
16188
- _context.n = 18;
16280
+ _context.n = 19;
16189
16281
  break;
16190
16282
  case 17:
16191
16283
  _context.p = 17;
16192
16284
  _t = _context.v;
16193
- log.error(_t, 'Error on create channel');
16285
+ if (!(_t.code === 1041)) {
16286
+ _context.n = 18;
16287
+ break;
16288
+ }
16289
+ _context.n = 18;
16290
+ return put(setActionIsRestrictedAC(true, false));
16194
16291
  case 18:
16292
+ log.error(_t, 'Error on create channel');
16293
+ case 19:
16195
16294
  return _context.a(2);
16196
16295
  }
16197
16296
  }, _marked$2, null, [[0, 17]]);
@@ -16306,7 +16405,7 @@ function getChannels(action) {
16306
16405
  try {
16307
16406
  return Promise.resolve(new Promise(function (resolve) {
16308
16407
  channel.getMessagesById([channel.newReactions[0].messageId]).then(function (messages) {
16309
- channelMessageMap[channel.id] = messages[0];
16408
+ channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id] = messages[0];
16310
16409
  log.info('[getChannels] successfully fetched reaction message for channel:', channel === null || channel === void 0 ? void 0 : channel.id);
16311
16410
  resolve(true);
16312
16411
  })["catch"](function (e) {
@@ -16325,8 +16424,8 @@ function getChannels(action) {
16325
16424
  case 13:
16326
16425
  log.info('[getChannels] reaction messages fetched:', channelMessageMap ? (_Object$keys = Object.keys(channelMessageMap)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length : 0);
16327
16426
  mappedChannels = mappedChannels.map(function (channel) {
16328
- if (channelMessageMap[channel.id]) {
16329
- channel.lastReactedMessage = channelMessageMap[channel.id];
16427
+ if (channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id]) {
16428
+ channel.lastReactedMessage = channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id];
16330
16429
  }
16331
16430
  return channel;
16332
16431
  });
@@ -18107,13 +18206,13 @@ function getChannelInviteKeys(action) {
18107
18206
  }, _marked30, null, [[0, 4]]);
18108
18207
  }
18109
18208
  function regenerateChannelInviteKey(action) {
18110
- var payload, channelId, key, channel, inviteKey, _t31;
18209
+ var payload, channelId, key, deletePermanently, channel, inviteKey, _t31;
18111
18210
  return _regenerator().w(function (_context31) {
18112
18211
  while (1) switch (_context31.p = _context31.n) {
18113
18212
  case 0:
18114
18213
  _context31.p = 0;
18115
18214
  payload = action.payload;
18116
- channelId = payload.channelId, key = payload.key;
18215
+ channelId = payload.channelId, key = payload.key, deletePermanently = payload.deletePermanently;
18117
18216
  _context31.n = 1;
18118
18217
  return call(getChannelFromMap, channelId);
18119
18218
  case 1:
@@ -18128,7 +18227,8 @@ function regenerateChannelInviteKey(action) {
18128
18227
  _context31.n = 2;
18129
18228
  return call(channel.regenerateInviteKey, {
18130
18229
  key: key,
18131
- channelId: channelId
18230
+ channelId: channelId,
18231
+ deletePermanently: deletePermanently
18132
18232
  });
18133
18233
  case 2:
18134
18234
  inviteKey = _context31.v;
@@ -18864,6 +18964,56 @@ var getFrame = function getFrame(videoSrc, time) {
18864
18964
  }
18865
18965
  };
18866
18966
 
18967
+ var SDKErrorTypeEnum = {
18968
+ BadRequest: {
18969
+ value: 'BadRequest',
18970
+ isResendable: false
18971
+ },
18972
+ BadParam: {
18973
+ value: 'BadParam',
18974
+ isResendable: false
18975
+ },
18976
+ NotFound: {
18977
+ value: 'NotFound',
18978
+ isResendable: false
18979
+ },
18980
+ NotAllowed: {
18981
+ value: 'NotAllowed',
18982
+ isResendable: false
18983
+ },
18984
+ TooLargeRequest: {
18985
+ value: 'TooLargeRequest',
18986
+ isResendable: false
18987
+ },
18988
+ InternalError: {
18989
+ value: 'InternalError',
18990
+ isResendable: true
18991
+ },
18992
+ TooManyRequests: {
18993
+ value: 'TooManyRequests',
18994
+ isResendable: true
18995
+ },
18996
+ Authentication: {
18997
+ value: 'Authentication',
18998
+ isResendable: true
18999
+ }
19000
+ };
19001
+ var fromValue = function fromValue(value) {
19002
+ if (!value) return null;
19003
+ var entries = Object.values(SDKErrorTypeEnum);
19004
+ return entries.find(function (entry) {
19005
+ return entry.value === value;
19006
+ }) || null;
19007
+ };
19008
+ var isResendableError = function isResendableError(value) {
19009
+ var _errorType$isResendab;
19010
+ if (!value) {
19011
+ return true;
19012
+ }
19013
+ var errorType = fromValue(value);
19014
+ return (_errorType$isResendab = errorType === null || errorType === void 0 ? void 0 : errorType.isResendable) != null ? _errorType$isResendab : true;
19015
+ };
19016
+
18867
19017
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
18868
19018
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
18869
19019
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -18979,63 +19129,100 @@ var handleUploadAttachments = function handleUploadAttachments(attachments, mess
18979
19129
  return Promise.reject(e);
18980
19130
  }
18981
19131
  };
18982
- var addPendingMessage = function addPendingMessage(message, messageCopy, channel) {
19132
+ var addPendingMessage = function addPendingMessage(message, messageCopy, channelId) {
18983
19133
  try {
18984
19134
  var messageToAdd = _extends({}, messageCopy, {
18985
19135
  createdAt: new Date(Date.now()),
18986
19136
  mentionedUsers: message.mentionedUsers,
18987
19137
  parentMessage: message.parentMessage
18988
19138
  });
18989
- setPendingMessage(channel.id, messageToAdd);
19139
+ setPendingMessage(channelId, messageToAdd);
18990
19140
  return Promise.resolve();
18991
19141
  } catch (e) {
18992
19142
  return Promise.reject(e);
18993
19143
  }
18994
19144
  };
18995
- var updateMessage$1 = function updateMessage(actionType, pending, channel, scrollToNewMessage) {
19145
+ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scrollToNewMessage, message) {
18996
19146
  if (scrollToNewMessage === void 0) {
18997
19147
  scrollToNewMessage = true;
18998
19148
  }
18999
19149
  return /*#__PURE__*/_regenerator().m(function _callee() {
19000
- var activeChannelId;
19150
+ var activeChannelId, channel, messages, _channel$lastMessage2, repliedMessage, scrollRef, _channel$lastMessage3;
19001
19151
  return _regenerator().w(function (_context) {
19002
19152
  while (1) switch (_context.n) {
19003
19153
  case 0:
19004
19154
  activeChannelId = getActiveChannelId();
19005
19155
  if (!(actionType !== RESEND_MESSAGE)) {
19006
- _context.n = 2;
19156
+ _context.n = 7;
19007
19157
  break;
19008
19158
  }
19009
- addMessageToMap(channel.id, pending);
19010
- if (activeChannelId === channel.id) {
19159
+ if (activeChannelId === channelId) {
19011
19160
  addAllMessages([pending], MESSAGE_LOAD_DIRECTION.NEXT);
19012
19161
  }
19013
- if (!(activeChannelId === channel.id)) {
19162
+ if (!(activeChannelId === channelId)) {
19014
19163
  _context.n = 1;
19015
19164
  break;
19016
19165
  }
19017
19166
  _context.n = 1;
19018
19167
  return put(addMessageAC(pending));
19019
19168
  case 1:
19169
+ _context.n = 2;
19170
+ return call(addPendingMessage, message, pending, channelId);
19171
+ case 2:
19020
19172
  if (!scrollToNewMessage) {
19021
- _context.n = 2;
19173
+ _context.n = 7;
19022
19174
  break;
19023
19175
  }
19024
- _context.n = 2;
19025
- return put(scrollToNewMessageAC(true, true));
19026
- case 2:
19176
+ _context.n = 3;
19177
+ return call(getChannelFromAllChannels, channelId);
19178
+ case 3:
19179
+ channel = _context.v;
19180
+ messages = store.getState().MessageReducer.activeChannelMessages;
19181
+ if (!(messages.findIndex(function (msg) {
19182
+ var _channel$lastMessage;
19183
+ return msg.id === (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id);
19184
+ }) >= 10)) {
19185
+ _context.n = 6;
19186
+ break;
19187
+ }
19188
+ _context.n = 4;
19189
+ return put(scrollToNewMessageAC(true, false, false));
19190
+ case 4:
19191
+ _context.n = 5;
19192
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19193
+ case 5:
19194
+ repliedMessage = document.getElementById(channel === null || channel === void 0 ? void 0 : (_channel$lastMessage2 = channel.lastMessage) === null || _channel$lastMessage2 === void 0 ? void 0 : _channel$lastMessage2.id);
19195
+ if (repliedMessage) {
19196
+ scrollRef = document.getElementById('scrollableDiv');
19197
+ if (scrollRef) {
19198
+ scrollRef.scrollTo({
19199
+ top: 1000,
19200
+ behavior: 'smooth'
19201
+ });
19202
+ }
19203
+ }
19204
+ _context.n = 7;
19205
+ break;
19206
+ case 6:
19207
+ if (!(channel !== null && channel !== void 0 && channel.id)) {
19208
+ _context.n = 7;
19209
+ break;
19210
+ }
19211
+ _context.n = 7;
19212
+ return put(getMessagesAC(channel, false, channel === null || channel === void 0 ? void 0 : (_channel$lastMessage3 = channel.lastMessage) === null || _channel$lastMessage3 === void 0 ? void 0 : _channel$lastMessage3.id, undefined, false, 'smooth', true));
19213
+ case 7:
19027
19214
  return _context.a(2);
19028
19215
  }
19029
19216
  }, _callee);
19030
19217
  })();
19031
19218
  };
19032
19219
  function sendMessage(action) {
19033
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19220
+ var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19034
19221
  return _regenerator().w(function (_context4) {
19035
19222
  while (1) switch (_context4.p = _context4.n) {
19036
19223
  case 0:
19037
19224
  payload = action.payload;
19038
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19225
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage;
19039
19226
  pendingMessages = [];
19040
19227
  _context4.p = 1;
19041
19228
  _context4.n = 2;
@@ -19170,8 +19357,12 @@ function sendMessage(action) {
19170
19357
  createdAt: new Date(Date.now())
19171
19358
  });
19172
19359
  pendingMessages.push(_pending);
19360
+ if (!(action.type !== RESEND_MESSAGE)) {
19361
+ _context2.n = 1;
19362
+ break;
19363
+ }
19173
19364
  _context2.n = 1;
19174
- return call(updateMessage$1, action.type, _pending, channel);
19365
+ return call(updateMessage$1, action.type, _pending, channel.id, true, message);
19175
19366
  case 1:
19176
19367
  _context2.n = 3;
19177
19368
  break;
@@ -19219,8 +19410,12 @@ function sendMessage(action) {
19219
19410
  createdAt: new Date(Date.now())
19220
19411
  });
19221
19412
  pendingMessages.push(pending);
19413
+ if (!(action.type !== RESEND_MESSAGE)) {
19414
+ _context4.n = 11;
19415
+ break;
19416
+ }
19222
19417
  _context4.n = 11;
19223
- return call(updateMessage$1, action.type, pending, channel);
19418
+ return call(updateMessage$1, action.type, pending, channel.id, true, message);
19224
19419
  case 11:
19225
19420
  messageToSend = _extends({}, messageToSend, {
19226
19421
  attachments: attachmentsToSend
@@ -19228,7 +19423,7 @@ function sendMessage(action) {
19228
19423
  messagesToSend.push(messageToSend);
19229
19424
  case 12:
19230
19425
  _loop2 = /*#__PURE__*/_regenerator().m(function _callee3() {
19231
- var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, messageToUpdate, channelUpdateParam, pendingMessage, connectionIsDisconnected, _t;
19426
+ var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, stringifiedMessageUpdateData, activeChannelId, channelUpdateParam, isErrorResendable, _t;
19232
19427
  return _regenerator().w(function (_context3) {
19233
19428
  while (1) switch (_context3.p = _context3.n) {
19234
19429
  case 0:
@@ -19237,7 +19432,7 @@ function sendMessage(action) {
19237
19432
  _context3.p = 1;
19238
19433
  messageCopy = JSON.parse(JSON.stringify(messagesToSend[_i]));
19239
19434
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19240
- _context3.n = 12;
19435
+ _context3.n = 13;
19241
19436
  break;
19242
19437
  }
19243
19438
  _attachmentsToSend = messageAttachment;
@@ -19298,9 +19493,6 @@ function sendMessage(action) {
19298
19493
  _context3.n = 5;
19299
19494
  break;
19300
19495
  case 8:
19301
- if (action.type === RESEND_MESSAGE) {
19302
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19303
- }
19304
19496
  attachmentsToUpdate = [];
19305
19497
  if (messageResponse.attachments && messageResponse.attachments.length > 0) {
19306
19498
  currentAttachmentsMap = {};
@@ -19333,61 +19525,56 @@ function sendMessage(action) {
19333
19525
  createdAt: messageResponse.createdAt,
19334
19526
  channelId: channel.id
19335
19527
  };
19528
+ stringifiedMessageUpdateData = JSON.parse(JSON.stringify(messageUpdateData));
19529
+ activeChannelId = getActiveChannelId();
19530
+ if (!(activeChannelId === channel.id)) {
19531
+ _context3.n = 9;
19532
+ break;
19533
+ }
19336
19534
  _context3.n = 9;
19337
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19535
+ return put(updateMessageAC(messageToSend.tid, stringifiedMessageUpdateData, true));
19338
19536
  case 9:
19339
- updateMessageOnMap(channel.id, {
19340
- messageId: messageToSend.tid,
19341
- params: messageUpdateData
19342
- });
19537
+ _context3.n = 10;
19538
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19539
+ case 10:
19540
+ addMessageToMap(channel.id, stringifiedMessageUpdateData);
19343
19541
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19344
- messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19345
- updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19542
+ updateChannelLastMessageOnAllChannels(channel.id, stringifiedMessageUpdateData);
19346
19543
  channelUpdateParam = {
19347
- lastMessage: messageToUpdate,
19544
+ lastMessage: stringifiedMessageUpdateData,
19348
19545
  lastReactedMessage: null
19349
19546
  };
19350
19547
  if (!channel.unread) {
19351
- _context3.n = 10;
19548
+ _context3.n = 11;
19352
19549
  break;
19353
19550
  }
19354
- _context3.n = 10;
19355
- return put(markChannelAsReadAC(channel.id));
19356
- case 10:
19357
19551
  _context3.n = 11;
19358
- return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19552
+ return put(markChannelAsReadAC(channel.id));
19359
19553
  case 11:
19554
+ _context3.n = 12;
19555
+ return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19556
+ case 12:
19360
19557
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19361
- _context3.n = 13;
19558
+ _context3.n = 14;
19362
19559
  break;
19363
- case 12:
19364
- throw new Error('Connection required to send message');
19365
19560
  case 13:
19561
+ throw new Error('Connection required to send message');
19562
+ case 14:
19366
19563
  _context3.n = 19;
19367
19564
  break;
19368
- case 14:
19369
- _context3.p = 14;
19565
+ case 15:
19566
+ _context3.p = 15;
19370
19567
  _t = _context3.v;
19371
- pendingMessage = pendingMessages === null || pendingMessages === void 0 ? void 0 : pendingMessages.find(function (pendingMessage) {
19372
- return pendingMessage.tid === messageToSend.tid;
19373
- });
19374
- if (!(channel && pendingMessage && action.type !== RESEND_MESSAGE)) {
19568
+ isErrorResendable = isResendableError(_t === null || _t === void 0 ? void 0 : _t.type);
19569
+ if (isErrorResendable) {
19375
19570
  _context3.n = 17;
19376
19571
  break;
19377
19572
  }
19378
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19379
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19380
- _context3.n = 16;
19381
- break;
19382
- }
19383
- _context3.n = 15;
19384
- return call(addPendingMessage, message, pendingMessage, channel);
19385
- case 15:
19386
- _context3.n = 17;
19387
- break;
19573
+ _context3.n = 16;
19574
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19388
19575
  case 16:
19389
- _context3.n = 17;
19390
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19576
+ _context3.n = 19;
19577
+ break;
19391
19578
  case 17:
19392
19579
  log.error('Error on uploading attachment', messageToSend.tid, _t);
19393
19580
  if (!(messageToSend.attachments && messageToSend.attachments.length)) {
@@ -19413,7 +19600,7 @@ function sendMessage(action) {
19413
19600
  case 19:
19414
19601
  return _context3.a(2);
19415
19602
  }
19416
- }, _callee3, null, [[1, 14]]);
19603
+ }, _callee3, null, [[1, 15]]);
19417
19604
  });
19418
19605
  _i = 0;
19419
19606
  case 13:
@@ -19445,12 +19632,12 @@ function sendMessage(action) {
19445
19632
  }, _marked$3, null, [[1, 16, 17, 19]]);
19446
19633
  }
19447
19634
  function sendTextMessage(action) {
19448
- var payload, message, connectionState, channelId, isAddToPendingMessagesMap, channel, sendMessageTid, pendingMessage, activeChannelId, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t3;
19635
+ var payload, message, connectionState, channelId, channel, sendMessageTid, pendingMessage, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, activeChannelId, stringifiedMessageUpdateData, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId, _t3;
19449
19636
  return _regenerator().w(function (_context5) {
19450
19637
  while (1) switch (_context5.p = _context5.n) {
19451
19638
  case 0:
19452
19639
  payload = action.payload;
19453
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19640
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19454
19641
  _context5.n = 1;
19455
19642
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19456
19643
  case 1:
@@ -19464,8 +19651,8 @@ function sendTextMessage(action) {
19464
19651
  setChannelInMap(channel);
19465
19652
  }
19466
19653
  }
19654
+ sendMessageTid = null;
19467
19655
  pendingMessage = null;
19468
- activeChannelId = getActiveChannelId();
19469
19656
  _context5.p = 3;
19470
19657
  if (!channel.isMockChannel) {
19471
19658
  _context5.n = 6;
@@ -19525,11 +19712,15 @@ function sendTextMessage(action) {
19525
19712
  _context5.n = 8;
19526
19713
  break;
19527
19714
  }
19715
+ if (!(action.type !== RESEND_MESSAGE)) {
19716
+ _context5.n = 8;
19717
+ break;
19718
+ }
19528
19719
  _context5.n = 8;
19529
- return call(updateMessage$1, action.type, pendingMessage, channel);
19720
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, true, message);
19530
19721
  case 8:
19531
19722
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19532
- _context5.n = 16;
19723
+ _context5.n = 18;
19533
19724
  break;
19534
19725
  }
19535
19726
  if (!sendMessageHandler) {
@@ -19565,19 +19756,24 @@ function sendTextMessage(action) {
19565
19756
  pollDetails: (_messageResponse = messageResponse) === null || _messageResponse === void 0 ? void 0 : _messageResponse.pollDetails,
19566
19757
  channelId: channel.id
19567
19758
  };
19759
+ activeChannelId = getActiveChannelId();
19568
19760
  if (!(activeChannelId === channel.id)) {
19569
19761
  _context5.n = 13;
19570
19762
  break;
19571
19763
  }
19572
19764
  _context5.n = 13;
19573
- return put(updateMessageAC(messageToSend.tid, messageUpdateData));
19765
+ return put(updateMessageAC(messageToSend.tid, messageUpdateData, true));
19574
19766
  case 13:
19575
- updateMessageOnMap(channel.id, {
19576
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19577
- params: messageUpdateData
19578
- });
19767
+ stringifiedMessageUpdateData = JSON.parse(JSON.stringify(messageUpdateData));
19768
+ _context5.n = 14;
19769
+ return put(updatePendingPollActionAC(messageToSend.tid, stringifiedMessageUpdateData));
19770
+ case 14:
19771
+ _context5.n = 15;
19772
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19773
+ case 15:
19774
+ addMessageToMap(channel.id, stringifiedMessageUpdateData);
19579
19775
  if (activeChannelId === channel.id) {
19580
- updateMessageOnAllMessages(!isAddToPendingMessagesMap ? message.tid : messageToSend.tid, messageUpdateData);
19776
+ updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19581
19777
  }
19582
19778
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19583
19779
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19585,85 +19781,80 @@ function sendTextMessage(action) {
19585
19781
  lastMessage: messageToUpdate,
19586
19782
  lastReactedMessage: null
19587
19783
  };
19588
- _context5.n = 14;
19784
+ _context5.n = 16;
19589
19785
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19590
- case 14:
19786
+ case 16:
19591
19787
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19592
19788
  if (!channel.unread) {
19593
- _context5.n = 15;
19789
+ _context5.n = 17;
19594
19790
  break;
19595
19791
  }
19596
- _context5.n = 15;
19792
+ _context5.n = 17;
19597
19793
  return put(markChannelAsReadAC(channel.id));
19598
- case 15:
19794
+ case 17:
19599
19795
  channel.lastMessage = messageToUpdate;
19600
- if (action.type === RESEND_MESSAGE) {
19601
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19602
- }
19603
- _context5.n = 17;
19796
+ _context5.n = 19;
19604
19797
  break;
19605
- case 16:
19798
+ case 18:
19606
19799
  throw new Error('Connection required to send message');
19607
- case 17:
19608
- _context5.n = 22;
19800
+ case 19:
19801
+ _context5.n = 23;
19609
19802
  break;
19610
- case 18:
19611
- _context5.p = 18;
19803
+ case 20:
19804
+ _context5.p = 20;
19612
19805
  _t3 = _context5.v;
19613
- if (!(activeChannelId === channel.id && pendingMessage && action.type !== RESEND_MESSAGE)) {
19614
- _context5.n = 21;
19615
- break;
19616
- }
19617
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19618
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19619
- _context5.n = 20;
19806
+ log.error('error on send text message ... ', _t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19807
+ isErrorResendable = isResendableError(_t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19808
+ if (!(!isErrorResendable && channel.id && sendMessageTid)) {
19809
+ _context5.n = 22;
19620
19810
  break;
19621
19811
  }
19622
- _context5.n = 19;
19623
- return call(addPendingMessage, message, pendingMessage, channel);
19624
- case 19:
19625
19812
  _context5.n = 21;
19626
- break;
19627
- case 20:
19628
- _context5.n = 21;
19629
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19813
+ return put(removePendingMessageAC(channel.id, sendMessageTid));
19630
19814
  case 21:
19631
- log.error('error on send text message ... ', _t3);
19815
+ _context5.n = 23;
19816
+ break;
19817
+ case 22:
19818
+ if (!(channel.id && sendMessageTid)) {
19819
+ _context5.n = 23;
19820
+ break;
19821
+ }
19632
19822
  updateMessageOnMap(channel.id, {
19633
19823
  messageId: sendMessageTid,
19634
19824
  params: {
19635
19825
  state: MESSAGE_STATUS.FAILED
19636
19826
  }
19637
19827
  });
19638
- if (!(activeChannelId === channel.id)) {
19639
- _context5.n = 22;
19828
+ _activeChannelId = getActiveChannelId();
19829
+ if (!(_activeChannelId === channel.id)) {
19830
+ _context5.n = 23;
19640
19831
  break;
19641
19832
  }
19642
19833
  updateMessageOnAllMessages(sendMessageTid, {
19643
19834
  state: MESSAGE_STATUS.FAILED
19644
19835
  });
19645
- _context5.n = 22;
19836
+ _context5.n = 23;
19646
19837
  return put(updateMessageAC(sendMessageTid, {
19647
19838
  state: MESSAGE_STATUS.FAILED
19648
19839
  }));
19649
- case 22:
19650
- _context5.p = 22;
19651
- _context5.n = 23;
19652
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19653
19840
  case 23:
19654
- return _context5.f(22);
19841
+ _context5.p = 23;
19842
+ _context5.n = 24;
19843
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19655
19844
  case 24:
19845
+ return _context5.f(23);
19846
+ case 25:
19656
19847
  return _context5.a(2);
19657
19848
  }
19658
- }, _marked2$2, null, [[3, 18, 22, 24]]);
19849
+ }, _marked2$2, null, [[3, 20, 23, 25]]);
19659
19850
  }
19660
19851
  function forwardMessage(action) {
19661
- var payload, message, channelId, connectionState, isForward, isAddToPendingMessagesMap, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t4;
19852
+ var payload, message, channelId, connectionState, isForward, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId2, _t4;
19662
19853
  return _regenerator().w(function (_context6) {
19663
19854
  while (1) switch (_context6.p = _context6.n) {
19664
19855
  case 0:
19665
19856
  payload = action.payload;
19666
- message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19857
+ message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward;
19667
19858
  pendingMessage = null;
19668
19859
  channel = null;
19669
19860
  activeChannelId = getActiveChannelId();
@@ -19706,7 +19897,7 @@ function forwardMessage(action) {
19706
19897
  }) : [];
19707
19898
  attachments = message.attachments;
19708
19899
  if ((channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC) && !(channel.userRole === 'admin' || channel.userRole === 'owner')) {
19709
- _context6.n = 16;
19900
+ _context6.n = 17;
19710
19901
  break;
19711
19902
  }
19712
19903
  if (message.attachments && message.attachments.length) {
@@ -19733,7 +19924,7 @@ function forwardMessage(action) {
19733
19924
  };
19734
19925
  }
19735
19926
  messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisableMentionsCount(getDisableFrowardMentionsCount()).setMetadata(message.metadata ? isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata) : '').setForwardingMessageId(message.forwardingDetails ? message.forwardingDetails.messageId : message.id).setPollDetails(pollDetails);
19736
- messageToSend = messageBuilder.create();
19927
+ messageToSend = action.type === RESEND_MESSAGE ? action.payload.message : messageBuilder.create();
19737
19928
  messageToSend.tid = action.type === RESEND_MESSAGE ? action.payload.message.tid : messageToSend.tid;
19738
19929
  messageTid = messageToSend.tid;
19739
19930
  pendingMessage = _extends({}, messageToSend, {
@@ -19769,11 +19960,15 @@ function forwardMessage(action) {
19769
19960
  _context6.n = 9;
19770
19961
  break;
19771
19962
  }
19963
+ if (!(action.type !== RESEND_MESSAGE)) {
19964
+ _context6.n = 9;
19965
+ break;
19966
+ }
19772
19967
  _context6.n = 9;
19773
- return call(updateMessage$1, action.type, pendingMessage, channel, false);
19968
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19774
19969
  case 9:
19775
19970
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19776
- _context6.n = 15;
19971
+ _context6.n = 16;
19777
19972
  break;
19778
19973
  }
19779
19974
  _context6.n = 10;
@@ -19799,61 +19994,55 @@ function forwardMessage(action) {
19799
19994
  break;
19800
19995
  }
19801
19996
  _context6.n = 11;
19802
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19997
+ return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19803
19998
  case 11:
19804
19999
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19805
20000
  case 12:
19806
- if (action.type === RESEND_MESSAGE) {
19807
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
20001
+ if (!messageToSend.tid) {
20002
+ _context6.n = 13;
20003
+ break;
19808
20004
  }
19809
- updateMessageOnMap(channel.id, {
19810
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19811
- params: messageUpdateData
19812
- });
20005
+ _context6.n = 13;
20006
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
20007
+ case 13:
20008
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19813
20009
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19814
20010
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19815
20011
  channelUpdateParam = {
19816
20012
  lastMessage: messageToUpdate,
19817
20013
  lastReactedMessage: null
19818
20014
  };
19819
- _context6.n = 13;
20015
+ _context6.n = 14;
19820
20016
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19821
- case 13:
20017
+ case 14:
19822
20018
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19823
20019
  if (!channel.unread) {
19824
- _context6.n = 14;
20020
+ _context6.n = 15;
19825
20021
  break;
19826
20022
  }
19827
- _context6.n = 14;
20023
+ _context6.n = 15;
19828
20024
  return put(markChannelAsReadAC(channel.id));
19829
- case 14:
19830
- _context6.n = 16;
19831
- break;
19832
20025
  case 15:
19833
- throw new Error('Connection required to forward message');
20026
+ _context6.n = 17;
20027
+ break;
19834
20028
  case 16:
20029
+ throw new Error('Connection required to forward message');
20030
+ case 17:
19835
20031
  _context6.n = 22;
19836
20032
  break;
19837
- case 17:
19838
- _context6.p = 17;
20033
+ case 18:
20034
+ _context6.p = 18;
19839
20035
  _t4 = _context6.v;
19840
- if (!(pendingMessage && channel && action.type !== RESEND_MESSAGE)) {
20036
+ isErrorResendable = isResendableError(_t4 === null || _t4 === void 0 ? void 0 : _t4.type);
20037
+ if (isErrorResendable) {
19841
20038
  _context6.n = 20;
19842
20039
  break;
19843
20040
  }
19844
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19845
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19846
- _context6.n = 19;
19847
- break;
19848
- }
19849
- _context6.n = 18;
19850
- return call(addPendingMessage, message, pendingMessage, channel);
19851
- case 18:
19852
- _context6.n = 20;
19853
- break;
20041
+ _context6.n = 19;
20042
+ return put(removePendingMessageAC(channel.id, messageTid));
19854
20043
  case 19:
19855
- _context6.n = 20;
19856
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
20044
+ _context6.n = 21;
20045
+ break;
19857
20046
  case 20:
19858
20047
  if (!(channel && messageTid)) {
19859
20048
  _context6.n = 21;
@@ -19865,7 +20054,8 @@ function forwardMessage(action) {
19865
20054
  state: MESSAGE_STATUS.FAILED
19866
20055
  }
19867
20056
  });
19868
- if (!(activeChannelId === channel.id)) {
20057
+ _activeChannelId2 = getActiveChannelId();
20058
+ if (!(_activeChannelId2 === channel.id)) {
19869
20059
  _context6.n = 21;
19870
20060
  break;
19871
20061
  }
@@ -19887,25 +20077,67 @@ function forwardMessage(action) {
19887
20077
  case 24:
19888
20078
  return _context6.a(2);
19889
20079
  }
19890
- }, _marked3$1, null, [[1, 17, 22, 24]]);
20080
+ }, _marked3$1, null, [[1, 18, 22, 24]]);
19891
20081
  }
19892
20082
  function resendMessage(action) {
19893
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isVoiceMessage;
20083
+ var _message$attachments;
20084
+ var payload, message, connectionState, channelId, attachments, sendAttachmentsAsSeparateMessage, isVoiceMessage;
19894
20085
  return _regenerator().w(function (_context7) {
19895
20086
  while (1) switch (_context7.n) {
19896
20087
  case 0:
19897
20088
  payload = action.payload;
19898
20089
  message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19899
- if (message.forwardingDetails) {
19900
- store.dispatch(forwardMessageAC(message, channelId, connectionState, false, false));
19901
- } else if (message.attachments && message.attachments.length) {
19902
- sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
19903
- isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
19904
- store.dispatch(sendMessageAC(message, channelId, connectionState, isVoiceMessage ? false : sendAttachmentsAsSeparateMessage, false, false));
19905
- } else {
19906
- store.dispatch(sendTextMessageAC(message, channelId, connectionState, false));
20090
+ attachments = message === null || message === void 0 ? void 0 : (_message$attachments = message.attachments) === null || _message$attachments === void 0 ? void 0 : _message$attachments.filter(function (att) {
20091
+ return (att === null || att === void 0 ? void 0 : att.type) !== attachmentTypes.link;
20092
+ });
20093
+ if (!message.forwardingDetails) {
20094
+ _context7.n = 2;
20095
+ break;
19907
20096
  }
20097
+ _context7.n = 1;
20098
+ return call(forwardMessage, {
20099
+ type: RESEND_MESSAGE,
20100
+ payload: {
20101
+ message: message,
20102
+ connectionState: connectionState,
20103
+ channelId: channelId,
20104
+ isForward: false
20105
+ }
20106
+ });
19908
20107
  case 1:
20108
+ _context7.n = 5;
20109
+ break;
20110
+ case 2:
20111
+ if (!(attachments && attachments.length)) {
20112
+ _context7.n = 4;
20113
+ break;
20114
+ }
20115
+ sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
20116
+ isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
20117
+ _context7.n = 3;
20118
+ return call(sendMessage, {
20119
+ type: RESEND_MESSAGE,
20120
+ payload: {
20121
+ message: message,
20122
+ connectionState: connectionState,
20123
+ channelId: channelId,
20124
+ sendAttachmentsAsSeparateMessage: isVoiceMessage ? false : sendAttachmentsAsSeparateMessage
20125
+ }
20126
+ });
20127
+ case 3:
20128
+ _context7.n = 5;
20129
+ break;
20130
+ case 4:
20131
+ _context7.n = 5;
20132
+ return call(sendTextMessage, {
20133
+ type: RESEND_MESSAGE,
20134
+ payload: {
20135
+ message: message,
20136
+ connectionState: connectionState,
20137
+ channelId: channelId
20138
+ }
20139
+ });
20140
+ case 5:
19909
20141
  return _context7.a(2);
19910
20142
  }
19911
20143
  }, _marked4$1);
@@ -20067,8 +20299,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20067
20299
  message: msg,
20068
20300
  connectionState: connectionState,
20069
20301
  channelId: channelId,
20070
- isForward: true,
20071
- isAddToPendingMessagesMap: false
20302
+ isForward: true
20072
20303
  }
20073
20304
  });
20074
20305
  case 4:
@@ -20086,9 +20317,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20086
20317
  message: msg,
20087
20318
  connectionState: connectionState,
20088
20319
  channelId: channelId,
20089
- sendAttachmentsAsSeparateMessage: false,
20090
- isResend: true,
20091
- isAddToPendingMessagesMap: false
20320
+ sendAttachmentsAsSeparateMessage: false
20092
20321
  }
20093
20322
  });
20094
20323
  case 6:
@@ -20101,8 +20330,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20101
20330
  payload: {
20102
20331
  message: msg,
20103
20332
  connectionState: connectionState,
20104
- channelId: channelId,
20105
- isAddToPendingMessagesMap: false
20333
+ channelId: channelId
20106
20334
  }
20107
20335
  });
20108
20336
  case 8:
@@ -20131,26 +20359,13 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20131
20359
  }
20132
20360
  }, _callee4, null, [[3, 9]]);
20133
20361
  });
20134
- var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20135
- var _messages, _Object$values;
20136
- var previousAllMessages, messages, lastMessageId, setMappedAllMessages, allMessagesAfterLastMessage;
20362
+ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages, firstMessageId, lastMessageId) {
20363
+ var messages;
20137
20364
  return _regenerator().w(function (_context1) {
20138
20365
  while (1) switch (_context1.n) {
20139
20366
  case 0:
20140
- previousAllMessages = getAllMessages();
20141
20367
  messages = [].concat(updatedMessages);
20142
- lastMessageId = (_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : _messages.id;
20143
- setMappedAllMessages = {};
20144
- previousAllMessages.forEach(function (msg) {
20145
- if (msg.channelId === channel.id) {
20146
- setMappedAllMessages[msg.id || msg.tid || ''] = msg;
20147
- }
20148
- });
20149
- allMessagesAfterLastMessage = lastMessageId ? (_Object$values = Object.values(setMappedAllMessages || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.filter(function (msg) {
20150
- return msg.id > lastMessageId || !msg.id;
20151
- }) : Object.values(setMappedAllMessages || {});
20152
- messages = [].concat(messages, allMessagesAfterLastMessage || []);
20153
- setMessagesToMap(channel.id, messages);
20368
+ setMessagesToMap(channel.id, messages, firstMessageId, lastMessageId);
20154
20369
  setAllMessages(messages);
20155
20370
  _context1.n = 1;
20156
20371
  return put(setMessagesAC(JSON.parse(JSON.stringify(messages))));
@@ -20159,8 +20374,23 @@ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, up
20159
20374
  }
20160
20375
  }, _callee5);
20161
20376
  });
20377
+ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20378
+ var filteredPendingMessages = [];
20379
+ var activeChannelId = getActiveChannelId();
20380
+ var pendingMessages = JSON.parse(JSON.stringify(getPendingMessages(activeChannelId) || []));
20381
+ if (pendingMessages && pendingMessages.length) {
20382
+ var messagesMap = {};
20383
+ messages.forEach(function (msg) {
20384
+ messagesMap[msg.tid || ''] = msg;
20385
+ });
20386
+ filteredPendingMessages = pendingMessages.filter(function (msg) {
20387
+ return !messagesMap[msg.tid || ''];
20388
+ });
20389
+ }
20390
+ return filteredPendingMessages;
20391
+ };
20162
20392
  function getMessagesQuery(action) {
20163
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, waitToSendPendingMessages, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
20393
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, _result$messages$, _result$messages, _messages$Math$floor, messages, centerMessageId, loadWithMessageId, allMessages, messageIndex, maxLengthPart, _result$messages$2, _result$messages2, secondResult, thirdResult, fourthResult, _fourthResult, _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, _t16, _t17, _t18, _t19, _t20;
20164
20394
  return _regenerator().w(function (_context10) {
20165
20395
  while (1) switch (_context10.p = _context10.n) {
20166
20396
  case 0:
@@ -20168,10 +20398,10 @@ function getMessagesQuery(action) {
20168
20398
  _context10.n = 1;
20169
20399
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
20170
20400
  case 1:
20171
- _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;
20401
+ _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, highlight = _action$payload.highlight, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage, networkChanged = _action$payload.networkChanged;
20172
20402
  connectionState = store.getState().UserReducer.connectionStatus;
20173
- if (!(channel.id && !channel.isMockChannel)) {
20174
- _context10.n = 76;
20403
+ if (!(channel !== null && channel !== void 0 && channel.id && !(channel !== null && channel !== void 0 && channel.isMockChannel))) {
20404
+ _context10.n = 84;
20175
20405
  break;
20176
20406
  }
20177
20407
  SceytChatClient = getClient();
@@ -20201,24 +20431,26 @@ function getMessagesQuery(action) {
20201
20431
  hasNext: false
20202
20432
  };
20203
20433
  if (!loadWithLastMessage) {
20204
- _context10.n = 19;
20434
+ _context10.n = 22;
20205
20435
  break;
20206
20436
  }
20207
- allMessages = getAllMessages();
20208
- havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
20209
- if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
20210
- _context10.n = 14;
20437
+ if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20438
+ _context10.n = 15;
20211
20439
  break;
20212
20440
  }
20213
20441
  setHasPrevCached(false);
20214
- setMessagesToMap(channel.id, []);
20215
20442
  setAllMessages([]);
20443
+ messageQuery.limit = MESSAGES_MAX_LENGTH;
20444
+ if (!Number(channel.lastDisplayedMessageId)) {
20445
+ _context10.n = 8;
20446
+ break;
20447
+ }
20216
20448
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20217
20449
  _context10.n = 6;
20218
20450
  break;
20219
20451
  }
20220
20452
  _context10.n = 5;
20221
- return call(messageQuery.loadPreviousMessageId, '0');
20453
+ return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20222
20454
  case 5:
20223
20455
  _t1 = _context10.v;
20224
20456
  _context10.n = 7;
@@ -20230,381 +20462,368 @@ function getMessagesQuery(action) {
20230
20462
  };
20231
20463
  case 7:
20232
20464
  result = _t1;
20233
- if (!(result.messages.length === 50)) {
20234
- _context10.n = 11;
20235
- break;
20236
- }
20237
- messageQuery.limit = 30;
20465
+ _context10.n = 12;
20466
+ break;
20467
+ case 8:
20238
20468
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20239
- _context10.n = 9;
20469
+ _context10.n = 10;
20240
20470
  break;
20241
20471
  }
20242
- _context10.n = 8;
20243
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20244
- case 8:
20472
+ _context10.n = 9;
20473
+ return call(messageQuery.loadPrevious);
20474
+ case 9:
20245
20475
  _t10 = _context10.v;
20246
- _context10.n = 10;
20476
+ _context10.n = 11;
20247
20477
  break;
20248
- case 9:
20478
+ case 10:
20249
20479
  _t10 = {
20250
20480
  messages: [],
20251
20481
  hasNext: false
20252
20482
  };
20253
- case 10:
20254
- secondResult = _t10;
20255
- result.messages = [].concat(secondResult.messages, result.messages);
20256
- result.hasNext = secondResult.hasNext;
20257
20483
  case 11:
20258
- sentMessages = [];
20259
- if (withDeliveredMessages) {
20260
- sentMessages = getFromAllMessagesByMessageId('', '', true);
20261
- }
20262
- messagesMap = {};
20263
- result.messages.forEach(function (msg) {
20264
- messagesMap[msg.tid || ''] = msg;
20265
- });
20266
- filteredSentMessages = sentMessages.filter(function (msg) {
20267
- return !messagesMap[msg.tid || ''];
20268
- });
20269
- result.messages = [].concat(result.messages, filteredSentMessages).slice(filteredSentMessages.length);
20270
- _context10.n = 12;
20271
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20484
+ result = _t10;
20272
20485
  case 12:
20273
- setMessagesToMap(channel.id, result.messages);
20274
- setAllMessages(result.messages);
20275
20486
  _context10.n = 13;
20276
- return put(setMessagesHasPrevAC(true));
20487
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20277
20488
  case 13:
20278
- _context10.n = 16;
20279
- break;
20489
+ 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);
20490
+ setAllMessages(result.messages);
20491
+ _context10.n = 14;
20492
+ return put(setMessagesHasPrevAC(true));
20280
20493
  case 14:
20281
- result.messages = getFromAllMessagesByMessageId('', '', true);
20282
- _context10.n = 15;
20283
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20494
+ _context10.n = 17;
20495
+ break;
20284
20496
  case 15:
20497
+ result.messages = getFromAllMessagesByMessageId('', '', true);
20285
20498
  _context10.n = 16;
20286
- return put(setMessagesHasPrevAC(true));
20499
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20287
20500
  case 16:
20288
20501
  _context10.n = 17;
20289
- return put(setMessagesHasNextAC(false));
20502
+ return put(setMessagesHasPrevAC(true));
20290
20503
  case 17:
20504
+ _context10.n = 18;
20505
+ return put(setMessagesHasNextAC(false));
20506
+ case 18:
20291
20507
  setHasNextCached(false);
20292
20508
  if (!(messageId && scrollToMessage)) {
20293
- _context10.n = 18;
20509
+ _context10.n = 21;
20294
20510
  break;
20295
20511
  }
20296
- _context10.n = 18;
20297
- return put(setScrollToMessagesAC(messageId, highlight, behavior));
20298
- case 18:
20299
- _context10.n = 72;
20300
- break;
20512
+ if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20513
+ _context10.n = 20;
20514
+ break;
20515
+ }
20516
+ _context10.n = 19;
20517
+ return put(setScrollToMessagesAC(channel.lastDisplayedMessageId, highlight, behavior));
20301
20518
  case 19:
20519
+ _context10.n = 21;
20520
+ break;
20521
+ case 20:
20522
+ _context10.n = 21;
20523
+ return put(scrollToNewMessageAC(true));
20524
+ case 21:
20525
+ _context10.n = 77;
20526
+ break;
20527
+ case 22:
20302
20528
  if (!messageId) {
20303
- _context10.n = 38;
20529
+ _context10.n = 52;
20304
20530
  break;
20305
20531
  }
20306
- _allMessages = getAllMessages();
20307
- messageIndex = _allMessages.findIndex(function (msg) {
20308
- return msg.id === messageId;
20532
+ messages = store.getState().MessageReducer.activeChannelMessages;
20533
+ centerMessageId = (_messages$Math$floor = messages[Math.floor(messages.length / 2)]) === null || _messages$Math$floor === void 0 ? void 0 : _messages$Math$floor.id;
20534
+ loadWithMessageId = networkChanged && (messages === null || messages === void 0 ? void 0 : messages.length) > 0 ? centerMessageId : messageId;
20535
+ allMessages = getAllMessages();
20536
+ messageIndex = allMessages.findIndex(function (msg) {
20537
+ return msg.id === loadWithMessageId;
20309
20538
  });
20310
20539
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
20311
20540
  if (!(messageIndex >= maxLengthPart)) {
20312
- _context10.n = 22;
20541
+ _context10.n = 25;
20313
20542
  break;
20314
20543
  }
20315
- result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20316
- _context10.n = 20;
20544
+ result.messages = allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20545
+ _context10.n = 23;
20317
20546
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20318
- case 20:
20547
+ case 23:
20319
20548
  setHasPrevCached(messageIndex > maxLengthPart);
20320
- setHasNextCached(_allMessages.length > maxLengthPart);
20321
- _context10.n = 21;
20549
+ setHasNextCached(allMessages.length > maxLengthPart);
20550
+ _context10.n = 24;
20322
20551
  return put(setMessagesHasPrevAC(true));
20323
- case 21:
20324
- _context10.n = 34;
20552
+ case 24:
20553
+ _context10.n = 48;
20325
20554
  break;
20326
- case 22:
20555
+ case 25:
20327
20556
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20328
- log.info('load by message id from server ...............', messageId);
20557
+ log.info('load by message id from server ...............', loadWithMessageId);
20329
20558
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20330
- _context10.n = 24;
20559
+ _context10.n = 27;
20331
20560
  break;
20332
20561
  }
20333
- _context10.n = 23;
20334
- return call(messageQuery.loadNearMessageId, messageId);
20335
- case 23:
20562
+ _context10.n = 26;
20563
+ return call(messageQuery.loadNearMessageId, loadWithMessageId);
20564
+ case 26:
20336
20565
  _t11 = _context10.v;
20337
- _context10.n = 25;
20566
+ _context10.n = 28;
20338
20567
  break;
20339
- case 24:
20568
+ case 27:
20340
20569
  _t11 = {
20341
20570
  messages: [],
20342
20571
  hasNext: false
20343
20572
  };
20344
- case 25:
20573
+ case 28:
20345
20574
  result = _t11;
20575
+ _context10.n = 29;
20576
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20577
+ case 29:
20346
20578
  if (!(result.messages.length === 50)) {
20347
- _context10.n = 32;
20579
+ _context10.n = 47;
20348
20580
  break;
20349
20581
  }
20350
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20582
+ messageQuery.limit = (MESSAGES_MAX_PAGE_COUNT - 50) / 2;
20351
20583
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20352
- _context10.n = 27;
20584
+ _context10.n = 31;
20353
20585
  break;
20354
20586
  }
20355
- _context10.n = 26;
20587
+ _context10.n = 30;
20356
20588
  return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20357
- case 26:
20589
+ case 30:
20358
20590
  _t12 = _context10.v;
20359
- _context10.n = 28;
20591
+ _context10.n = 32;
20360
20592
  break;
20361
- case 27:
20593
+ case 31:
20362
20594
  _t12 = {
20363
20595
  messages: [],
20364
20596
  hasNext: false
20365
20597
  };
20366
- case 28:
20367
- _secondResult = _t12;
20598
+ case 32:
20599
+ secondResult = _t12;
20600
+ result.messages = [].concat(secondResult.messages, result.messages);
20601
+ _context10.n = 33;
20602
+ return put(addMessagesAC(JSON.parse(JSON.stringify(secondResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
20603
+ case 33:
20604
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length;
20368
20605
  messageQuery.reverse = false;
20369
20606
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20370
- _context10.n = 30;
20607
+ _context10.n = 35;
20371
20608
  break;
20372
20609
  }
20373
- _context10.n = 29;
20610
+ _context10.n = 34;
20374
20611
  return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20375
- case 29:
20612
+ case 34:
20376
20613
  _t13 = _context10.v;
20377
- _context10.n = 31;
20614
+ _context10.n = 36;
20378
20615
  break;
20379
- case 30:
20616
+ case 35:
20380
20617
  _t13 = {
20381
20618
  messages: [],
20382
20619
  hasNext: false
20383
20620
  };
20384
- case 31:
20385
- thirdResult = _t13;
20386
- result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
20387
- result.hasNext = _secondResult.hasNext;
20388
- messageQuery.reverse = true;
20389
- _context10.n = 32;
20390
- return put(setMessagesHasPrevAC(_secondResult.hasNext));
20391
- case 32:
20392
- _context10.n = 33;
20393
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20394
- case 33:
20395
- setMessagesToMap(channel.id, result.messages);
20396
- setAllMessages([].concat(result.messages));
20397
- setHasPrevCached(false);
20398
- setHasNextCached(false);
20399
- case 34:
20400
- _context10.n = 35;
20401
- return put(setMessagesHasNextAC(true));
20402
- case 35:
20403
- if (!scrollToMessage) {
20404
- _context10.n = 36;
20405
- break;
20406
- }
20407
- _context10.n = 36;
20408
- return put(setScrollToMessagesAC(messageId, true, behavior));
20409
20621
  case 36:
20622
+ thirdResult = _t13;
20623
+ result.messages = [].concat(result.messages, thirdResult.messages);
20410
20624
  _context10.n = 37;
20411
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20625
+ return put(addMessagesAC(JSON.parse(JSON.stringify(thirdResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
20412
20626
  case 37:
20413
- _context10.n = 72;
20414
- break;
20415
- case 38:
20416
- if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20417
- _context10.n = 61;
20418
- break;
20419
- }
20420
- setMessagesToMap(channel.id, []);
20421
- setAllMessages([]);
20422
- messageQuery.limit = MESSAGES_MAX_LENGTH;
20423
- if (!Number(channel.lastDisplayedMessageId)) {
20424
- _context10.n = 50;
20627
+ if (!(secondResult.hasNext && !thirdResult.hasNext)) {
20628
+ _context10.n = 42;
20425
20629
  break;
20426
20630
  }
20631
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
20427
20632
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20428
- _context10.n = 40;
20633
+ _context10.n = 39;
20429
20634
  break;
20430
20635
  }
20431
- _context10.n = 39;
20432
- return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20433
- case 39:
20636
+ _context10.n = 38;
20637
+ return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20638
+ case 38:
20434
20639
  _t14 = _context10.v;
20435
- _context10.n = 41;
20640
+ _context10.n = 40;
20436
20641
  break;
20437
- case 40:
20642
+ case 39:
20438
20643
  _t14 = {
20439
20644
  messages: [],
20440
20645
  hasNext: false
20441
20646
  };
20647
+ case 40:
20648
+ fourthResult = _t14;
20649
+ result.messages = [].concat(fourthResult.messages, result.messages);
20650
+ _context10.n = 41;
20651
+ return put(addMessagesAC(JSON.parse(JSON.stringify(fourthResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
20442
20652
  case 41:
20443
- result = _t14;
20444
- if (!(result.messages.length === 50)) {
20445
- _context10.n = 49;
20653
+ _context10.n = 46;
20654
+ break;
20655
+ case 42:
20656
+ if (!(!secondResult.hasNext && thirdResult.hasNext)) {
20657
+ _context10.n = 46;
20446
20658
  break;
20447
20659
  }
20448
- messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20660
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
20449
20661
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20450
- _context10.n = 43;
20662
+ _context10.n = 44;
20451
20663
  break;
20452
20664
  }
20453
- _context10.n = 42;
20454
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20455
- case 42:
20665
+ _context10.n = 43;
20666
+ return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20667
+ case 43:
20456
20668
  _t15 = _context10.v;
20457
- _context10.n = 44;
20669
+ _context10.n = 45;
20458
20670
  break;
20459
- case 43:
20671
+ case 44:
20460
20672
  _t15 = {
20461
20673
  messages: [],
20462
20674
  hasNext: false
20463
20675
  };
20464
- case 44:
20465
- _secondResult2 = _t15;
20466
- if (!(channel.newMessageCount > 25)) {
20467
- _context10.n = 48;
20676
+ case 45:
20677
+ _fourthResult = _t15;
20678
+ result.messages = [].concat(result.messages, _fourthResult.messages);
20679
+ _context10.n = 46;
20680
+ return put(addMessagesAC(JSON.parse(JSON.stringify(_fourthResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
20681
+ case 46:
20682
+ messageQuery.reverse = true;
20683
+ case 47:
20684
+ 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);
20685
+ setAllMessages([].concat(result.messages));
20686
+ setHasPrevCached(false);
20687
+ setHasNextCached(false);
20688
+ case 48:
20689
+ _context10.n = 49;
20690
+ return put(setMessagesHasNextAC(true));
20691
+ case 49:
20692
+ if (!scrollToMessage) {
20693
+ _context10.n = 50;
20694
+ break;
20695
+ }
20696
+ _context10.n = 50;
20697
+ return put(setScrollToMessagesAC(loadWithMessageId, highlight, behavior));
20698
+ case 50:
20699
+ _context10.n = 51;
20700
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20701
+ case 51:
20702
+ _context10.n = 77;
20703
+ break;
20704
+ case 52:
20705
+ if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20706
+ _context10.n = 64;
20707
+ break;
20708
+ }
20709
+ setAllMessages([]);
20710
+ messageQuery.limit = MESSAGES_MAX_LENGTH;
20711
+ if (!Number(channel.lastDisplayedMessageId)) {
20712
+ _context10.n = 56;
20468
20713
  break;
20469
20714
  }
20470
- messageQuery.reverse = false;
20471
20715
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20472
- _context10.n = 46;
20716
+ _context10.n = 54;
20473
20717
  break;
20474
20718
  }
20475
- _context10.n = 45;
20476
- return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20477
- case 45:
20719
+ _context10.n = 53;
20720
+ return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20721
+ case 53:
20478
20722
  _t16 = _context10.v;
20479
- _context10.n = 47;
20723
+ _context10.n = 55;
20480
20724
  break;
20481
- case 46:
20725
+ case 54:
20482
20726
  _t16 = {
20483
20727
  messages: [],
20484
20728
  hasNext: false
20485
20729
  };
20486
- case 47:
20487
- _thirdResult = _t16;
20488
- result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
20489
- messageQuery.reverse = true;
20490
- _context10.n = 49;
20491
- break;
20492
- case 48:
20493
- result.messages = [].concat(_secondResult2.messages, result.messages);
20494
- case 49:
20495
- _context10.n = 57;
20730
+ case 55:
20731
+ result = _t16;
20732
+ _context10.n = 60;
20496
20733
  break;
20497
- case 50:
20734
+ case 56:
20498
20735
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20499
- _context10.n = 52;
20736
+ _context10.n = 58;
20500
20737
  break;
20501
20738
  }
20502
- _context10.n = 51;
20739
+ _context10.n = 57;
20503
20740
  return call(messageQuery.loadPrevious);
20504
- case 51:
20741
+ case 57:
20505
20742
  _t17 = _context10.v;
20506
- _context10.n = 53;
20743
+ _context10.n = 59;
20507
20744
  break;
20508
- case 52:
20745
+ case 58:
20509
20746
  _t17 = {
20510
20747
  messages: [],
20511
20748
  hasNext: false
20512
20749
  };
20513
- case 53:
20750
+ case 59:
20514
20751
  result = _t17;
20515
- if (!(result.messages.length === 50)) {
20516
- _context10.n = 57;
20517
- break;
20518
- }
20519
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20520
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20521
- _context10.n = 55;
20522
- break;
20523
- }
20524
- _context10.n = 54;
20525
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20526
- case 54:
20527
- _t18 = _context10.v;
20528
- _context10.n = 56;
20529
- break;
20530
- case 55:
20531
- _t18 = {
20532
- messages: [],
20533
- hasNext: false
20534
- };
20535
- case 56:
20536
- _secondResult3 = _t18;
20537
- result.messages = [].concat(_secondResult3.messages, result.messages);
20538
- result.hasNext = _secondResult3.hasNext;
20539
- case 57:
20540
- _context10.n = 58;
20752
+ case 60:
20753
+ _context10.n = 61;
20541
20754
  return put(setMessagesHasPrevAC(true));
20542
- case 58:
20543
- _context10.n = 59;
20755
+ case 61:
20756
+ _context10.n = 62;
20544
20757
  return put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20545
- case 59:
20546
- setMessagesToMap(channel.id, result.messages);
20758
+ case 62:
20759
+ setMessagesToMap(channel.id, result.messages, (_result$messages$3 = result.messages[0]) === null || _result$messages$3 === void 0 ? void 0 : _result$messages$3.id, (_result$messages3 = result.messages[result.messages.length - 1]) === null || _result$messages3 === void 0 ? void 0 : _result$messages3.id);
20547
20760
  setAllMessages([].concat(result.messages));
20548
- _context10.n = 60;
20761
+ _context10.n = 63;
20549
20762
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20550
- case 60:
20551
- _context10.n = 72;
20763
+ case 63:
20764
+ _context10.n = 77;
20552
20765
  break;
20553
- case 61:
20554
- setMessagesToMap(channel.id, []);
20555
- setAllMessages([]);
20766
+ case 64:
20556
20767
  if (!(cachedMessages && cachedMessages.length)) {
20557
- _context10.n = 62;
20768
+ _context10.n = 66;
20558
20769
  break;
20559
20770
  }
20560
- setMessagesToMap(channel.id, []);
20561
- setAllMessages([].concat(cachedMessages));
20562
- _context10.n = 62;
20563
- return put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
20564
- case 62:
20771
+ parsedMessages = getFromAllMessagesByMessageId('', '', true);
20772
+ 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);
20773
+ _context10.n = 65;
20774
+ return put(setMessagesAC(JSON.parse(JSON.stringify(parsedMessages))));
20775
+ case 65:
20776
+ _filteredPendingMessages = getFilteredPendingMessages(parsedMessages);
20777
+ _context10.n = 66;
20778
+ return put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20779
+ case 66:
20565
20780
  log.info('load message from server');
20781
+ result = {
20782
+ messages: [],
20783
+ hasNext: false
20784
+ };
20785
+ 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))) {
20786
+ _context10.n = 70;
20787
+ break;
20788
+ }
20566
20789
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20567
- _context10.n = 64;
20790
+ _context10.n = 68;
20568
20791
  break;
20569
20792
  }
20570
- _context10.n = 63;
20571
- return call(messageQuery.loadPrevious);
20572
- case 63:
20573
- _t19 = _context10.v;
20574
- _context10.n = 65;
20793
+ _context10.n = 67;
20794
+ return call(messageQuery.loadPreviousMessageId, channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId);
20795
+ case 67:
20796
+ _t18 = _context10.v;
20797
+ _context10.n = 69;
20575
20798
  break;
20576
- case 64:
20577
- _t19 = {
20799
+ case 68:
20800
+ _t18 = {
20578
20801
  messages: [],
20579
20802
  hasNext: false
20580
20803
  };
20581
- case 65:
20582
- result = _t19;
20583
- if (!(result.messages.length === 50)) {
20584
- _context10.n = 69;
20585
- break;
20586
- }
20587
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20804
+ case 69:
20805
+ result = _t18;
20806
+ _context10.n = 74;
20807
+ break;
20808
+ case 70:
20588
20809
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20589
- _context10.n = 67;
20810
+ _context10.n = 72;
20590
20811
  break;
20591
20812
  }
20592
- _context10.n = 66;
20593
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20594
- case 66:
20595
- _t20 = _context10.v;
20596
- _context10.n = 68;
20813
+ _context10.n = 71;
20814
+ return call(messageQuery.loadPrevious);
20815
+ case 71:
20816
+ _t19 = _context10.v;
20817
+ _context10.n = 73;
20597
20818
  break;
20598
- case 67:
20599
- _t20 = {
20819
+ case 72:
20820
+ _t19 = {
20600
20821
  messages: [],
20601
20822
  hasNext: false
20602
20823
  };
20603
- case 68:
20604
- _secondResult4 = _t20;
20605
- result.messages = [].concat(_secondResult4.messages, result.messages);
20606
- result.hasNext = _secondResult4.hasNext;
20607
- case 69:
20824
+ case 73:
20825
+ result = _t19;
20826
+ case 74:
20608
20827
  updatedMessages = [];
20609
20828
  result.messages.forEach(function (msg) {
20610
20829
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20614,70 +20833,73 @@ function getMessagesQuery(action) {
20614
20833
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20615
20834
  updatedMessages.push(updatedMessage || msg);
20616
20835
  });
20617
- _context10.n = 70;
20618
- return call(updateMessages, channel, updatedMessages);
20619
- case 70:
20620
- _context10.n = 71;
20836
+ 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';
20837
+ _context10.n = 75;
20838
+ return call(updateMessages, channel, updatedMessages, (_updatedMessages$ = updatedMessages[0]) === null || _updatedMessages$ === void 0 ? void 0 : _updatedMessages$.id, messageIdForLoad);
20839
+ case 75:
20840
+ _context10.n = 76;
20621
20841
  return put(setMessagesHasPrevAC(true));
20622
- case 71:
20623
- _context10.n = 72;
20842
+ case 76:
20843
+ _context10.n = 77;
20624
20844
  return put(setMessagesHasNextAC(false));
20625
- case 72:
20626
- pendingMessages = getPendingMessages(channel.id);
20627
- if (!(pendingMessages && pendingMessages.length)) {
20628
- _context10.n = 73;
20629
- break;
20630
- }
20631
- _messagesMap = {};
20632
- result.messages.forEach(function (msg) {
20633
- _messagesMap[msg.tid || ''] = msg;
20634
- });
20635
- filteredPendingMessages = pendingMessages.filter(function (msg) {
20636
- return !_messagesMap[msg.tid || ''];
20637
- });
20638
- _context10.n = 73;
20845
+ case 77:
20846
+ filteredPendingMessages = getFilteredPendingMessages(result.messages);
20847
+ _context10.n = 78;
20639
20848
  return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20640
- case 73:
20849
+ case 78:
20641
20850
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20642
20851
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20643
- _context10.n = 75;
20852
+ _context10.n = 80;
20644
20853
  break;
20645
20854
  }
20646
- _context10.n = 74;
20855
+ _context10.n = 79;
20647
20856
  return put(setWaitToSendPendingMessagesAC(false));
20648
- case 74:
20649
- _context10.n = 75;
20857
+ case 79:
20858
+ _context10.n = 80;
20650
20859
  return spawn(sendPendingMessages, connectionState);
20651
- case 75:
20652
- _context10.n = 77;
20860
+ case 80:
20861
+ _context10.n = 81;
20862
+ return call(SceytChatClient.getChannel, channel.id, true);
20863
+ case 81:
20864
+ updatedChannel = _context10.v;
20865
+ if (!updatedChannel) {
20866
+ _context10.n = 83;
20867
+ break;
20868
+ }
20869
+ _context10.n = 82;
20870
+ return put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
20871
+ case 82:
20872
+ updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
20873
+ case 83:
20874
+ _context10.n = 85;
20653
20875
  break;
20654
- case 76:
20655
- if (!channel.isMockChannel) {
20656
- _context10.n = 77;
20876
+ case 84:
20877
+ if (!(channel !== null && channel !== void 0 && channel.isMockChannel)) {
20878
+ _context10.n = 85;
20657
20879
  break;
20658
20880
  }
20659
- _context10.n = 77;
20881
+ _context10.n = 85;
20660
20882
  return put(setMessagesAC([]));
20661
- case 77:
20662
- _context10.n = 79;
20883
+ case 85:
20884
+ _context10.n = 87;
20663
20885
  break;
20664
- case 78:
20665
- _context10.p = 78;
20666
- _t21 = _context10.v;
20667
- log.error('error in message query', _t21);
20668
- case 79:
20669
- _context10.p = 79;
20670
- _context10.n = 80;
20886
+ case 86:
20887
+ _context10.p = 86;
20888
+ _t20 = _context10.v;
20889
+ log.error('error in message query', _t20);
20890
+ case 87:
20891
+ _context10.p = 87;
20892
+ _context10.n = 88;
20671
20893
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20672
- case 80:
20673
- return _context10.f(79);
20674
- case 81:
20894
+ case 88:
20895
+ return _context10.f(87);
20896
+ case 89:
20675
20897
  return _context10.a(2);
20676
20898
  }
20677
- }, _marked7$1, null, [[0, 78, 79, 81]]);
20899
+ }, _marked7$1, null, [[0, 86, 87, 89]]);
20678
20900
  }
20679
20901
  function getMessageQuery(action) {
20680
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t22;
20902
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t21;
20681
20903
  return _regenerator().w(function (_context11) {
20682
20904
  while (1) switch (_context11.p = _context11.n) {
20683
20905
  case 0:
@@ -20727,15 +20949,15 @@ function getMessageQuery(action) {
20727
20949
  break;
20728
20950
  case 7:
20729
20951
  _context11.p = 7;
20730
- _t22 = _context11.v;
20731
- log.error('error in message query', _t22);
20952
+ _t21 = _context11.v;
20953
+ log.error('error in message query', _t21);
20732
20954
  case 8:
20733
20955
  return _context11.a(2);
20734
20956
  }
20735
20957
  }, _marked8$1, null, [[0, 7]]);
20736
20958
  }
20737
20959
  function loadMoreMessages(action) {
20738
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t23;
20960
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _result$messages$4, _result$messages4, _result$messages$5, _result$messages5, _t22;
20739
20961
  return _regenerator().w(function (_context12) {
20740
20962
  while (1) switch (_context12.p = _context12.n) {
20741
20963
  case 0:
@@ -20779,7 +21001,7 @@ function loadMoreMessages(action) {
20779
21001
  result = _context12.v;
20780
21002
  if (result.messages.length) {
20781
21003
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.PREV);
20782
- setMessagesToMap(channelId, result.messages);
21004
+ setMessagesToMap(channelId, result.messages, (_result$messages$4 = result.messages[0]) === null || _result$messages$4 === void 0 ? void 0 : _result$messages$4.id, (_result$messages4 = result.messages[result.messages.length - 1]) === null || _result$messages4 === void 0 ? void 0 : _result$messages4.id);
20783
21005
  }
20784
21006
  _context12.n = 5;
20785
21007
  return put(setMessagesHasPrevAC(result.hasNext));
@@ -20807,7 +21029,7 @@ function loadMoreMessages(action) {
20807
21029
  result = _context12.v;
20808
21030
  if (result.messages.length) {
20809
21031
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.NEXT);
20810
- setMessagesToMap(channelId, result.messages);
21032
+ setMessagesToMap(channelId, result.messages, (_result$messages$5 = result.messages[0]) === null || _result$messages$5 === void 0 ? void 0 : _result$messages$5.id, (_result$messages5 = result.messages[result.messages.length - 1]) === null || _result$messages5 === void 0 ? void 0 : _result$messages5.id);
20811
21033
  }
20812
21034
  _context12.n = 9;
20813
21035
  return put(setMessagesHasNextAC(result.hasNext));
@@ -20848,15 +21070,15 @@ function loadMoreMessages(action) {
20848
21070
  break;
20849
21071
  case 18:
20850
21072
  _context12.p = 18;
20851
- _t23 = _context12.v;
20852
- log.error('error in load more messages', _t23);
21073
+ _t22 = _context12.v;
21074
+ log.error('error in load more messages', _t22);
20853
21075
  case 19:
20854
21076
  return _context12.a(2);
20855
21077
  }
20856
21078
  }, _marked9$1, null, [[0, 18]]);
20857
21079
  }
20858
21080
  function addReaction(action) {
20859
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t24;
21081
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t23;
20860
21082
  return _regenerator().w(function (_context13) {
20861
21083
  while (1) switch (_context13.p = _context13.n) {
20862
21084
  case 0:
@@ -20909,15 +21131,15 @@ function addReaction(action) {
20909
21131
  break;
20910
21132
  case 8:
20911
21133
  _context13.p = 8;
20912
- _t24 = _context13.v;
20913
- log.error('ERROR in add reaction', _t24.message);
21134
+ _t23 = _context13.v;
21135
+ log.error('ERROR in add reaction', _t23.message);
20914
21136
  case 9:
20915
21137
  return _context13.a(2);
20916
21138
  }
20917
21139
  }, _marked0$1, null, [[0, 8]]);
20918
21140
  }
20919
21141
  function deleteReaction(action) {
20920
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t25;
21142
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t24;
20921
21143
  return _regenerator().w(function (_context14) {
20922
21144
  while (1) switch (_context14.p = _context14.n) {
20923
21145
  case 0:
@@ -20965,15 +21187,15 @@ function deleteReaction(action) {
20965
21187
  break;
20966
21188
  case 7:
20967
21189
  _context14.p = 7;
20968
- _t25 = _context14.v;
20969
- log.error('ERROR in delete reaction', _t25.message);
21190
+ _t24 = _context14.v;
21191
+ log.error('ERROR in delete reaction', _t24.message);
20970
21192
  case 8:
20971
21193
  return _context14.a(2);
20972
21194
  }
20973
21195
  }, _marked1$1, null, [[0, 7]]);
20974
21196
  }
20975
21197
  function getReactions(action) {
20976
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t26;
21198
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t25;
20977
21199
  return _regenerator().w(function (_context15) {
20978
21200
  while (1) switch (_context15.p = _context15.n) {
20979
21201
  case 0:
@@ -21008,15 +21230,15 @@ function getReactions(action) {
21008
21230
  break;
21009
21231
  case 6:
21010
21232
  _context15.p = 6;
21011
- _t26 = _context15.v;
21012
- log.error('ERROR in get reactions', _t26.message);
21233
+ _t25 = _context15.v;
21234
+ log.error('ERROR in get reactions', _t25.message);
21013
21235
  case 7:
21014
21236
  return _context15.a(2);
21015
21237
  }
21016
21238
  }, _marked10$1, null, [[0, 6]]);
21017
21239
  }
21018
21240
  function loadMoreReactions(action) {
21019
- var payload, limit, ReactionQuery, result, _t27;
21241
+ var payload, limit, ReactionQuery, result, _t26;
21020
21242
  return _regenerator().w(function (_context16) {
21021
21243
  while (1) switch (_context16.p = _context16.n) {
21022
21244
  case 0:
@@ -21044,15 +21266,15 @@ function loadMoreReactions(action) {
21044
21266
  break;
21045
21267
  case 5:
21046
21268
  _context16.p = 5;
21047
- _t27 = _context16.v;
21048
- log.error('ERROR in load more reactions', _t27.message);
21269
+ _t26 = _context16.v;
21270
+ log.error('ERROR in load more reactions', _t26.message);
21049
21271
  case 6:
21050
21272
  return _context16.a(2);
21051
21273
  }
21052
21274
  }, _marked11$1, null, [[0, 5]]);
21053
21275
  }
21054
21276
  function getMessageAttachments(action) {
21055
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t28;
21277
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t27;
21056
21278
  return _regenerator().w(function (_context17) {
21057
21279
  while (1) switch (_context17.p = _context17.n) {
21058
21280
  case 0:
@@ -21130,15 +21352,15 @@ function getMessageAttachments(action) {
21130
21352
  break;
21131
21353
  case 13:
21132
21354
  _context17.p = 13;
21133
- _t28 = _context17.v;
21134
- log.error('error in message attachment query', _t28);
21355
+ _t27 = _context17.v;
21356
+ log.error('error in message attachment query', _t27);
21135
21357
  case 14:
21136
21358
  return _context17.a(2);
21137
21359
  }
21138
21360
  }, _marked12$1, null, [[0, 13]]);
21139
21361
  }
21140
21362
  function loadMoreMessageAttachments(action) {
21141
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t29;
21363
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t28;
21142
21364
  return _regenerator().w(function (_context18) {
21143
21365
  while (1) switch (_context18.p = _context18.n) {
21144
21366
  case 0:
@@ -21182,15 +21404,15 @@ function loadMoreMessageAttachments(action) {
21182
21404
  break;
21183
21405
  case 8:
21184
21406
  _context18.p = 8;
21185
- _t29 = _context18.v;
21186
- log.error('error in message attachment query', _t29);
21407
+ _t28 = _context18.v;
21408
+ log.error('error in message attachment query', _t28);
21187
21409
  case 9:
21188
21410
  return _context18.a(2);
21189
21411
  }
21190
21412
  }, _marked13$1, null, [[0, 8]]);
21191
21413
  }
21192
21414
  function pauseAttachmentUploading(action) {
21193
- var attachmentId, isPaused, _t30;
21415
+ var attachmentId, isPaused, _t29;
21194
21416
  return _regenerator().w(function (_context19) {
21195
21417
  while (1) switch (_context19.p = _context19.n) {
21196
21418
  case 0:
@@ -21212,15 +21434,15 @@ function pauseAttachmentUploading(action) {
21212
21434
  break;
21213
21435
  case 2:
21214
21436
  _context19.p = 2;
21215
- _t30 = _context19.v;
21216
- log.error('error in pause attachment uploading', _t30);
21437
+ _t29 = _context19.v;
21438
+ log.error('error in pause attachment uploading', _t29);
21217
21439
  case 3:
21218
21440
  return _context19.a(2);
21219
21441
  }
21220
21442
  }, _marked14$1, null, [[0, 2]]);
21221
21443
  }
21222
21444
  function resumeAttachmentUploading(action) {
21223
- var attachmentId, isResumed, _t31;
21445
+ var attachmentId, isResumed, _t30;
21224
21446
  return _regenerator().w(function (_context20) {
21225
21447
  while (1) switch (_context20.p = _context20.n) {
21226
21448
  case 0:
@@ -21243,15 +21465,15 @@ function resumeAttachmentUploading(action) {
21243
21465
  break;
21244
21466
  case 2:
21245
21467
  _context20.p = 2;
21246
- _t31 = _context20.v;
21247
- log.error('error in resume attachment uploading', _t31);
21468
+ _t30 = _context20.v;
21469
+ log.error('error in resume attachment uploading', _t30);
21248
21470
  case 3:
21249
21471
  return _context20.a(2);
21250
21472
  }
21251
21473
  }, _marked15$1, null, [[0, 2]]);
21252
21474
  }
21253
21475
  function getMessageMarkers(action) {
21254
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t32;
21476
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t31;
21255
21477
  return _regenerator().w(function (_context21) {
21256
21478
  while (1) switch (_context21.p = _context21.n) {
21257
21479
  case 0:
@@ -21281,8 +21503,8 @@ function getMessageMarkers(action) {
21281
21503
  break;
21282
21504
  case 5:
21283
21505
  _context21.p = 5;
21284
- _t32 = _context21.v;
21285
- log.error('error in get message markers', _t32);
21506
+ _t31 = _context21.v;
21507
+ log.error('error in get message markers', _t31);
21286
21508
  case 6:
21287
21509
  _context21.p = 6;
21288
21510
  _context21.n = 7;
@@ -21294,9 +21516,9 @@ function getMessageMarkers(action) {
21294
21516
  }
21295
21517
  }, _marked16$1, null, [[0, 5, 6, 8]]);
21296
21518
  }
21297
- function executeAddPollVote(channelId, pollId, optionId, message, isResend) {
21519
+ function executeAddPollVote(channelId, pollId, optionId, message) {
21298
21520
  var _user$presence, _message$pollDetails, _message$pollDetails2, _message$pollDetails3, _message$pollDetails4;
21299
- var channel, user, vote, objs, _message$pollDetails5, _message$pollDetails6, _message$pollDetails7, _iterator2, _step2, obj;
21521
+ var channel, user, vote, objs, _message$pollDetails5, _message$pollDetails6, _message$pollDetails7;
21300
21522
  return _regenerator().w(function (_context22) {
21301
21523
  while (1) switch (_context22.n) {
21302
21524
  case 0:
@@ -21345,38 +21567,16 @@ function executeAddPollVote(channelId, pollId, optionId, message, isResend) {
21345
21567
  vote: vote,
21346
21568
  incrementVotesPerOptionCount: 1
21347
21569
  });
21348
- if (isResend) {
21349
- _context22.n = 5;
21350
- break;
21351
- }
21352
- _iterator2 = _createForOfIteratorHelperLoose(objs);
21353
- case 3:
21354
- if ((_step2 = _iterator2()).done) {
21355
- _context22.n = 5;
21570
+ if (!(channel && message.id)) {
21571
+ _context22.n = 4;
21356
21572
  break;
21357
21573
  }
21358
- obj = _step2.value;
21359
- updateMessageOnMap(channel.id, {
21360
- messageId: message.id,
21361
- params: {}
21362
- }, obj);
21363
- updateMessageOnAllMessages(message.id, {}, obj);
21364
- _context22.n = 4;
21365
- return put(updateMessageAC(message.id, {}, undefined, obj));
21366
- case 4:
21367
21574
  _context22.n = 3;
21368
- break;
21369
- case 5:
21370
- if (!channel) {
21371
- _context22.n = 7;
21372
- break;
21373
- }
21374
- _context22.n = 6;
21375
21575
  return call(channel.addVote, message.id, pollId, [optionId]);
21376
- case 6:
21377
- _context22.n = 7;
21576
+ case 3:
21577
+ _context22.n = 4;
21378
21578
  return put(removePendingPollActionAC(message.id, 'ADD_POLL_VOTE', optionId));
21379
- case 7:
21579
+ case 4:
21380
21580
  return _context22.a(2);
21381
21581
  }
21382
21582
  }, _marked17$1);
@@ -21420,7 +21620,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21420
21620
  }, _marked18$1);
21421
21621
  }
21422
21622
  function addPollVote(action) {
21423
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values2, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t33;
21623
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t32;
21424
21624
  return _regenerator().w(function (_context24) {
21425
21625
  while (1) switch (_context24.p = _context24.n) {
21426
21626
  case 0:
@@ -21429,10 +21629,9 @@ function addPollVote(action) {
21429
21629
  channelId = payload.channelId, pollId = payload.pollId, optionId = payload.optionId, message = payload.message, isResend = payload.isResend;
21430
21630
  sceytChatClient = getClient();
21431
21631
  if (!sceytChatClient) {
21432
- _context24.n = 7;
21632
+ _context24.n = 6;
21433
21633
  break;
21434
21634
  }
21435
- connectionState = sceytChatClient.connectionState;
21436
21635
  user = sceytChatClient.user;
21437
21636
  vote = {
21438
21637
  optionId: optionId,
@@ -21455,10 +21654,6 @@ function addPollVote(action) {
21455
21654
  createdAt: new Date().getTime()
21456
21655
  }
21457
21656
  };
21458
- if (!(connectionState !== CONNECTION_STATUS.CONNECTED)) {
21459
- _context24.n = 6;
21460
- break;
21461
- }
21462
21657
  pendingAction = {
21463
21658
  type: 'ADD_POLL_VOTE',
21464
21659
  channelId: channelId,
@@ -21479,7 +21674,7 @@ function addPollVote(action) {
21479
21674
  _context24.n = 3;
21480
21675
  break;
21481
21676
  }
21482
- currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21677
+ currentMessage = ((_Object$values = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.find(function (msg) {
21483
21678
  return msg.id === message.id || msg.tid === message.id;
21484
21679
  })) || message;
21485
21680
  hasNext = ((_store$getState$Messa = store.getState().MessageReducer.pollVotesHasMore) === null || _store$getState$Messa === void 0 ? void 0 : _store$getState$Messa[pollId]) || false;
@@ -21508,27 +21703,25 @@ function addPollVote(action) {
21508
21703
  }
21509
21704
  return _context24.d(_regeneratorValues(updateMessageOptimisticallyForAddPollVote(channelId, message, vote)), 5);
21510
21705
  case 5:
21511
- if (!conflictCheck.shouldSkip) {
21706
+ if (!conflictCheck.shouldSkip && !isResend) {
21512
21707
  setPendingPollAction(pendingAction);
21513
21708
  }
21514
- return _context24.a(2);
21709
+ return _context24.d(_regeneratorValues(executeAddPollVote(channelId, pollId, optionId, message)), 6);
21515
21710
  case 6:
21516
- return _context24.d(_regeneratorValues(executeAddPollVote(channelId, pollId, optionId, message, isResend)), 7);
21517
- case 7:
21518
- _context24.n = 9;
21711
+ _context24.n = 8;
21519
21712
  break;
21713
+ case 7:
21714
+ _context24.p = 7;
21715
+ _t32 = _context24.v;
21716
+ log.error('error in add poll vote', _t32);
21520
21717
  case 8:
21521
- _context24.p = 8;
21522
- _t33 = _context24.v;
21523
- log.error('error in add poll vote', _t33);
21524
- case 9:
21525
21718
  return _context24.a(2);
21526
21719
  }
21527
- }, _marked19$1, null, [[0, 8]]);
21720
+ }, _marked19$1, null, [[0, 7]]);
21528
21721
  }
21529
- function executeDeletePollVote(channelId, pollId, optionId, message, isResend) {
21722
+ function executeDeletePollVote(channelId, pollId, optionId, message) {
21530
21723
  var _message$pollDetails8, _message$pollDetails9, _message$pollDetails0;
21531
- var channel, vote, obj;
21724
+ var channel, vote;
21532
21725
  return _regenerator().w(function (_context25) {
21533
21726
  while (1) switch (_context25.n) {
21534
21727
  case 0:
@@ -21551,33 +21744,16 @@ function executeDeletePollVote(channelId, pollId, optionId, message, isResend) {
21551
21744
  }
21552
21745
  return _context25.a(2);
21553
21746
  case 3:
21554
- obj = {
21555
- type: 'deleteOwn',
21556
- vote: vote,
21557
- incrementVotesPerOptionCount: -1
21558
- };
21559
- if (isResend) {
21560
- _context25.n = 4;
21747
+ if (!(channel && message.id)) {
21748
+ _context25.n = 5;
21561
21749
  break;
21562
21750
  }
21563
- updateMessageOnMap(channel.id, {
21564
- messageId: message.id,
21565
- params: {}
21566
- }, obj);
21567
- updateMessageOnAllMessages(message.id, {}, obj);
21568
21751
  _context25.n = 4;
21569
- return put(updateMessageAC(message.id, {}, undefined, obj));
21752
+ return call(channel.deleteVote, message.id, pollId, [optionId]);
21570
21753
  case 4:
21571
- if (!channel) {
21572
- _context25.n = 6;
21573
- break;
21574
- }
21575
21754
  _context25.n = 5;
21576
- return call(channel.deleteVote, message.id, pollId, [optionId]);
21577
- case 5:
21578
- _context25.n = 6;
21579
21755
  return put(removePendingPollActionAC(message.id, 'DELETE_POLL_VOTE', optionId));
21580
- case 6:
21756
+ case 5:
21581
21757
  return _context25.a(2);
21582
21758
  }
21583
21759
  }, _marked20$1);
@@ -21621,7 +21797,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21621
21797
  }, _marked21$1);
21622
21798
  }
21623
21799
  function deletePollVote(action) {
21624
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values3, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t34;
21800
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t33;
21625
21801
  return _regenerator().w(function (_context27) {
21626
21802
  while (1) switch (_context27.p = _context27.n) {
21627
21803
  case 0:
@@ -21630,10 +21806,9 @@ function deletePollVote(action) {
21630
21806
  channelId = payload.channelId, pollId = payload.pollId, optionId = payload.optionId, message = payload.message, isResend = payload.isResend;
21631
21807
  sceytChatClient = getClient();
21632
21808
  if (!sceytChatClient) {
21633
- _context27.n = 8;
21809
+ _context27.n = 7;
21634
21810
  break;
21635
21811
  }
21636
- connectionState = sceytChatClient.connectionState;
21637
21812
  vote = (_message$pollDetails1 = message.pollDetails) === null || _message$pollDetails1 === void 0 ? void 0 : (_message$pollDetails10 = _message$pollDetails1.voteDetails) === null || _message$pollDetails10 === void 0 ? void 0 : (_message$pollDetails11 = _message$pollDetails10.ownVotes) === null || _message$pollDetails11 === void 0 ? void 0 : _message$pollDetails11.find(function (vote) {
21638
21813
  return vote.optionId === optionId;
21639
21814
  });
@@ -21643,10 +21818,6 @@ function deletePollVote(action) {
21643
21818
  }
21644
21819
  return _context27.a(2);
21645
21820
  case 1:
21646
- if (!(connectionState !== CONNECTION_STATUS.CONNECTED)) {
21647
- _context27.n = 7;
21648
- break;
21649
- }
21650
21821
  pendingAction = {
21651
21822
  type: 'DELETE_POLL_VOTE',
21652
21823
  channelId: channelId,
@@ -21667,7 +21838,7 @@ function deletePollVote(action) {
21667
21838
  _context27.n = 4;
21668
21839
  break;
21669
21840
  }
21670
- currentMessage = ((_Object$values3 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values3 === void 0 ? void 0 : _Object$values3.find(function (msg) {
21841
+ currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21671
21842
  return msg.id === message.id || msg.tid === message.id;
21672
21843
  })) || message;
21673
21844
  _context27.n = 3;
@@ -21695,23 +21866,21 @@ function deletePollVote(action) {
21695
21866
  }
21696
21867
  return _context27.d(_regeneratorValues(updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)), 6);
21697
21868
  case 6:
21698
- if (!conflictCheck.shouldSkip) {
21869
+ if (!conflictCheck.shouldSkip && !isResend) {
21699
21870
  setPendingPollAction(pendingAction);
21700
21871
  }
21701
- return _context27.a(2);
21872
+ return _context27.d(_regeneratorValues(executeDeletePollVote(channelId, pollId, optionId, message)), 7);
21702
21873
  case 7:
21703
- return _context27.d(_regeneratorValues(executeDeletePollVote(channelId, pollId, optionId, message, isResend)), 8);
21704
- case 8:
21705
- _context27.n = 10;
21874
+ _context27.n = 9;
21706
21875
  break;
21876
+ case 8:
21877
+ _context27.p = 8;
21878
+ _t33 = _context27.v;
21879
+ log.error('error in delete poll vote', _t33);
21707
21880
  case 9:
21708
- _context27.p = 9;
21709
- _t34 = _context27.v;
21710
- log.error('error in delete poll vote', _t34);
21711
- case 10:
21712
21881
  return _context27.a(2);
21713
21882
  }
21714
- }, _marked22$1, null, [[0, 9]]);
21883
+ }, _marked22$1, null, [[0, 8]]);
21715
21884
  }
21716
21885
  function executeClosePoll(channelId, pollId, message) {
21717
21886
  var channel, obj;
@@ -21734,7 +21903,7 @@ function executeClosePoll(channelId, pollId, message) {
21734
21903
  _context28.n = 2;
21735
21904
  return put(updateMessageAC(message.id, {}, undefined, obj));
21736
21905
  case 2:
21737
- if (!channel) {
21906
+ if (!(channel && message.id)) {
21738
21907
  _context28.n = 4;
21739
21908
  break;
21740
21909
  }
@@ -21785,7 +21954,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
21785
21954
  }, _marked24$1);
21786
21955
  }
21787
21956
  function closePoll(action) {
21788
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t35;
21957
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t34;
21789
21958
  return _regenerator().w(function (_context30) {
21790
21959
  while (1) switch (_context30.p = _context30.n) {
21791
21960
  case 0:
@@ -21818,15 +21987,15 @@ function closePoll(action) {
21818
21987
  break;
21819
21988
  case 4:
21820
21989
  _context30.p = 4;
21821
- _t35 = _context30.v;
21822
- log.error('error in close poll', _t35);
21990
+ _t34 = _context30.v;
21991
+ log.error('error in close poll', _t34);
21823
21992
  case 5:
21824
21993
  return _context30.a(2);
21825
21994
  }
21826
21995
  }, _marked25$1, null, [[0, 4]]);
21827
21996
  }
21828
21997
  function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21829
- var channel, _iterator3, _step3, obj;
21998
+ var channel, _iterator2, _step2, obj;
21830
21999
  return _regenerator().w(function (_context31) {
21831
22000
  while (1) switch (_context31.n) {
21832
22001
  case 0:
@@ -21838,13 +22007,13 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21838
22007
  _context31.n = 4;
21839
22008
  break;
21840
22009
  }
21841
- _iterator3 = _createForOfIteratorHelperLoose(objs);
22010
+ _iterator2 = _createForOfIteratorHelperLoose(objs);
21842
22011
  case 2:
21843
- if ((_step3 = _iterator3()).done) {
22012
+ if ((_step2 = _iterator2()).done) {
21844
22013
  _context31.n = 4;
21845
22014
  break;
21846
22015
  }
21847
- obj = _step3.value;
22016
+ obj = _step2.value;
21848
22017
  updateMessageOnMap(channelId, {
21849
22018
  messageId: message.id,
21850
22019
  params: {}
@@ -21856,7 +22025,7 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21856
22025
  _context31.n = 2;
21857
22026
  break;
21858
22027
  case 4:
21859
- if (!channel) {
22028
+ if (!(channel && message.id)) {
21860
22029
  _context31.n = 6;
21861
22030
  break;
21862
22031
  }
@@ -21871,7 +22040,7 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21871
22040
  }, _marked26$1);
21872
22041
  }
21873
22042
  function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs) {
21874
- var channel, _iterator4, _step4, obj;
22043
+ var channel, _iterator3, _step3, obj;
21875
22044
  return _regenerator().w(function (_context32) {
21876
22045
  while (1) switch (_context32.n) {
21877
22046
  case 0:
@@ -21885,13 +22054,13 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21885
22054
  }
21886
22055
  return _context32.a(2);
21887
22056
  case 2:
21888
- _iterator4 = _createForOfIteratorHelperLoose(objs);
22057
+ _iterator3 = _createForOfIteratorHelperLoose(objs);
21889
22058
  case 3:
21890
- if ((_step4 = _iterator4()).done) {
22059
+ if ((_step3 = _iterator3()).done) {
21891
22060
  _context32.n = 5;
21892
22061
  break;
21893
22062
  }
21894
- obj = _step4.value;
22063
+ obj = _step3.value;
21895
22064
  updateMessageOnMap(channelId, {
21896
22065
  messageId: message.id,
21897
22066
  params: {}
@@ -21908,7 +22077,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21908
22077
  }, _marked27$1);
21909
22078
  }
21910
22079
  function retractPollVote(action) {
21911
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t36;
22080
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator4, _step4, _message$pollDetails12, _message$pollDetails13, vote, _t35;
21912
22081
  return _regenerator().w(function (_context33) {
21913
22082
  while (1) switch (_context33.p = _context33.n) {
21914
22083
  case 0:
@@ -21922,8 +22091,8 @@ function retractPollVote(action) {
21922
22091
  }
21923
22092
  connectionState = sceytChatClient.connectionState;
21924
22093
  objs = [];
21925
- for (_iterator5 = _createForOfIteratorHelperLoose(((_message$pollDetails12 = message.pollDetails) === null || _message$pollDetails12 === void 0 ? void 0 : (_message$pollDetails13 = _message$pollDetails12.voteDetails) === null || _message$pollDetails13 === void 0 ? void 0 : _message$pollDetails13.ownVotes) || []); !(_step5 = _iterator5()).done;) {
21926
- vote = _step5.value;
22094
+ for (_iterator4 = _createForOfIteratorHelperLoose(((_message$pollDetails12 = message.pollDetails) === null || _message$pollDetails12 === void 0 ? void 0 : (_message$pollDetails13 = _message$pollDetails12.voteDetails) === null || _message$pollDetails13 === void 0 ? void 0 : _message$pollDetails13.ownVotes) || []); !(_step4 = _iterator4()).done;) {
22095
+ vote = _step4.value;
21927
22096
  objs.push({
21928
22097
  type: 'deleteOwn',
21929
22098
  vote: vote,
@@ -21950,15 +22119,15 @@ function retractPollVote(action) {
21950
22119
  break;
21951
22120
  case 4:
21952
22121
  _context33.p = 4;
21953
- _t36 = _context33.v;
21954
- log.error('error in retract poll vote', _t36);
22122
+ _t35 = _context33.v;
22123
+ log.error('error in retract poll vote', _t35);
21955
22124
  case 5:
21956
22125
  return _context33.a(2);
21957
22126
  }
21958
22127
  }, _marked28$1, null, [[0, 4]]);
21959
22128
  }
21960
22129
  function resendPendingPollActions(action) {
21961
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t37;
22130
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t36;
21962
22131
  return _regenerator().w(function (_context34) {
21963
22132
  while (1) switch (_context34.p = _context34.n) {
21964
22133
  case 0:
@@ -21974,13 +22143,6 @@ function resendPendingPollActions(action) {
21974
22143
  case 1:
21975
22144
  pendingPollActionsMap = store.getState().MessageReducer.pendingPollActions;
21976
22145
  pendingPollActionsMapCopy = JSON.parse(JSON.stringify(pendingPollActionsMap));
21977
- _context34.n = 2;
21978
- return call(function () {
21979
- return new Promise(function (resolve) {
21980
- return setTimeout(resolve, 1000);
21981
- });
21982
- });
21983
- case 2:
21984
22146
  Object.keys(pendingPollActionsMapCopy).forEach(function (messageId) {
21985
22147
  pendingPollActionsMapCopy[messageId].forEach(function (pendingAction) {
21986
22148
  var type = pendingAction.type,
@@ -22010,19 +22172,19 @@ function resendPendingPollActions(action) {
22010
22172
  }
22011
22173
  });
22012
22174
  });
22013
- _context34.n = 4;
22175
+ _context34.n = 3;
22014
22176
  break;
22177
+ case 2:
22178
+ _context34.p = 2;
22179
+ _t36 = _context34.v;
22180
+ log.error('error in resend pending poll actions', _t36);
22015
22181
  case 3:
22016
- _context34.p = 3;
22017
- _t37 = _context34.v;
22018
- log.error('error in resend pending poll actions', _t37);
22019
- case 4:
22020
22182
  return _context34.a(2);
22021
22183
  }
22022
- }, _marked29$1, null, [[0, 3]]);
22184
+ }, _marked29$1, null, [[0, 2]]);
22023
22185
  }
22024
22186
  function getPollVotes(action) {
22025
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t38;
22187
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t37;
22026
22188
  return _regenerator().w(function (_context35) {
22027
22189
  while (1) switch (_context35.p = _context35.n) {
22028
22190
  case 0:
@@ -22088,8 +22250,8 @@ function getPollVotes(action) {
22088
22250
  break;
22089
22251
  case 7:
22090
22252
  _context35.p = 7;
22091
- _t38 = _context35.v;
22092
- log.error('ERROR in get poll votes', _t38);
22253
+ _t37 = _context35.v;
22254
+ log.error('ERROR in get poll votes', _t37);
22093
22255
  _context35.n = 8;
22094
22256
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22095
22257
  case 8:
@@ -22098,7 +22260,7 @@ function getPollVotes(action) {
22098
22260
  }, _marked30$1, null, [[0, 7]]);
22099
22261
  }
22100
22262
  function loadMorePollVotes(action) {
22101
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t39;
22263
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t38;
22102
22264
  return _regenerator().w(function (_context36) {
22103
22265
  while (1) switch (_context36.p = _context36.n) {
22104
22266
  case 0:
@@ -22156,8 +22318,8 @@ function loadMorePollVotes(action) {
22156
22318
  break;
22157
22319
  case 6:
22158
22320
  _context36.p = 6;
22159
- _t39 = _context36.v;
22160
- log.error('ERROR in load more poll votes', _t39);
22321
+ _t38 = _context36.v;
22322
+ log.error('ERROR in load more poll votes', _t38);
22161
22323
  _context36.n = 7;
22162
22324
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22163
22325
  case 7:
@@ -22431,13 +22593,20 @@ function addMembers(action) {
22431
22593
  memberCount: channel.memberCount + addedMembers.length
22432
22594
  }, updateChannelData)));
22433
22595
  case 6:
22434
- _context3.n = 8;
22596
+ _context3.n = 9;
22435
22597
  break;
22436
22598
  case 7:
22437
22599
  _context3.p = 7;
22438
22600
  _t3 = _context3.v;
22439
- log.error('error on add members... ', _t3);
22601
+ if (!(_t3.code === 1041)) {
22602
+ _context3.n = 8;
22603
+ break;
22604
+ }
22605
+ _context3.n = 8;
22606
+ return put(setActionIsRestrictedAC(true, true));
22440
22607
  case 8:
22608
+ log.error('error on add members... ', _t3);
22609
+ case 9:
22441
22610
  return _context3.a(2);
22442
22611
  }
22443
22612
  }, _marked3$2, null, [[0, 7]]);
@@ -22678,6 +22847,10 @@ function getContacts() {
22678
22847
  case 0:
22679
22848
  _context.p = 0;
22680
22849
  SceytChatClient = getClient();
22850
+ if (!(SceytChatClient.connectionState === CONNECTION_STATUS.CONNECTED)) {
22851
+ _context.n = 3;
22852
+ break;
22853
+ }
22681
22854
  _context.n = 1;
22682
22855
  return call(SceytChatClient.getAllContacts);
22683
22856
  case 1:
@@ -22888,6 +23061,12 @@ function getUsers(action) {
22888
23061
  payload = action.payload;
22889
23062
  params = payload.params;
22890
23063
  SceytChatClient = getClient();
23064
+ if (!(SceytChatClient.connectionState !== CONNECTION_STATUS.CONNECTED)) {
23065
+ _context5.n = 1;
23066
+ break;
23067
+ }
23068
+ return _context5.a(2);
23069
+ case 1:
22891
23070
  usersQueryBuilder = new SceytChatClient.UserListQueryBuilder();
22892
23071
  if (params.query) {
22893
23072
  usersQueryBuilder.query(params.query);
@@ -22917,35 +23096,35 @@ function getUsers(action) {
22917
23096
  usersQueryBuilder.filterByUsername();
22918
23097
  }
22919
23098
  log.info('user query params ..... ', params);
22920
- _context5.n = 1;
23099
+ _context5.n = 2;
22921
23100
  return call(usersQueryBuilder.build);
22922
- case 1:
23101
+ case 2:
22923
23102
  usersQuery = _context5.v;
22924
23103
  query.usersQuery = usersQuery;
22925
- _context5.n = 2;
22926
- return put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
22927
- case 2:
22928
23104
  _context5.n = 3;
22929
- return call(usersQuery.loadNextPage);
23105
+ return put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
22930
23106
  case 3:
22931
- _yield$call = _context5.v;
22932
- users = _yield$call.users;
22933
23107
  _context5.n = 4;
22934
- return put(setUsersAC(JSON.parse(JSON.stringify(users))));
23108
+ return call(usersQuery.loadNextPage);
22935
23109
  case 4:
23110
+ _yield$call = _context5.v;
23111
+ users = _yield$call.users;
22936
23112
  _context5.n = 5;
22937
- return put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
23113
+ return put(setUsersAC(JSON.parse(JSON.stringify(users))));
22938
23114
  case 5:
22939
- _context5.n = 7;
22940
- break;
23115
+ _context5.n = 6;
23116
+ return put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
22941
23117
  case 6:
22942
- _context5.p = 6;
23118
+ _context5.n = 8;
23119
+ break;
23120
+ case 7:
23121
+ _context5.p = 7;
22943
23122
  _t5 = _context5.v;
22944
23123
  log.error('ERROR on get users', _t5.message);
22945
- case 7:
23124
+ case 8:
22946
23125
  return _context5.a(2);
22947
23126
  }
22948
- }, _marked5$3, null, [[0, 6]]);
23127
+ }, _marked5$3, null, [[0, 7]]);
22949
23128
  }
22950
23129
  function loadMoreUsers(action) {
22951
23130
  var payload, limit, usersQuery, _yield$call2, users, _t6;
@@ -23149,6 +23328,12 @@ var membersLoadingStateSelector = function membersLoadingStateSelector(store) {
23149
23328
  var membersHasNextSelector = function membersHasNextSelector(store) {
23150
23329
  return store.MembersReducer.membersHasNext;
23151
23330
  };
23331
+ var restrictedSelector = function restrictedSelector(store) {
23332
+ return store.MembersReducer.restricted;
23333
+ };
23334
+ var openInviteModalSelector = function openInviteModalSelector(store) {
23335
+ return store.MembersReducer.openInviteModal;
23336
+ };
23152
23337
 
23153
23338
  var useDidUpdate = function useDidUpdate(callback, deps) {
23154
23339
  var hasMount = useRef(false);
@@ -23701,6 +23886,57 @@ var MembersText = styled.div(_templateObject7$1 || (_templateObject7$1 = _tagged
23701
23886
  });
23702
23887
  var Center = styled.div(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: 24px;\n"])));
23703
23888
 
23889
+ var ActionRestrictedPopup = function ActionRestrictedPopup(_ref) {
23890
+ var fromChannel = _ref.fromChannel;
23891
+ var dispatch = useDispatch();
23892
+ var _useColor = useColors(),
23893
+ background = _useColor[THEME_COLORS.BACKGROUND],
23894
+ textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
23895
+ surface1 = _useColor[THEME_COLORS.SURFACE_1],
23896
+ iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
23897
+ accentColor = _useColor[THEME_COLORS.ACCENT],
23898
+ textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
23899
+ linkColor = _useColor[THEME_COLORS.LINK_COLOR];
23900
+ var handleClose = function handleClose() {
23901
+ dispatch(setActionIsRestrictedAC(false, false));
23902
+ };
23903
+ var handleInvite = function handleInvite() {
23904
+ dispatch(setOpenInviteModalAC(true));
23905
+ handleClose();
23906
+ };
23907
+ return /*#__PURE__*/React__default.createElement(PopupContainer, null, /*#__PURE__*/React__default.createElement(Popup, {
23908
+ backgroundColor: background,
23909
+ maxWidth: '520px',
23910
+ minWidth: '520px',
23911
+ padding: '0'
23912
+ }, /*#__PURE__*/React__default.createElement(PopupBody, {
23913
+ paddingH: '24px',
23914
+ paddingV: '24px'
23915
+ }, /*#__PURE__*/React__default.createElement(CloseIcon, {
23916
+ color: iconPrimary,
23917
+ onClick: handleClose
23918
+ }), /*#__PURE__*/React__default.createElement(PopupName, {
23919
+ color: textPrimary,
23920
+ marginBottom: '20px'
23921
+ }, "Privacy note"), /*#__PURE__*/React__default.createElement(PopupDescription, {
23922
+ color: textPrimary,
23923
+ highlightColor: linkColor
23924
+ }, "Unable to add this member. Try inviting them directly to the group.")), /*#__PURE__*/React__default.createElement(PopupFooter, {
23925
+ backgroundColor: surface1
23926
+ }, /*#__PURE__*/React__default.createElement(Button, {
23927
+ type: 'button',
23928
+ color: textPrimary,
23929
+ backgroundColor: 'transparent',
23930
+ onClick: handleClose
23931
+ }, "Cancel"), fromChannel && (/*#__PURE__*/React__default.createElement(Button, {
23932
+ type: 'button',
23933
+ backgroundColor: accentColor,
23934
+ color: textOnPrimary,
23935
+ borderRadius: '8px',
23936
+ onClick: handleInvite
23937
+ }, "Invite")))));
23938
+ };
23939
+
23704
23940
  var _templateObject$5, _templateObject2$4, _templateObject3$4;
23705
23941
  var SceytChat = function SceytChat(_ref) {
23706
23942
  var client = _ref.client,
@@ -23744,6 +23980,7 @@ var SceytChat = function SceytChat(_ref) {
23744
23980
  SceytChatClient = _useState[0],
23745
23981
  setSceytChatClient = _useState[1];
23746
23982
  var connectionStatus = useSelector(connectionStatusSelector, shallowEqual);
23983
+ var restricted = useSelector(restrictedSelector, shallowEqual);
23747
23984
  var _useState2 = useState(true),
23748
23985
  tabIsActive = _useState2[0],
23749
23986
  setTabIsActive = _useState2[1];
@@ -23988,7 +24225,9 @@ var SceytChat = function SceytChat(_ref) {
23988
24225
  highlightedBackground: highlightedBackground,
23989
24226
  id: 'sceyt_chat_container',
23990
24227
  chatMinWidth: chatMinWidth
23991
- }, children, embeddedJoinGroupPopup && joinPopup && /*#__PURE__*/React__default.createElement(EmbeddedPopupWrapper, null, joinPopup))) : '', !embeddedJoinGroupPopup && joinPopup);
24228
+ }, children, embeddedJoinGroupPopup && joinPopup && /*#__PURE__*/React__default.createElement(EmbeddedPopupWrapper, null, joinPopup), (restricted === null || restricted === void 0 ? void 0 : restricted.isRestricted) && /*#__PURE__*/React__default.createElement(ActionRestrictedPopup, {
24229
+ fromChannel: restricted === null || restricted === void 0 ? void 0 : restricted.fromChannel
24230
+ }))) : '', !embeddedJoinGroupPopup && joinPopup);
23992
24231
  };
23993
24232
  var Container$2 = styled.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["\n display: flex;\n height: 100vh;\n"])));
23994
24233
  var ChatContainer = styled.div(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n display: flex;\n height: 100%;\n max-height: 100vh;\n min-width: ", ";\n background-color: ", ";\n position: relative;\n\n /* Global highlighted background styles */\n ::selection {\n background-color: ", ";\n }\n\n ::-moz-selection {\n background-color: ", ";\n }\n\n /* For text selection highlighting */\n *::selection {\n background-color: ", ";\n }\n\n *::-moz-selection {\n background-color: ", ";\n }\n"])), function (props) {
@@ -37446,16 +37685,7 @@ var Message$1 = function Message(_ref) {
37446
37685
  setMessageActionsShow(false);
37447
37686
  };
37448
37687
  var handleResendMessage = function handleResendMessage() {
37449
- var messageToResend = _extends({}, message);
37450
- if (message.attachments && message.attachments.length) {
37451
- messageToResend.attachments = message.attachments.map(function (att) {
37452
- var pendingAttachment = getPendingAttachment(att.tid);
37453
- return _extends({}, att, {
37454
- data: new File([pendingAttachment.file], att.data.name)
37455
- });
37456
- });
37457
- }
37458
- dispatch(resendMessageAC(messageToResend, channel.id, connectionStatus));
37688
+ dispatch(resendMessageAC(message, channel.id, connectionStatus));
37459
37689
  setMessageActionsShow(false);
37460
37690
  };
37461
37691
  var handleCopyMessage = function handleCopyMessage() {
@@ -37513,12 +37743,12 @@ var Message$1 = function Message(_ref) {
37513
37743
  setFrequentlyEmojisOpen(false);
37514
37744
  };
37515
37745
  var handleSendReadMarker = function handleSendReadMarker() {
37516
- if (!message.userMarkers.find(function (marker) {
37746
+ if (message.incoming && !message.userMarkers.find(function (marker) {
37517
37747
  return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
37518
37748
  })) {
37519
37749
  if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
37520
37750
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
37521
- }) && message.incoming && !unreadScrollTo) {
37751
+ }) && !unreadScrollTo) {
37522
37752
  dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
37523
37753
  }
37524
37754
  }
@@ -37676,7 +37906,8 @@ var Message$1 = function Message(_ref) {
37676
37906
  withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
37677
37907
  className: 'messageContent'
37678
37908
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
37679
- rtl: ownMessageOnRightSide && !message.incoming
37909
+ rtl: ownMessageOnRightSide && !message.incoming,
37910
+ onClick: handleResendMessage
37680
37911
  }, /*#__PURE__*/React__default.createElement(ErrorIconWrapper, null))), CustomMessageItem ? (/*#__PURE__*/React__default.createElement(CustomMessageItem, {
37681
37912
  key: message.id || message.tid,
37682
37913
  channel: channel,
@@ -37981,7 +38212,7 @@ var MessageReaction = styled.span(_templateObject3$y || (_templateObject3$y = _t
37981
38212
  var ThreadMessageCountContainer = styled.div(_templateObject4$t || (_templateObject4$t = _taggedTemplateLiteralLoose(["\n position: relative;\n color: ", ";\n font-weight: 500;\n font-size: 13px;\n line-height: 15px;\n margin: 12px;\n cursor: pointer;\n\n &::before {\n content: '';\n position: absolute;\n left: -25px;\n top: -21px;\n width: 16px;\n height: 26px;\n border-left: 2px solid #cdcdcf;\n border-bottom: 2px solid #cdcdcf;\n border-radius: 0 0 0 14px;\n }\n"])), function (props) {
37982
38213
  return props.color;
37983
38214
  });
37984
- var FailedMessageIcon = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n"])), function (props) {
38215
+ var FailedMessageIcon = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n cursor: pointer;\n"])), function (props) {
37985
38216
  return !props.rtl && '-24px';
37986
38217
  }, function (props) {
37987
38218
  return props.rtl && '-24px';
@@ -38360,7 +38591,8 @@ var MessageList = function MessageList(_ref2) {
38360
38591
  var handleMessagesListScroll = useCallback(function () {
38361
38592
  try {
38362
38593
  var target = scrollRef.current;
38363
- if (!target) return Promise.resolve();
38594
+ var messageBox = document.getElementById('messageBox');
38595
+ if (!target || !messageBox) return Promise.resolve();
38364
38596
  if (scrollToMentionedMessage) {
38365
38597
  if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
38366
38598
  dispatch(showScrollToNewMessageButtonAC(true));
@@ -38373,10 +38605,13 @@ var MessageList = function MessageList(_ref2) {
38373
38605
  clearTimeout(hideTopDateTimeout.current);
38374
38606
  renderTopDate();
38375
38607
  var forceLoadPrevMessages = false;
38376
- if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
38608
+ if (-target.scrollTop + target.offsetHeight + 100 > messageBox.scrollHeight) {
38377
38609
  forceLoadPrevMessages = true;
38378
38610
  }
38379
- if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING) {
38611
+ if (unreadScrollTo) {
38612
+ return Promise.resolve();
38613
+ }
38614
+ if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING && channel !== null && channel !== void 0 && channel.id) {
38380
38615
  dispatch(getMessagesAC(channel, true));
38381
38616
  }
38382
38617
  if (target.scrollTop <= -50) {
@@ -38390,7 +38625,7 @@ var MessageList = function MessageList(_ref2) {
38390
38625
  }
38391
38626
  var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
38392
38627
  var hasIndex = typeof currentIndex === 'number';
38393
- if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
38628
+ if (hasIndex && currentIndex < 10 || forceLoadPrevMessages) {
38394
38629
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
38395
38630
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
38396
38631
  shouldLoadMessagesRef.current = 'prev';
@@ -38407,7 +38642,7 @@ var MessageList = function MessageList(_ref2) {
38407
38642
  }
38408
38643
  }
38409
38644
  }
38410
- if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
38645
+ if (hasIndex && currentIndex >= messages.length - 10 || target.scrollTop > -100) {
38411
38646
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
38412
38647
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
38413
38648
  shouldLoadMessagesRef.current = 'next';
@@ -38465,8 +38700,8 @@ var MessageList = function MessageList(_ref2) {
38465
38700
  nextDisableRef.current = false;
38466
38701
  }, 1000 + positiveValue * 0.1);
38467
38702
  }
38468
- } else {
38469
- dispatch(getMessagesAC(channel, undefined, messageId));
38703
+ } else if (channel !== null && channel !== void 0 && channel.id) {
38704
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, true, 'smooth', true));
38470
38705
  }
38471
38706
  return Promise.resolve();
38472
38707
  } catch (e) {
@@ -38474,7 +38709,7 @@ var MessageList = function MessageList(_ref2) {
38474
38709
  }
38475
38710
  };
38476
38711
  var handleLoadMoreMessages = function handleLoadMoreMessages(direction, limit) {
38477
- if (scrollToMentionedMessage) {
38712
+ if (scrollToMentionedMessage || scrollToNewMessage.scrollToBottom) {
38478
38713
  return;
38479
38714
  }
38480
38715
  var lastMessageId = messages.length && messages[messages.length - 1].id;
@@ -38618,9 +38853,6 @@ var MessageList = function MessageList(_ref2) {
38618
38853
  behavior: 'smooth'
38619
38854
  });
38620
38855
  }
38621
- setTimeout(function () {
38622
- dispatch(scrollToNewMessageAC(false, false, false));
38623
- }, 800);
38624
38856
  } else {
38625
38857
  nextDisableRef.current = true;
38626
38858
  prevDisableRef.current = true;
@@ -38629,10 +38861,6 @@ var MessageList = function MessageList(_ref2) {
38629
38861
  behavior: 'smooth'
38630
38862
  });
38631
38863
  dispatch(showScrollToNewMessageButtonAC(false));
38632
- setTimeout(function () {
38633
- prevDisableRef.current = false;
38634
- dispatch(scrollToNewMessageAC(false, false, false));
38635
- }, 800);
38636
38864
  }
38637
38865
  }
38638
38866
  }, [scrollToNewMessage]);
@@ -38656,17 +38884,17 @@ var MessageList = function MessageList(_ref2) {
38656
38884
  prevDisableRef.current = false;
38657
38885
  shouldLoadMessagesRef.current = '';
38658
38886
  loadingRef.current = false;
38659
- if (channel.backToLinkedChannel) {
38887
+ if (channel.backToLinkedChannel && channel !== null && channel !== void 0 && channel.id) {
38660
38888
  var visibleMessages = getVisibleMessagesMap();
38661
38889
  var visibleMessagesIds = Object.keys(visibleMessages);
38662
38890
  var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
38663
- dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
38891
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, 'instant'));
38664
38892
  setUnreadMessageId(messageId);
38665
38893
  } else {
38666
38894
  if (!channel.isLinkedChannel) {
38667
38895
  clearVisibleMessagesMap();
38668
38896
  }
38669
- if (channel) {
38897
+ if (channel && channel !== null && channel !== void 0 && channel.id) {
38670
38898
  dispatch(getMessagesAC(channel, undefined, undefined, undefined, true));
38671
38899
  }
38672
38900
  if (channel.id) {
@@ -38817,13 +39045,13 @@ var MessageList = function MessageList(_ref2) {
38817
39045
  }, [messagesLoading, messages, lastVisibleMessageId]);
38818
39046
  useEffect(function () {
38819
39047
  log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
38820
- if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
39048
+ if (connectionStatus === CONNECTION_STATUS.CONNECTED && channel !== null && channel !== void 0 && channel.id) {
38821
39049
  loadingRef.current = false;
38822
39050
  prevDisableRef.current = false;
38823
39051
  nextDisableRef.current = false;
38824
39052
  clearMessagesMap();
38825
39053
  removeAllMessages();
38826
- dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, false, 'instant', false));
39054
+ dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, 'instant', false, true));
38827
39055
  }
38828
39056
  }, [connectionStatus]);
38829
39057
  useEffect(function () {
@@ -38833,7 +39061,21 @@ var MessageList = function MessageList(_ref2) {
38833
39061
  scrollElement.style.scrollBehavior = 'inherit';
38834
39062
  }
38835
39063
  setScrollIntoView(true);
38836
- var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId);
39064
+ var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId) || null;
39065
+ var newLastDisplayedMessageId = channel.lastDisplayedMessageId;
39066
+ if (!lastReadMessageNode && channel.lastDisplayedMessageId && channel.lastDisplayedMessageId !== '0') {
39067
+ for (var index = 0; index < messages.length; index++) {
39068
+ var message = messages[index];
39069
+ if (channel.lastDisplayedMessageId >= message.id && (messages.length < index + 2 || channel.lastDisplayedMessageId <= messages[index + 1].id)) {
39070
+ newLastDisplayedMessageId = message.id;
39071
+ lastReadMessageNode = document.getElementById(newLastDisplayedMessageId);
39072
+ break;
39073
+ }
39074
+ }
39075
+ } else if (!lastReadMessageNode && (!channel.lastDisplayedMessageId || channel.lastDisplayedMessageId === '0') && messages !== null && messages !== void 0 && messages.length) {
39076
+ newLastDisplayedMessageId = messages[0].id;
39077
+ lastReadMessageNode = document.getElementById(newLastDisplayedMessageId);
39078
+ }
38837
39079
  if (lastReadMessageNode && scrollElement) {
38838
39080
  dispatch(scrollToNewMessageAC(false));
38839
39081
  scrollElement.scrollTo({
@@ -38918,7 +39160,8 @@ var MessageList = function MessageList(_ref2) {
38918
39160
  enableResetScrollToCoords: false,
38919
39161
  replyMessage: messageForReply && messageForReply.id,
38920
39162
  attachmentsSelected: attachmentsSelected,
38921
- className: 'messageBox'
39163
+ className: 'messageBox',
39164
+ id: 'messageBox'
38922
39165
  }, messages.map(function (message, index) {
38923
39166
  var prevMessage = messages[index - 1];
38924
39167
  var nextMessage = messages[index + 1];
@@ -41172,6 +41415,13 @@ function SvgRecordButton(props) {
41172
41415
  }
41173
41416
 
41174
41417
  var _templateObject$O, _templateObject2$J, _templateObject3$C, _templateObject4$x, _templateObject5$s, _templateObject6$o, _templateObject7$n;
41418
+ var fieldsObject = {
41419
+ channelId: '',
41420
+ currentRecordedFile: null,
41421
+ recording: null,
41422
+ recorder: null,
41423
+ wavesurferContainer: null
41424
+ };
41175
41425
  var shouldDraw = false;
41176
41426
  var DEFAULT_MAX_RECORDING_DURATION = 600;
41177
41427
  var AudioRecord = function AudioRecord(_ref) {
@@ -41505,7 +41755,7 @@ var AudioRecord = function AudioRecord(_ref) {
41505
41755
  handleStopRecording();
41506
41756
  shouldDraw = false;
41507
41757
  var id = cId || channelId;
41508
- recorder.stop().getMp3().then(function (_ref4) {
41758
+ recorder === null || recorder === void 0 ? void 0 : recorder.stop().getMp3().then(function (_ref4) {
41509
41759
  var buffer = _ref4[0],
41510
41760
  blob = _ref4[1];
41511
41761
  var file = new File(buffer, 'record.mp3', {
@@ -41625,6 +41875,30 @@ var AudioRecord = function AudioRecord(_ref) {
41625
41875
  }
41626
41876
  };
41627
41877
  }, [recording, maxRecordingDuration]);
41878
+ useEffect(function () {
41879
+ fieldsObject.channelId = channelId;
41880
+ }, [channelId]);
41881
+ useEffect(function () {
41882
+ fieldsObject.recorder = recorder;
41883
+ }, [recorder]);
41884
+ useEffect(function () {
41885
+ fieldsObject.currentRecordedFile = currentRecordedFile;
41886
+ }, [currentRecordedFile]);
41887
+ useEffect(function () {
41888
+ fieldsObject.recording = recording;
41889
+ }, [recording]);
41890
+ useEffect(function () {
41891
+ fieldsObject.wavesurferContainer = wavesurferContainer.current;
41892
+ }, [wavesurferContainer.current]);
41893
+ useEffect(function () {
41894
+ return function () {
41895
+ var _fieldsObject$current;
41896
+ if (fieldsObject.channelId && (!fieldsObject.currentRecordedFile || !((_fieldsObject$current = fieldsObject.currentRecordedFile) !== null && _fieldsObject$current !== void 0 && _fieldsObject$current.file)) && fieldsObject.recorder && fieldsObject.recording) {
41897
+ stopRecording(false, fieldsObject.channelId, true, fieldsObject.recorder, fieldsObject.wavesurferContainer);
41898
+ handleStopRecording();
41899
+ }
41900
+ };
41901
+ }, []);
41628
41902
  useEffect(function () {
41629
41903
  if (currentRecordedFile) {
41630
41904
  _initWaveSurfer();
@@ -41749,6 +42023,9 @@ var AudioRecord = function AudioRecord(_ref) {
41749
42023
  iconColor: accentColor
41750
42024
  }, showRecording || currentRecordedFile ? /*#__PURE__*/React__default.createElement(SvgSend, null) : /*#__PURE__*/React__default.createElement(SvgRecordButton, null)));
41751
42025
  };
42026
+ var AudioRecord$1 = /*#__PURE__*/memo(AudioRecord, function (prevProps, nextProps) {
42027
+ return prevProps.channelId === nextProps.channelId && prevProps.showRecording === nextProps.showRecording && prevProps.maxRecordingDuration === nextProps.maxRecordingDuration;
42028
+ });
41752
42029
  var Container$l = styled.div(_templateObject$O || (_templateObject$O = _taggedTemplateLiteralLoose(["\n width: 32px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n ", ";\n transition: all 0.3s ease-in-out;\n"])), function (props) {
41753
42030
  return props.recording && "width: 400px";
41754
42031
  });
@@ -42327,7 +42604,7 @@ function onError(error) {
42327
42604
  var prevActiveChannelId;
42328
42605
  var attachmentsUpdate = [];
42329
42606
  var SendMessageInput = function SendMessageInput(_ref3) {
42330
- var _pollOptions$choosePo;
42607
+ var _pollOptions$choosePo, _getAudioRecordingFro;
42331
42608
  var handleAttachmentSelected = _ref3.handleAttachmentSelected,
42332
42609
  handleSendMessage = _ref3.handleSendMessage,
42333
42610
  _ref3$disabled = _ref3.disabled,
@@ -42554,7 +42831,13 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42554
42831
  nodes: [MentionNode],
42555
42832
  onError: onError
42556
42833
  };
42557
- var handleSendTypingState = function handleSendTypingState(typingState) {
42834
+ var handleSendTypingState = function handleSendTypingState(typingState, code) {
42835
+ if (code) {
42836
+ var isTypeKeyPressed = checkIsTypeKeyPressed(code);
42837
+ if (!isTypeKeyPressed) {
42838
+ return;
42839
+ }
42840
+ }
42558
42841
  if (typingState) {
42559
42842
  setInTypingStateTimout(setTimeout(function () {
42560
42843
  setInTypingStateTimout(0);
@@ -42691,11 +42974,11 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42691
42974
  } else {
42692
42975
  if (typingTimout) {
42693
42976
  if (!inTypingStateTimout) {
42694
- handleSendTypingState(true);
42977
+ handleSendTypingState(true, code);
42695
42978
  }
42696
42979
  clearTimeout(typingTimout);
42697
42980
  } else {
42698
- handleSendTypingState(true);
42981
+ handleSendTypingState(true, code);
42699
42982
  }
42700
42983
  setTypingTimout(setTimeout(function () {
42701
42984
  setTypingTimout(0);
@@ -43437,7 +43720,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43437
43720
  document.body.removeAttribute('onbeforeunload');
43438
43721
  }
43439
43722
  }
43440
- }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes]);
43723
+ }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes, messageToEdit]);
43441
43724
  useDidUpdate(function () {
43442
43725
  if (mentionedUsers && mentionedUsers.length) {
43443
43726
  setDraftMessageToMap(activeChannel.id, {
@@ -43752,7 +44035,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43752
44035
  onChange: handleFileUpload,
43753
44036
  multiple: true,
43754
44037
  type: 'file'
43755
- }), showRecording || getAudioRecordingFromMap(activeChannel.id) ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
44038
+ }), (showRecording || getAudioRecordingFromMap(activeChannel.id)) && !messageToEdit ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
43756
44039
  className: 'message_input_wrapper',
43757
44040
  borderRadius: messageForReply || messageToEdit ? borderRadiusOnOpenedEditReplyMessage : borderRadius,
43758
44041
  ref: inputWrapperRef,
@@ -43875,7 +44158,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43875
44158
  ErrorBoundary: LexicalErrorBoundary
43876
44159
  }), floatingAnchorElem && !isSmallWidthViewport && allowTextEdit && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FloatingTextFormatToolbarPlugin, {
43877
44160
  anchorElem: floatingAnchorElem
43878
- })))))))), sendMessageIsActive || !voiceMessage || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
44161
+ })))))))), sendMessageIsActive || !voiceMessage && !((_getAudioRecordingFro = getAudioRecordingFromMap(activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.id)) !== null && _getAudioRecordingFro !== void 0 && _getAudioRecordingFro.file) || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
43879
44162
  isCustomButton: CustomSendMessageButton,
43880
44163
  isActive: sendMessageIsActive,
43881
44164
  order: sendIconOrder,
@@ -43891,7 +44174,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43891
44174
  color: accentColor,
43892
44175
  iconColor: accentColor,
43893
44176
  activeColor: accentColor
43894
- }, /*#__PURE__*/React__default.createElement(AudioRecord, {
44177
+ }, /*#__PURE__*/React__default.createElement(AudioRecord$1, {
43895
44178
  sendRecordedFile: sendRecordedFile,
43896
44179
  setShowRecording: setShowRecording,
43897
44180
  showRecording: showRecording,
@@ -44962,7 +45245,8 @@ var Actions = function Actions(_ref) {
44962
45245
  iconColor: iconPrimary,
44963
45246
  color: textPrimary,
44964
45247
  hoverColor: textPrimary,
44965
- fontSize: actionItemsFontSize
45248
+ fontSize: actionItemsFontSize,
45249
+ flexWrap: 'wrap'
44966
45250
  }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DefaultWatchIcon, {
44967
45251
  "$isLightMode": backgroundColor === '#FFFFFF'
44968
45252
  }), "Disappearing messages", /*#__PURE__*/React__default.createElement(DisappearingMessagesStatusWrapper, null, /*#__PURE__*/React__default.createElement(DisappearingMessagesStatus, {
@@ -45166,7 +45450,7 @@ var DefaultMarkAsReadIcon = styled(SvgLeave)(_templateObject15$3 || (_templateOb
45166
45450
  var DefaultWatchIcon = styled(SvgWatch)(_templateObject16$3 || (_templateObject16$3 = _taggedTemplateLiteralLoose(["\n width: 24px;\n height: 24px;\n\n path.watch-ticks,\n path:nth-child(2) {\n fill: ", " !important;\n }\n"])), function (props) {
45167
45451
  return props.$isLightMode ? '#FFFFFF' : '#000000';
45168
45452
  });
45169
- var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45453
+ var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n ", "\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45170
45454
  return props.fontSize || '15px';
45171
45455
  }, function (props) {
45172
45456
  return props.color;
@@ -45174,6 +45458,8 @@ var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _tagged
45174
45458
  return props.order;
45175
45459
  }, function (props) {
45176
45460
  return props.disableEvent && 'none';
45461
+ }, function (props) {
45462
+ return props.flexWrap && "flex-wrap: " + props.flexWrap + ";";
45177
45463
  }, function (props) {
45178
45464
  return props.iconColor;
45179
45465
  }, function (props) {
@@ -45702,7 +45988,7 @@ function InviteLinkModal(_ref) {
45702
45988
  var handleConfirmReset = function handleConfirmReset() {
45703
45989
  var _channelInviteKeys$;
45704
45990
  setShowResetConfirm(false);
45705
- dispatch(regenerateChannelInviteKeyAC(channelId, (channelInviteKeys === null || channelInviteKeys === void 0 ? void 0 : (_channelInviteKeys$ = channelInviteKeys[0]) === null || _channelInviteKeys$ === void 0 ? void 0 : _channelInviteKeys$.key) || ''));
45991
+ dispatch(regenerateChannelInviteKeyAC(channelId, (channelInviteKeys === null || channelInviteKeys === void 0 ? void 0 : (_channelInviteKeys$ = channelInviteKeys[0]) === null || _channelInviteKeys$ === void 0 ? void 0 : _channelInviteKeys$.key) || '', true));
45706
45992
  };
45707
45993
  useEffect(function () {
45708
45994
  if (channelId) {
@@ -45974,14 +46260,12 @@ var Members = function Members(_ref) {
45974
46260
  var _useState7 = useState(false),
45975
46261
  addMemberPopupOpen = _useState7[0],
45976
46262
  setAddMemberPopupOpen = _useState7[1];
45977
- var _useState8 = useState(false),
45978
- openInviteModal = _useState8[0],
45979
- setOpenInviteModal = _useState8[1];
45980
- var _useState9 = useState(),
45981
- closeMenu = _useState9[0],
45982
- setCloseMenu = _useState9[1];
46263
+ var _useState8 = useState(),
46264
+ closeMenu = _useState8[0],
46265
+ setCloseMenu = _useState8[1];
45983
46266
  var members = useSelector(activeChannelMembersSelector) || [];
45984
46267
  var contactsMap = useSelector(contactsMapSelector) || {};
46268
+ var openInviteModal = useSelector(openInviteModalSelector);
45985
46269
  var user = getClient().user;
45986
46270
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
45987
46271
  var channelTypeRoleMap = getDefaultRolesByChannelTypesMap();
@@ -46077,7 +46361,7 @@ var Members = function Members(_ref) {
46077
46361
  }
46078
46362
  };
46079
46363
  var handleOpenInviteModal = function handleOpenInviteModal() {
46080
- setOpenInviteModal(true);
46364
+ dispatch(setOpenInviteModalAC(true));
46081
46365
  setAddMemberPopupOpen(false);
46082
46366
  };
46083
46367
  useEffect(function () {
@@ -46229,7 +46513,7 @@ var Members = function Members(_ref) {
46229
46513
  handleOpenInviteModal: handleOpenInviteModal
46230
46514
  })), openInviteModal && (/*#__PURE__*/React__default.createElement(InviteLinkModal, {
46231
46515
  onClose: function onClose() {
46232
- return setOpenInviteModal(false);
46516
+ return dispatch(setOpenInviteModalAC(false));
46233
46517
  },
46234
46518
  SVGOrPNGLogoIcon: QRCodeIcon,
46235
46519
  channelId: channel.id
@@ -48135,8 +48419,8 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
48135
48419
  });
48136
48420
  }
48137
48421
  }
48138
- } else {
48139
- dispatch(getMessagesAC(channel, true, messageId, undefined, undefined, false));
48422
+ } else if (channel !== null && channel !== void 0 && channel.id) {
48423
+ dispatch(getMessagesAC(channel, true, messageId, undefined, false, 'smooth', true));
48140
48424
  }
48141
48425
  return Promise.resolve();
48142
48426
  } catch (e) {
@@ -48324,7 +48608,7 @@ var MessagesScrollToUnreadMentionsButton = function MessagesScrollToUnreadMentio
48324
48608
  repliedMessage.classList.remove('highlight');
48325
48609
  }, 1500);
48326
48610
  }
48327
- } else {
48611
+ } else if (channel !== null && channel !== void 0 && channel.id) {
48328
48612
  dispatch(getMessagesAC(channel, undefined, messageId));
48329
48613
  }
48330
48614
  return Promise.resolve();