sceyt-chat-react-uikit 1.7.7 → 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'));
10127
+ }
10128
+ if (minutes > 0) {
10129
+ parts.push("" + minutes + (partCount > 1 ? 'm' : minutes === 1 ? ' minute' : ' minutes'));
10100
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,16 +11967,22 @@ 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 = {
11916
- membersLoadingState: false,
11975
+ membersLoadingState: 0,
11917
11976
  membersHasNext: true,
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',
@@ -11998,6 +12062,19 @@ var memberSlice = createSlice({
11998
12062
  } else {
11999
12063
  state.getRolesFail = undefined;
12000
12064
  }
12065
+ },
12066
+ setMembersHasNext: function setMembersHasNext(state, action) {
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;
12001
12078
  }
12002
12079
  },
12003
12080
  extraReducers: function extraReducers(builder) {
@@ -12014,7 +12091,10 @@ var _memberSlice$actions = memberSlice.actions,
12014
12091
  removeMemberFromList = _memberSlice$actions.removeMemberFromList,
12015
12092
  setMembersLoadingState = _memberSlice$actions.setMembersLoadingState,
12016
12093
  getRolesSuccess = _memberSlice$actions.getRolesSuccess,
12017
- getRolesFail = _memberSlice$actions.getRolesFail;
12094
+ getRolesFail = _memberSlice$actions.getRolesFail,
12095
+ setMembersHasNext = _memberSlice$actions.setMembersHasNext,
12096
+ setActionIsRestricted = _memberSlice$actions.setActionIsRestricted,
12097
+ setOpenInviteModal = _memberSlice$actions.setOpenInviteModal;
12018
12098
  var MembersReducer = memberSlice.reducer;
12019
12099
 
12020
12100
  var SET_CONTACT_LOADING_STATE = 'SET_CONTACT_LOADING_STATE';
@@ -12761,12 +12841,13 @@ var getChannelInviteKeysAC = function getChannelInviteKeysAC(channelId) {
12761
12841
  }
12762
12842
  };
12763
12843
  };
12764
- var regenerateChannelInviteKeyAC = function regenerateChannelInviteKeyAC(channelId, key) {
12844
+ var regenerateChannelInviteKeyAC = function regenerateChannelInviteKeyAC(channelId, key, deletePermanently) {
12765
12845
  return {
12766
12846
  type: REGENERATE_CHANNEL_INVITE_KEY,
12767
12847
  payload: {
12768
12848
  channelId: channelId,
12769
- key: key
12849
+ key: key,
12850
+ deletePermanently: deletePermanently
12770
12851
  }
12771
12852
  };
12772
12853
  };
@@ -13190,7 +13271,7 @@ var updateMembersPresenceAC = function updateMembersPresenceAC(usersMap) {
13190
13271
  };
13191
13272
  var setMembersLoadingStateAC = function setMembersLoadingStateAC(state) {
13192
13273
  return setMembersLoadingState({
13193
- state: !!state
13274
+ state: state
13194
13275
  });
13195
13276
  };
13196
13277
  var removeMemberFromListAC = function removeMemberFromListAC(members) {
@@ -13209,6 +13290,22 @@ var getRolesFailAC = function getRolesFailAC(timeout, attempts) {
13209
13290
  attempts: attempts
13210
13291
  });
13211
13292
  };
13293
+ var setMembersHasNextAC = function setMembersHasNextAC(hasNext) {
13294
+ return setMembersHasNext({
13295
+ hasNext: hasNext
13296
+ });
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
+ };
13212
13309
 
13213
13310
  var connectionStatusSelector = function connectionStatusSelector(store) {
13214
13311
  return store.UserReducer.connectionStatus;
@@ -14157,7 +14254,7 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
14157
14254
  var _marked = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersAdd),
14158
14255
  _marked2 = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersRemove);
14159
14256
  function updateActiveChannelMembersAdd(addedMembers) {
14160
- var state, activeChannel, updatedMembers;
14257
+ var state, activeChannel, members, shouldUpdateMembers, updatedMembers;
14161
14258
  return _regenerator().w(function (_context) {
14162
14259
  while (1) switch (_context.n) {
14163
14260
  case 0:
@@ -14166,11 +14263,17 @@ function updateActiveChannelMembersAdd(addedMembers) {
14166
14263
  case 1:
14167
14264
  state = _context.v;
14168
14265
  activeChannel = state.ChannelReducer.activeChannel;
14266
+ members = (activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.members) || [];
14267
+ shouldUpdateMembers = addedMembers.filter(function (member) {
14268
+ return !members.some(function (m) {
14269
+ return m.id === member.id;
14270
+ });
14271
+ });
14169
14272
  if (!(activeChannel && activeChannel.id)) {
14170
14273
  _context.n = 2;
14171
14274
  break;
14172
14275
  }
14173
- updatedMembers = [].concat(activeChannel.members || [], addedMembers);
14276
+ updatedMembers = [].concat(activeChannel.members || [], shouldUpdateMembers);
14174
14277
  updatedMembers = Array.from(new Set(updatedMembers));
14175
14278
  return _context.a(2, {
14176
14279
  members: updatedMembers
@@ -15372,6 +15475,7 @@ function watchForEvents() {
15372
15475
  }
15373
15476
  return _context.a(3, 183);
15374
15477
  case 99:
15478
+ log.info('CHANNEL_EVENT_TYPES.POLL_ADDED ... ');
15375
15479
  _channel10 = args.channel, pollDetails = args.pollDetails, _messageId = args.messageId;
15376
15480
  pollDetailsData = pollDetails;
15377
15481
  _context.n = 100;
@@ -15456,6 +15560,7 @@ function watchForEvents() {
15456
15560
  case 108:
15457
15561
  return _context.a(3, 183);
15458
15562
  case 109:
15563
+ log.info('CHANNEL_EVENT_TYPES.POLL_DELETED ... ');
15459
15564
  _channel11 = args.channel, _pollDetails = args.pollDetails, _messageId2 = args.messageId;
15460
15565
  _pollDetailsData = _pollDetails;
15461
15566
  _context.n = 110;
@@ -15515,6 +15620,7 @@ function watchForEvents() {
15515
15620
  case 116:
15516
15621
  return _context.a(3, 183);
15517
15622
  case 117:
15623
+ log.info('CHANNEL_EVENT_TYPES.POLL_RETRACTED ... ');
15518
15624
  _channel12 = args.channel, _pollDetails2 = args.pollDetails, _messageId3 = args.messageId;
15519
15625
  _context.n = 118;
15520
15626
  return effects.call(getActiveChannelId);
@@ -15573,6 +15679,7 @@ function watchForEvents() {
15573
15679
  case 124:
15574
15680
  return _context.a(3, 183);
15575
15681
  case 125:
15682
+ log.info('CHANNEL_EVENT_TYPES.POLL_CLOSED ... ');
15576
15683
  _channel13 = args.channel, _messageId4 = args.messageId;
15577
15684
  _context.n = 126;
15578
15685
  return effects.call(getActiveChannelId);
@@ -16171,13 +16278,20 @@ function createChannel(action) {
16171
16278
  _context.n = 16;
16172
16279
  return effects.call(setActiveChannelId, createdChannel.id);
16173
16280
  case 16:
16174
- _context.n = 18;
16281
+ _context.n = 19;
16175
16282
  break;
16176
16283
  case 17:
16177
16284
  _context.p = 17;
16178
16285
  _t = _context.v;
16179
- 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));
16180
16292
  case 18:
16293
+ log.error(_t, 'Error on create channel');
16294
+ case 19:
16181
16295
  return _context.a(2);
16182
16296
  }
16183
16297
  }, _marked$2, null, [[0, 17]]);
@@ -16292,7 +16406,7 @@ function getChannels(action) {
16292
16406
  try {
16293
16407
  return Promise.resolve(new Promise(function (resolve) {
16294
16408
  channel.getMessagesById([channel.newReactions[0].messageId]).then(function (messages) {
16295
- channelMessageMap[channel.id] = messages[0];
16409
+ channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id] = messages[0];
16296
16410
  log.info('[getChannels] successfully fetched reaction message for channel:', channel === null || channel === void 0 ? void 0 : channel.id);
16297
16411
  resolve(true);
16298
16412
  })["catch"](function (e) {
@@ -16311,8 +16425,8 @@ function getChannels(action) {
16311
16425
  case 13:
16312
16426
  log.info('[getChannels] reaction messages fetched:', channelMessageMap ? (_Object$keys = Object.keys(channelMessageMap)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length : 0);
16313
16427
  mappedChannels = mappedChannels.map(function (channel) {
16314
- if (channelMessageMap[channel.id]) {
16315
- 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];
16316
16430
  }
16317
16431
  return channel;
16318
16432
  });
@@ -18093,13 +18207,13 @@ function getChannelInviteKeys(action) {
18093
18207
  }, _marked30, null, [[0, 4]]);
18094
18208
  }
18095
18209
  function regenerateChannelInviteKey(action) {
18096
- var payload, channelId, key, channel, inviteKey, _t31;
18210
+ var payload, channelId, key, deletePermanently, channel, inviteKey, _t31;
18097
18211
  return _regenerator().w(function (_context31) {
18098
18212
  while (1) switch (_context31.p = _context31.n) {
18099
18213
  case 0:
18100
18214
  _context31.p = 0;
18101
18215
  payload = action.payload;
18102
- channelId = payload.channelId, key = payload.key;
18216
+ channelId = payload.channelId, key = payload.key, deletePermanently = payload.deletePermanently;
18103
18217
  _context31.n = 1;
18104
18218
  return effects.call(getChannelFromMap, channelId);
18105
18219
  case 1:
@@ -18114,7 +18228,8 @@ function regenerateChannelInviteKey(action) {
18114
18228
  _context31.n = 2;
18115
18229
  return effects.call(channel.regenerateInviteKey, {
18116
18230
  key: key,
18117
- channelId: channelId
18231
+ channelId: channelId,
18232
+ deletePermanently: deletePermanently
18118
18233
  });
18119
18234
  case 2:
18120
18235
  inviteKey = _context31.v;
@@ -18850,6 +18965,56 @@ var getFrame = function getFrame(videoSrc, time) {
18850
18965
  }
18851
18966
  };
18852
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
+
18853
19018
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
18854
19019
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
18855
19020
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -18965,63 +19130,100 @@ var handleUploadAttachments = function handleUploadAttachments(attachments, mess
18965
19130
  return Promise.reject(e);
18966
19131
  }
18967
19132
  };
18968
- var addPendingMessage = function addPendingMessage(message, messageCopy, channel) {
19133
+ var addPendingMessage = function addPendingMessage(message, messageCopy, channelId) {
18969
19134
  try {
18970
19135
  var messageToAdd = _extends({}, messageCopy, {
18971
19136
  createdAt: new Date(Date.now()),
18972
19137
  mentionedUsers: message.mentionedUsers,
18973
19138
  parentMessage: message.parentMessage
18974
19139
  });
18975
- setPendingMessage(channel.id, messageToAdd);
19140
+ setPendingMessage(channelId, messageToAdd);
18976
19141
  return Promise.resolve();
18977
19142
  } catch (e) {
18978
19143
  return Promise.reject(e);
18979
19144
  }
18980
19145
  };
18981
- var updateMessage$1 = function updateMessage(actionType, pending, channel, scrollToNewMessage) {
19146
+ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scrollToNewMessage, message) {
18982
19147
  if (scrollToNewMessage === void 0) {
18983
19148
  scrollToNewMessage = true;
18984
19149
  }
18985
19150
  return /*#__PURE__*/_regenerator().m(function _callee() {
18986
- var activeChannelId;
19151
+ var activeChannelId, channel, messages, _channel$lastMessage2, repliedMessage, scrollRef, _channel$lastMessage3;
18987
19152
  return _regenerator().w(function (_context) {
18988
19153
  while (1) switch (_context.n) {
18989
19154
  case 0:
18990
19155
  activeChannelId = getActiveChannelId();
18991
19156
  if (!(actionType !== RESEND_MESSAGE)) {
18992
- _context.n = 2;
19157
+ _context.n = 7;
18993
19158
  break;
18994
19159
  }
18995
- addMessageToMap(channel.id, pending);
18996
- if (activeChannelId === channel.id) {
19160
+ if (activeChannelId === channelId) {
18997
19161
  addAllMessages([pending], MESSAGE_LOAD_DIRECTION.NEXT);
18998
19162
  }
18999
- if (!(activeChannelId === channel.id)) {
19163
+ if (!(activeChannelId === channelId)) {
19000
19164
  _context.n = 1;
19001
19165
  break;
19002
19166
  }
19003
19167
  _context.n = 1;
19004
19168
  return effects.put(addMessageAC(pending));
19005
19169
  case 1:
19170
+ _context.n = 2;
19171
+ return effects.call(addPendingMessage, message, pending, channelId);
19172
+ case 2:
19006
19173
  if (!scrollToNewMessage) {
19007
- _context.n = 2;
19174
+ _context.n = 7;
19008
19175
  break;
19009
19176
  }
19010
- _context.n = 2;
19011
- return effects.put(scrollToNewMessageAC(true, true));
19012
- 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:
19013
19215
  return _context.a(2);
19014
19216
  }
19015
19217
  }, _callee);
19016
19218
  })();
19017
19219
  };
19018
19220
  function sendMessage(action) {
19019
- 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;
19020
19222
  return _regenerator().w(function (_context4) {
19021
19223
  while (1) switch (_context4.p = _context4.n) {
19022
19224
  case 0:
19023
19225
  payload = action.payload;
19024
- 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;
19025
19227
  pendingMessages = [];
19026
19228
  _context4.p = 1;
19027
19229
  _context4.n = 2;
@@ -19156,8 +19358,12 @@ function sendMessage(action) {
19156
19358
  createdAt: new Date(Date.now())
19157
19359
  });
19158
19360
  pendingMessages.push(_pending);
19361
+ if (!(action.type !== RESEND_MESSAGE)) {
19362
+ _context2.n = 1;
19363
+ break;
19364
+ }
19159
19365
  _context2.n = 1;
19160
- return effects.call(updateMessage$1, action.type, _pending, channel);
19366
+ return effects.call(updateMessage$1, action.type, _pending, channel.id, true, message);
19161
19367
  case 1:
19162
19368
  _context2.n = 3;
19163
19369
  break;
@@ -19205,8 +19411,12 @@ function sendMessage(action) {
19205
19411
  createdAt: new Date(Date.now())
19206
19412
  });
19207
19413
  pendingMessages.push(pending);
19414
+ if (!(action.type !== RESEND_MESSAGE)) {
19415
+ _context4.n = 11;
19416
+ break;
19417
+ }
19208
19418
  _context4.n = 11;
19209
- return effects.call(updateMessage$1, action.type, pending, channel);
19419
+ return effects.call(updateMessage$1, action.type, pending, channel.id, true, message);
19210
19420
  case 11:
19211
19421
  messageToSend = _extends({}, messageToSend, {
19212
19422
  attachments: attachmentsToSend
@@ -19214,7 +19424,7 @@ function sendMessage(action) {
19214
19424
  messagesToSend.push(messageToSend);
19215
19425
  case 12:
19216
19426
  _loop2 = /*#__PURE__*/_regenerator().m(function _callee3() {
19217
- 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;
19218
19428
  return _regenerator().w(function (_context3) {
19219
19429
  while (1) switch (_context3.p = _context3.n) {
19220
19430
  case 0:
@@ -19223,7 +19433,7 @@ function sendMessage(action) {
19223
19433
  _context3.p = 1;
19224
19434
  messageCopy = JSON.parse(JSON.stringify(messagesToSend[_i]));
19225
19435
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19226
- _context3.n = 12;
19436
+ _context3.n = 13;
19227
19437
  break;
19228
19438
  }
19229
19439
  _attachmentsToSend = messageAttachment;
@@ -19284,9 +19494,6 @@ function sendMessage(action) {
19284
19494
  _context3.n = 5;
19285
19495
  break;
19286
19496
  case 8:
19287
- if (action.type === RESEND_MESSAGE) {
19288
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19289
- }
19290
19497
  attachmentsToUpdate = [];
19291
19498
  if (messageResponse.attachments && messageResponse.attachments.length > 0) {
19292
19499
  currentAttachmentsMap = {};
@@ -19319,61 +19526,56 @@ function sendMessage(action) {
19319
19526
  createdAt: messageResponse.createdAt,
19320
19527
  channelId: channel.id
19321
19528
  };
19529
+ stringifiedMessageUpdateData = JSON.parse(JSON.stringify(messageUpdateData));
19530
+ activeChannelId = getActiveChannelId();
19531
+ if (!(activeChannelId === channel.id)) {
19532
+ _context3.n = 9;
19533
+ break;
19534
+ }
19322
19535
  _context3.n = 9;
19323
- return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19536
+ return effects.put(updateMessageAC(messageToSend.tid, stringifiedMessageUpdateData, true));
19324
19537
  case 9:
19325
- updateMessageOnMap(channel.id, {
19326
- messageId: messageToSend.tid,
19327
- params: messageUpdateData
19328
- });
19538
+ _context3.n = 10;
19539
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
19540
+ case 10:
19541
+ addMessageToMap(channel.id, stringifiedMessageUpdateData);
19329
19542
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19330
- messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19331
- updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19543
+ updateChannelLastMessageOnAllChannels(channel.id, stringifiedMessageUpdateData);
19332
19544
  channelUpdateParam = {
19333
- lastMessage: messageToUpdate,
19545
+ lastMessage: stringifiedMessageUpdateData,
19334
19546
  lastReactedMessage: null
19335
19547
  };
19336
19548
  if (!channel.unread) {
19337
- _context3.n = 10;
19549
+ _context3.n = 11;
19338
19550
  break;
19339
19551
  }
19340
- _context3.n = 10;
19341
- return effects.put(markChannelAsReadAC(channel.id));
19342
- case 10:
19343
19552
  _context3.n = 11;
19344
- return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19553
+ return effects.put(markChannelAsReadAC(channel.id));
19345
19554
  case 11:
19555
+ _context3.n = 12;
19556
+ return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19557
+ case 12:
19346
19558
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19347
- _context3.n = 13;
19559
+ _context3.n = 14;
19348
19560
  break;
19349
- case 12:
19350
- throw new Error('Connection required to send message');
19351
19561
  case 13:
19562
+ throw new Error('Connection required to send message');
19563
+ case 14:
19352
19564
  _context3.n = 19;
19353
19565
  break;
19354
- case 14:
19355
- _context3.p = 14;
19566
+ case 15:
19567
+ _context3.p = 15;
19356
19568
  _t = _context3.v;
19357
- pendingMessage = pendingMessages === null || pendingMessages === void 0 ? void 0 : pendingMessages.find(function (pendingMessage) {
19358
- return pendingMessage.tid === messageToSend.tid;
19359
- });
19360
- if (!(channel && pendingMessage && action.type !== RESEND_MESSAGE)) {
19569
+ isErrorResendable = isResendableError(_t === null || _t === void 0 ? void 0 : _t.type);
19570
+ if (isErrorResendable) {
19361
19571
  _context3.n = 17;
19362
19572
  break;
19363
19573
  }
19364
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19365
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19366
- _context3.n = 16;
19367
- break;
19368
- }
19369
- _context3.n = 15;
19370
- return effects.call(addPendingMessage, message, pendingMessage, channel);
19371
- case 15:
19372
- _context3.n = 17;
19373
- break;
19574
+ _context3.n = 16;
19575
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
19374
19576
  case 16:
19375
- _context3.n = 17;
19376
- return effects.put(removePendingMessageAC(channel.id, pendingMessage.tid));
19577
+ _context3.n = 19;
19578
+ break;
19377
19579
  case 17:
19378
19580
  log.error('Error on uploading attachment', messageToSend.tid, _t);
19379
19581
  if (!(messageToSend.attachments && messageToSend.attachments.length)) {
@@ -19399,7 +19601,7 @@ function sendMessage(action) {
19399
19601
  case 19:
19400
19602
  return _context3.a(2);
19401
19603
  }
19402
- }, _callee3, null, [[1, 14]]);
19604
+ }, _callee3, null, [[1, 15]]);
19403
19605
  });
19404
19606
  _i = 0;
19405
19607
  case 13:
@@ -19431,12 +19633,12 @@ function sendMessage(action) {
19431
19633
  }, _marked$3, null, [[1, 16, 17, 19]]);
19432
19634
  }
19433
19635
  function sendTextMessage(action) {
19434
- 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;
19435
19637
  return _regenerator().w(function (_context5) {
19436
19638
  while (1) switch (_context5.p = _context5.n) {
19437
19639
  case 0:
19438
19640
  payload = action.payload;
19439
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19641
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19440
19642
  _context5.n = 1;
19441
19643
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19442
19644
  case 1:
@@ -19450,8 +19652,8 @@ function sendTextMessage(action) {
19450
19652
  setChannelInMap(channel);
19451
19653
  }
19452
19654
  }
19655
+ sendMessageTid = null;
19453
19656
  pendingMessage = null;
19454
- activeChannelId = getActiveChannelId();
19455
19657
  _context5.p = 3;
19456
19658
  if (!channel.isMockChannel) {
19457
19659
  _context5.n = 6;
@@ -19511,11 +19713,15 @@ function sendTextMessage(action) {
19511
19713
  _context5.n = 8;
19512
19714
  break;
19513
19715
  }
19716
+ if (!(action.type !== RESEND_MESSAGE)) {
19717
+ _context5.n = 8;
19718
+ break;
19719
+ }
19514
19720
  _context5.n = 8;
19515
- return effects.call(updateMessage$1, action.type, pendingMessage, channel);
19721
+ return effects.call(updateMessage$1, action.type, pendingMessage, channel.id, true, message);
19516
19722
  case 8:
19517
19723
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19518
- _context5.n = 16;
19724
+ _context5.n = 18;
19519
19725
  break;
19520
19726
  }
19521
19727
  if (!sendMessageHandler) {
@@ -19551,19 +19757,24 @@ function sendTextMessage(action) {
19551
19757
  pollDetails: (_messageResponse = messageResponse) === null || _messageResponse === void 0 ? void 0 : _messageResponse.pollDetails,
19552
19758
  channelId: channel.id
19553
19759
  };
19760
+ activeChannelId = getActiveChannelId();
19554
19761
  if (!(activeChannelId === channel.id)) {
19555
19762
  _context5.n = 13;
19556
19763
  break;
19557
19764
  }
19558
19765
  _context5.n = 13;
19559
- return effects.put(updateMessageAC(messageToSend.tid, messageUpdateData));
19766
+ return effects.put(updateMessageAC(messageToSend.tid, messageUpdateData, true));
19560
19767
  case 13:
19561
- updateMessageOnMap(channel.id, {
19562
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19563
- params: messageUpdateData
19564
- });
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);
19565
19776
  if (activeChannelId === channel.id) {
19566
- updateMessageOnAllMessages(!isAddToPendingMessagesMap ? message.tid : messageToSend.tid, messageUpdateData);
19777
+ updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19567
19778
  }
19568
19779
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19569
19780
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19571,85 +19782,80 @@ function sendTextMessage(action) {
19571
19782
  lastMessage: messageToUpdate,
19572
19783
  lastReactedMessage: null
19573
19784
  };
19574
- _context5.n = 14;
19785
+ _context5.n = 16;
19575
19786
  return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19576
- case 14:
19787
+ case 16:
19577
19788
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19578
19789
  if (!channel.unread) {
19579
- _context5.n = 15;
19790
+ _context5.n = 17;
19580
19791
  break;
19581
19792
  }
19582
- _context5.n = 15;
19793
+ _context5.n = 17;
19583
19794
  return effects.put(markChannelAsReadAC(channel.id));
19584
- case 15:
19795
+ case 17:
19585
19796
  channel.lastMessage = messageToUpdate;
19586
- if (action.type === RESEND_MESSAGE) {
19587
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19588
- }
19589
- _context5.n = 17;
19797
+ _context5.n = 19;
19590
19798
  break;
19591
- case 16:
19799
+ case 18:
19592
19800
  throw new Error('Connection required to send message');
19593
- case 17:
19594
- _context5.n = 22;
19801
+ case 19:
19802
+ _context5.n = 23;
19595
19803
  break;
19596
- case 18:
19597
- _context5.p = 18;
19804
+ case 20:
19805
+ _context5.p = 20;
19598
19806
  _t3 = _context5.v;
19599
- if (!(activeChannelId === channel.id && pendingMessage && action.type !== RESEND_MESSAGE)) {
19600
- _context5.n = 21;
19601
- break;
19602
- }
19603
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19604
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19605
- _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;
19606
19811
  break;
19607
19812
  }
19608
- _context5.n = 19;
19609
- return effects.call(addPendingMessage, message, pendingMessage, channel);
19610
- case 19:
19611
- _context5.n = 21;
19612
- break;
19613
- case 20:
19614
19813
  _context5.n = 21;
19615
- return effects.put(removePendingMessageAC(channel.id, pendingMessage.tid));
19814
+ return effects.put(removePendingMessageAC(channel.id, sendMessageTid));
19616
19815
  case 21:
19617
- 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
+ }
19618
19823
  updateMessageOnMap(channel.id, {
19619
19824
  messageId: sendMessageTid,
19620
19825
  params: {
19621
19826
  state: MESSAGE_STATUS.FAILED
19622
19827
  }
19623
19828
  });
19624
- if (!(activeChannelId === channel.id)) {
19625
- _context5.n = 22;
19829
+ _activeChannelId = getActiveChannelId();
19830
+ if (!(_activeChannelId === channel.id)) {
19831
+ _context5.n = 23;
19626
19832
  break;
19627
19833
  }
19628
19834
  updateMessageOnAllMessages(sendMessageTid, {
19629
19835
  state: MESSAGE_STATUS.FAILED
19630
19836
  });
19631
- _context5.n = 22;
19837
+ _context5.n = 23;
19632
19838
  return effects.put(updateMessageAC(sendMessageTid, {
19633
19839
  state: MESSAGE_STATUS.FAILED
19634
19840
  }));
19635
- case 22:
19636
- _context5.p = 22;
19637
- _context5.n = 23;
19638
- return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19639
19841
  case 23:
19640
- return _context5.f(22);
19842
+ _context5.p = 23;
19843
+ _context5.n = 24;
19844
+ return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19641
19845
  case 24:
19846
+ return _context5.f(23);
19847
+ case 25:
19642
19848
  return _context5.a(2);
19643
19849
  }
19644
- }, _marked2$2, null, [[3, 18, 22, 24]]);
19850
+ }, _marked2$2, null, [[3, 20, 23, 25]]);
19645
19851
  }
19646
19852
  function forwardMessage(action) {
19647
- 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;
19648
19854
  return _regenerator().w(function (_context6) {
19649
19855
  while (1) switch (_context6.p = _context6.n) {
19650
19856
  case 0:
19651
19857
  payload = action.payload;
19652
- 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;
19653
19859
  pendingMessage = null;
19654
19860
  channel = null;
19655
19861
  activeChannelId = getActiveChannelId();
@@ -19692,7 +19898,7 @@ function forwardMessage(action) {
19692
19898
  }) : [];
19693
19899
  attachments = message.attachments;
19694
19900
  if ((channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC) && !(channel.userRole === 'admin' || channel.userRole === 'owner')) {
19695
- _context6.n = 16;
19901
+ _context6.n = 17;
19696
19902
  break;
19697
19903
  }
19698
19904
  if (message.attachments && message.attachments.length) {
@@ -19719,7 +19925,7 @@ function forwardMessage(action) {
19719
19925
  };
19720
19926
  }
19721
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);
19722
- messageToSend = messageBuilder.create();
19928
+ messageToSend = action.type === RESEND_MESSAGE ? action.payload.message : messageBuilder.create();
19723
19929
  messageToSend.tid = action.type === RESEND_MESSAGE ? action.payload.message.tid : messageToSend.tid;
19724
19930
  messageTid = messageToSend.tid;
19725
19931
  pendingMessage = _extends({}, messageToSend, {
@@ -19755,11 +19961,15 @@ function forwardMessage(action) {
19755
19961
  _context6.n = 9;
19756
19962
  break;
19757
19963
  }
19964
+ if (!(action.type !== RESEND_MESSAGE)) {
19965
+ _context6.n = 9;
19966
+ break;
19967
+ }
19758
19968
  _context6.n = 9;
19759
- return effects.call(updateMessage$1, action.type, pendingMessage, channel, false);
19969
+ return effects.call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19760
19970
  case 9:
19761
19971
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19762
- _context6.n = 15;
19972
+ _context6.n = 16;
19763
19973
  break;
19764
19974
  }
19765
19975
  _context6.n = 10;
@@ -19785,61 +19995,55 @@ function forwardMessage(action) {
19785
19995
  break;
19786
19996
  }
19787
19997
  _context6.n = 11;
19788
- return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19998
+ return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19789
19999
  case 11:
19790
20000
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19791
20001
  case 12:
19792
- if (action.type === RESEND_MESSAGE) {
19793
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
20002
+ if (!messageToSend.tid) {
20003
+ _context6.n = 13;
20004
+ break;
19794
20005
  }
19795
- updateMessageOnMap(channel.id, {
19796
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19797
- params: messageUpdateData
19798
- });
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)));
19799
20010
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19800
20011
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19801
20012
  channelUpdateParam = {
19802
20013
  lastMessage: messageToUpdate,
19803
20014
  lastReactedMessage: null
19804
20015
  };
19805
- _context6.n = 13;
20016
+ _context6.n = 14;
19806
20017
  return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19807
- case 13:
20018
+ case 14:
19808
20019
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19809
20020
  if (!channel.unread) {
19810
- _context6.n = 14;
20021
+ _context6.n = 15;
19811
20022
  break;
19812
20023
  }
19813
- _context6.n = 14;
20024
+ _context6.n = 15;
19814
20025
  return effects.put(markChannelAsReadAC(channel.id));
19815
- case 14:
19816
- _context6.n = 16;
19817
- break;
19818
20026
  case 15:
19819
- throw new Error('Connection required to forward message');
20027
+ _context6.n = 17;
20028
+ break;
19820
20029
  case 16:
20030
+ throw new Error('Connection required to forward message');
20031
+ case 17:
19821
20032
  _context6.n = 22;
19822
20033
  break;
19823
- case 17:
19824
- _context6.p = 17;
20034
+ case 18:
20035
+ _context6.p = 18;
19825
20036
  _t4 = _context6.v;
19826
- if (!(pendingMessage && channel && action.type !== RESEND_MESSAGE)) {
20037
+ isErrorResendable = isResendableError(_t4 === null || _t4 === void 0 ? void 0 : _t4.type);
20038
+ if (isErrorResendable) {
19827
20039
  _context6.n = 20;
19828
20040
  break;
19829
20041
  }
19830
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19831
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19832
- _context6.n = 19;
19833
- break;
19834
- }
19835
- _context6.n = 18;
19836
- return effects.call(addPendingMessage, message, pendingMessage, channel);
19837
- case 18:
19838
- _context6.n = 20;
19839
- break;
20042
+ _context6.n = 19;
20043
+ return effects.put(removePendingMessageAC(channel.id, messageTid));
19840
20044
  case 19:
19841
- _context6.n = 20;
19842
- return effects.put(removePendingMessageAC(channel.id, pendingMessage.tid));
20045
+ _context6.n = 21;
20046
+ break;
19843
20047
  case 20:
19844
20048
  if (!(channel && messageTid)) {
19845
20049
  _context6.n = 21;
@@ -19851,7 +20055,8 @@ function forwardMessage(action) {
19851
20055
  state: MESSAGE_STATUS.FAILED
19852
20056
  }
19853
20057
  });
19854
- if (!(activeChannelId === channel.id)) {
20058
+ _activeChannelId2 = getActiveChannelId();
20059
+ if (!(_activeChannelId2 === channel.id)) {
19855
20060
  _context6.n = 21;
19856
20061
  break;
19857
20062
  }
@@ -19873,25 +20078,67 @@ function forwardMessage(action) {
19873
20078
  case 24:
19874
20079
  return _context6.a(2);
19875
20080
  }
19876
- }, _marked3$1, null, [[1, 17, 22, 24]]);
20081
+ }, _marked3$1, null, [[1, 18, 22, 24]]);
19877
20082
  }
19878
20083
  function resendMessage(action) {
19879
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isVoiceMessage;
20084
+ var _message$attachments;
20085
+ var payload, message, connectionState, channelId, attachments, sendAttachmentsAsSeparateMessage, isVoiceMessage;
19880
20086
  return _regenerator().w(function (_context7) {
19881
20087
  while (1) switch (_context7.n) {
19882
20088
  case 0:
19883
20089
  payload = action.payload;
19884
20090
  message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19885
- if (message.forwardingDetails) {
19886
- store.dispatch(forwardMessageAC(message, channelId, connectionState, false, false));
19887
- } else if (message.attachments && message.attachments.length) {
19888
- sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
19889
- isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
19890
- store.dispatch(sendMessageAC(message, channelId, connectionState, isVoiceMessage ? false : sendAttachmentsAsSeparateMessage, false, false));
19891
- } else {
19892
- 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;
19893
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
+ });
19894
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:
19895
20142
  return _context7.a(2);
19896
20143
  }
19897
20144
  }, _marked4$1);
@@ -20053,8 +20300,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20053
20300
  message: msg,
20054
20301
  connectionState: connectionState,
20055
20302
  channelId: channelId,
20056
- isForward: true,
20057
- isAddToPendingMessagesMap: false
20303
+ isForward: true
20058
20304
  }
20059
20305
  });
20060
20306
  case 4:
@@ -20072,9 +20318,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20072
20318
  message: msg,
20073
20319
  connectionState: connectionState,
20074
20320
  channelId: channelId,
20075
- sendAttachmentsAsSeparateMessage: false,
20076
- isResend: true,
20077
- isAddToPendingMessagesMap: false
20321
+ sendAttachmentsAsSeparateMessage: false
20078
20322
  }
20079
20323
  });
20080
20324
  case 6:
@@ -20087,8 +20331,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20087
20331
  payload: {
20088
20332
  message: msg,
20089
20333
  connectionState: connectionState,
20090
- channelId: channelId,
20091
- isAddToPendingMessagesMap: false
20334
+ channelId: channelId
20092
20335
  }
20093
20336
  });
20094
20337
  case 8:
@@ -20117,26 +20360,13 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20117
20360
  }
20118
20361
  }, _callee4, null, [[3, 9]]);
20119
20362
  });
20120
- var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20121
- var _messages, _Object$values;
20122
- var previousAllMessages, messages, lastMessageId, setMappedAllMessages, allMessagesAfterLastMessage;
20363
+ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages, firstMessageId, lastMessageId) {
20364
+ var messages;
20123
20365
  return _regenerator().w(function (_context1) {
20124
20366
  while (1) switch (_context1.n) {
20125
20367
  case 0:
20126
- previousAllMessages = getAllMessages();
20127
20368
  messages = [].concat(updatedMessages);
20128
- lastMessageId = (_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : _messages.id;
20129
- setMappedAllMessages = {};
20130
- previousAllMessages.forEach(function (msg) {
20131
- if (msg.channelId === channel.id) {
20132
- setMappedAllMessages[msg.id || msg.tid || ''] = msg;
20133
- }
20134
- });
20135
- allMessagesAfterLastMessage = lastMessageId ? (_Object$values = Object.values(setMappedAllMessages || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.filter(function (msg) {
20136
- return msg.id > lastMessageId || !msg.id;
20137
- }) : Object.values(setMappedAllMessages || {});
20138
- messages = [].concat(messages, allMessagesAfterLastMessage || []);
20139
- setMessagesToMap(channel.id, messages);
20369
+ setMessagesToMap(channel.id, messages, firstMessageId, lastMessageId);
20140
20370
  setAllMessages(messages);
20141
20371
  _context1.n = 1;
20142
20372
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(messages))));
@@ -20145,8 +20375,23 @@ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, up
20145
20375
  }
20146
20376
  }, _callee5);
20147
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
+ };
20148
20393
  function getMessagesQuery(action) {
20149
- 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;
20150
20395
  return _regenerator().w(function (_context10) {
20151
20396
  while (1) switch (_context10.p = _context10.n) {
20152
20397
  case 0:
@@ -20154,10 +20399,10 @@ function getMessagesQuery(action) {
20154
20399
  _context10.n = 1;
20155
20400
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
20156
20401
  case 1:
20157
- _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;
20158
20403
  connectionState = store.getState().UserReducer.connectionStatus;
20159
- if (!(channel.id && !channel.isMockChannel)) {
20160
- _context10.n = 76;
20404
+ if (!(channel !== null && channel !== void 0 && channel.id && !(channel !== null && channel !== void 0 && channel.isMockChannel))) {
20405
+ _context10.n = 84;
20161
20406
  break;
20162
20407
  }
20163
20408
  SceytChatClient = getClient();
@@ -20187,24 +20432,26 @@ function getMessagesQuery(action) {
20187
20432
  hasNext: false
20188
20433
  };
20189
20434
  if (!loadWithLastMessage) {
20190
- _context10.n = 19;
20435
+ _context10.n = 22;
20191
20436
  break;
20192
20437
  }
20193
- allMessages = getAllMessages();
20194
- havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
20195
- if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
20196
- _context10.n = 14;
20438
+ if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20439
+ _context10.n = 15;
20197
20440
  break;
20198
20441
  }
20199
20442
  setHasPrevCached(false);
20200
- setMessagesToMap(channel.id, []);
20201
20443
  setAllMessages([]);
20444
+ messageQuery.limit = MESSAGES_MAX_LENGTH;
20445
+ if (!Number(channel.lastDisplayedMessageId)) {
20446
+ _context10.n = 8;
20447
+ break;
20448
+ }
20202
20449
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20203
20450
  _context10.n = 6;
20204
20451
  break;
20205
20452
  }
20206
20453
  _context10.n = 5;
20207
- return effects.call(messageQuery.loadPreviousMessageId, '0');
20454
+ return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20208
20455
  case 5:
20209
20456
  _t1 = _context10.v;
20210
20457
  _context10.n = 7;
@@ -20216,381 +20463,368 @@ function getMessagesQuery(action) {
20216
20463
  };
20217
20464
  case 7:
20218
20465
  result = _t1;
20219
- if (!(result.messages.length === 50)) {
20220
- _context10.n = 11;
20221
- break;
20222
- }
20223
- messageQuery.limit = 30;
20466
+ _context10.n = 12;
20467
+ break;
20468
+ case 8:
20224
20469
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20225
- _context10.n = 9;
20470
+ _context10.n = 10;
20226
20471
  break;
20227
20472
  }
20228
- _context10.n = 8;
20229
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20230
- case 8:
20473
+ _context10.n = 9;
20474
+ return effects.call(messageQuery.loadPrevious);
20475
+ case 9:
20231
20476
  _t10 = _context10.v;
20232
- _context10.n = 10;
20477
+ _context10.n = 11;
20233
20478
  break;
20234
- case 9:
20479
+ case 10:
20235
20480
  _t10 = {
20236
20481
  messages: [],
20237
20482
  hasNext: false
20238
20483
  };
20239
- case 10:
20240
- secondResult = _t10;
20241
- result.messages = [].concat(secondResult.messages, result.messages);
20242
- result.hasNext = secondResult.hasNext;
20243
20484
  case 11:
20244
- sentMessages = [];
20245
- if (withDeliveredMessages) {
20246
- sentMessages = getFromAllMessagesByMessageId('', '', true);
20247
- }
20248
- messagesMap = {};
20249
- result.messages.forEach(function (msg) {
20250
- messagesMap[msg.tid || ''] = msg;
20251
- });
20252
- filteredSentMessages = sentMessages.filter(function (msg) {
20253
- return !messagesMap[msg.tid || ''];
20254
- });
20255
- result.messages = [].concat(result.messages, filteredSentMessages).slice(filteredSentMessages.length);
20256
- _context10.n = 12;
20257
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20485
+ result = _t10;
20258
20486
  case 12:
20259
- setMessagesToMap(channel.id, result.messages);
20260
- setAllMessages(result.messages);
20261
20487
  _context10.n = 13;
20262
- return effects.put(setMessagesHasPrevAC(true));
20488
+ return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20263
20489
  case 13:
20264
- _context10.n = 16;
20265
- 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));
20266
20494
  case 14:
20267
- result.messages = getFromAllMessagesByMessageId('', '', true);
20268
- _context10.n = 15;
20269
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20495
+ _context10.n = 17;
20496
+ break;
20270
20497
  case 15:
20498
+ result.messages = getFromAllMessagesByMessageId('', '', true);
20271
20499
  _context10.n = 16;
20272
- return effects.put(setMessagesHasPrevAC(true));
20500
+ return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20273
20501
  case 16:
20274
20502
  _context10.n = 17;
20275
- return effects.put(setMessagesHasNextAC(false));
20503
+ return effects.put(setMessagesHasPrevAC(true));
20276
20504
  case 17:
20505
+ _context10.n = 18;
20506
+ return effects.put(setMessagesHasNextAC(false));
20507
+ case 18:
20277
20508
  setHasNextCached(false);
20278
20509
  if (!(messageId && scrollToMessage)) {
20279
- _context10.n = 18;
20510
+ _context10.n = 21;
20280
20511
  break;
20281
20512
  }
20282
- _context10.n = 18;
20283
- return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
20284
- case 18:
20285
- _context10.n = 72;
20286
- 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));
20287
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:
20288
20529
  if (!messageId) {
20289
- _context10.n = 38;
20530
+ _context10.n = 52;
20290
20531
  break;
20291
20532
  }
20292
- _allMessages = getAllMessages();
20293
- messageIndex = _allMessages.findIndex(function (msg) {
20294
- 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;
20295
20539
  });
20296
20540
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
20297
20541
  if (!(messageIndex >= maxLengthPart)) {
20298
- _context10.n = 22;
20542
+ _context10.n = 25;
20299
20543
  break;
20300
20544
  }
20301
- result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20302
- _context10.n = 20;
20545
+ result.messages = allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20546
+ _context10.n = 23;
20303
20547
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20304
- case 20:
20548
+ case 23:
20305
20549
  setHasPrevCached(messageIndex > maxLengthPart);
20306
- setHasNextCached(_allMessages.length > maxLengthPart);
20307
- _context10.n = 21;
20550
+ setHasNextCached(allMessages.length > maxLengthPart);
20551
+ _context10.n = 24;
20308
20552
  return effects.put(setMessagesHasPrevAC(true));
20309
- case 21:
20310
- _context10.n = 34;
20553
+ case 24:
20554
+ _context10.n = 48;
20311
20555
  break;
20312
- case 22:
20556
+ case 25:
20313
20557
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20314
- log.info('load by message id from server ...............', messageId);
20558
+ log.info('load by message id from server ...............', loadWithMessageId);
20315
20559
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20316
- _context10.n = 24;
20560
+ _context10.n = 27;
20317
20561
  break;
20318
20562
  }
20319
- _context10.n = 23;
20320
- return effects.call(messageQuery.loadNearMessageId, messageId);
20321
- case 23:
20563
+ _context10.n = 26;
20564
+ return effects.call(messageQuery.loadNearMessageId, loadWithMessageId);
20565
+ case 26:
20322
20566
  _t11 = _context10.v;
20323
- _context10.n = 25;
20567
+ _context10.n = 28;
20324
20568
  break;
20325
- case 24:
20569
+ case 27:
20326
20570
  _t11 = {
20327
20571
  messages: [],
20328
20572
  hasNext: false
20329
20573
  };
20330
- case 25:
20574
+ case 28:
20331
20575
  result = _t11;
20576
+ _context10.n = 29;
20577
+ return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20578
+ case 29:
20332
20579
  if (!(result.messages.length === 50)) {
20333
- _context10.n = 32;
20580
+ _context10.n = 47;
20334
20581
  break;
20335
20582
  }
20336
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20583
+ messageQuery.limit = (MESSAGES_MAX_PAGE_COUNT - 50) / 2;
20337
20584
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20338
- _context10.n = 27;
20585
+ _context10.n = 31;
20339
20586
  break;
20340
20587
  }
20341
- _context10.n = 26;
20588
+ _context10.n = 30;
20342
20589
  return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20343
- case 26:
20590
+ case 30:
20344
20591
  _t12 = _context10.v;
20345
- _context10.n = 28;
20592
+ _context10.n = 32;
20346
20593
  break;
20347
- case 27:
20594
+ case 31:
20348
20595
  _t12 = {
20349
20596
  messages: [],
20350
20597
  hasNext: false
20351
20598
  };
20352
- case 28:
20353
- _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;
20354
20606
  messageQuery.reverse = false;
20355
20607
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20356
- _context10.n = 30;
20608
+ _context10.n = 35;
20357
20609
  break;
20358
20610
  }
20359
- _context10.n = 29;
20611
+ _context10.n = 34;
20360
20612
  return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20361
- case 29:
20613
+ case 34:
20362
20614
  _t13 = _context10.v;
20363
- _context10.n = 31;
20615
+ _context10.n = 36;
20364
20616
  break;
20365
- case 30:
20617
+ case 35:
20366
20618
  _t13 = {
20367
20619
  messages: [],
20368
20620
  hasNext: false
20369
20621
  };
20370
- case 31:
20371
- thirdResult = _t13;
20372
- result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
20373
- result.hasNext = _secondResult.hasNext;
20374
- messageQuery.reverse = true;
20375
- _context10.n = 32;
20376
- return effects.put(setMessagesHasPrevAC(_secondResult.hasNext));
20377
- case 32:
20378
- _context10.n = 33;
20379
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20380
- case 33:
20381
- setMessagesToMap(channel.id, result.messages);
20382
- setAllMessages([].concat(result.messages));
20383
- setHasPrevCached(false);
20384
- setHasNextCached(false);
20385
- case 34:
20386
- _context10.n = 35;
20387
- return effects.put(setMessagesHasNextAC(true));
20388
- case 35:
20389
- if (!scrollToMessage) {
20390
- _context10.n = 36;
20391
- break;
20392
- }
20393
- _context10.n = 36;
20394
- return effects.put(setScrollToMessagesAC(messageId, true, behavior));
20395
20622
  case 36:
20623
+ thirdResult = _t13;
20624
+ result.messages = [].concat(result.messages, thirdResult.messages);
20396
20625
  _context10.n = 37;
20397
- return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20626
+ return effects.put(addMessagesAC(JSON.parse(JSON.stringify(thirdResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
20398
20627
  case 37:
20399
- _context10.n = 72;
20400
- break;
20401
- case 38:
20402
- if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20403
- _context10.n = 61;
20404
- break;
20405
- }
20406
- setMessagesToMap(channel.id, []);
20407
- setAllMessages([]);
20408
- messageQuery.limit = MESSAGES_MAX_LENGTH;
20409
- if (!Number(channel.lastDisplayedMessageId)) {
20410
- _context10.n = 50;
20628
+ if (!(secondResult.hasNext && !thirdResult.hasNext)) {
20629
+ _context10.n = 42;
20411
20630
  break;
20412
20631
  }
20632
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
20413
20633
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20414
- _context10.n = 40;
20634
+ _context10.n = 39;
20415
20635
  break;
20416
20636
  }
20417
- _context10.n = 39;
20418
- return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20419
- case 39:
20637
+ _context10.n = 38;
20638
+ return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20639
+ case 38:
20420
20640
  _t14 = _context10.v;
20421
- _context10.n = 41;
20641
+ _context10.n = 40;
20422
20642
  break;
20423
- case 40:
20643
+ case 39:
20424
20644
  _t14 = {
20425
20645
  messages: [],
20426
20646
  hasNext: false
20427
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));
20428
20653
  case 41:
20429
- result = _t14;
20430
- if (!(result.messages.length === 50)) {
20431
- _context10.n = 49;
20654
+ _context10.n = 46;
20655
+ break;
20656
+ case 42:
20657
+ if (!(!secondResult.hasNext && thirdResult.hasNext)) {
20658
+ _context10.n = 46;
20432
20659
  break;
20433
20660
  }
20434
- 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;
20435
20662
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20436
- _context10.n = 43;
20663
+ _context10.n = 44;
20437
20664
  break;
20438
20665
  }
20439
- _context10.n = 42;
20440
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20441
- case 42:
20666
+ _context10.n = 43;
20667
+ return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20668
+ case 43:
20442
20669
  _t15 = _context10.v;
20443
- _context10.n = 44;
20670
+ _context10.n = 45;
20444
20671
  break;
20445
- case 43:
20672
+ case 44:
20446
20673
  _t15 = {
20447
20674
  messages: [],
20448
20675
  hasNext: false
20449
20676
  };
20450
- case 44:
20451
- _secondResult2 = _t15;
20452
- if (!(channel.newMessageCount > 25)) {
20453
- _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;
20454
20714
  break;
20455
20715
  }
20456
- messageQuery.reverse = false;
20457
20716
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20458
- _context10.n = 46;
20717
+ _context10.n = 54;
20459
20718
  break;
20460
20719
  }
20461
- _context10.n = 45;
20462
- return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20463
- case 45:
20720
+ _context10.n = 53;
20721
+ return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20722
+ case 53:
20464
20723
  _t16 = _context10.v;
20465
- _context10.n = 47;
20724
+ _context10.n = 55;
20466
20725
  break;
20467
- case 46:
20726
+ case 54:
20468
20727
  _t16 = {
20469
20728
  messages: [],
20470
20729
  hasNext: false
20471
20730
  };
20472
- case 47:
20473
- _thirdResult = _t16;
20474
- result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
20475
- messageQuery.reverse = true;
20476
- _context10.n = 49;
20477
- break;
20478
- case 48:
20479
- result.messages = [].concat(_secondResult2.messages, result.messages);
20480
- case 49:
20481
- _context10.n = 57;
20731
+ case 55:
20732
+ result = _t16;
20733
+ _context10.n = 60;
20482
20734
  break;
20483
- case 50:
20735
+ case 56:
20484
20736
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20485
- _context10.n = 52;
20737
+ _context10.n = 58;
20486
20738
  break;
20487
20739
  }
20488
- _context10.n = 51;
20740
+ _context10.n = 57;
20489
20741
  return effects.call(messageQuery.loadPrevious);
20490
- case 51:
20742
+ case 57:
20491
20743
  _t17 = _context10.v;
20492
- _context10.n = 53;
20744
+ _context10.n = 59;
20493
20745
  break;
20494
- case 52:
20746
+ case 58:
20495
20747
  _t17 = {
20496
20748
  messages: [],
20497
20749
  hasNext: false
20498
20750
  };
20499
- case 53:
20751
+ case 59:
20500
20752
  result = _t17;
20501
- if (!(result.messages.length === 50)) {
20502
- _context10.n = 57;
20503
- break;
20504
- }
20505
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20506
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20507
- _context10.n = 55;
20508
- break;
20509
- }
20510
- _context10.n = 54;
20511
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20512
- case 54:
20513
- _t18 = _context10.v;
20514
- _context10.n = 56;
20515
- break;
20516
- case 55:
20517
- _t18 = {
20518
- messages: [],
20519
- hasNext: false
20520
- };
20521
- case 56:
20522
- _secondResult3 = _t18;
20523
- result.messages = [].concat(_secondResult3.messages, result.messages);
20524
- result.hasNext = _secondResult3.hasNext;
20525
- case 57:
20526
- _context10.n = 58;
20753
+ case 60:
20754
+ _context10.n = 61;
20527
20755
  return effects.put(setMessagesHasPrevAC(true));
20528
- case 58:
20529
- _context10.n = 59;
20756
+ case 61:
20757
+ _context10.n = 62;
20530
20758
  return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20531
- case 59:
20532
- 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);
20533
20761
  setAllMessages([].concat(result.messages));
20534
- _context10.n = 60;
20762
+ _context10.n = 63;
20535
20763
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20536
- case 60:
20537
- _context10.n = 72;
20764
+ case 63:
20765
+ _context10.n = 77;
20538
20766
  break;
20539
- case 61:
20540
- setMessagesToMap(channel.id, []);
20541
- setAllMessages([]);
20767
+ case 64:
20542
20768
  if (!(cachedMessages && cachedMessages.length)) {
20543
- _context10.n = 62;
20769
+ _context10.n = 66;
20544
20770
  break;
20545
20771
  }
20546
- setMessagesToMap(channel.id, []);
20547
- setAllMessages([].concat(cachedMessages));
20548
- _context10.n = 62;
20549
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
20550
- 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:
20551
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
+ }
20552
20790
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20553
- _context10.n = 64;
20791
+ _context10.n = 68;
20554
20792
  break;
20555
20793
  }
20556
- _context10.n = 63;
20557
- return effects.call(messageQuery.loadPrevious);
20558
- case 63:
20559
- _t19 = _context10.v;
20560
- _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;
20561
20799
  break;
20562
- case 64:
20563
- _t19 = {
20800
+ case 68:
20801
+ _t18 = {
20564
20802
  messages: [],
20565
20803
  hasNext: false
20566
20804
  };
20567
- case 65:
20568
- result = _t19;
20569
- if (!(result.messages.length === 50)) {
20570
- _context10.n = 69;
20571
- break;
20572
- }
20573
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20805
+ case 69:
20806
+ result = _t18;
20807
+ _context10.n = 74;
20808
+ break;
20809
+ case 70:
20574
20810
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20575
- _context10.n = 67;
20811
+ _context10.n = 72;
20576
20812
  break;
20577
20813
  }
20578
- _context10.n = 66;
20579
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20580
- case 66:
20581
- _t20 = _context10.v;
20582
- _context10.n = 68;
20814
+ _context10.n = 71;
20815
+ return effects.call(messageQuery.loadPrevious);
20816
+ case 71:
20817
+ _t19 = _context10.v;
20818
+ _context10.n = 73;
20583
20819
  break;
20584
- case 67:
20585
- _t20 = {
20820
+ case 72:
20821
+ _t19 = {
20586
20822
  messages: [],
20587
20823
  hasNext: false
20588
20824
  };
20589
- case 68:
20590
- _secondResult4 = _t20;
20591
- result.messages = [].concat(_secondResult4.messages, result.messages);
20592
- result.hasNext = _secondResult4.hasNext;
20593
- case 69:
20825
+ case 73:
20826
+ result = _t19;
20827
+ case 74:
20594
20828
  updatedMessages = [];
20595
20829
  result.messages.forEach(function (msg) {
20596
20830
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20600,70 +20834,73 @@ function getMessagesQuery(action) {
20600
20834
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20601
20835
  updatedMessages.push(updatedMessage || msg);
20602
20836
  });
20603
- _context10.n = 70;
20604
- return effects.call(updateMessages, channel, updatedMessages);
20605
- case 70:
20606
- _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;
20607
20842
  return effects.put(setMessagesHasPrevAC(true));
20608
- case 71:
20609
- _context10.n = 72;
20843
+ case 76:
20844
+ _context10.n = 77;
20610
20845
  return effects.put(setMessagesHasNextAC(false));
20611
- case 72:
20612
- pendingMessages = getPendingMessages(channel.id);
20613
- if (!(pendingMessages && pendingMessages.length)) {
20614
- _context10.n = 73;
20615
- break;
20616
- }
20617
- _messagesMap = {};
20618
- result.messages.forEach(function (msg) {
20619
- _messagesMap[msg.tid || ''] = msg;
20620
- });
20621
- filteredPendingMessages = pendingMessages.filter(function (msg) {
20622
- return !_messagesMap[msg.tid || ''];
20623
- });
20624
- _context10.n = 73;
20846
+ case 77:
20847
+ filteredPendingMessages = getFilteredPendingMessages(result.messages);
20848
+ _context10.n = 78;
20625
20849
  return effects.put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20626
- case 73:
20850
+ case 78:
20627
20851
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20628
20852
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20629
- _context10.n = 75;
20853
+ _context10.n = 80;
20630
20854
  break;
20631
20855
  }
20632
- _context10.n = 74;
20856
+ _context10.n = 79;
20633
20857
  return effects.put(setWaitToSendPendingMessagesAC(false));
20634
- case 74:
20635
- _context10.n = 75;
20858
+ case 79:
20859
+ _context10.n = 80;
20636
20860
  return effects.spawn(sendPendingMessages, connectionState);
20637
- case 75:
20638
- _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;
20639
20876
  break;
20640
- case 76:
20641
- if (!channel.isMockChannel) {
20642
- _context10.n = 77;
20877
+ case 84:
20878
+ if (!(channel !== null && channel !== void 0 && channel.isMockChannel)) {
20879
+ _context10.n = 85;
20643
20880
  break;
20644
20881
  }
20645
- _context10.n = 77;
20882
+ _context10.n = 85;
20646
20883
  return effects.put(setMessagesAC([]));
20647
- case 77:
20648
- _context10.n = 79;
20884
+ case 85:
20885
+ _context10.n = 87;
20649
20886
  break;
20650
- case 78:
20651
- _context10.p = 78;
20652
- _t21 = _context10.v;
20653
- log.error('error in message query', _t21);
20654
- case 79:
20655
- _context10.p = 79;
20656
- _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;
20657
20894
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20658
- case 80:
20659
- return _context10.f(79);
20660
- case 81:
20895
+ case 88:
20896
+ return _context10.f(87);
20897
+ case 89:
20661
20898
  return _context10.a(2);
20662
20899
  }
20663
- }, _marked7$1, null, [[0, 78, 79, 81]]);
20900
+ }, _marked7$1, null, [[0, 86, 87, 89]]);
20664
20901
  }
20665
20902
  function getMessageQuery(action) {
20666
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t22;
20903
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t21;
20667
20904
  return _regenerator().w(function (_context11) {
20668
20905
  while (1) switch (_context11.p = _context11.n) {
20669
20906
  case 0:
@@ -20713,15 +20950,15 @@ function getMessageQuery(action) {
20713
20950
  break;
20714
20951
  case 7:
20715
20952
  _context11.p = 7;
20716
- _t22 = _context11.v;
20717
- log.error('error in message query', _t22);
20953
+ _t21 = _context11.v;
20954
+ log.error('error in message query', _t21);
20718
20955
  case 8:
20719
20956
  return _context11.a(2);
20720
20957
  }
20721
20958
  }, _marked8$1, null, [[0, 7]]);
20722
20959
  }
20723
20960
  function loadMoreMessages(action) {
20724
- 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;
20725
20962
  return _regenerator().w(function (_context12) {
20726
20963
  while (1) switch (_context12.p = _context12.n) {
20727
20964
  case 0:
@@ -20765,7 +21002,7 @@ function loadMoreMessages(action) {
20765
21002
  result = _context12.v;
20766
21003
  if (result.messages.length) {
20767
21004
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.PREV);
20768
- 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);
20769
21006
  }
20770
21007
  _context12.n = 5;
20771
21008
  return effects.put(setMessagesHasPrevAC(result.hasNext));
@@ -20793,7 +21030,7 @@ function loadMoreMessages(action) {
20793
21030
  result = _context12.v;
20794
21031
  if (result.messages.length) {
20795
21032
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.NEXT);
20796
- 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);
20797
21034
  }
20798
21035
  _context12.n = 9;
20799
21036
  return effects.put(setMessagesHasNextAC(result.hasNext));
@@ -20834,15 +21071,15 @@ function loadMoreMessages(action) {
20834
21071
  break;
20835
21072
  case 18:
20836
21073
  _context12.p = 18;
20837
- _t23 = _context12.v;
20838
- log.error('error in load more messages', _t23);
21074
+ _t22 = _context12.v;
21075
+ log.error('error in load more messages', _t22);
20839
21076
  case 19:
20840
21077
  return _context12.a(2);
20841
21078
  }
20842
21079
  }, _marked9$1, null, [[0, 18]]);
20843
21080
  }
20844
21081
  function addReaction(action) {
20845
- 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;
20846
21083
  return _regenerator().w(function (_context13) {
20847
21084
  while (1) switch (_context13.p = _context13.n) {
20848
21085
  case 0:
@@ -20895,15 +21132,15 @@ function addReaction(action) {
20895
21132
  break;
20896
21133
  case 8:
20897
21134
  _context13.p = 8;
20898
- _t24 = _context13.v;
20899
- log.error('ERROR in add reaction', _t24.message);
21135
+ _t23 = _context13.v;
21136
+ log.error('ERROR in add reaction', _t23.message);
20900
21137
  case 9:
20901
21138
  return _context13.a(2);
20902
21139
  }
20903
21140
  }, _marked0$1, null, [[0, 8]]);
20904
21141
  }
20905
21142
  function deleteReaction(action) {
20906
- 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;
20907
21144
  return _regenerator().w(function (_context14) {
20908
21145
  while (1) switch (_context14.p = _context14.n) {
20909
21146
  case 0:
@@ -20951,15 +21188,15 @@ function deleteReaction(action) {
20951
21188
  break;
20952
21189
  case 7:
20953
21190
  _context14.p = 7;
20954
- _t25 = _context14.v;
20955
- log.error('ERROR in delete reaction', _t25.message);
21191
+ _t24 = _context14.v;
21192
+ log.error('ERROR in delete reaction', _t24.message);
20956
21193
  case 8:
20957
21194
  return _context14.a(2);
20958
21195
  }
20959
21196
  }, _marked1$1, null, [[0, 7]]);
20960
21197
  }
20961
21198
  function getReactions(action) {
20962
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t26;
21199
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t25;
20963
21200
  return _regenerator().w(function (_context15) {
20964
21201
  while (1) switch (_context15.p = _context15.n) {
20965
21202
  case 0:
@@ -20994,15 +21231,15 @@ function getReactions(action) {
20994
21231
  break;
20995
21232
  case 6:
20996
21233
  _context15.p = 6;
20997
- _t26 = _context15.v;
20998
- log.error('ERROR in get reactions', _t26.message);
21234
+ _t25 = _context15.v;
21235
+ log.error('ERROR in get reactions', _t25.message);
20999
21236
  case 7:
21000
21237
  return _context15.a(2);
21001
21238
  }
21002
21239
  }, _marked10$1, null, [[0, 6]]);
21003
21240
  }
21004
21241
  function loadMoreReactions(action) {
21005
- var payload, limit, ReactionQuery, result, _t27;
21242
+ var payload, limit, ReactionQuery, result, _t26;
21006
21243
  return _regenerator().w(function (_context16) {
21007
21244
  while (1) switch (_context16.p = _context16.n) {
21008
21245
  case 0:
@@ -21030,15 +21267,15 @@ function loadMoreReactions(action) {
21030
21267
  break;
21031
21268
  case 5:
21032
21269
  _context16.p = 5;
21033
- _t27 = _context16.v;
21034
- log.error('ERROR in load more reactions', _t27.message);
21270
+ _t26 = _context16.v;
21271
+ log.error('ERROR in load more reactions', _t26.message);
21035
21272
  case 6:
21036
21273
  return _context16.a(2);
21037
21274
  }
21038
21275
  }, _marked11$1, null, [[0, 5]]);
21039
21276
  }
21040
21277
  function getMessageAttachments(action) {
21041
- 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;
21042
21279
  return _regenerator().w(function (_context17) {
21043
21280
  while (1) switch (_context17.p = _context17.n) {
21044
21281
  case 0:
@@ -21116,15 +21353,15 @@ function getMessageAttachments(action) {
21116
21353
  break;
21117
21354
  case 13:
21118
21355
  _context17.p = 13;
21119
- _t28 = _context17.v;
21120
- log.error('error in message attachment query', _t28);
21356
+ _t27 = _context17.v;
21357
+ log.error('error in message attachment query', _t27);
21121
21358
  case 14:
21122
21359
  return _context17.a(2);
21123
21360
  }
21124
21361
  }, _marked12$1, null, [[0, 13]]);
21125
21362
  }
21126
21363
  function loadMoreMessageAttachments(action) {
21127
- 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;
21128
21365
  return _regenerator().w(function (_context18) {
21129
21366
  while (1) switch (_context18.p = _context18.n) {
21130
21367
  case 0:
@@ -21168,15 +21405,15 @@ function loadMoreMessageAttachments(action) {
21168
21405
  break;
21169
21406
  case 8:
21170
21407
  _context18.p = 8;
21171
- _t29 = _context18.v;
21172
- log.error('error in message attachment query', _t29);
21408
+ _t28 = _context18.v;
21409
+ log.error('error in message attachment query', _t28);
21173
21410
  case 9:
21174
21411
  return _context18.a(2);
21175
21412
  }
21176
21413
  }, _marked13$1, null, [[0, 8]]);
21177
21414
  }
21178
21415
  function pauseAttachmentUploading(action) {
21179
- var attachmentId, isPaused, _t30;
21416
+ var attachmentId, isPaused, _t29;
21180
21417
  return _regenerator().w(function (_context19) {
21181
21418
  while (1) switch (_context19.p = _context19.n) {
21182
21419
  case 0:
@@ -21198,15 +21435,15 @@ function pauseAttachmentUploading(action) {
21198
21435
  break;
21199
21436
  case 2:
21200
21437
  _context19.p = 2;
21201
- _t30 = _context19.v;
21202
- log.error('error in pause attachment uploading', _t30);
21438
+ _t29 = _context19.v;
21439
+ log.error('error in pause attachment uploading', _t29);
21203
21440
  case 3:
21204
21441
  return _context19.a(2);
21205
21442
  }
21206
21443
  }, _marked14$1, null, [[0, 2]]);
21207
21444
  }
21208
21445
  function resumeAttachmentUploading(action) {
21209
- var attachmentId, isResumed, _t31;
21446
+ var attachmentId, isResumed, _t30;
21210
21447
  return _regenerator().w(function (_context20) {
21211
21448
  while (1) switch (_context20.p = _context20.n) {
21212
21449
  case 0:
@@ -21229,15 +21466,15 @@ function resumeAttachmentUploading(action) {
21229
21466
  break;
21230
21467
  case 2:
21231
21468
  _context20.p = 2;
21232
- _t31 = _context20.v;
21233
- log.error('error in resume attachment uploading', _t31);
21469
+ _t30 = _context20.v;
21470
+ log.error('error in resume attachment uploading', _t30);
21234
21471
  case 3:
21235
21472
  return _context20.a(2);
21236
21473
  }
21237
21474
  }, _marked15$1, null, [[0, 2]]);
21238
21475
  }
21239
21476
  function getMessageMarkers(action) {
21240
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t32;
21477
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t31;
21241
21478
  return _regenerator().w(function (_context21) {
21242
21479
  while (1) switch (_context21.p = _context21.n) {
21243
21480
  case 0:
@@ -21267,8 +21504,8 @@ function getMessageMarkers(action) {
21267
21504
  break;
21268
21505
  case 5:
21269
21506
  _context21.p = 5;
21270
- _t32 = _context21.v;
21271
- log.error('error in get message markers', _t32);
21507
+ _t31 = _context21.v;
21508
+ log.error('error in get message markers', _t31);
21272
21509
  case 6:
21273
21510
  _context21.p = 6;
21274
21511
  _context21.n = 7;
@@ -21280,9 +21517,9 @@ function getMessageMarkers(action) {
21280
21517
  }
21281
21518
  }, _marked16$1, null, [[0, 5, 6, 8]]);
21282
21519
  }
21283
- function executeAddPollVote(channelId, pollId, optionId, message, isResend) {
21520
+ function executeAddPollVote(channelId, pollId, optionId, message) {
21284
21521
  var _user$presence, _message$pollDetails, _message$pollDetails2, _message$pollDetails3, _message$pollDetails4;
21285
- 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;
21286
21523
  return _regenerator().w(function (_context22) {
21287
21524
  while (1) switch (_context22.n) {
21288
21525
  case 0:
@@ -21331,38 +21568,16 @@ function executeAddPollVote(channelId, pollId, optionId, message, isResend) {
21331
21568
  vote: vote,
21332
21569
  incrementVotesPerOptionCount: 1
21333
21570
  });
21334
- if (isResend) {
21335
- _context22.n = 5;
21336
- break;
21337
- }
21338
- _iterator2 = _createForOfIteratorHelperLoose(objs);
21339
- case 3:
21340
- if ((_step2 = _iterator2()).done) {
21341
- _context22.n = 5;
21571
+ if (!(channel && message.id)) {
21572
+ _context22.n = 4;
21342
21573
  break;
21343
21574
  }
21344
- obj = _step2.value;
21345
- updateMessageOnMap(channel.id, {
21346
- messageId: message.id,
21347
- params: {}
21348
- }, obj);
21349
- updateMessageOnAllMessages(message.id, {}, obj);
21350
- _context22.n = 4;
21351
- return effects.put(updateMessageAC(message.id, {}, undefined, obj));
21352
- case 4:
21353
21575
  _context22.n = 3;
21354
- break;
21355
- case 5:
21356
- if (!channel) {
21357
- _context22.n = 7;
21358
- break;
21359
- }
21360
- _context22.n = 6;
21361
21576
  return effects.call(channel.addVote, message.id, pollId, [optionId]);
21362
- case 6:
21363
- _context22.n = 7;
21577
+ case 3:
21578
+ _context22.n = 4;
21364
21579
  return effects.put(removePendingPollActionAC(message.id, 'ADD_POLL_VOTE', optionId));
21365
- case 7:
21580
+ case 4:
21366
21581
  return _context22.a(2);
21367
21582
  }
21368
21583
  }, _marked17$1);
@@ -21406,7 +21621,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21406
21621
  }, _marked18$1);
21407
21622
  }
21408
21623
  function addPollVote(action) {
21409
- 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;
21410
21625
  return _regenerator().w(function (_context24) {
21411
21626
  while (1) switch (_context24.p = _context24.n) {
21412
21627
  case 0:
@@ -21415,10 +21630,9 @@ function addPollVote(action) {
21415
21630
  channelId = payload.channelId, pollId = payload.pollId, optionId = payload.optionId, message = payload.message, isResend = payload.isResend;
21416
21631
  sceytChatClient = getClient();
21417
21632
  if (!sceytChatClient) {
21418
- _context24.n = 7;
21633
+ _context24.n = 6;
21419
21634
  break;
21420
21635
  }
21421
- connectionState = sceytChatClient.connectionState;
21422
21636
  user = sceytChatClient.user;
21423
21637
  vote = {
21424
21638
  optionId: optionId,
@@ -21441,10 +21655,6 @@ function addPollVote(action) {
21441
21655
  createdAt: new Date().getTime()
21442
21656
  }
21443
21657
  };
21444
- if (!(connectionState !== CONNECTION_STATUS.CONNECTED)) {
21445
- _context24.n = 6;
21446
- break;
21447
- }
21448
21658
  pendingAction = {
21449
21659
  type: 'ADD_POLL_VOTE',
21450
21660
  channelId: channelId,
@@ -21465,7 +21675,7 @@ function addPollVote(action) {
21465
21675
  _context24.n = 3;
21466
21676
  break;
21467
21677
  }
21468
- 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) {
21469
21679
  return msg.id === message.id || msg.tid === message.id;
21470
21680
  })) || message;
21471
21681
  hasNext = ((_store$getState$Messa = store.getState().MessageReducer.pollVotesHasMore) === null || _store$getState$Messa === void 0 ? void 0 : _store$getState$Messa[pollId]) || false;
@@ -21494,27 +21704,25 @@ function addPollVote(action) {
21494
21704
  }
21495
21705
  return _context24.d(_regeneratorValues(updateMessageOptimisticallyForAddPollVote(channelId, message, vote)), 5);
21496
21706
  case 5:
21497
- if (!conflictCheck.shouldSkip) {
21707
+ if (!conflictCheck.shouldSkip && !isResend) {
21498
21708
  setPendingPollAction(pendingAction);
21499
21709
  }
21500
- return _context24.a(2);
21710
+ return _context24.d(_regeneratorValues(executeAddPollVote(channelId, pollId, optionId, message)), 6);
21501
21711
  case 6:
21502
- return _context24.d(_regeneratorValues(executeAddPollVote(channelId, pollId, optionId, message, isResend)), 7);
21503
- case 7:
21504
- _context24.n = 9;
21712
+ _context24.n = 8;
21505
21713
  break;
21714
+ case 7:
21715
+ _context24.p = 7;
21716
+ _t32 = _context24.v;
21717
+ log.error('error in add poll vote', _t32);
21506
21718
  case 8:
21507
- _context24.p = 8;
21508
- _t33 = _context24.v;
21509
- log.error('error in add poll vote', _t33);
21510
- case 9:
21511
21719
  return _context24.a(2);
21512
21720
  }
21513
- }, _marked19$1, null, [[0, 8]]);
21721
+ }, _marked19$1, null, [[0, 7]]);
21514
21722
  }
21515
- function executeDeletePollVote(channelId, pollId, optionId, message, isResend) {
21723
+ function executeDeletePollVote(channelId, pollId, optionId, message) {
21516
21724
  var _message$pollDetails8, _message$pollDetails9, _message$pollDetails0;
21517
- var channel, vote, obj;
21725
+ var channel, vote;
21518
21726
  return _regenerator().w(function (_context25) {
21519
21727
  while (1) switch (_context25.n) {
21520
21728
  case 0:
@@ -21537,33 +21745,16 @@ function executeDeletePollVote(channelId, pollId, optionId, message, isResend) {
21537
21745
  }
21538
21746
  return _context25.a(2);
21539
21747
  case 3:
21540
- obj = {
21541
- type: 'deleteOwn',
21542
- vote: vote,
21543
- incrementVotesPerOptionCount: -1
21544
- };
21545
- if (isResend) {
21546
- _context25.n = 4;
21748
+ if (!(channel && message.id)) {
21749
+ _context25.n = 5;
21547
21750
  break;
21548
21751
  }
21549
- updateMessageOnMap(channel.id, {
21550
- messageId: message.id,
21551
- params: {}
21552
- }, obj);
21553
- updateMessageOnAllMessages(message.id, {}, obj);
21554
21752
  _context25.n = 4;
21555
- return effects.put(updateMessageAC(message.id, {}, undefined, obj));
21753
+ return effects.call(channel.deleteVote, message.id, pollId, [optionId]);
21556
21754
  case 4:
21557
- if (!channel) {
21558
- _context25.n = 6;
21559
- break;
21560
- }
21561
21755
  _context25.n = 5;
21562
- return effects.call(channel.deleteVote, message.id, pollId, [optionId]);
21563
- case 5:
21564
- _context25.n = 6;
21565
21756
  return effects.put(removePendingPollActionAC(message.id, 'DELETE_POLL_VOTE', optionId));
21566
- case 6:
21757
+ case 5:
21567
21758
  return _context25.a(2);
21568
21759
  }
21569
21760
  }, _marked20$1);
@@ -21607,7 +21798,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21607
21798
  }, _marked21$1);
21608
21799
  }
21609
21800
  function deletePollVote(action) {
21610
- 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;
21611
21802
  return _regenerator().w(function (_context27) {
21612
21803
  while (1) switch (_context27.p = _context27.n) {
21613
21804
  case 0:
@@ -21616,10 +21807,9 @@ function deletePollVote(action) {
21616
21807
  channelId = payload.channelId, pollId = payload.pollId, optionId = payload.optionId, message = payload.message, isResend = payload.isResend;
21617
21808
  sceytChatClient = getClient();
21618
21809
  if (!sceytChatClient) {
21619
- _context27.n = 8;
21810
+ _context27.n = 7;
21620
21811
  break;
21621
21812
  }
21622
- connectionState = sceytChatClient.connectionState;
21623
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) {
21624
21814
  return vote.optionId === optionId;
21625
21815
  });
@@ -21629,10 +21819,6 @@ function deletePollVote(action) {
21629
21819
  }
21630
21820
  return _context27.a(2);
21631
21821
  case 1:
21632
- if (!(connectionState !== CONNECTION_STATUS.CONNECTED)) {
21633
- _context27.n = 7;
21634
- break;
21635
- }
21636
21822
  pendingAction = {
21637
21823
  type: 'DELETE_POLL_VOTE',
21638
21824
  channelId: channelId,
@@ -21653,7 +21839,7 @@ function deletePollVote(action) {
21653
21839
  _context27.n = 4;
21654
21840
  break;
21655
21841
  }
21656
- 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) {
21657
21843
  return msg.id === message.id || msg.tid === message.id;
21658
21844
  })) || message;
21659
21845
  _context27.n = 3;
@@ -21681,23 +21867,21 @@ function deletePollVote(action) {
21681
21867
  }
21682
21868
  return _context27.d(_regeneratorValues(updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)), 6);
21683
21869
  case 6:
21684
- if (!conflictCheck.shouldSkip) {
21870
+ if (!conflictCheck.shouldSkip && !isResend) {
21685
21871
  setPendingPollAction(pendingAction);
21686
21872
  }
21687
- return _context27.a(2);
21873
+ return _context27.d(_regeneratorValues(executeDeletePollVote(channelId, pollId, optionId, message)), 7);
21688
21874
  case 7:
21689
- return _context27.d(_regeneratorValues(executeDeletePollVote(channelId, pollId, optionId, message, isResend)), 8);
21690
- case 8:
21691
- _context27.n = 10;
21875
+ _context27.n = 9;
21692
21876
  break;
21877
+ case 8:
21878
+ _context27.p = 8;
21879
+ _t33 = _context27.v;
21880
+ log.error('error in delete poll vote', _t33);
21693
21881
  case 9:
21694
- _context27.p = 9;
21695
- _t34 = _context27.v;
21696
- log.error('error in delete poll vote', _t34);
21697
- case 10:
21698
21882
  return _context27.a(2);
21699
21883
  }
21700
- }, _marked22$1, null, [[0, 9]]);
21884
+ }, _marked22$1, null, [[0, 8]]);
21701
21885
  }
21702
21886
  function executeClosePoll(channelId, pollId, message) {
21703
21887
  var channel, obj;
@@ -21720,7 +21904,7 @@ function executeClosePoll(channelId, pollId, message) {
21720
21904
  _context28.n = 2;
21721
21905
  return effects.put(updateMessageAC(message.id, {}, undefined, obj));
21722
21906
  case 2:
21723
- if (!channel) {
21907
+ if (!(channel && message.id)) {
21724
21908
  _context28.n = 4;
21725
21909
  break;
21726
21910
  }
@@ -21771,7 +21955,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
21771
21955
  }, _marked24$1);
21772
21956
  }
21773
21957
  function closePoll(action) {
21774
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t35;
21958
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t34;
21775
21959
  return _regenerator().w(function (_context30) {
21776
21960
  while (1) switch (_context30.p = _context30.n) {
21777
21961
  case 0:
@@ -21804,15 +21988,15 @@ function closePoll(action) {
21804
21988
  break;
21805
21989
  case 4:
21806
21990
  _context30.p = 4;
21807
- _t35 = _context30.v;
21808
- log.error('error in close poll', _t35);
21991
+ _t34 = _context30.v;
21992
+ log.error('error in close poll', _t34);
21809
21993
  case 5:
21810
21994
  return _context30.a(2);
21811
21995
  }
21812
21996
  }, _marked25$1, null, [[0, 4]]);
21813
21997
  }
21814
21998
  function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21815
- var channel, _iterator3, _step3, obj;
21999
+ var channel, _iterator2, _step2, obj;
21816
22000
  return _regenerator().w(function (_context31) {
21817
22001
  while (1) switch (_context31.n) {
21818
22002
  case 0:
@@ -21824,13 +22008,13 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21824
22008
  _context31.n = 4;
21825
22009
  break;
21826
22010
  }
21827
- _iterator3 = _createForOfIteratorHelperLoose(objs);
22011
+ _iterator2 = _createForOfIteratorHelperLoose(objs);
21828
22012
  case 2:
21829
- if ((_step3 = _iterator3()).done) {
22013
+ if ((_step2 = _iterator2()).done) {
21830
22014
  _context31.n = 4;
21831
22015
  break;
21832
22016
  }
21833
- obj = _step3.value;
22017
+ obj = _step2.value;
21834
22018
  updateMessageOnMap(channelId, {
21835
22019
  messageId: message.id,
21836
22020
  params: {}
@@ -21842,7 +22026,7 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21842
22026
  _context31.n = 2;
21843
22027
  break;
21844
22028
  case 4:
21845
- if (!channel) {
22029
+ if (!(channel && message.id)) {
21846
22030
  _context31.n = 6;
21847
22031
  break;
21848
22032
  }
@@ -21857,7 +22041,7 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21857
22041
  }, _marked26$1);
21858
22042
  }
21859
22043
  function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs) {
21860
- var channel, _iterator4, _step4, obj;
22044
+ var channel, _iterator3, _step3, obj;
21861
22045
  return _regenerator().w(function (_context32) {
21862
22046
  while (1) switch (_context32.n) {
21863
22047
  case 0:
@@ -21871,13 +22055,13 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21871
22055
  }
21872
22056
  return _context32.a(2);
21873
22057
  case 2:
21874
- _iterator4 = _createForOfIteratorHelperLoose(objs);
22058
+ _iterator3 = _createForOfIteratorHelperLoose(objs);
21875
22059
  case 3:
21876
- if ((_step4 = _iterator4()).done) {
22060
+ if ((_step3 = _iterator3()).done) {
21877
22061
  _context32.n = 5;
21878
22062
  break;
21879
22063
  }
21880
- obj = _step4.value;
22064
+ obj = _step3.value;
21881
22065
  updateMessageOnMap(channelId, {
21882
22066
  messageId: message.id,
21883
22067
  params: {}
@@ -21894,7 +22078,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21894
22078
  }, _marked27$1);
21895
22079
  }
21896
22080
  function retractPollVote(action) {
21897
- 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;
21898
22082
  return _regenerator().w(function (_context33) {
21899
22083
  while (1) switch (_context33.p = _context33.n) {
21900
22084
  case 0:
@@ -21908,8 +22092,8 @@ function retractPollVote(action) {
21908
22092
  }
21909
22093
  connectionState = sceytChatClient.connectionState;
21910
22094
  objs = [];
21911
- 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;) {
21912
- 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;
21913
22097
  objs.push({
21914
22098
  type: 'deleteOwn',
21915
22099
  vote: vote,
@@ -21936,15 +22120,15 @@ function retractPollVote(action) {
21936
22120
  break;
21937
22121
  case 4:
21938
22122
  _context33.p = 4;
21939
- _t36 = _context33.v;
21940
- log.error('error in retract poll vote', _t36);
22123
+ _t35 = _context33.v;
22124
+ log.error('error in retract poll vote', _t35);
21941
22125
  case 5:
21942
22126
  return _context33.a(2);
21943
22127
  }
21944
22128
  }, _marked28$1, null, [[0, 4]]);
21945
22129
  }
21946
22130
  function resendPendingPollActions(action) {
21947
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t37;
22131
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t36;
21948
22132
  return _regenerator().w(function (_context34) {
21949
22133
  while (1) switch (_context34.p = _context34.n) {
21950
22134
  case 0:
@@ -21960,13 +22144,6 @@ function resendPendingPollActions(action) {
21960
22144
  case 1:
21961
22145
  pendingPollActionsMap = store.getState().MessageReducer.pendingPollActions;
21962
22146
  pendingPollActionsMapCopy = JSON.parse(JSON.stringify(pendingPollActionsMap));
21963
- _context34.n = 2;
21964
- return effects.call(function () {
21965
- return new Promise(function (resolve) {
21966
- return setTimeout(resolve, 1000);
21967
- });
21968
- });
21969
- case 2:
21970
22147
  Object.keys(pendingPollActionsMapCopy).forEach(function (messageId) {
21971
22148
  pendingPollActionsMapCopy[messageId].forEach(function (pendingAction) {
21972
22149
  var type = pendingAction.type,
@@ -21996,19 +22173,19 @@ function resendPendingPollActions(action) {
21996
22173
  }
21997
22174
  });
21998
22175
  });
21999
- _context34.n = 4;
22176
+ _context34.n = 3;
22000
22177
  break;
22178
+ case 2:
22179
+ _context34.p = 2;
22180
+ _t36 = _context34.v;
22181
+ log.error('error in resend pending poll actions', _t36);
22001
22182
  case 3:
22002
- _context34.p = 3;
22003
- _t37 = _context34.v;
22004
- log.error('error in resend pending poll actions', _t37);
22005
- case 4:
22006
22183
  return _context34.a(2);
22007
22184
  }
22008
- }, _marked29$1, null, [[0, 3]]);
22185
+ }, _marked29$1, null, [[0, 2]]);
22009
22186
  }
22010
22187
  function getPollVotes(action) {
22011
- 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;
22012
22189
  return _regenerator().w(function (_context35) {
22013
22190
  while (1) switch (_context35.p = _context35.n) {
22014
22191
  case 0:
@@ -22074,8 +22251,8 @@ function getPollVotes(action) {
22074
22251
  break;
22075
22252
  case 7:
22076
22253
  _context35.p = 7;
22077
- _t38 = _context35.v;
22078
- log.error('ERROR in get poll votes', _t38);
22254
+ _t37 = _context35.v;
22255
+ log.error('ERROR in get poll votes', _t37);
22079
22256
  _context35.n = 8;
22080
22257
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22081
22258
  case 8:
@@ -22084,7 +22261,7 @@ function getPollVotes(action) {
22084
22261
  }, _marked30$1, null, [[0, 7]]);
22085
22262
  }
22086
22263
  function loadMorePollVotes(action) {
22087
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t39;
22264
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t38;
22088
22265
  return _regenerator().w(function (_context36) {
22089
22266
  while (1) switch (_context36.p = _context36.n) {
22090
22267
  case 0:
@@ -22142,8 +22319,8 @@ function loadMorePollVotes(action) {
22142
22319
  break;
22143
22320
  case 6:
22144
22321
  _context36.p = 6;
22145
- _t39 = _context36.v;
22146
- log.error('ERROR in load more poll votes', _t39);
22322
+ _t38 = _context36.v;
22323
+ log.error('ERROR in load more poll votes', _t38);
22147
22324
  _context36.n = 7;
22148
22325
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22149
22326
  case 7:
@@ -22245,54 +22422,71 @@ var _marked$4 = /*#__PURE__*/_regenerator().m(getMembers),
22245
22422
  _marked8$2 = /*#__PURE__*/_regenerator().m(getRoles),
22246
22423
  _marked9$2 = /*#__PURE__*/_regenerator().m(MembersSaga);
22247
22424
  function getMembers(action) {
22248
- var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, _t;
22425
+ var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, hasNext, updateChannelData, _t;
22249
22426
  return _regenerator().w(function (_context) {
22250
22427
  while (1) switch (_context.p = _context.n) {
22251
22428
  case 0:
22252
22429
  _context.p = 0;
22430
+ _context.n = 1;
22431
+ return effects.put(setMembersHasNextAC(true));
22432
+ case 1:
22253
22433
  payload = action.payload;
22254
22434
  channelId = payload.channelId;
22255
22435
  if (channelId) {
22256
- _context.n = 1;
22436
+ _context.n = 2;
22257
22437
  break;
22258
22438
  }
22259
22439
  return _context.a(2);
22260
- case 1:
22440
+ case 2:
22261
22441
  SceytChatClient = getClient();
22262
22442
  membersQueryBuilder = new SceytChatClient.MemberListQueryBuilder(channelId);
22263
22443
  membersQueryBuilder.all().byAffiliationOrder().orderKeyByUsername().limit(50);
22264
- _context.n = 2;
22444
+ _context.n = 3;
22265
22445
  return effects.call(membersQueryBuilder.build);
22266
- case 2:
22446
+ case 3:
22267
22447
  membersQuery = _context.v;
22268
22448
  query.membersQuery = membersQuery;
22269
- _context.n = 3;
22270
- return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22271
- case 3:
22272
22449
  _context.n = 4;
22273
- return effects.call(membersQuery.loadNextPage);
22450
+ return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22274
22451
  case 4:
22275
- _yield$call = _context.v;
22276
- members = _yield$call.members;
22277
22452
  _context.n = 5;
22278
- return effects.put(setMembersToListAC(members));
22453
+ return effects.call(membersQuery.loadNextPage);
22279
22454
  case 5:
22455
+ _yield$call = _context.v;
22456
+ members = _yield$call.members;
22457
+ hasNext = _yield$call.hasNext;
22280
22458
  _context.n = 6;
22281
- return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22459
+ return effects.put(setMembersToListAC(members));
22282
22460
  case 6:
22461
+ _context.n = 7;
22462
+ return effects.put(setMembersHasNextAC(hasNext));
22463
+ case 7:
22283
22464
  _context.n = 8;
22465
+ return effects.call(updateActiveChannelMembersAdd, members) || {};
22466
+ case 8:
22467
+ updateChannelData = _context.v;
22468
+ _context.n = 9;
22469
+ return effects.put(updateChannelDataAC(channelId, updateChannelData));
22470
+ case 9:
22471
+ _context.n = 11;
22284
22472
  break;
22285
- case 7:
22286
- _context.p = 7;
22473
+ case 10:
22474
+ _context.p = 10;
22287
22475
  _t = _context.v;
22288
22476
  log.error('ERROR in get members - ', _t.message);
22289
- case 8:
22477
+ case 11:
22478
+ _context.p = 11;
22479
+ _context.n = 12;
22480
+ return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22481
+ case 12:
22482
+ return _context.f(11);
22483
+ case 13:
22290
22484
  return _context.a(2);
22291
22485
  }
22292
- }, _marked$4, null, [[0, 7]]);
22486
+ }, _marked$4, null, [[0, 10, 11, 13]]);
22293
22487
  }
22294
22488
  function loadMoreMembers(action) {
22295
- var payload, limit, channelId, membersQuery, _yield$call2, members, updateChannelData;
22489
+ var payload, limit, channelId, membersQuery, _yield$call2, members, hasNext, updateChannelData;
22296
22490
  return _regenerator().w(function (_context2) {
22297
22491
  while (1) switch (_context2.p = _context2.n) {
22298
22492
  case 0:
@@ -22312,27 +22506,34 @@ function loadMoreMembers(action) {
22312
22506
  case 2:
22313
22507
  _yield$call2 = _context2.v;
22314
22508
  members = _yield$call2.members;
22509
+ hasNext = _yield$call2.hasNext;
22315
22510
  _context2.n = 3;
22316
22511
  return effects.put(addMembersToListAC(members));
22317
22512
  case 3:
22318
22513
  _context2.n = 4;
22319
- return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22514
+ return effects.put(setMembersHasNextAC(hasNext));
22320
22515
  case 4:
22321
22516
  _context2.n = 5;
22322
22517
  return effects.call(updateActiveChannelMembersAdd, members) || {};
22323
22518
  case 5:
22324
22519
  updateChannelData = _context2.v;
22325
22520
  _context2.n = 6;
22326
- return effects.put(updateChannelDataAC(channelId, _extends({}, updateChannelData)));
22521
+ return effects.put(updateChannelDataAC(channelId, updateChannelData));
22327
22522
  case 6:
22328
22523
  _context2.n = 8;
22329
22524
  break;
22330
22525
  case 7:
22331
22526
  _context2.p = 7;
22332
22527
  case 8:
22528
+ _context2.p = 8;
22529
+ _context2.n = 9;
22530
+ return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22531
+ case 9:
22532
+ return _context2.f(8);
22533
+ case 10:
22333
22534
  return _context2.a(2);
22334
22535
  }
22335
- }, _marked2$3, null, [[0, 7]]);
22536
+ }, _marked2$3, null, [[0, 7, 8, 10]]);
22336
22537
  }
22337
22538
  function addMembers(action) {
22338
22539
  var payload, members, channelId, channel, membersToAdd, addedMembers, membersIds, messageToSend, updateChannelData, _t3;
@@ -22393,13 +22594,20 @@ function addMembers(action) {
22393
22594
  memberCount: channel.memberCount + addedMembers.length
22394
22595
  }, updateChannelData)));
22395
22596
  case 6:
22396
- _context3.n = 8;
22597
+ _context3.n = 9;
22397
22598
  break;
22398
22599
  case 7:
22399
22600
  _context3.p = 7;
22400
22601
  _t3 = _context3.v;
22401
- 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));
22402
22608
  case 8:
22609
+ log.error('error on add members... ', _t3);
22610
+ case 9:
22403
22611
  return _context3.a(2);
22404
22612
  }
22405
22613
  }, _marked3$2, null, [[0, 7]]);
@@ -22640,6 +22848,10 @@ function getContacts() {
22640
22848
  case 0:
22641
22849
  _context.p = 0;
22642
22850
  SceytChatClient = getClient();
22851
+ if (!(SceytChatClient.connectionState === CONNECTION_STATUS.CONNECTED)) {
22852
+ _context.n = 3;
22853
+ break;
22854
+ }
22643
22855
  _context.n = 1;
22644
22856
  return effects.call(SceytChatClient.getAllContacts);
22645
22857
  case 1:
@@ -22850,6 +23062,12 @@ function getUsers(action) {
22850
23062
  payload = action.payload;
22851
23063
  params = payload.params;
22852
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:
22853
23071
  usersQueryBuilder = new SceytChatClient.UserListQueryBuilder();
22854
23072
  if (params.query) {
22855
23073
  usersQueryBuilder.query(params.query);
@@ -22879,35 +23097,35 @@ function getUsers(action) {
22879
23097
  usersQueryBuilder.filterByUsername();
22880
23098
  }
22881
23099
  log.info('user query params ..... ', params);
22882
- _context5.n = 1;
23100
+ _context5.n = 2;
22883
23101
  return effects.call(usersQueryBuilder.build);
22884
- case 1:
23102
+ case 2:
22885
23103
  usersQuery = _context5.v;
22886
23104
  query.usersQuery = usersQuery;
22887
- _context5.n = 2;
22888
- return effects.put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
22889
- case 2:
22890
23105
  _context5.n = 3;
22891
- return effects.call(usersQuery.loadNextPage);
23106
+ return effects.put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
22892
23107
  case 3:
22893
- _yield$call = _context5.v;
22894
- users = _yield$call.users;
22895
23108
  _context5.n = 4;
22896
- return effects.put(setUsersAC(JSON.parse(JSON.stringify(users))));
23109
+ return effects.call(usersQuery.loadNextPage);
22897
23110
  case 4:
23111
+ _yield$call = _context5.v;
23112
+ users = _yield$call.users;
22898
23113
  _context5.n = 5;
22899
- return effects.put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
23114
+ return effects.put(setUsersAC(JSON.parse(JSON.stringify(users))));
22900
23115
  case 5:
22901
- _context5.n = 7;
22902
- break;
23116
+ _context5.n = 6;
23117
+ return effects.put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
22903
23118
  case 6:
22904
- _context5.p = 6;
23119
+ _context5.n = 8;
23120
+ break;
23121
+ case 7:
23122
+ _context5.p = 7;
22905
23123
  _t5 = _context5.v;
22906
23124
  log.error('ERROR on get users', _t5.message);
22907
- case 7:
23125
+ case 8:
22908
23126
  return _context5.a(2);
22909
23127
  }
22910
- }, _marked5$3, null, [[0, 6]]);
23128
+ }, _marked5$3, null, [[0, 7]]);
22911
23129
  }
22912
23130
  function loadMoreUsers(action) {
22913
23131
  var payload, limit, usersQuery, _yield$call2, users, _t6;
@@ -23108,6 +23326,15 @@ var rolesMapSelector = function rolesMapSelector(store) {
23108
23326
  var membersLoadingStateSelector = function membersLoadingStateSelector(store) {
23109
23327
  return store.MembersReducer.membersLoadingState;
23110
23328
  };
23329
+ var membersHasNextSelector = function membersHasNextSelector(store) {
23330
+ return store.MembersReducer.membersHasNext;
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
+ };
23111
23338
 
23112
23339
  var useDidUpdate = function useDidUpdate(callback, deps) {
23113
23340
  var hasMount = React.useRef(false);
@@ -23660,6 +23887,57 @@ var MembersText = styled__default.div(_templateObject7$1 || (_templateObject7$1
23660
23887
  });
23661
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"])));
23662
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
+
23663
23941
  var _templateObject$5, _templateObject2$4, _templateObject3$4;
23664
23942
  var SceytChat = function SceytChat(_ref) {
23665
23943
  var client = _ref.client,
@@ -23703,6 +23981,7 @@ var SceytChat = function SceytChat(_ref) {
23703
23981
  SceytChatClient = _useState[0],
23704
23982
  setSceytChatClient = _useState[1];
23705
23983
  var connectionStatus = useSelector(connectionStatusSelector, reactRedux.shallowEqual);
23984
+ var restricted = useSelector(restrictedSelector, reactRedux.shallowEqual);
23706
23985
  var _useState2 = React.useState(true),
23707
23986
  tabIsActive = _useState2[0],
23708
23987
  setTabIsActive = _useState2[1];
@@ -23947,7 +24226,9 @@ var SceytChat = function SceytChat(_ref) {
23947
24226
  highlightedBackground: highlightedBackground,
23948
24227
  id: 'sceyt_chat_container',
23949
24228
  chatMinWidth: chatMinWidth
23950
- }, 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);
23951
24232
  };
23952
24233
  var Container$2 = styled__default.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["\n display: flex;\n height: 100vh;\n"])));
23953
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) {
@@ -37405,16 +37686,7 @@ var Message$1 = function Message(_ref) {
37405
37686
  setMessageActionsShow(false);
37406
37687
  };
37407
37688
  var handleResendMessage = function handleResendMessage() {
37408
- var messageToResend = _extends({}, message);
37409
- if (message.attachments && message.attachments.length) {
37410
- messageToResend.attachments = message.attachments.map(function (att) {
37411
- var pendingAttachment = getPendingAttachment(att.tid);
37412
- return _extends({}, att, {
37413
- data: new File([pendingAttachment.file], att.data.name)
37414
- });
37415
- });
37416
- }
37417
- dispatch(resendMessageAC(messageToResend, channel.id, connectionStatus));
37689
+ dispatch(resendMessageAC(message, channel.id, connectionStatus));
37418
37690
  setMessageActionsShow(false);
37419
37691
  };
37420
37692
  var handleCopyMessage = function handleCopyMessage() {
@@ -37472,12 +37744,12 @@ var Message$1 = function Message(_ref) {
37472
37744
  setFrequentlyEmojisOpen(false);
37473
37745
  };
37474
37746
  var handleSendReadMarker = function handleSendReadMarker() {
37475
- if (!message.userMarkers.find(function (marker) {
37747
+ if (message.incoming && !message.userMarkers.find(function (marker) {
37476
37748
  return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
37477
37749
  })) {
37478
37750
  if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
37479
37751
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
37480
- }) && message.incoming && !unreadScrollTo) {
37752
+ }) && !unreadScrollTo) {
37481
37753
  dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
37482
37754
  }
37483
37755
  }
@@ -37635,7 +37907,8 @@ var Message$1 = function Message(_ref) {
37635
37907
  withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
37636
37908
  className: 'messageContent'
37637
37909
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
37638
- rtl: ownMessageOnRightSide && !message.incoming
37910
+ rtl: ownMessageOnRightSide && !message.incoming,
37911
+ onClick: handleResendMessage
37639
37912
  }, /*#__PURE__*/React__default.createElement(ErrorIconWrapper, null))), CustomMessageItem ? (/*#__PURE__*/React__default.createElement(CustomMessageItem, {
37640
37913
  key: message.id || message.tid,
37641
37914
  channel: channel,
@@ -37940,7 +38213,7 @@ var MessageReaction = styled__default.span(_templateObject3$y || (_templateObjec
37940
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) {
37941
38214
  return props.color;
37942
38215
  });
37943
- 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) {
37944
38217
  return !props.rtl && '-24px';
37945
38218
  }, function (props) {
37946
38219
  return props.rtl && '-24px';
@@ -38319,7 +38592,8 @@ var MessageList = function MessageList(_ref2) {
38319
38592
  var handleMessagesListScroll = React.useCallback(function () {
38320
38593
  try {
38321
38594
  var target = scrollRef.current;
38322
- if (!target) return Promise.resolve();
38595
+ var messageBox = document.getElementById('messageBox');
38596
+ if (!target || !messageBox) return Promise.resolve();
38323
38597
  if (scrollToMentionedMessage) {
38324
38598
  if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
38325
38599
  dispatch(showScrollToNewMessageButtonAC(true));
@@ -38332,10 +38606,13 @@ var MessageList = function MessageList(_ref2) {
38332
38606
  clearTimeout(hideTopDateTimeout.current);
38333
38607
  renderTopDate();
38334
38608
  var forceLoadPrevMessages = false;
38335
- if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
38609
+ if (-target.scrollTop + target.offsetHeight + 100 > messageBox.scrollHeight) {
38336
38610
  forceLoadPrevMessages = true;
38337
38611
  }
38338
- 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) {
38339
38616
  dispatch(getMessagesAC(channel, true));
38340
38617
  }
38341
38618
  if (target.scrollTop <= -50) {
@@ -38349,7 +38626,7 @@ var MessageList = function MessageList(_ref2) {
38349
38626
  }
38350
38627
  var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
38351
38628
  var hasIndex = typeof currentIndex === 'number';
38352
- if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
38629
+ if (hasIndex && currentIndex < 10 || forceLoadPrevMessages) {
38353
38630
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
38354
38631
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
38355
38632
  shouldLoadMessagesRef.current = 'prev';
@@ -38366,7 +38643,7 @@ var MessageList = function MessageList(_ref2) {
38366
38643
  }
38367
38644
  }
38368
38645
  }
38369
- if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
38646
+ if (hasIndex && currentIndex >= messages.length - 10 || target.scrollTop > -100) {
38370
38647
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
38371
38648
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
38372
38649
  shouldLoadMessagesRef.current = 'next';
@@ -38424,8 +38701,8 @@ var MessageList = function MessageList(_ref2) {
38424
38701
  nextDisableRef.current = false;
38425
38702
  }, 1000 + positiveValue * 0.1);
38426
38703
  }
38427
- } else {
38428
- 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));
38429
38706
  }
38430
38707
  return Promise.resolve();
38431
38708
  } catch (e) {
@@ -38433,7 +38710,7 @@ var MessageList = function MessageList(_ref2) {
38433
38710
  }
38434
38711
  };
38435
38712
  var handleLoadMoreMessages = function handleLoadMoreMessages(direction, limit) {
38436
- if (scrollToMentionedMessage) {
38713
+ if (scrollToMentionedMessage || scrollToNewMessage.scrollToBottom) {
38437
38714
  return;
38438
38715
  }
38439
38716
  var lastMessageId = messages.length && messages[messages.length - 1].id;
@@ -38577,9 +38854,6 @@ var MessageList = function MessageList(_ref2) {
38577
38854
  behavior: 'smooth'
38578
38855
  });
38579
38856
  }
38580
- setTimeout(function () {
38581
- dispatch(scrollToNewMessageAC(false, false, false));
38582
- }, 800);
38583
38857
  } else {
38584
38858
  nextDisableRef.current = true;
38585
38859
  prevDisableRef.current = true;
@@ -38588,10 +38862,6 @@ var MessageList = function MessageList(_ref2) {
38588
38862
  behavior: 'smooth'
38589
38863
  });
38590
38864
  dispatch(showScrollToNewMessageButtonAC(false));
38591
- setTimeout(function () {
38592
- prevDisableRef.current = false;
38593
- dispatch(scrollToNewMessageAC(false, false, false));
38594
- }, 800);
38595
38865
  }
38596
38866
  }
38597
38867
  }, [scrollToNewMessage]);
@@ -38615,17 +38885,17 @@ var MessageList = function MessageList(_ref2) {
38615
38885
  prevDisableRef.current = false;
38616
38886
  shouldLoadMessagesRef.current = '';
38617
38887
  loadingRef.current = false;
38618
- if (channel.backToLinkedChannel) {
38888
+ if (channel.backToLinkedChannel && channel !== null && channel !== void 0 && channel.id) {
38619
38889
  var visibleMessages = getVisibleMessagesMap();
38620
38890
  var visibleMessagesIds = Object.keys(visibleMessages);
38621
38891
  var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
38622
- dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
38892
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, 'instant'));
38623
38893
  setUnreadMessageId(messageId);
38624
38894
  } else {
38625
38895
  if (!channel.isLinkedChannel) {
38626
38896
  clearVisibleMessagesMap();
38627
38897
  }
38628
- if (channel) {
38898
+ if (channel && channel !== null && channel !== void 0 && channel.id) {
38629
38899
  dispatch(getMessagesAC(channel, undefined, undefined, undefined, true));
38630
38900
  }
38631
38901
  if (channel.id) {
@@ -38776,13 +39046,13 @@ var MessageList = function MessageList(_ref2) {
38776
39046
  }, [messagesLoading, messages, lastVisibleMessageId]);
38777
39047
  React.useEffect(function () {
38778
39048
  log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
38779
- if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
39049
+ if (connectionStatus === CONNECTION_STATUS.CONNECTED && channel !== null && channel !== void 0 && channel.id) {
38780
39050
  loadingRef.current = false;
38781
39051
  prevDisableRef.current = false;
38782
39052
  nextDisableRef.current = false;
38783
39053
  clearMessagesMap();
38784
39054
  removeAllMessages();
38785
- dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, false, 'instant', false));
39055
+ dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, 'instant', false, true));
38786
39056
  }
38787
39057
  }, [connectionStatus]);
38788
39058
  React.useEffect(function () {
@@ -38792,7 +39062,21 @@ var MessageList = function MessageList(_ref2) {
38792
39062
  scrollElement.style.scrollBehavior = 'inherit';
38793
39063
  }
38794
39064
  setScrollIntoView(true);
38795
- 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
+ }
38796
39080
  if (lastReadMessageNode && scrollElement) {
38797
39081
  dispatch(scrollToNewMessageAC(false));
38798
39082
  scrollElement.scrollTo({
@@ -38877,7 +39161,8 @@ var MessageList = function MessageList(_ref2) {
38877
39161
  enableResetScrollToCoords: false,
38878
39162
  replyMessage: messageForReply && messageForReply.id,
38879
39163
  attachmentsSelected: attachmentsSelected,
38880
- className: 'messageBox'
39164
+ className: 'messageBox',
39165
+ id: 'messageBox'
38881
39166
  }, messages.map(function (message, index) {
38882
39167
  var prevMessage = messages[index - 1];
38883
39168
  var nextMessage = messages[index + 1];
@@ -41131,6 +41416,13 @@ function SvgRecordButton(props) {
41131
41416
  }
41132
41417
 
41133
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
+ };
41134
41426
  var shouldDraw = false;
41135
41427
  var DEFAULT_MAX_RECORDING_DURATION = 600;
41136
41428
  var AudioRecord = function AudioRecord(_ref) {
@@ -41464,7 +41756,7 @@ var AudioRecord = function AudioRecord(_ref) {
41464
41756
  handleStopRecording();
41465
41757
  shouldDraw = false;
41466
41758
  var id = cId || channelId;
41467
- recorder.stop().getMp3().then(function (_ref4) {
41759
+ recorder === null || recorder === void 0 ? void 0 : recorder.stop().getMp3().then(function (_ref4) {
41468
41760
  var buffer = _ref4[0],
41469
41761
  blob = _ref4[1];
41470
41762
  var file = new File(buffer, 'record.mp3', {
@@ -41584,6 +41876,30 @@ var AudioRecord = function AudioRecord(_ref) {
41584
41876
  }
41585
41877
  };
41586
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
+ }, []);
41587
41903
  React.useEffect(function () {
41588
41904
  if (currentRecordedFile) {
41589
41905
  _initWaveSurfer();
@@ -41708,6 +42024,9 @@ var AudioRecord = function AudioRecord(_ref) {
41708
42024
  iconColor: accentColor
41709
42025
  }, showRecording || currentRecordedFile ? /*#__PURE__*/React__default.createElement(SvgSend, null) : /*#__PURE__*/React__default.createElement(SvgRecordButton, null)));
41710
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
+ });
41711
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) {
41712
42031
  return props.recording && "width: 400px";
41713
42032
  });
@@ -42286,7 +42605,7 @@ function onError(error) {
42286
42605
  var prevActiveChannelId;
42287
42606
  var attachmentsUpdate = [];
42288
42607
  var SendMessageInput = function SendMessageInput(_ref3) {
42289
- var _pollOptions$choosePo;
42608
+ var _pollOptions$choosePo, _getAudioRecordingFro;
42290
42609
  var handleAttachmentSelected = _ref3.handleAttachmentSelected,
42291
42610
  handleSendMessage = _ref3.handleSendMessage,
42292
42611
  _ref3$disabled = _ref3.disabled,
@@ -42513,7 +42832,13 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42513
42832
  nodes: [MentionNode],
42514
42833
  onError: onError
42515
42834
  };
42516
- 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
+ }
42517
42842
  if (typingState) {
42518
42843
  setInTypingStateTimout(setTimeout(function () {
42519
42844
  setInTypingStateTimout(0);
@@ -42650,11 +42975,11 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42650
42975
  } else {
42651
42976
  if (typingTimout) {
42652
42977
  if (!inTypingStateTimout) {
42653
- handleSendTypingState(true);
42978
+ handleSendTypingState(true, code);
42654
42979
  }
42655
42980
  clearTimeout(typingTimout);
42656
42981
  } else {
42657
- handleSendTypingState(true);
42982
+ handleSendTypingState(true, code);
42658
42983
  }
42659
42984
  setTypingTimout(setTimeout(function () {
42660
42985
  setTypingTimout(0);
@@ -43329,7 +43654,9 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43329
43654
  if (activeChannel.id) {
43330
43655
  prevActiveChannelId = activeChannel.id;
43331
43656
  }
43332
- dispatch(getMembersAC(activeChannel.id));
43657
+ if (activeChannel.id) {
43658
+ dispatch(getMembersAC(activeChannel.id));
43659
+ }
43333
43660
  setMentionedUsers([]);
43334
43661
  }, [activeChannel.id]);
43335
43662
  React.useEffect(function () {
@@ -43394,7 +43721,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43394
43721
  document.body.removeAttribute('onbeforeunload');
43395
43722
  }
43396
43723
  }
43397
- }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes]);
43724
+ }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes, messageToEdit]);
43398
43725
  useDidUpdate(function () {
43399
43726
  if (mentionedUsers && mentionedUsers.length) {
43400
43727
  setDraftMessageToMap(activeChannel.id, {
@@ -43709,7 +44036,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43709
44036
  onChange: handleFileUpload,
43710
44037
  multiple: true,
43711
44038
  type: 'file'
43712
- }), 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, {
43713
44040
  className: 'message_input_wrapper',
43714
44041
  borderRadius: messageForReply || messageToEdit ? borderRadiusOnOpenedEditReplyMessage : borderRadius,
43715
44042
  ref: inputWrapperRef,
@@ -43832,7 +44159,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43832
44159
  ErrorBoundary: LexicalErrorBoundary
43833
44160
  }), floatingAnchorElem && !isSmallWidthViewport && allowTextEdit && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FloatingTextFormatToolbarPlugin, {
43834
44161
  anchorElem: floatingAnchorElem
43835
- })))))))), 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, {
43836
44163
  isCustomButton: CustomSendMessageButton,
43837
44164
  isActive: sendMessageIsActive,
43838
44165
  order: sendIconOrder,
@@ -43848,7 +44175,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43848
44175
  color: accentColor,
43849
44176
  iconColor: accentColor,
43850
44177
  activeColor: accentColor
43851
- }, /*#__PURE__*/React__default.createElement(AudioRecord, {
44178
+ }, /*#__PURE__*/React__default.createElement(AudioRecord$1, {
43852
44179
  sendRecordedFile: sendRecordedFile,
43853
44180
  setShowRecording: setShowRecording,
43854
44181
  showRecording: showRecording,
@@ -44919,7 +45246,8 @@ var Actions = function Actions(_ref) {
44919
45246
  iconColor: iconPrimary,
44920
45247
  color: textPrimary,
44921
45248
  hoverColor: textPrimary,
44922
- fontSize: actionItemsFontSize
45249
+ fontSize: actionItemsFontSize,
45250
+ flexWrap: 'wrap'
44923
45251
  }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DefaultWatchIcon, {
44924
45252
  "$isLightMode": backgroundColor === '#FFFFFF'
44925
45253
  }), "Disappearing messages", /*#__PURE__*/React__default.createElement(DisappearingMessagesStatusWrapper, null, /*#__PURE__*/React__default.createElement(DisappearingMessagesStatus, {
@@ -45123,7 +45451,7 @@ var DefaultMarkAsReadIcon = styled__default(SvgLeave)(_templateObject15$3 || (_t
45123
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) {
45124
45452
  return props.$isLightMode ? '#FFFFFF' : '#000000';
45125
45453
  });
45126
- 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) {
45127
45455
  return props.fontSize || '15px';
45128
45456
  }, function (props) {
45129
45457
  return props.color;
@@ -45131,6 +45459,8 @@ var ActionItem = styled__default.li(_templateObject17$3 || (_templateObject17$3
45131
45459
  return props.order;
45132
45460
  }, function (props) {
45133
45461
  return props.disableEvent && 'none';
45462
+ }, function (props) {
45463
+ return props.flexWrap && "flex-wrap: " + props.flexWrap + ";";
45134
45464
  }, function (props) {
45135
45465
  return props.iconColor;
45136
45466
  }, function (props) {
@@ -45659,7 +45989,7 @@ function InviteLinkModal(_ref) {
45659
45989
  var handleConfirmReset = function handleConfirmReset() {
45660
45990
  var _channelInviteKeys$;
45661
45991
  setShowResetConfirm(false);
45662
- 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));
45663
45993
  };
45664
45994
  React.useEffect(function () {
45665
45995
  if (channelId) {
@@ -45931,27 +46261,17 @@ var Members = function Members(_ref) {
45931
46261
  var _useState7 = React.useState(false),
45932
46262
  addMemberPopupOpen = _useState7[0],
45933
46263
  setAddMemberPopupOpen = _useState7[1];
45934
- var _useState8 = React.useState(false),
45935
- openInviteModal = _useState8[0],
45936
- setOpenInviteModal = _useState8[1];
45937
- var _useState9 = React.useState(),
45938
- closeMenu = _useState9[0],
45939
- setCloseMenu = _useState9[1];
46264
+ var _useState8 = React.useState(),
46265
+ closeMenu = _useState8[0],
46266
+ setCloseMenu = _useState8[1];
45940
46267
  var members = useSelector(activeChannelMembersSelector) || [];
45941
46268
  var contactsMap = useSelector(contactsMapSelector) || {};
45942
- var membersLoading = useSelector(membersLoadingStateSelector) || {};
46269
+ var openInviteModal = useSelector(openInviteModalSelector);
45943
46270
  var user = getClient().user;
45944
46271
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
45945
46272
  var channelTypeRoleMap = getDefaultRolesByChannelTypesMap();
45946
46273
  var displayMemberText = memberDisplayText && memberDisplayText[channel.type] ? memberDisplayText[channel.type] + "s" : channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? 'subscribers' : 'members';
45947
46274
  var noMemberEditPermissions = !checkActionPermission('changeMemberRole') && !checkActionPermission('kickAndBlockMember') && !checkActionPermission('kickMember');
45948
- var handleMembersListScroll = function handleMembersListScroll(event) {
45949
- if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
45950
- if (membersLoading === LOADING_STATE.LOADED) {
45951
- dispatch(loadMoreMembersAC(15, channel.id));
45952
- }
45953
- }
45954
- };
45955
46275
  var watchDropdownState = function watchDropdownState(state, memberId) {
45956
46276
  if (state) {
45957
46277
  setCloseMenu(memberId);
@@ -46042,23 +46362,23 @@ var Members = function Members(_ref) {
46042
46362
  }
46043
46363
  };
46044
46364
  var handleOpenInviteModal = function handleOpenInviteModal() {
46045
- setOpenInviteModal(true);
46365
+ dispatch(setOpenInviteModalAC(true));
46046
46366
  setAddMemberPopupOpen(false);
46047
46367
  };
46048
46368
  React.useEffect(function () {
46049
46369
  if (getFromContacts) {
46050
46370
  dispatch(getContactsAC());
46051
46371
  }
46052
- dispatch(getMembersAC(channel.id));
46053
- }, [channel]);
46372
+ if (channel !== null && channel !== void 0 && channel.id) {
46373
+ dispatch(getMembersAC(channel.id));
46374
+ }
46375
+ }, [channel === null || channel === void 0 ? void 0 : channel.id]);
46054
46376
  var currentUserRole = (_members$find = members.find(function (member) {
46055
46377
  return member.id === user.id;
46056
46378
  })) === null || _members$find === void 0 ? void 0 : _members$find.role;
46057
46379
  return /*#__PURE__*/React__default.createElement(Container$o, {
46058
46380
  theme: theme
46059
- }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, {
46060
- onScroll: handleMembersListScroll
46061
- }, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46381
+ }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, null, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46062
46382
  key: 1,
46063
46383
  onClick: handleAddMemberPopup,
46064
46384
  color: textPrimary,
@@ -46194,7 +46514,7 @@ var Members = function Members(_ref) {
46194
46514
  handleOpenInviteModal: handleOpenInviteModal
46195
46515
  })), openInviteModal && (/*#__PURE__*/React__default.createElement(InviteLinkModal, {
46196
46516
  onClose: function onClose() {
46197
- return setOpenInviteModal(false);
46517
+ return dispatch(setOpenInviteModalAC(false));
46198
46518
  },
46199
46519
  SVGOrPNGLogoIcon: QRCodeIcon,
46200
46520
  channelId: channel.id
@@ -47463,6 +47783,7 @@ var Details = function Details(_ref) {
47463
47783
  var _usePermissions = usePermissions(activeChannel ? activeChannel.userRole : ''),
47464
47784
  checkActionPermission = _usePermissions[0];
47465
47785
  var membersLoading = useSelector(membersLoadingStateSelector);
47786
+ var membersHasNext = useSelector(membersHasNextSelector);
47466
47787
  var messagesLoading = useSelector(messagesLoadingState);
47467
47788
  var attachmentsHasNex = useSelector(activeTabAttachmentsHasNextSelector);
47468
47789
  var contactsMap = useSelector(contactsMapSelector);
@@ -47486,7 +47807,7 @@ var Details = function Details(_ref) {
47486
47807
  var handleMembersListScroll = function handleMembersListScroll(event) {
47487
47808
  if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
47488
47809
  if (activeTab === channelDetailsTabs.member) {
47489
- if (membersLoading === LOADING_STATE.LOADED) {
47810
+ if (membersLoading === LOADING_STATE.LOADED && membersHasNext) {
47490
47811
  dispatch(loadMoreMembersAC(15, activeChannel.id));
47491
47812
  }
47492
47813
  } else if (messagesLoading === LOADING_STATE.LOADED && attachmentsHasNex) {
@@ -48099,8 +48420,8 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
48099
48420
  });
48100
48421
  }
48101
48422
  }
48102
- } else {
48103
- 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));
48104
48425
  }
48105
48426
  return Promise.resolve();
48106
48427
  } catch (e) {
@@ -48288,7 +48609,7 @@ var MessagesScrollToUnreadMentionsButton = function MessagesScrollToUnreadMentio
48288
48609
  repliedMessage.classList.remove('highlight');
48289
48610
  }, 1500);
48290
48611
  }
48291
- } else {
48612
+ } else if (channel !== null && channel !== void 0 && channel.id) {
48292
48613
  dispatch(getMessagesAC(channel, undefined, messageId));
48293
48614
  }
48294
48615
  return Promise.resolve();