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