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.modern.js CHANGED
@@ -9027,6 +9027,9 @@ var handleVoteDetails = function handleVoteDetails(voteDetails, message) {
9027
9027
  voteDetails: newVoteDetails
9028
9028
  });
9029
9029
  };
9030
+ var checkIsTypeKeyPressed = function checkIsTypeKeyPressed(code) {
9031
+ return !(code === 'Enter' || code === 'NumpadEnter' || code === 'Backspace' || code === 'Delete' || code === 'ArrowLeft' || code === 'ArrowRight' || code === 'ArrowUp' || code === 'ArrowDown' || code === 'PageUp' || code === 'PageDown' || code === 'Home' || code === 'End' || code === 'Insert' || code === 'Escape' || code === 'Tab' || code === 'F1' || code === 'F2' || code === 'F3' || code === 'F4' || code === 'F5' || code === 'F6' || code === 'F7' || code === 'F8' || code === 'F9' || code === 'F10' || code === 'F11' || code === 'F12' || code === 'CapsLock' || code === 'Shift' || code === 'ShiftLeft' || code === 'ShiftRight' || code === 'Control' || code === 'ControlLeft' || code === 'ControlRight' || code === 'Alt' || code === 'AltLeft' || code === 'AltRight' || code === 'MetaLeft' || code === 'MetaRight' || code === 'Space' || code === 'Enter' || code === 'NumpadEnter' || code === 'Backspace' || code === 'Delete' || code === 'ArrowLeft' || code === 'ArrowRight' || code === 'ArrowUp' || code === 'ArrowDown' || code === 'PageUp' || code === 'PageDown' || code === 'Home' || code === 'End' || code === 'Insert' || code === 'Escape' || code === 'Tab' || code === 'F1' || code === 'F2' || code === 'F3' || code === 'F4' || code === 'F5' || code === 'F6' || code === 'F7' || code === 'F8' || code === 'F9' || code === 'F10' || code === 'F11' || code === 'F12' || code === 'Shift');
9032
+ };
9030
9033
 
9031
9034
  var baseUrlForInviteMembers = '';
9032
9035
  var autoSelectFitsChannel = false;
@@ -9211,7 +9214,9 @@ function updateChannelLastMessageOnAllChannels(channelId, message) {
9211
9214
  if (updateChannel) {
9212
9215
  var updateMessage = message;
9213
9216
  if (updateChannel.lastMessage && updateChannel.lastMessage.id === message.id && updateChannel.lastMessage.deliveryStatus === MESSAGE_DELIVERY_STATUS.READ) {
9214
- updateMessage.deliveryStatus = MESSAGE_DELIVERY_STATUS.READ;
9217
+ updateMessage = _extends({}, message, {
9218
+ deliveryStatus: MESSAGE_DELIVERY_STATUS.READ
9219
+ });
9215
9220
  }
9216
9221
  updateChannel = _extends({}, updateChannel, {
9217
9222
  lastMessage: updateMessage
@@ -9228,7 +9233,9 @@ function updateChannelOnAllChannels(channelId, config, messageUpdateData) {
9228
9233
  if (messageUpdateData && channel.lastMessage && messageUpdateData.id === channel.lastMessage.id) {
9229
9234
  var updateMessage = messageUpdateData;
9230
9235
  if (channel.lastMessage.id === messageUpdateData.id && channel.lastMessage.deliveryStatus === MESSAGE_DELIVERY_STATUS.READ) {
9231
- updateMessage.deliveryStatus = MESSAGE_DELIVERY_STATUS.READ;
9236
+ updateMessage = _extends({}, messageUpdateData, {
9237
+ deliveryStatus: MESSAGE_DELIVERY_STATUS.READ
9238
+ });
9232
9239
  }
9233
9240
  channel.lastMessage = _extends({}, channel.lastMessage, updateMessage);
9234
9241
  }
@@ -10057,46 +10064,76 @@ var hashString = function hashString(str) {
10057
10064
  }
10058
10065
  };
10059
10066
  var formatDisappearingMessageTime = function formatDisappearingMessageTime(periodInMilliseconds) {
10060
- var _getDisappearingSetti;
10061
10067
  if (!periodInMilliseconds) return 'Off';
10062
10068
  var periodInSeconds = periodInMilliseconds / 1000;
10063
- switch (periodInSeconds) {
10064
- case FIXED_TIMER_OPTIONS['1day']:
10065
- return '1 day';
10066
- case FIXED_TIMER_OPTIONS['1week']:
10067
- return '1 week';
10068
- case FIXED_TIMER_OPTIONS['1month']:
10069
- return '1 month';
10070
- }
10071
- var customOptions = ((_getDisappearingSetti = getDisappearingSettings()) === null || _getDisappearingSetti === void 0 ? void 0 : _getDisappearingSetti.customOptions) || [];
10072
- var customMatch = customOptions.find(function (option) {
10073
- return option.seconds === periodInSeconds;
10074
- });
10075
- if (customMatch) return customMatch.label;
10076
10069
  var SECONDS_PER_MINUTE = 60;
10077
10070
  var SECONDS_PER_HOUR = SECONDS_PER_MINUTE * 60;
10078
10071
  var SECONDS_PER_DAY = SECONDS_PER_HOUR * 24;
10079
10072
  var DAYS_PER_WEEK = 7;
10080
10073
  var DAYS_PER_MONTH = 30;
10081
- var days = Math.floor(periodInSeconds / SECONDS_PER_DAY);
10082
- var weeks = Math.floor(days / DAYS_PER_WEEK);
10083
- var months = Math.floor(days / DAYS_PER_MONTH);
10084
- var hours = Math.floor(periodInSeconds / SECONDS_PER_HOUR);
10085
- var minutes = Math.floor(periodInSeconds / SECONDS_PER_MINUTE);
10086
- switch (true) {
10087
- case months > 0:
10088
- return months + " " + (months === 1 ? 'month' : 'months');
10089
- case weeks > 0:
10090
- return weeks + " " + (weeks === 1 ? 'week' : 'weeks');
10091
- case days > 0:
10092
- return days + " " + (days === 1 ? 'day' : 'days');
10093
- case hours > 0:
10094
- return hours + " " + (hours === 1 ? 'hour' : 'hours');
10095
- case minutes > 0:
10096
- return minutes + " " + (minutes === 1 ? 'minute' : 'minutes');
10097
- default:
10098
- return periodInSeconds + " " + (periodInSeconds === 1 ? 'second' : 'seconds');
10074
+ var DAYS_PER_YEAR = 365;
10075
+ var remainingSeconds = Math.floor(periodInSeconds);
10076
+ var years = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_YEAR));
10077
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_YEAR;
10078
+ var months = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_MONTH));
10079
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_MONTH;
10080
+ var weeks = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_WEEK));
10081
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_WEEK;
10082
+ var days = Math.floor(remainingSeconds / SECONDS_PER_DAY);
10083
+ remainingSeconds %= SECONDS_PER_DAY;
10084
+ var hours = Math.floor(remainingSeconds / SECONDS_PER_HOUR);
10085
+ remainingSeconds %= SECONDS_PER_HOUR;
10086
+ var minutes = Math.floor(remainingSeconds / SECONDS_PER_MINUTE);
10087
+ remainingSeconds %= SECONDS_PER_MINUTE;
10088
+ var seconds = remainingSeconds;
10089
+ var parts = [];
10090
+ var partCount = 0;
10091
+ if (years > 0) {
10092
+ partCount++;
10093
+ }
10094
+ if (months > 0) {
10095
+ partCount++;
10096
+ }
10097
+ if (weeks > 0) {
10098
+ partCount++;
10099
+ }
10100
+ if (days > 0) {
10101
+ partCount++;
10102
+ }
10103
+ if (hours > 0) {
10104
+ partCount++;
10105
+ }
10106
+ if (minutes > 0) {
10107
+ partCount++;
10108
+ }
10109
+ if (seconds > 0) {
10110
+ partCount++;
10111
+ }
10112
+ if (years > 0) {
10113
+ parts.push("" + years + (partCount > 1 ? 'y' : years === 1 ? ' year' : ' years'));
10114
+ }
10115
+ if (months > 0) {
10116
+ parts.push("" + months + (partCount > 1 ? 'm' : months === 1 ? ' month' : ' months'));
10117
+ }
10118
+ if (weeks > 0) {
10119
+ parts.push("" + weeks + (partCount > 1 ? 'w' : weeks === 1 ? ' week' : ' weeks'));
10120
+ }
10121
+ if (days > 0) {
10122
+ parts.push("" + days + (partCount > 1 ? 'd' : days === 1 ? ' day' : ' days'));
10123
+ }
10124
+ if (hours > 0) {
10125
+ parts.push("" + hours + (partCount > 1 ? 'h' : hours === 1 ? ' hour' : ' hours'));
10126
+ }
10127
+ if (minutes > 0) {
10128
+ parts.push("" + minutes + (partCount > 1 ? 'm' : minutes === 1 ? ' minute' : ' minutes'));
10099
10129
  }
10130
+ if (seconds > 0) {
10131
+ parts.push("" + seconds + (partCount > 1 ? 's' : seconds === 1 ? ' second' : ' seconds'));
10132
+ }
10133
+ if (parts.length === 0) {
10134
+ return '0 seconds';
10135
+ }
10136
+ return parts.join(' ');
10100
10137
  };
10101
10138
 
10102
10139
  var GET_MESSAGES = 'GET_MESSAGES';
@@ -10130,10 +10167,7 @@ var queryDirection = {
10130
10167
  NEAR: 'near'
10131
10168
  };
10132
10169
 
10133
- function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend, isAddToPendingMessagesMap) {
10134
- if (isAddToPendingMessagesMap === void 0) {
10135
- isAddToPendingMessagesMap = true;
10136
- }
10170
+ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend) {
10137
10171
  return {
10138
10172
  type: SEND_MESSAGE,
10139
10173
  payload: {
@@ -10141,22 +10175,17 @@ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSep
10141
10175
  channelId: channelId,
10142
10176
  connectionState: connectionState,
10143
10177
  sendAttachmentsAsSeparateMessage: sendAttachmentsAsSeparateMessage,
10144
- isResend: isResend,
10145
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10178
+ isResend: isResend
10146
10179
  }
10147
10180
  };
10148
10181
  }
10149
- function sendTextMessageAC(message, channelId, connectionState, isAddToPendingMessagesMap) {
10150
- if (isAddToPendingMessagesMap === void 0) {
10151
- isAddToPendingMessagesMap = true;
10152
- }
10182
+ function sendTextMessageAC(message, channelId, connectionState) {
10153
10183
  return {
10154
10184
  type: SEND_TEXT_MESSAGE,
10155
10185
  payload: {
10156
10186
  message: message,
10157
10187
  channelId: channelId,
10158
- connectionState: connectionState,
10159
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10188
+ connectionState: connectionState
10160
10189
  }
10161
10190
  };
10162
10191
  }
@@ -10170,21 +10199,17 @@ function resendMessageAC(message, channelId, connectionState) {
10170
10199
  }
10171
10200
  };
10172
10201
  }
10173
- function forwardMessageAC(message, channelId, connectionState, isForward, isAddToPendingMessagesMap) {
10202
+ function forwardMessageAC(message, channelId, connectionState, isForward) {
10174
10203
  if (isForward === void 0) {
10175
10204
  isForward = true;
10176
10205
  }
10177
- if (isAddToPendingMessagesMap === void 0) {
10178
- isAddToPendingMessagesMap = true;
10179
- }
10180
10206
  return {
10181
10207
  type: FORWARD_MESSAGE,
10182
10208
  payload: {
10183
10209
  message: message,
10184
10210
  channelId: channelId,
10185
10211
  connectionState: connectionState,
10186
- isForward: isForward,
10187
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10212
+ isForward: isForward
10188
10213
  }
10189
10214
  };
10190
10215
  }
@@ -10217,13 +10242,16 @@ function setMessageToEditAC(message) {
10217
10242
  message: message
10218
10243
  });
10219
10244
  }
10220
- function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage) {
10245
+ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged) {
10221
10246
  if (highlight === void 0) {
10222
10247
  highlight = true;
10223
10248
  }
10224
10249
  if (scrollToMessage === void 0) {
10225
10250
  scrollToMessage = true;
10226
10251
  }
10252
+ if (networkChanged === void 0) {
10253
+ networkChanged = false;
10254
+ }
10227
10255
  return {
10228
10256
  type: GET_MESSAGES,
10229
10257
  payload: {
@@ -10231,10 +10259,10 @@ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliv
10231
10259
  loadWithLastMessage: loadWithLastMessage,
10232
10260
  messageId: messageId,
10233
10261
  limit: limit,
10234
- withDeliveredMessages: withDeliveredMessages,
10235
10262
  highlight: highlight,
10236
10263
  behavior: behavior,
10237
- scrollToMessage: scrollToMessage
10264
+ scrollToMessage: scrollToMessage,
10265
+ networkChanged: networkChanged
10238
10266
  }
10239
10267
  };
10240
10268
  }
@@ -10711,6 +10739,12 @@ function setPendingPollActionsMapAC(messageId, event) {
10711
10739
  event: event
10712
10740
  });
10713
10741
  }
10742
+ function updatePendingPollActionAC(messageId, message) {
10743
+ return updatePendingPollAction({
10744
+ messageId: messageId,
10745
+ message: message
10746
+ });
10747
+ }
10714
10748
  function setPendingMessageAC(channelId, message) {
10715
10749
  return setPendingMessage$1({
10716
10750
  channelId: channelId,
@@ -10731,7 +10765,8 @@ function updatePendingMessageAC(channelId, messageId, updatedMessage) {
10731
10765
  });
10732
10766
  }
10733
10767
 
10734
- var MESSAGES_MAX_LENGTH = 80;
10768
+ var MESSAGES_MAX_PAGE_COUNT = 80;
10769
+ var MESSAGES_MAX_LENGTH = 50;
10735
10770
  var LOAD_MAX_MESSAGE_COUNT = 30;
10736
10771
  var MESSAGE_LOAD_DIRECTION = {
10737
10772
  PREV: 'prev',
@@ -10797,12 +10832,12 @@ var setAllMessages = function setAllMessages(messages) {
10797
10832
  var addAllMessages = function addAllMessages(messages, direction) {
10798
10833
  if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
10799
10834
  activeChannelAllMessages = [].concat(messages, activeChannelAllMessages);
10800
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10835
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10801
10836
  setHasNextCached(true);
10802
10837
  }
10803
10838
  } else {
10804
10839
  activeChannelAllMessages = [].concat(activeChannelAllMessages, messages);
10805
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10840
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10806
10841
  setHasPrevCached(true);
10807
10842
  }
10808
10843
  }
@@ -10871,8 +10906,8 @@ var getHasNextCached = function getHasNextCached() {
10871
10906
  var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messageId, direction, getWithLastMessage) {
10872
10907
  var messagesForAdd = [];
10873
10908
  if (getWithLastMessage) {
10874
- messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_LENGTH));
10875
- setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_LENGTH);
10909
+ messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_PAGE_COUNT));
10910
+ setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT);
10876
10911
  setHasNextCached(false);
10877
10912
  } else {
10878
10913
  var fromMessageIndex = activeChannelAllMessages.findIndex(function (mes) {
@@ -10900,14 +10935,25 @@ var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messa
10900
10935
  }
10901
10936
  return messagesForAdd;
10902
10937
  };
10903
- function setMessagesToMap(channelId, messages) {
10938
+ function setMessagesToMap(channelId, messages, firstMessageId, lastMessageId) {
10939
+ if (firstMessageId === void 0) {
10940
+ firstMessageId = '0';
10941
+ }
10942
+ if (lastMessageId === void 0) {
10943
+ lastMessageId = '0';
10944
+ }
10904
10945
  if (!messagesMap[channelId]) {
10905
10946
  messagesMap[channelId] = {};
10906
10947
  }
10907
- messages.forEach(function (msg) {
10908
- if (msg.tid && messagesMap[channelId][msg.tid]) {
10909
- delete messagesMap[channelId][msg.tid];
10948
+ for (var key in messagesMap[channelId]) {
10949
+ if (Object.prototype.hasOwnProperty.call(messagesMap[channelId], key)) {
10950
+ var element = messagesMap[channelId][key];
10951
+ if (element.id >= firstMessageId && element.id <= lastMessageId) {
10952
+ delete messagesMap[channelId][key];
10953
+ }
10910
10954
  }
10955
+ }
10956
+ messages.forEach(function (msg) {
10911
10957
  messagesMap[channelId][msg.id || msg.tid] = msg;
10912
10958
  });
10913
10959
  }
@@ -10935,8 +10981,6 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
10935
10981
  updatedPendingMessages.forEach(function (msg) {
10936
10982
  store.dispatch(updatePendingMessageAC(channelId, msg.tid || msg.id, msg));
10937
10983
  });
10938
- } else {
10939
- store.dispatch(removePendingMessageAC(channelId, updatedMessage.messageId));
10940
10984
  }
10941
10985
  }
10942
10986
  var updatedMessageData = null;
@@ -11335,42 +11379,36 @@ var messageSlice = createSlice({
11335
11379
  });
11336
11380
  });
11337
11381
  if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
11338
- if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
11382
+ if (currentMessagesLength + newMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11339
11383
  var _state$activeChannelM;
11340
11384
  setHasNextCached(true);
11341
11385
  if (newMessagesLength > 0) {
11342
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11386
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11343
11387
  state.activeChannelMessages.splice(-newMessagesLength);
11344
11388
  } else {
11345
- state.activeChannelMessages.splice(-(newMessagesLength - (MESSAGES_MAX_LENGTH - currentMessagesLength)));
11389
+ state.activeChannelMessages.splice(-(currentMessagesLength - currentMessagesLength + newMessagesLength - MESSAGES_MAX_PAGE_COUNT));
11346
11390
  }
11347
11391
  }
11348
11392
  (_state$activeChannelM = state.activeChannelMessages).splice.apply(_state$activeChannelM, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11349
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11393
+ } else {
11350
11394
  var _state$activeChannelM2;
11351
- var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11352
- setHasNextCached(true);
11353
- state.activeChannelMessages.splice(-sliceElementCount);
11354
11395
  (_state$activeChannelM2 = state.activeChannelMessages).splice.apply(_state$activeChannelM2, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11355
- } else {
11356
- var _state$activeChannelM3;
11357
- (_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11358
11396
  }
11359
- } else if (direction === 'next' && newMessagesLength > 0) {
11360
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11361
- var _state$activeChannelM4;
11397
+ } else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && newMessagesLength > 0) {
11398
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11399
+ var _state$activeChannelM3;
11362
11400
  setHasPrevCached(true);
11363
11401
  state.activeChannelMessages.splice(0, messagesIsNotIncludeInActiveChannelMessages.length);
11402
+ (_state$activeChannelM3 = state.activeChannelMessages).push.apply(_state$activeChannelM3, messagesIsNotIncludeInActiveChannelMessages);
11403
+ } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11404
+ var _state$activeChannelM4;
11405
+ var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_PAGE_COUNT;
11406
+ setHasPrevCached(true);
11407
+ state.activeChannelMessages.splice(0, sliceElementCount);
11364
11408
  (_state$activeChannelM4 = state.activeChannelMessages).push.apply(_state$activeChannelM4, messagesIsNotIncludeInActiveChannelMessages);
11365
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11409
+ } else {
11366
11410
  var _state$activeChannelM5;
11367
- var _sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11368
- setHasPrevCached(true);
11369
- state.activeChannelMessages.splice(0, _sliceElementCount);
11370
11411
  (_state$activeChannelM5 = state.activeChannelMessages).push.apply(_state$activeChannelM5, messagesIsNotIncludeInActiveChannelMessages);
11371
- } else {
11372
- var _state$activeChannelM6;
11373
- (_state$activeChannelM6 = state.activeChannelMessages).push.apply(_state$activeChannelM6, messagesIsNotIncludeInActiveChannelMessages);
11374
11412
  }
11375
11413
  }
11376
11414
  },
@@ -11394,6 +11432,9 @@ var messageSlice = createSlice({
11394
11432
  });
11395
11433
  }
11396
11434
  }
11435
+ state.activeChannelMessages.sort(function (a, b) {
11436
+ return !(a !== null && a !== void 0 && a.id) ? 1 : (a === null || a === void 0 ? void 0 : a.id) < (b === null || b === void 0 ? void 0 : b.id) ? -1 : 1;
11437
+ });
11397
11438
  },
11398
11439
  updateMessage: function updateMessage(state, action) {
11399
11440
  var _action$payload3 = action.payload,
@@ -11439,6 +11480,9 @@ var messageSlice = createSlice({
11439
11480
  if (!messageFound && addIfNotExists) {
11440
11481
  state.activeChannelMessages.push(params);
11441
11482
  }
11483
+ state.activeChannelMessages.sort(function (a, b) {
11484
+ return !(a !== null && a !== void 0 && a.id) ? 1 : (a === null || a === void 0 ? void 0 : a.id) < (b === null || b === void 0 ? void 0 : b.id) ? -1 : 1;
11485
+ });
11442
11486
  },
11443
11487
  updateMessageAttachment: function updateMessageAttachment(state, action) {
11444
11488
  var _action$payload4 = action.payload,
@@ -11802,10 +11846,24 @@ var messageSlice = createSlice({
11802
11846
  }
11803
11847
  state.pendingPollActions[messageId] = [].concat(state.pendingPollActions[messageId], [event]);
11804
11848
  },
11805
- setPendingMessage: function setPendingMessage(state, action) {
11849
+ updatePendingPollAction: function updatePendingPollAction(state, action) {
11806
11850
  var _action$payload20 = action.payload,
11807
- channelId = _action$payload20.channelId,
11851
+ messageId = _action$payload20.messageId,
11808
11852
  message = _action$payload20.message;
11853
+ if (!state.pendingPollActions[messageId]) {
11854
+ return;
11855
+ }
11856
+ state.pendingPollActions[messageId] = state.pendingPollActions[messageId].map(function (action) {
11857
+ var _action$message, _action$message2;
11858
+ return ((_action$message = action.message) === null || _action$message === void 0 ? void 0 : _action$message.id) === messageId || ((_action$message2 = action.message) === null || _action$message2 === void 0 ? void 0 : _action$message2.tid) === messageId ? _extends({}, action, {
11859
+ message: message
11860
+ }) : action;
11861
+ });
11862
+ },
11863
+ setPendingMessage: function setPendingMessage(state, action) {
11864
+ var _action$payload21 = action.payload,
11865
+ channelId = _action$payload21.channelId,
11866
+ message = _action$payload21.message;
11809
11867
  if (!state.pendingMessagesMap[channelId]) {
11810
11868
  state.pendingMessagesMap[channelId] = [];
11811
11869
  }
@@ -11817,9 +11875,9 @@ var messageSlice = createSlice({
11817
11875
  }
11818
11876
  },
11819
11877
  removePendingMessage: function removePendingMessage(state, action) {
11820
- var _action$payload21 = action.payload,
11821
- channelId = _action$payload21.channelId,
11822
- messageId = _action$payload21.messageId;
11878
+ var _action$payload22 = action.payload,
11879
+ channelId = _action$payload22.channelId,
11880
+ messageId = _action$payload22.messageId;
11823
11881
  if (state.pendingMessagesMap[channelId]) {
11824
11882
  state.pendingMessagesMap[channelId] = state.pendingMessagesMap[channelId].filter(function (msg) {
11825
11883
  return !(msg.id === messageId || msg.tid === messageId);
@@ -11830,10 +11888,10 @@ var messageSlice = createSlice({
11830
11888
  }
11831
11889
  },
11832
11890
  updatePendingMessage: function updatePendingMessage(state, action) {
11833
- var _action$payload22 = action.payload,
11834
- channelId = _action$payload22.channelId,
11835
- messageId = _action$payload22.messageId,
11836
- updatedMessage = _action$payload22.updatedMessage;
11891
+ var _action$payload23 = action.payload,
11892
+ channelId = _action$payload23.channelId,
11893
+ messageId = _action$payload23.messageId,
11894
+ updatedMessage = _action$payload23.updatedMessage;
11837
11895
  if (state.pendingMessagesMap[channelId]) {
11838
11896
  state.pendingMessagesMap[channelId] = state.pendingMessagesMap[channelId].map(function (msg) {
11839
11897
  if (msg.id === messageId || msg.tid === messageId) {
@@ -11908,16 +11966,22 @@ var _messageSlice$actions = messageSlice.actions,
11908
11966
  setPendingPollActionsMap = _messageSlice$actions.setPendingPollActionsMap,
11909
11967
  setPendingMessage$1 = _messageSlice$actions.setPendingMessage,
11910
11968
  removePendingMessage = _messageSlice$actions.removePendingMessage,
11911
- updatePendingMessage = _messageSlice$actions.updatePendingMessage;
11969
+ updatePendingMessage = _messageSlice$actions.updatePendingMessage,
11970
+ updatePendingPollAction = _messageSlice$actions.updatePendingPollAction;
11912
11971
  var MessageReducer = messageSlice.reducer;
11913
11972
 
11914
11973
  var initialState$2 = {
11915
- membersLoadingState: false,
11974
+ membersLoadingState: 0,
11916
11975
  membersHasNext: true,
11917
11976
  activeChannelMembers: [],
11918
11977
  roles: [],
11919
11978
  getRolesFail: undefined,
11920
- rolesMap: {}
11979
+ rolesMap: {},
11980
+ restricted: {
11981
+ isRestricted: false,
11982
+ fromChannel: false
11983
+ },
11984
+ openInviteModal: false
11921
11985
  };
11922
11986
  var memberSlice = createSlice({
11923
11987
  name: 'members',
@@ -11997,6 +12061,19 @@ var memberSlice = createSlice({
11997
12061
  } else {
11998
12062
  state.getRolesFail = undefined;
11999
12063
  }
12064
+ },
12065
+ setMembersHasNext: function setMembersHasNext(state, action) {
12066
+ state.membersHasNext = action.payload.hasNext;
12067
+ },
12068
+ setActionIsRestricted: function setActionIsRestricted(state, action) {
12069
+ var _action$payload2 = action.payload,
12070
+ isRestricted = _action$payload2.isRestricted,
12071
+ fromChannel = _action$payload2.fromChannel;
12072
+ state.restricted.isRestricted = isRestricted;
12073
+ state.restricted.fromChannel = fromChannel;
12074
+ },
12075
+ setOpenInviteModal: function setOpenInviteModal(state, action) {
12076
+ state.openInviteModal = action.payload.open;
12000
12077
  }
12001
12078
  },
12002
12079
  extraReducers: function extraReducers(builder) {
@@ -12013,7 +12090,10 @@ var _memberSlice$actions = memberSlice.actions,
12013
12090
  removeMemberFromList = _memberSlice$actions.removeMemberFromList,
12014
12091
  setMembersLoadingState = _memberSlice$actions.setMembersLoadingState,
12015
12092
  getRolesSuccess = _memberSlice$actions.getRolesSuccess,
12016
- getRolesFail = _memberSlice$actions.getRolesFail;
12093
+ getRolesFail = _memberSlice$actions.getRolesFail,
12094
+ setMembersHasNext = _memberSlice$actions.setMembersHasNext,
12095
+ setActionIsRestricted = _memberSlice$actions.setActionIsRestricted,
12096
+ setOpenInviteModal = _memberSlice$actions.setOpenInviteModal;
12017
12097
  var MembersReducer = memberSlice.reducer;
12018
12098
 
12019
12099
  var SET_CONTACT_LOADING_STATE = 'SET_CONTACT_LOADING_STATE';
@@ -12760,12 +12840,13 @@ var getChannelInviteKeysAC = function getChannelInviteKeysAC(channelId) {
12760
12840
  }
12761
12841
  };
12762
12842
  };
12763
- var regenerateChannelInviteKeyAC = function regenerateChannelInviteKeyAC(channelId, key) {
12843
+ var regenerateChannelInviteKeyAC = function regenerateChannelInviteKeyAC(channelId, key, deletePermanently) {
12764
12844
  return {
12765
12845
  type: REGENERATE_CHANNEL_INVITE_KEY,
12766
12846
  payload: {
12767
12847
  channelId: channelId,
12768
- key: key
12848
+ key: key,
12849
+ deletePermanently: deletePermanently
12769
12850
  }
12770
12851
  };
12771
12852
  };
@@ -13189,7 +13270,7 @@ var updateMembersPresenceAC = function updateMembersPresenceAC(usersMap) {
13189
13270
  };
13190
13271
  var setMembersLoadingStateAC = function setMembersLoadingStateAC(state) {
13191
13272
  return setMembersLoadingState({
13192
- state: !!state
13273
+ state: state
13193
13274
  });
13194
13275
  };
13195
13276
  var removeMemberFromListAC = function removeMemberFromListAC(members) {
@@ -13208,6 +13289,22 @@ var getRolesFailAC = function getRolesFailAC(timeout, attempts) {
13208
13289
  attempts: attempts
13209
13290
  });
13210
13291
  };
13292
+ var setMembersHasNextAC = function setMembersHasNextAC(hasNext) {
13293
+ return setMembersHasNext({
13294
+ hasNext: hasNext
13295
+ });
13296
+ };
13297
+ var setActionIsRestrictedAC = function setActionIsRestrictedAC(isRestricted, fromChannel) {
13298
+ return setActionIsRestricted({
13299
+ isRestricted: isRestricted,
13300
+ fromChannel: fromChannel
13301
+ });
13302
+ };
13303
+ var setOpenInviteModalAC = function setOpenInviteModalAC(open) {
13304
+ return setOpenInviteModal({
13305
+ open: open
13306
+ });
13307
+ };
13211
13308
 
13212
13309
  var connectionStatusSelector = function connectionStatusSelector(store) {
13213
13310
  return store.UserReducer.connectionStatus;
@@ -14156,7 +14253,7 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
14156
14253
  var _marked = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersAdd),
14157
14254
  _marked2 = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersRemove);
14158
14255
  function updateActiveChannelMembersAdd(addedMembers) {
14159
- var state, activeChannel, updatedMembers;
14256
+ var state, activeChannel, members, shouldUpdateMembers, updatedMembers;
14160
14257
  return _regenerator().w(function (_context) {
14161
14258
  while (1) switch (_context.n) {
14162
14259
  case 0:
@@ -14165,11 +14262,17 @@ function updateActiveChannelMembersAdd(addedMembers) {
14165
14262
  case 1:
14166
14263
  state = _context.v;
14167
14264
  activeChannel = state.ChannelReducer.activeChannel;
14265
+ members = (activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.members) || [];
14266
+ shouldUpdateMembers = addedMembers.filter(function (member) {
14267
+ return !members.some(function (m) {
14268
+ return m.id === member.id;
14269
+ });
14270
+ });
14168
14271
  if (!(activeChannel && activeChannel.id)) {
14169
14272
  _context.n = 2;
14170
14273
  break;
14171
14274
  }
14172
- updatedMembers = [].concat(activeChannel.members || [], addedMembers);
14275
+ updatedMembers = [].concat(activeChannel.members || [], shouldUpdateMembers);
14173
14276
  updatedMembers = Array.from(new Set(updatedMembers));
14174
14277
  return _context.a(2, {
14175
14278
  members: updatedMembers
@@ -15371,6 +15474,7 @@ function watchForEvents() {
15371
15474
  }
15372
15475
  return _context.a(3, 183);
15373
15476
  case 99:
15477
+ log.info('CHANNEL_EVENT_TYPES.POLL_ADDED ... ');
15374
15478
  _channel10 = args.channel, pollDetails = args.pollDetails, _messageId = args.messageId;
15375
15479
  pollDetailsData = pollDetails;
15376
15480
  _context.n = 100;
@@ -15455,6 +15559,7 @@ function watchForEvents() {
15455
15559
  case 108:
15456
15560
  return _context.a(3, 183);
15457
15561
  case 109:
15562
+ log.info('CHANNEL_EVENT_TYPES.POLL_DELETED ... ');
15458
15563
  _channel11 = args.channel, _pollDetails = args.pollDetails, _messageId2 = args.messageId;
15459
15564
  _pollDetailsData = _pollDetails;
15460
15565
  _context.n = 110;
@@ -15514,6 +15619,7 @@ function watchForEvents() {
15514
15619
  case 116:
15515
15620
  return _context.a(3, 183);
15516
15621
  case 117:
15622
+ log.info('CHANNEL_EVENT_TYPES.POLL_RETRACTED ... ');
15517
15623
  _channel12 = args.channel, _pollDetails2 = args.pollDetails, _messageId3 = args.messageId;
15518
15624
  _context.n = 118;
15519
15625
  return call(getActiveChannelId);
@@ -15572,6 +15678,7 @@ function watchForEvents() {
15572
15678
  case 124:
15573
15679
  return _context.a(3, 183);
15574
15680
  case 125:
15681
+ log.info('CHANNEL_EVENT_TYPES.POLL_CLOSED ... ');
15575
15682
  _channel13 = args.channel, _messageId4 = args.messageId;
15576
15683
  _context.n = 126;
15577
15684
  return call(getActiveChannelId);
@@ -16170,13 +16277,20 @@ function createChannel(action) {
16170
16277
  _context.n = 16;
16171
16278
  return call(setActiveChannelId, createdChannel.id);
16172
16279
  case 16:
16173
- _context.n = 18;
16280
+ _context.n = 19;
16174
16281
  break;
16175
16282
  case 17:
16176
16283
  _context.p = 17;
16177
16284
  _t = _context.v;
16178
- log.error(_t, 'Error on create channel');
16285
+ if (!(_t.code === 1041)) {
16286
+ _context.n = 18;
16287
+ break;
16288
+ }
16289
+ _context.n = 18;
16290
+ return put(setActionIsRestrictedAC(true, false));
16179
16291
  case 18:
16292
+ log.error(_t, 'Error on create channel');
16293
+ case 19:
16180
16294
  return _context.a(2);
16181
16295
  }
16182
16296
  }, _marked$2, null, [[0, 17]]);
@@ -16291,7 +16405,7 @@ function getChannels(action) {
16291
16405
  try {
16292
16406
  return Promise.resolve(new Promise(function (resolve) {
16293
16407
  channel.getMessagesById([channel.newReactions[0].messageId]).then(function (messages) {
16294
- channelMessageMap[channel.id] = messages[0];
16408
+ channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id] = messages[0];
16295
16409
  log.info('[getChannels] successfully fetched reaction message for channel:', channel === null || channel === void 0 ? void 0 : channel.id);
16296
16410
  resolve(true);
16297
16411
  })["catch"](function (e) {
@@ -16310,8 +16424,8 @@ function getChannels(action) {
16310
16424
  case 13:
16311
16425
  log.info('[getChannels] reaction messages fetched:', channelMessageMap ? (_Object$keys = Object.keys(channelMessageMap)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length : 0);
16312
16426
  mappedChannels = mappedChannels.map(function (channel) {
16313
- if (channelMessageMap[channel.id]) {
16314
- channel.lastReactedMessage = channelMessageMap[channel.id];
16427
+ if (channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id]) {
16428
+ channel.lastReactedMessage = channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id];
16315
16429
  }
16316
16430
  return channel;
16317
16431
  });
@@ -18092,13 +18206,13 @@ function getChannelInviteKeys(action) {
18092
18206
  }, _marked30, null, [[0, 4]]);
18093
18207
  }
18094
18208
  function regenerateChannelInviteKey(action) {
18095
- var payload, channelId, key, channel, inviteKey, _t31;
18209
+ var payload, channelId, key, deletePermanently, channel, inviteKey, _t31;
18096
18210
  return _regenerator().w(function (_context31) {
18097
18211
  while (1) switch (_context31.p = _context31.n) {
18098
18212
  case 0:
18099
18213
  _context31.p = 0;
18100
18214
  payload = action.payload;
18101
- channelId = payload.channelId, key = payload.key;
18215
+ channelId = payload.channelId, key = payload.key, deletePermanently = payload.deletePermanently;
18102
18216
  _context31.n = 1;
18103
18217
  return call(getChannelFromMap, channelId);
18104
18218
  case 1:
@@ -18113,7 +18227,8 @@ function regenerateChannelInviteKey(action) {
18113
18227
  _context31.n = 2;
18114
18228
  return call(channel.regenerateInviteKey, {
18115
18229
  key: key,
18116
- channelId: channelId
18230
+ channelId: channelId,
18231
+ deletePermanently: deletePermanently
18117
18232
  });
18118
18233
  case 2:
18119
18234
  inviteKey = _context31.v;
@@ -18849,6 +18964,56 @@ var getFrame = function getFrame(videoSrc, time) {
18849
18964
  }
18850
18965
  };
18851
18966
 
18967
+ var SDKErrorTypeEnum = {
18968
+ BadRequest: {
18969
+ value: 'BadRequest',
18970
+ isResendable: false
18971
+ },
18972
+ BadParam: {
18973
+ value: 'BadParam',
18974
+ isResendable: false
18975
+ },
18976
+ NotFound: {
18977
+ value: 'NotFound',
18978
+ isResendable: false
18979
+ },
18980
+ NotAllowed: {
18981
+ value: 'NotAllowed',
18982
+ isResendable: false
18983
+ },
18984
+ TooLargeRequest: {
18985
+ value: 'TooLargeRequest',
18986
+ isResendable: false
18987
+ },
18988
+ InternalError: {
18989
+ value: 'InternalError',
18990
+ isResendable: true
18991
+ },
18992
+ TooManyRequests: {
18993
+ value: 'TooManyRequests',
18994
+ isResendable: true
18995
+ },
18996
+ Authentication: {
18997
+ value: 'Authentication',
18998
+ isResendable: true
18999
+ }
19000
+ };
19001
+ var fromValue = function fromValue(value) {
19002
+ if (!value) return null;
19003
+ var entries = Object.values(SDKErrorTypeEnum);
19004
+ return entries.find(function (entry) {
19005
+ return entry.value === value;
19006
+ }) || null;
19007
+ };
19008
+ var isResendableError = function isResendableError(value) {
19009
+ var _errorType$isResendab;
19010
+ if (!value) {
19011
+ return true;
19012
+ }
19013
+ var errorType = fromValue(value);
19014
+ return (_errorType$isResendab = errorType === null || errorType === void 0 ? void 0 : errorType.isResendable) != null ? _errorType$isResendab : true;
19015
+ };
19016
+
18852
19017
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
18853
19018
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
18854
19019
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -18964,63 +19129,100 @@ var handleUploadAttachments = function handleUploadAttachments(attachments, mess
18964
19129
  return Promise.reject(e);
18965
19130
  }
18966
19131
  };
18967
- var addPendingMessage = function addPendingMessage(message, messageCopy, channel) {
19132
+ var addPendingMessage = function addPendingMessage(message, messageCopy, channelId) {
18968
19133
  try {
18969
19134
  var messageToAdd = _extends({}, messageCopy, {
18970
19135
  createdAt: new Date(Date.now()),
18971
19136
  mentionedUsers: message.mentionedUsers,
18972
19137
  parentMessage: message.parentMessage
18973
19138
  });
18974
- setPendingMessage(channel.id, messageToAdd);
19139
+ setPendingMessage(channelId, messageToAdd);
18975
19140
  return Promise.resolve();
18976
19141
  } catch (e) {
18977
19142
  return Promise.reject(e);
18978
19143
  }
18979
19144
  };
18980
- var updateMessage$1 = function updateMessage(actionType, pending, channel, scrollToNewMessage) {
19145
+ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scrollToNewMessage, message) {
18981
19146
  if (scrollToNewMessage === void 0) {
18982
19147
  scrollToNewMessage = true;
18983
19148
  }
18984
19149
  return /*#__PURE__*/_regenerator().m(function _callee() {
18985
- var activeChannelId;
19150
+ var activeChannelId, channel, messages, _channel$lastMessage2, repliedMessage, scrollRef, _channel$lastMessage3;
18986
19151
  return _regenerator().w(function (_context) {
18987
19152
  while (1) switch (_context.n) {
18988
19153
  case 0:
18989
19154
  activeChannelId = getActiveChannelId();
18990
19155
  if (!(actionType !== RESEND_MESSAGE)) {
18991
- _context.n = 2;
19156
+ _context.n = 7;
18992
19157
  break;
18993
19158
  }
18994
- addMessageToMap(channel.id, pending);
18995
- if (activeChannelId === channel.id) {
19159
+ if (activeChannelId === channelId) {
18996
19160
  addAllMessages([pending], MESSAGE_LOAD_DIRECTION.NEXT);
18997
19161
  }
18998
- if (!(activeChannelId === channel.id)) {
19162
+ if (!(activeChannelId === channelId)) {
18999
19163
  _context.n = 1;
19000
19164
  break;
19001
19165
  }
19002
19166
  _context.n = 1;
19003
19167
  return put(addMessageAC(pending));
19004
19168
  case 1:
19169
+ _context.n = 2;
19170
+ return call(addPendingMessage, message, pending, channelId);
19171
+ case 2:
19005
19172
  if (!scrollToNewMessage) {
19006
- _context.n = 2;
19173
+ _context.n = 7;
19007
19174
  break;
19008
19175
  }
19009
- _context.n = 2;
19010
- return put(scrollToNewMessageAC(true, true));
19011
- case 2:
19176
+ _context.n = 3;
19177
+ return call(getChannelFromAllChannels, channelId);
19178
+ case 3:
19179
+ channel = _context.v;
19180
+ messages = store.getState().MessageReducer.activeChannelMessages;
19181
+ if (!(messages.findIndex(function (msg) {
19182
+ var _channel$lastMessage;
19183
+ return msg.id === (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id);
19184
+ }) >= 10)) {
19185
+ _context.n = 6;
19186
+ break;
19187
+ }
19188
+ _context.n = 4;
19189
+ return put(scrollToNewMessageAC(true, false, false));
19190
+ case 4:
19191
+ _context.n = 5;
19192
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19193
+ case 5:
19194
+ repliedMessage = document.getElementById(channel === null || channel === void 0 ? void 0 : (_channel$lastMessage2 = channel.lastMessage) === null || _channel$lastMessage2 === void 0 ? void 0 : _channel$lastMessage2.id);
19195
+ if (repliedMessage) {
19196
+ scrollRef = document.getElementById('scrollableDiv');
19197
+ if (scrollRef) {
19198
+ scrollRef.scrollTo({
19199
+ top: 1000,
19200
+ behavior: 'smooth'
19201
+ });
19202
+ }
19203
+ }
19204
+ _context.n = 7;
19205
+ break;
19206
+ case 6:
19207
+ if (!(channel !== null && channel !== void 0 && channel.id)) {
19208
+ _context.n = 7;
19209
+ break;
19210
+ }
19211
+ _context.n = 7;
19212
+ return put(getMessagesAC(channel, false, channel === null || channel === void 0 ? void 0 : (_channel$lastMessage3 = channel.lastMessage) === null || _channel$lastMessage3 === void 0 ? void 0 : _channel$lastMessage3.id, undefined, false, 'smooth', true));
19213
+ case 7:
19012
19214
  return _context.a(2);
19013
19215
  }
19014
19216
  }, _callee);
19015
19217
  })();
19016
19218
  };
19017
19219
  function sendMessage(action) {
19018
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19220
+ var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19019
19221
  return _regenerator().w(function (_context4) {
19020
19222
  while (1) switch (_context4.p = _context4.n) {
19021
19223
  case 0:
19022
19224
  payload = action.payload;
19023
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19225
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage;
19024
19226
  pendingMessages = [];
19025
19227
  _context4.p = 1;
19026
19228
  _context4.n = 2;
@@ -19155,8 +19357,12 @@ function sendMessage(action) {
19155
19357
  createdAt: new Date(Date.now())
19156
19358
  });
19157
19359
  pendingMessages.push(_pending);
19360
+ if (!(action.type !== RESEND_MESSAGE)) {
19361
+ _context2.n = 1;
19362
+ break;
19363
+ }
19158
19364
  _context2.n = 1;
19159
- return call(updateMessage$1, action.type, _pending, channel);
19365
+ return call(updateMessage$1, action.type, _pending, channel.id, true, message);
19160
19366
  case 1:
19161
19367
  _context2.n = 3;
19162
19368
  break;
@@ -19204,8 +19410,12 @@ function sendMessage(action) {
19204
19410
  createdAt: new Date(Date.now())
19205
19411
  });
19206
19412
  pendingMessages.push(pending);
19413
+ if (!(action.type !== RESEND_MESSAGE)) {
19414
+ _context4.n = 11;
19415
+ break;
19416
+ }
19207
19417
  _context4.n = 11;
19208
- return call(updateMessage$1, action.type, pending, channel);
19418
+ return call(updateMessage$1, action.type, pending, channel.id, true, message);
19209
19419
  case 11:
19210
19420
  messageToSend = _extends({}, messageToSend, {
19211
19421
  attachments: attachmentsToSend
@@ -19213,7 +19423,7 @@ function sendMessage(action) {
19213
19423
  messagesToSend.push(messageToSend);
19214
19424
  case 12:
19215
19425
  _loop2 = /*#__PURE__*/_regenerator().m(function _callee3() {
19216
- var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, messageToUpdate, channelUpdateParam, pendingMessage, connectionIsDisconnected, _t;
19426
+ var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, stringifiedMessageUpdateData, activeChannelId, channelUpdateParam, isErrorResendable, _t;
19217
19427
  return _regenerator().w(function (_context3) {
19218
19428
  while (1) switch (_context3.p = _context3.n) {
19219
19429
  case 0:
@@ -19222,7 +19432,7 @@ function sendMessage(action) {
19222
19432
  _context3.p = 1;
19223
19433
  messageCopy = JSON.parse(JSON.stringify(messagesToSend[_i]));
19224
19434
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19225
- _context3.n = 12;
19435
+ _context3.n = 13;
19226
19436
  break;
19227
19437
  }
19228
19438
  _attachmentsToSend = messageAttachment;
@@ -19283,9 +19493,6 @@ function sendMessage(action) {
19283
19493
  _context3.n = 5;
19284
19494
  break;
19285
19495
  case 8:
19286
- if (action.type === RESEND_MESSAGE) {
19287
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19288
- }
19289
19496
  attachmentsToUpdate = [];
19290
19497
  if (messageResponse.attachments && messageResponse.attachments.length > 0) {
19291
19498
  currentAttachmentsMap = {};
@@ -19318,61 +19525,56 @@ function sendMessage(action) {
19318
19525
  createdAt: messageResponse.createdAt,
19319
19526
  channelId: channel.id
19320
19527
  };
19528
+ stringifiedMessageUpdateData = JSON.parse(JSON.stringify(messageUpdateData));
19529
+ activeChannelId = getActiveChannelId();
19530
+ if (!(activeChannelId === channel.id)) {
19531
+ _context3.n = 9;
19532
+ break;
19533
+ }
19321
19534
  _context3.n = 9;
19322
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19535
+ return put(updateMessageAC(messageToSend.tid, stringifiedMessageUpdateData, true));
19323
19536
  case 9:
19324
- updateMessageOnMap(channel.id, {
19325
- messageId: messageToSend.tid,
19326
- params: messageUpdateData
19327
- });
19537
+ _context3.n = 10;
19538
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19539
+ case 10:
19540
+ addMessageToMap(channel.id, stringifiedMessageUpdateData);
19328
19541
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19329
- messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19330
- updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19542
+ updateChannelLastMessageOnAllChannels(channel.id, stringifiedMessageUpdateData);
19331
19543
  channelUpdateParam = {
19332
- lastMessage: messageToUpdate,
19544
+ lastMessage: stringifiedMessageUpdateData,
19333
19545
  lastReactedMessage: null
19334
19546
  };
19335
19547
  if (!channel.unread) {
19336
- _context3.n = 10;
19548
+ _context3.n = 11;
19337
19549
  break;
19338
19550
  }
19339
- _context3.n = 10;
19340
- return put(markChannelAsReadAC(channel.id));
19341
- case 10:
19342
19551
  _context3.n = 11;
19343
- return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19552
+ return put(markChannelAsReadAC(channel.id));
19344
19553
  case 11:
19554
+ _context3.n = 12;
19555
+ return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19556
+ case 12:
19345
19557
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19346
- _context3.n = 13;
19558
+ _context3.n = 14;
19347
19559
  break;
19348
- case 12:
19349
- throw new Error('Connection required to send message');
19350
19560
  case 13:
19561
+ throw new Error('Connection required to send message');
19562
+ case 14:
19351
19563
  _context3.n = 19;
19352
19564
  break;
19353
- case 14:
19354
- _context3.p = 14;
19565
+ case 15:
19566
+ _context3.p = 15;
19355
19567
  _t = _context3.v;
19356
- pendingMessage = pendingMessages === null || pendingMessages === void 0 ? void 0 : pendingMessages.find(function (pendingMessage) {
19357
- return pendingMessage.tid === messageToSend.tid;
19358
- });
19359
- if (!(channel && pendingMessage && action.type !== RESEND_MESSAGE)) {
19568
+ isErrorResendable = isResendableError(_t === null || _t === void 0 ? void 0 : _t.type);
19569
+ if (isErrorResendable) {
19360
19570
  _context3.n = 17;
19361
19571
  break;
19362
19572
  }
19363
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19364
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19365
- _context3.n = 16;
19366
- break;
19367
- }
19368
- _context3.n = 15;
19369
- return call(addPendingMessage, message, pendingMessage, channel);
19370
- case 15:
19371
- _context3.n = 17;
19372
- break;
19573
+ _context3.n = 16;
19574
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19373
19575
  case 16:
19374
- _context3.n = 17;
19375
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19576
+ _context3.n = 19;
19577
+ break;
19376
19578
  case 17:
19377
19579
  log.error('Error on uploading attachment', messageToSend.tid, _t);
19378
19580
  if (!(messageToSend.attachments && messageToSend.attachments.length)) {
@@ -19398,7 +19600,7 @@ function sendMessage(action) {
19398
19600
  case 19:
19399
19601
  return _context3.a(2);
19400
19602
  }
19401
- }, _callee3, null, [[1, 14]]);
19603
+ }, _callee3, null, [[1, 15]]);
19402
19604
  });
19403
19605
  _i = 0;
19404
19606
  case 13:
@@ -19430,12 +19632,12 @@ function sendMessage(action) {
19430
19632
  }, _marked$3, null, [[1, 16, 17, 19]]);
19431
19633
  }
19432
19634
  function sendTextMessage(action) {
19433
- var payload, message, connectionState, channelId, isAddToPendingMessagesMap, channel, sendMessageTid, pendingMessage, activeChannelId, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t3;
19635
+ var payload, message, connectionState, channelId, channel, sendMessageTid, pendingMessage, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, activeChannelId, stringifiedMessageUpdateData, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId, _t3;
19434
19636
  return _regenerator().w(function (_context5) {
19435
19637
  while (1) switch (_context5.p = _context5.n) {
19436
19638
  case 0:
19437
19639
  payload = action.payload;
19438
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19640
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19439
19641
  _context5.n = 1;
19440
19642
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19441
19643
  case 1:
@@ -19449,8 +19651,8 @@ function sendTextMessage(action) {
19449
19651
  setChannelInMap(channel);
19450
19652
  }
19451
19653
  }
19654
+ sendMessageTid = null;
19452
19655
  pendingMessage = null;
19453
- activeChannelId = getActiveChannelId();
19454
19656
  _context5.p = 3;
19455
19657
  if (!channel.isMockChannel) {
19456
19658
  _context5.n = 6;
@@ -19510,11 +19712,15 @@ function sendTextMessage(action) {
19510
19712
  _context5.n = 8;
19511
19713
  break;
19512
19714
  }
19715
+ if (!(action.type !== RESEND_MESSAGE)) {
19716
+ _context5.n = 8;
19717
+ break;
19718
+ }
19513
19719
  _context5.n = 8;
19514
- return call(updateMessage$1, action.type, pendingMessage, channel);
19720
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, true, message);
19515
19721
  case 8:
19516
19722
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19517
- _context5.n = 16;
19723
+ _context5.n = 18;
19518
19724
  break;
19519
19725
  }
19520
19726
  if (!sendMessageHandler) {
@@ -19550,19 +19756,24 @@ function sendTextMessage(action) {
19550
19756
  pollDetails: (_messageResponse = messageResponse) === null || _messageResponse === void 0 ? void 0 : _messageResponse.pollDetails,
19551
19757
  channelId: channel.id
19552
19758
  };
19759
+ activeChannelId = getActiveChannelId();
19553
19760
  if (!(activeChannelId === channel.id)) {
19554
19761
  _context5.n = 13;
19555
19762
  break;
19556
19763
  }
19557
19764
  _context5.n = 13;
19558
- return put(updateMessageAC(messageToSend.tid, messageUpdateData));
19765
+ return put(updateMessageAC(messageToSend.tid, messageUpdateData, true));
19559
19766
  case 13:
19560
- updateMessageOnMap(channel.id, {
19561
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19562
- params: messageUpdateData
19563
- });
19767
+ stringifiedMessageUpdateData = JSON.parse(JSON.stringify(messageUpdateData));
19768
+ _context5.n = 14;
19769
+ return put(updatePendingPollActionAC(messageToSend.tid, stringifiedMessageUpdateData));
19770
+ case 14:
19771
+ _context5.n = 15;
19772
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19773
+ case 15:
19774
+ addMessageToMap(channel.id, stringifiedMessageUpdateData);
19564
19775
  if (activeChannelId === channel.id) {
19565
- updateMessageOnAllMessages(!isAddToPendingMessagesMap ? message.tid : messageToSend.tid, messageUpdateData);
19776
+ updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19566
19777
  }
19567
19778
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19568
19779
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19570,85 +19781,80 @@ function sendTextMessage(action) {
19570
19781
  lastMessage: messageToUpdate,
19571
19782
  lastReactedMessage: null
19572
19783
  };
19573
- _context5.n = 14;
19784
+ _context5.n = 16;
19574
19785
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19575
- case 14:
19786
+ case 16:
19576
19787
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19577
19788
  if (!channel.unread) {
19578
- _context5.n = 15;
19789
+ _context5.n = 17;
19579
19790
  break;
19580
19791
  }
19581
- _context5.n = 15;
19792
+ _context5.n = 17;
19582
19793
  return put(markChannelAsReadAC(channel.id));
19583
- case 15:
19794
+ case 17:
19584
19795
  channel.lastMessage = messageToUpdate;
19585
- if (action.type === RESEND_MESSAGE) {
19586
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19587
- }
19588
- _context5.n = 17;
19796
+ _context5.n = 19;
19589
19797
  break;
19590
- case 16:
19798
+ case 18:
19591
19799
  throw new Error('Connection required to send message');
19592
- case 17:
19593
- _context5.n = 22;
19800
+ case 19:
19801
+ _context5.n = 23;
19594
19802
  break;
19595
- case 18:
19596
- _context5.p = 18;
19803
+ case 20:
19804
+ _context5.p = 20;
19597
19805
  _t3 = _context5.v;
19598
- if (!(activeChannelId === channel.id && pendingMessage && action.type !== RESEND_MESSAGE)) {
19599
- _context5.n = 21;
19600
- break;
19601
- }
19602
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19603
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19604
- _context5.n = 20;
19806
+ log.error('error on send text message ... ', _t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19807
+ isErrorResendable = isResendableError(_t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19808
+ if (!(!isErrorResendable && channel.id && sendMessageTid)) {
19809
+ _context5.n = 22;
19605
19810
  break;
19606
19811
  }
19607
- _context5.n = 19;
19608
- return call(addPendingMessage, message, pendingMessage, channel);
19609
- case 19:
19610
- _context5.n = 21;
19611
- break;
19612
- case 20:
19613
19812
  _context5.n = 21;
19614
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19813
+ return put(removePendingMessageAC(channel.id, sendMessageTid));
19615
19814
  case 21:
19616
- log.error('error on send text message ... ', _t3);
19815
+ _context5.n = 23;
19816
+ break;
19817
+ case 22:
19818
+ if (!(channel.id && sendMessageTid)) {
19819
+ _context5.n = 23;
19820
+ break;
19821
+ }
19617
19822
  updateMessageOnMap(channel.id, {
19618
19823
  messageId: sendMessageTid,
19619
19824
  params: {
19620
19825
  state: MESSAGE_STATUS.FAILED
19621
19826
  }
19622
19827
  });
19623
- if (!(activeChannelId === channel.id)) {
19624
- _context5.n = 22;
19828
+ _activeChannelId = getActiveChannelId();
19829
+ if (!(_activeChannelId === channel.id)) {
19830
+ _context5.n = 23;
19625
19831
  break;
19626
19832
  }
19627
19833
  updateMessageOnAllMessages(sendMessageTid, {
19628
19834
  state: MESSAGE_STATUS.FAILED
19629
19835
  });
19630
- _context5.n = 22;
19836
+ _context5.n = 23;
19631
19837
  return put(updateMessageAC(sendMessageTid, {
19632
19838
  state: MESSAGE_STATUS.FAILED
19633
19839
  }));
19634
- case 22:
19635
- _context5.p = 22;
19636
- _context5.n = 23;
19637
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19638
19840
  case 23:
19639
- return _context5.f(22);
19841
+ _context5.p = 23;
19842
+ _context5.n = 24;
19843
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19640
19844
  case 24:
19845
+ return _context5.f(23);
19846
+ case 25:
19641
19847
  return _context5.a(2);
19642
19848
  }
19643
- }, _marked2$2, null, [[3, 18, 22, 24]]);
19849
+ }, _marked2$2, null, [[3, 20, 23, 25]]);
19644
19850
  }
19645
19851
  function forwardMessage(action) {
19646
- var payload, message, channelId, connectionState, isForward, isAddToPendingMessagesMap, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t4;
19852
+ var payload, message, channelId, connectionState, isForward, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId2, _t4;
19647
19853
  return _regenerator().w(function (_context6) {
19648
19854
  while (1) switch (_context6.p = _context6.n) {
19649
19855
  case 0:
19650
19856
  payload = action.payload;
19651
- message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19857
+ message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward;
19652
19858
  pendingMessage = null;
19653
19859
  channel = null;
19654
19860
  activeChannelId = getActiveChannelId();
@@ -19691,7 +19897,7 @@ function forwardMessage(action) {
19691
19897
  }) : [];
19692
19898
  attachments = message.attachments;
19693
19899
  if ((channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC) && !(channel.userRole === 'admin' || channel.userRole === 'owner')) {
19694
- _context6.n = 16;
19900
+ _context6.n = 17;
19695
19901
  break;
19696
19902
  }
19697
19903
  if (message.attachments && message.attachments.length) {
@@ -19718,7 +19924,7 @@ function forwardMessage(action) {
19718
19924
  };
19719
19925
  }
19720
19926
  messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisableMentionsCount(getDisableFrowardMentionsCount()).setMetadata(message.metadata ? isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata) : '').setForwardingMessageId(message.forwardingDetails ? message.forwardingDetails.messageId : message.id).setPollDetails(pollDetails);
19721
- messageToSend = messageBuilder.create();
19927
+ messageToSend = action.type === RESEND_MESSAGE ? action.payload.message : messageBuilder.create();
19722
19928
  messageToSend.tid = action.type === RESEND_MESSAGE ? action.payload.message.tid : messageToSend.tid;
19723
19929
  messageTid = messageToSend.tid;
19724
19930
  pendingMessage = _extends({}, messageToSend, {
@@ -19754,11 +19960,15 @@ function forwardMessage(action) {
19754
19960
  _context6.n = 9;
19755
19961
  break;
19756
19962
  }
19963
+ if (!(action.type !== RESEND_MESSAGE)) {
19964
+ _context6.n = 9;
19965
+ break;
19966
+ }
19757
19967
  _context6.n = 9;
19758
- return call(updateMessage$1, action.type, pendingMessage, channel, false);
19968
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19759
19969
  case 9:
19760
19970
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19761
- _context6.n = 15;
19971
+ _context6.n = 16;
19762
19972
  break;
19763
19973
  }
19764
19974
  _context6.n = 10;
@@ -19784,61 +19994,55 @@ function forwardMessage(action) {
19784
19994
  break;
19785
19995
  }
19786
19996
  _context6.n = 11;
19787
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19997
+ return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19788
19998
  case 11:
19789
19999
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19790
20000
  case 12:
19791
- if (action.type === RESEND_MESSAGE) {
19792
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
20001
+ if (!messageToSend.tid) {
20002
+ _context6.n = 13;
20003
+ break;
19793
20004
  }
19794
- updateMessageOnMap(channel.id, {
19795
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19796
- params: messageUpdateData
19797
- });
20005
+ _context6.n = 13;
20006
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
20007
+ case 13:
20008
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19798
20009
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19799
20010
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19800
20011
  channelUpdateParam = {
19801
20012
  lastMessage: messageToUpdate,
19802
20013
  lastReactedMessage: null
19803
20014
  };
19804
- _context6.n = 13;
20015
+ _context6.n = 14;
19805
20016
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19806
- case 13:
20017
+ case 14:
19807
20018
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19808
20019
  if (!channel.unread) {
19809
- _context6.n = 14;
20020
+ _context6.n = 15;
19810
20021
  break;
19811
20022
  }
19812
- _context6.n = 14;
20023
+ _context6.n = 15;
19813
20024
  return put(markChannelAsReadAC(channel.id));
19814
- case 14:
19815
- _context6.n = 16;
19816
- break;
19817
20025
  case 15:
19818
- throw new Error('Connection required to forward message');
20026
+ _context6.n = 17;
20027
+ break;
19819
20028
  case 16:
20029
+ throw new Error('Connection required to forward message');
20030
+ case 17:
19820
20031
  _context6.n = 22;
19821
20032
  break;
19822
- case 17:
19823
- _context6.p = 17;
20033
+ case 18:
20034
+ _context6.p = 18;
19824
20035
  _t4 = _context6.v;
19825
- if (!(pendingMessage && channel && action.type !== RESEND_MESSAGE)) {
20036
+ isErrorResendable = isResendableError(_t4 === null || _t4 === void 0 ? void 0 : _t4.type);
20037
+ if (isErrorResendable) {
19826
20038
  _context6.n = 20;
19827
20039
  break;
19828
20040
  }
19829
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19830
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19831
- _context6.n = 19;
19832
- break;
19833
- }
19834
- _context6.n = 18;
19835
- return call(addPendingMessage, message, pendingMessage, channel);
19836
- case 18:
19837
- _context6.n = 20;
19838
- break;
20041
+ _context6.n = 19;
20042
+ return put(removePendingMessageAC(channel.id, messageTid));
19839
20043
  case 19:
19840
- _context6.n = 20;
19841
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
20044
+ _context6.n = 21;
20045
+ break;
19842
20046
  case 20:
19843
20047
  if (!(channel && messageTid)) {
19844
20048
  _context6.n = 21;
@@ -19850,7 +20054,8 @@ function forwardMessage(action) {
19850
20054
  state: MESSAGE_STATUS.FAILED
19851
20055
  }
19852
20056
  });
19853
- if (!(activeChannelId === channel.id)) {
20057
+ _activeChannelId2 = getActiveChannelId();
20058
+ if (!(_activeChannelId2 === channel.id)) {
19854
20059
  _context6.n = 21;
19855
20060
  break;
19856
20061
  }
@@ -19872,25 +20077,67 @@ function forwardMessage(action) {
19872
20077
  case 24:
19873
20078
  return _context6.a(2);
19874
20079
  }
19875
- }, _marked3$1, null, [[1, 17, 22, 24]]);
20080
+ }, _marked3$1, null, [[1, 18, 22, 24]]);
19876
20081
  }
19877
20082
  function resendMessage(action) {
19878
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isVoiceMessage;
20083
+ var _message$attachments;
20084
+ var payload, message, connectionState, channelId, attachments, sendAttachmentsAsSeparateMessage, isVoiceMessage;
19879
20085
  return _regenerator().w(function (_context7) {
19880
20086
  while (1) switch (_context7.n) {
19881
20087
  case 0:
19882
20088
  payload = action.payload;
19883
20089
  message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19884
- if (message.forwardingDetails) {
19885
- store.dispatch(forwardMessageAC(message, channelId, connectionState, false, false));
19886
- } else if (message.attachments && message.attachments.length) {
19887
- sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
19888
- isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
19889
- store.dispatch(sendMessageAC(message, channelId, connectionState, isVoiceMessage ? false : sendAttachmentsAsSeparateMessage, false, false));
19890
- } else {
19891
- store.dispatch(sendTextMessageAC(message, channelId, connectionState, false));
20090
+ attachments = message === null || message === void 0 ? void 0 : (_message$attachments = message.attachments) === null || _message$attachments === void 0 ? void 0 : _message$attachments.filter(function (att) {
20091
+ return (att === null || att === void 0 ? void 0 : att.type) !== attachmentTypes.link;
20092
+ });
20093
+ if (!message.forwardingDetails) {
20094
+ _context7.n = 2;
20095
+ break;
19892
20096
  }
20097
+ _context7.n = 1;
20098
+ return call(forwardMessage, {
20099
+ type: RESEND_MESSAGE,
20100
+ payload: {
20101
+ message: message,
20102
+ connectionState: connectionState,
20103
+ channelId: channelId,
20104
+ isForward: false
20105
+ }
20106
+ });
19893
20107
  case 1:
20108
+ _context7.n = 5;
20109
+ break;
20110
+ case 2:
20111
+ if (!(attachments && attachments.length)) {
20112
+ _context7.n = 4;
20113
+ break;
20114
+ }
20115
+ sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
20116
+ isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
20117
+ _context7.n = 3;
20118
+ return call(sendMessage, {
20119
+ type: RESEND_MESSAGE,
20120
+ payload: {
20121
+ message: message,
20122
+ connectionState: connectionState,
20123
+ channelId: channelId,
20124
+ sendAttachmentsAsSeparateMessage: isVoiceMessage ? false : sendAttachmentsAsSeparateMessage
20125
+ }
20126
+ });
20127
+ case 3:
20128
+ _context7.n = 5;
20129
+ break;
20130
+ case 4:
20131
+ _context7.n = 5;
20132
+ return call(sendTextMessage, {
20133
+ type: RESEND_MESSAGE,
20134
+ payload: {
20135
+ message: message,
20136
+ connectionState: connectionState,
20137
+ channelId: channelId
20138
+ }
20139
+ });
20140
+ case 5:
19894
20141
  return _context7.a(2);
19895
20142
  }
19896
20143
  }, _marked4$1);
@@ -20052,8 +20299,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20052
20299
  message: msg,
20053
20300
  connectionState: connectionState,
20054
20301
  channelId: channelId,
20055
- isForward: true,
20056
- isAddToPendingMessagesMap: false
20302
+ isForward: true
20057
20303
  }
20058
20304
  });
20059
20305
  case 4:
@@ -20071,9 +20317,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20071
20317
  message: msg,
20072
20318
  connectionState: connectionState,
20073
20319
  channelId: channelId,
20074
- sendAttachmentsAsSeparateMessage: false,
20075
- isResend: true,
20076
- isAddToPendingMessagesMap: false
20320
+ sendAttachmentsAsSeparateMessage: false
20077
20321
  }
20078
20322
  });
20079
20323
  case 6:
@@ -20086,8 +20330,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20086
20330
  payload: {
20087
20331
  message: msg,
20088
20332
  connectionState: connectionState,
20089
- channelId: channelId,
20090
- isAddToPendingMessagesMap: false
20333
+ channelId: channelId
20091
20334
  }
20092
20335
  });
20093
20336
  case 8:
@@ -20116,26 +20359,13 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20116
20359
  }
20117
20360
  }, _callee4, null, [[3, 9]]);
20118
20361
  });
20119
- var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20120
- var _messages, _Object$values;
20121
- var previousAllMessages, messages, lastMessageId, setMappedAllMessages, allMessagesAfterLastMessage;
20362
+ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages, firstMessageId, lastMessageId) {
20363
+ var messages;
20122
20364
  return _regenerator().w(function (_context1) {
20123
20365
  while (1) switch (_context1.n) {
20124
20366
  case 0:
20125
- previousAllMessages = getAllMessages();
20126
20367
  messages = [].concat(updatedMessages);
20127
- lastMessageId = (_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : _messages.id;
20128
- setMappedAllMessages = {};
20129
- previousAllMessages.forEach(function (msg) {
20130
- if (msg.channelId === channel.id) {
20131
- setMappedAllMessages[msg.id || msg.tid || ''] = msg;
20132
- }
20133
- });
20134
- allMessagesAfterLastMessage = lastMessageId ? (_Object$values = Object.values(setMappedAllMessages || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.filter(function (msg) {
20135
- return msg.id > lastMessageId || !msg.id;
20136
- }) : Object.values(setMappedAllMessages || {});
20137
- messages = [].concat(messages, allMessagesAfterLastMessage || []);
20138
- setMessagesToMap(channel.id, messages);
20368
+ setMessagesToMap(channel.id, messages, firstMessageId, lastMessageId);
20139
20369
  setAllMessages(messages);
20140
20370
  _context1.n = 1;
20141
20371
  return put(setMessagesAC(JSON.parse(JSON.stringify(messages))));
@@ -20144,8 +20374,23 @@ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, up
20144
20374
  }
20145
20375
  }, _callee5);
20146
20376
  });
20377
+ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20378
+ var filteredPendingMessages = [];
20379
+ var activeChannelId = getActiveChannelId();
20380
+ var pendingMessages = JSON.parse(JSON.stringify(getPendingMessages(activeChannelId) || []));
20381
+ if (pendingMessages && pendingMessages.length) {
20382
+ var messagesMap = {};
20383
+ messages.forEach(function (msg) {
20384
+ messagesMap[msg.tid || ''] = msg;
20385
+ });
20386
+ filteredPendingMessages = pendingMessages.filter(function (msg) {
20387
+ return !messagesMap[msg.tid || ''];
20388
+ });
20389
+ }
20390
+ return filteredPendingMessages;
20391
+ };
20147
20392
  function getMessagesQuery(action) {
20148
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, waitToSendPendingMessages, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
20393
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, _result$messages$, _result$messages, _messages$Math$floor, messages, centerMessageId, loadWithMessageId, allMessages, messageIndex, maxLengthPart, _result$messages$2, _result$messages2, secondResult, thirdResult, fourthResult, _fourthResult, _result$messages$3, _result$messages3, _channel$lastMessage4, _channel$lastMessage5, _channel$lastMessage6, _updatedMessages$, _parsedMessages$, _parsedMessages, parsedMessages, _filteredPendingMessages, updatedMessages, messageIdForLoad, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
20149
20394
  return _regenerator().w(function (_context10) {
20150
20395
  while (1) switch (_context10.p = _context10.n) {
20151
20396
  case 0:
@@ -20153,10 +20398,10 @@ function getMessagesQuery(action) {
20153
20398
  _context10.n = 1;
20154
20399
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
20155
20400
  case 1:
20156
- _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage;
20401
+ _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, highlight = _action$payload.highlight, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage, networkChanged = _action$payload.networkChanged;
20157
20402
  connectionState = store.getState().UserReducer.connectionStatus;
20158
- if (!(channel.id && !channel.isMockChannel)) {
20159
- _context10.n = 76;
20403
+ if (!(channel !== null && channel !== void 0 && channel.id && !(channel !== null && channel !== void 0 && channel.isMockChannel))) {
20404
+ _context10.n = 84;
20160
20405
  break;
20161
20406
  }
20162
20407
  SceytChatClient = getClient();
@@ -20186,24 +20431,26 @@ function getMessagesQuery(action) {
20186
20431
  hasNext: false
20187
20432
  };
20188
20433
  if (!loadWithLastMessage) {
20189
- _context10.n = 19;
20434
+ _context10.n = 22;
20190
20435
  break;
20191
20436
  }
20192
- allMessages = getAllMessages();
20193
- havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
20194
- if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
20195
- _context10.n = 14;
20437
+ if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20438
+ _context10.n = 15;
20196
20439
  break;
20197
20440
  }
20198
20441
  setHasPrevCached(false);
20199
- setMessagesToMap(channel.id, []);
20200
20442
  setAllMessages([]);
20443
+ messageQuery.limit = MESSAGES_MAX_LENGTH;
20444
+ if (!Number(channel.lastDisplayedMessageId)) {
20445
+ _context10.n = 8;
20446
+ break;
20447
+ }
20201
20448
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20202
20449
  _context10.n = 6;
20203
20450
  break;
20204
20451
  }
20205
20452
  _context10.n = 5;
20206
- return call(messageQuery.loadPreviousMessageId, '0');
20453
+ return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20207
20454
  case 5:
20208
20455
  _t1 = _context10.v;
20209
20456
  _context10.n = 7;
@@ -20215,381 +20462,368 @@ function getMessagesQuery(action) {
20215
20462
  };
20216
20463
  case 7:
20217
20464
  result = _t1;
20218
- if (!(result.messages.length === 50)) {
20219
- _context10.n = 11;
20220
- break;
20221
- }
20222
- messageQuery.limit = 30;
20465
+ _context10.n = 12;
20466
+ break;
20467
+ case 8:
20223
20468
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20224
- _context10.n = 9;
20469
+ _context10.n = 10;
20225
20470
  break;
20226
20471
  }
20227
- _context10.n = 8;
20228
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20229
- case 8:
20472
+ _context10.n = 9;
20473
+ return call(messageQuery.loadPrevious);
20474
+ case 9:
20230
20475
  _t10 = _context10.v;
20231
- _context10.n = 10;
20476
+ _context10.n = 11;
20232
20477
  break;
20233
- case 9:
20478
+ case 10:
20234
20479
  _t10 = {
20235
20480
  messages: [],
20236
20481
  hasNext: false
20237
20482
  };
20238
- case 10:
20239
- secondResult = _t10;
20240
- result.messages = [].concat(secondResult.messages, result.messages);
20241
- result.hasNext = secondResult.hasNext;
20242
20483
  case 11:
20243
- sentMessages = [];
20244
- if (withDeliveredMessages) {
20245
- sentMessages = getFromAllMessagesByMessageId('', '', true);
20246
- }
20247
- messagesMap = {};
20248
- result.messages.forEach(function (msg) {
20249
- messagesMap[msg.tid || ''] = msg;
20250
- });
20251
- filteredSentMessages = sentMessages.filter(function (msg) {
20252
- return !messagesMap[msg.tid || ''];
20253
- });
20254
- result.messages = [].concat(result.messages, filteredSentMessages).slice(filteredSentMessages.length);
20255
- _context10.n = 12;
20256
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20484
+ result = _t10;
20257
20485
  case 12:
20258
- setMessagesToMap(channel.id, result.messages);
20259
- setAllMessages(result.messages);
20260
20486
  _context10.n = 13;
20261
- return put(setMessagesHasPrevAC(true));
20487
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20262
20488
  case 13:
20263
- _context10.n = 16;
20264
- break;
20489
+ setMessagesToMap(channel.id, result.messages, (_result$messages$ = result.messages[0]) === null || _result$messages$ === void 0 ? void 0 : _result$messages$.id, (_result$messages = result.messages[result.messages.length - 1]) === null || _result$messages === void 0 ? void 0 : _result$messages.id);
20490
+ setAllMessages(result.messages);
20491
+ _context10.n = 14;
20492
+ return put(setMessagesHasPrevAC(true));
20265
20493
  case 14:
20266
- result.messages = getFromAllMessagesByMessageId('', '', true);
20267
- _context10.n = 15;
20268
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20494
+ _context10.n = 17;
20495
+ break;
20269
20496
  case 15:
20497
+ result.messages = getFromAllMessagesByMessageId('', '', true);
20270
20498
  _context10.n = 16;
20271
- return put(setMessagesHasPrevAC(true));
20499
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20272
20500
  case 16:
20273
20501
  _context10.n = 17;
20274
- return put(setMessagesHasNextAC(false));
20502
+ return put(setMessagesHasPrevAC(true));
20275
20503
  case 17:
20504
+ _context10.n = 18;
20505
+ return put(setMessagesHasNextAC(false));
20506
+ case 18:
20276
20507
  setHasNextCached(false);
20277
20508
  if (!(messageId && scrollToMessage)) {
20278
- _context10.n = 18;
20509
+ _context10.n = 21;
20279
20510
  break;
20280
20511
  }
20281
- _context10.n = 18;
20282
- return put(setScrollToMessagesAC(messageId, highlight, behavior));
20283
- case 18:
20284
- _context10.n = 72;
20285
- break;
20512
+ if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20513
+ _context10.n = 20;
20514
+ break;
20515
+ }
20516
+ _context10.n = 19;
20517
+ return put(setScrollToMessagesAC(channel.lastDisplayedMessageId, highlight, behavior));
20286
20518
  case 19:
20519
+ _context10.n = 21;
20520
+ break;
20521
+ case 20:
20522
+ _context10.n = 21;
20523
+ return put(scrollToNewMessageAC(true));
20524
+ case 21:
20525
+ _context10.n = 77;
20526
+ break;
20527
+ case 22:
20287
20528
  if (!messageId) {
20288
- _context10.n = 38;
20529
+ _context10.n = 52;
20289
20530
  break;
20290
20531
  }
20291
- _allMessages = getAllMessages();
20292
- messageIndex = _allMessages.findIndex(function (msg) {
20293
- return msg.id === messageId;
20532
+ messages = store.getState().MessageReducer.activeChannelMessages;
20533
+ centerMessageId = (_messages$Math$floor = messages[Math.floor(messages.length / 2)]) === null || _messages$Math$floor === void 0 ? void 0 : _messages$Math$floor.id;
20534
+ loadWithMessageId = networkChanged && (messages === null || messages === void 0 ? void 0 : messages.length) > 0 ? centerMessageId : messageId;
20535
+ allMessages = getAllMessages();
20536
+ messageIndex = allMessages.findIndex(function (msg) {
20537
+ return msg.id === loadWithMessageId;
20294
20538
  });
20295
20539
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
20296
20540
  if (!(messageIndex >= maxLengthPart)) {
20297
- _context10.n = 22;
20541
+ _context10.n = 25;
20298
20542
  break;
20299
20543
  }
20300
- result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20301
- _context10.n = 20;
20544
+ result.messages = allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20545
+ _context10.n = 23;
20302
20546
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20303
- case 20:
20547
+ case 23:
20304
20548
  setHasPrevCached(messageIndex > maxLengthPart);
20305
- setHasNextCached(_allMessages.length > maxLengthPart);
20306
- _context10.n = 21;
20549
+ setHasNextCached(allMessages.length > maxLengthPart);
20550
+ _context10.n = 24;
20307
20551
  return put(setMessagesHasPrevAC(true));
20308
- case 21:
20309
- _context10.n = 34;
20552
+ case 24:
20553
+ _context10.n = 48;
20310
20554
  break;
20311
- case 22:
20555
+ case 25:
20312
20556
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20313
- log.info('load by message id from server ...............', messageId);
20557
+ log.info('load by message id from server ...............', loadWithMessageId);
20314
20558
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20315
- _context10.n = 24;
20559
+ _context10.n = 27;
20316
20560
  break;
20317
20561
  }
20318
- _context10.n = 23;
20319
- return call(messageQuery.loadNearMessageId, messageId);
20320
- case 23:
20562
+ _context10.n = 26;
20563
+ return call(messageQuery.loadNearMessageId, loadWithMessageId);
20564
+ case 26:
20321
20565
  _t11 = _context10.v;
20322
- _context10.n = 25;
20566
+ _context10.n = 28;
20323
20567
  break;
20324
- case 24:
20568
+ case 27:
20325
20569
  _t11 = {
20326
20570
  messages: [],
20327
20571
  hasNext: false
20328
20572
  };
20329
- case 25:
20573
+ case 28:
20330
20574
  result = _t11;
20575
+ _context10.n = 29;
20576
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20577
+ case 29:
20331
20578
  if (!(result.messages.length === 50)) {
20332
- _context10.n = 32;
20579
+ _context10.n = 47;
20333
20580
  break;
20334
20581
  }
20335
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20582
+ messageQuery.limit = (MESSAGES_MAX_PAGE_COUNT - 50) / 2;
20336
20583
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20337
- _context10.n = 27;
20584
+ _context10.n = 31;
20338
20585
  break;
20339
20586
  }
20340
- _context10.n = 26;
20587
+ _context10.n = 30;
20341
20588
  return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20342
- case 26:
20589
+ case 30:
20343
20590
  _t12 = _context10.v;
20344
- _context10.n = 28;
20591
+ _context10.n = 32;
20345
20592
  break;
20346
- case 27:
20593
+ case 31:
20347
20594
  _t12 = {
20348
20595
  messages: [],
20349
20596
  hasNext: false
20350
20597
  };
20351
- case 28:
20352
- _secondResult = _t12;
20598
+ case 32:
20599
+ secondResult = _t12;
20600
+ result.messages = [].concat(secondResult.messages, result.messages);
20601
+ _context10.n = 33;
20602
+ return put(addMessagesAC(JSON.parse(JSON.stringify(secondResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
20603
+ case 33:
20604
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length;
20353
20605
  messageQuery.reverse = false;
20354
20606
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20355
- _context10.n = 30;
20607
+ _context10.n = 35;
20356
20608
  break;
20357
20609
  }
20358
- _context10.n = 29;
20610
+ _context10.n = 34;
20359
20611
  return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20360
- case 29:
20612
+ case 34:
20361
20613
  _t13 = _context10.v;
20362
- _context10.n = 31;
20614
+ _context10.n = 36;
20363
20615
  break;
20364
- case 30:
20616
+ case 35:
20365
20617
  _t13 = {
20366
20618
  messages: [],
20367
20619
  hasNext: false
20368
20620
  };
20369
- case 31:
20370
- thirdResult = _t13;
20371
- result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
20372
- result.hasNext = _secondResult.hasNext;
20373
- messageQuery.reverse = true;
20374
- _context10.n = 32;
20375
- return put(setMessagesHasPrevAC(_secondResult.hasNext));
20376
- case 32:
20377
- _context10.n = 33;
20378
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20379
- case 33:
20380
- setMessagesToMap(channel.id, result.messages);
20381
- setAllMessages([].concat(result.messages));
20382
- setHasPrevCached(false);
20383
- setHasNextCached(false);
20384
- case 34:
20385
- _context10.n = 35;
20386
- return put(setMessagesHasNextAC(true));
20387
- case 35:
20388
- if (!scrollToMessage) {
20389
- _context10.n = 36;
20390
- break;
20391
- }
20392
- _context10.n = 36;
20393
- return put(setScrollToMessagesAC(messageId, true, behavior));
20394
20621
  case 36:
20622
+ thirdResult = _t13;
20623
+ result.messages = [].concat(result.messages, thirdResult.messages);
20395
20624
  _context10.n = 37;
20396
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20625
+ return put(addMessagesAC(JSON.parse(JSON.stringify(thirdResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
20397
20626
  case 37:
20398
- _context10.n = 72;
20399
- break;
20400
- case 38:
20401
- if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20402
- _context10.n = 61;
20403
- break;
20404
- }
20405
- setMessagesToMap(channel.id, []);
20406
- setAllMessages([]);
20407
- messageQuery.limit = MESSAGES_MAX_LENGTH;
20408
- if (!Number(channel.lastDisplayedMessageId)) {
20409
- _context10.n = 50;
20627
+ if (!(secondResult.hasNext && !thirdResult.hasNext)) {
20628
+ _context10.n = 42;
20410
20629
  break;
20411
20630
  }
20631
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
20412
20632
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20413
- _context10.n = 40;
20633
+ _context10.n = 39;
20414
20634
  break;
20415
20635
  }
20416
- _context10.n = 39;
20417
- return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20418
- case 39:
20636
+ _context10.n = 38;
20637
+ return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20638
+ case 38:
20419
20639
  _t14 = _context10.v;
20420
- _context10.n = 41;
20640
+ _context10.n = 40;
20421
20641
  break;
20422
- case 40:
20642
+ case 39:
20423
20643
  _t14 = {
20424
20644
  messages: [],
20425
20645
  hasNext: false
20426
20646
  };
20647
+ case 40:
20648
+ fourthResult = _t14;
20649
+ result.messages = [].concat(fourthResult.messages, result.messages);
20650
+ _context10.n = 41;
20651
+ return put(addMessagesAC(JSON.parse(JSON.stringify(fourthResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
20427
20652
  case 41:
20428
- result = _t14;
20429
- if (!(result.messages.length === 50)) {
20430
- _context10.n = 49;
20653
+ _context10.n = 46;
20654
+ break;
20655
+ case 42:
20656
+ if (!(!secondResult.hasNext && thirdResult.hasNext)) {
20657
+ _context10.n = 46;
20431
20658
  break;
20432
20659
  }
20433
- messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20660
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
20434
20661
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20435
- _context10.n = 43;
20662
+ _context10.n = 44;
20436
20663
  break;
20437
20664
  }
20438
- _context10.n = 42;
20439
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20440
- case 42:
20665
+ _context10.n = 43;
20666
+ return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20667
+ case 43:
20441
20668
  _t15 = _context10.v;
20442
- _context10.n = 44;
20669
+ _context10.n = 45;
20443
20670
  break;
20444
- case 43:
20671
+ case 44:
20445
20672
  _t15 = {
20446
20673
  messages: [],
20447
20674
  hasNext: false
20448
20675
  };
20449
- case 44:
20450
- _secondResult2 = _t15;
20451
- if (!(channel.newMessageCount > 25)) {
20452
- _context10.n = 48;
20676
+ case 45:
20677
+ _fourthResult = _t15;
20678
+ result.messages = [].concat(result.messages, _fourthResult.messages);
20679
+ _context10.n = 46;
20680
+ return put(addMessagesAC(JSON.parse(JSON.stringify(_fourthResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
20681
+ case 46:
20682
+ messageQuery.reverse = true;
20683
+ case 47:
20684
+ setMessagesToMap(channel.id, result.messages, (_result$messages$2 = result.messages[0]) === null || _result$messages$2 === void 0 ? void 0 : _result$messages$2.id, (_result$messages2 = result.messages[result.messages.length - 1]) === null || _result$messages2 === void 0 ? void 0 : _result$messages2.id);
20685
+ setAllMessages([].concat(result.messages));
20686
+ setHasPrevCached(false);
20687
+ setHasNextCached(false);
20688
+ case 48:
20689
+ _context10.n = 49;
20690
+ return put(setMessagesHasNextAC(true));
20691
+ case 49:
20692
+ if (!scrollToMessage) {
20693
+ _context10.n = 50;
20694
+ break;
20695
+ }
20696
+ _context10.n = 50;
20697
+ return put(setScrollToMessagesAC(loadWithMessageId, highlight, behavior));
20698
+ case 50:
20699
+ _context10.n = 51;
20700
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20701
+ case 51:
20702
+ _context10.n = 77;
20703
+ break;
20704
+ case 52:
20705
+ if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20706
+ _context10.n = 64;
20707
+ break;
20708
+ }
20709
+ setAllMessages([]);
20710
+ messageQuery.limit = MESSAGES_MAX_LENGTH;
20711
+ if (!Number(channel.lastDisplayedMessageId)) {
20712
+ _context10.n = 56;
20453
20713
  break;
20454
20714
  }
20455
- messageQuery.reverse = false;
20456
20715
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20457
- _context10.n = 46;
20716
+ _context10.n = 54;
20458
20717
  break;
20459
20718
  }
20460
- _context10.n = 45;
20461
- return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20462
- case 45:
20719
+ _context10.n = 53;
20720
+ return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20721
+ case 53:
20463
20722
  _t16 = _context10.v;
20464
- _context10.n = 47;
20723
+ _context10.n = 55;
20465
20724
  break;
20466
- case 46:
20725
+ case 54:
20467
20726
  _t16 = {
20468
20727
  messages: [],
20469
20728
  hasNext: false
20470
20729
  };
20471
- case 47:
20472
- _thirdResult = _t16;
20473
- result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
20474
- messageQuery.reverse = true;
20475
- _context10.n = 49;
20476
- break;
20477
- case 48:
20478
- result.messages = [].concat(_secondResult2.messages, result.messages);
20479
- case 49:
20480
- _context10.n = 57;
20730
+ case 55:
20731
+ result = _t16;
20732
+ _context10.n = 60;
20481
20733
  break;
20482
- case 50:
20734
+ case 56:
20483
20735
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20484
- _context10.n = 52;
20736
+ _context10.n = 58;
20485
20737
  break;
20486
20738
  }
20487
- _context10.n = 51;
20739
+ _context10.n = 57;
20488
20740
  return call(messageQuery.loadPrevious);
20489
- case 51:
20741
+ case 57:
20490
20742
  _t17 = _context10.v;
20491
- _context10.n = 53;
20743
+ _context10.n = 59;
20492
20744
  break;
20493
- case 52:
20745
+ case 58:
20494
20746
  _t17 = {
20495
20747
  messages: [],
20496
20748
  hasNext: false
20497
20749
  };
20498
- case 53:
20750
+ case 59:
20499
20751
  result = _t17;
20500
- if (!(result.messages.length === 50)) {
20501
- _context10.n = 57;
20502
- break;
20503
- }
20504
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20505
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20506
- _context10.n = 55;
20507
- break;
20508
- }
20509
- _context10.n = 54;
20510
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20511
- case 54:
20512
- _t18 = _context10.v;
20513
- _context10.n = 56;
20514
- break;
20515
- case 55:
20516
- _t18 = {
20517
- messages: [],
20518
- hasNext: false
20519
- };
20520
- case 56:
20521
- _secondResult3 = _t18;
20522
- result.messages = [].concat(_secondResult3.messages, result.messages);
20523
- result.hasNext = _secondResult3.hasNext;
20524
- case 57:
20525
- _context10.n = 58;
20752
+ case 60:
20753
+ _context10.n = 61;
20526
20754
  return put(setMessagesHasPrevAC(true));
20527
- case 58:
20528
- _context10.n = 59;
20755
+ case 61:
20756
+ _context10.n = 62;
20529
20757
  return put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20530
- case 59:
20531
- setMessagesToMap(channel.id, result.messages);
20758
+ case 62:
20759
+ setMessagesToMap(channel.id, result.messages, (_result$messages$3 = result.messages[0]) === null || _result$messages$3 === void 0 ? void 0 : _result$messages$3.id, (_result$messages3 = result.messages[result.messages.length - 1]) === null || _result$messages3 === void 0 ? void 0 : _result$messages3.id);
20532
20760
  setAllMessages([].concat(result.messages));
20533
- _context10.n = 60;
20761
+ _context10.n = 63;
20534
20762
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20535
- case 60:
20536
- _context10.n = 72;
20763
+ case 63:
20764
+ _context10.n = 77;
20537
20765
  break;
20538
- case 61:
20539
- setMessagesToMap(channel.id, []);
20540
- setAllMessages([]);
20766
+ case 64:
20541
20767
  if (!(cachedMessages && cachedMessages.length)) {
20542
- _context10.n = 62;
20768
+ _context10.n = 66;
20543
20769
  break;
20544
20770
  }
20545
- setMessagesToMap(channel.id, []);
20546
- setAllMessages([].concat(cachedMessages));
20547
- _context10.n = 62;
20548
- return put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
20549
- case 62:
20771
+ parsedMessages = getFromAllMessagesByMessageId('', '', true);
20772
+ setMessagesToMap(channel.id, parsedMessages, (_parsedMessages$ = parsedMessages[0]) === null || _parsedMessages$ === void 0 ? void 0 : _parsedMessages$.id, (_parsedMessages = parsedMessages[parsedMessages.length - 1]) === null || _parsedMessages === void 0 ? void 0 : _parsedMessages.id);
20773
+ _context10.n = 65;
20774
+ return put(setMessagesAC(JSON.parse(JSON.stringify(parsedMessages))));
20775
+ case 65:
20776
+ _filteredPendingMessages = getFilteredPendingMessages(parsedMessages);
20777
+ _context10.n = 66;
20778
+ return put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20779
+ case 66:
20550
20780
  log.info('load message from server');
20781
+ result = {
20782
+ messages: [],
20783
+ hasNext: false
20784
+ };
20785
+ if (!((channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId) > (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage4 = channel.lastMessage) === null || _channel$lastMessage4 === void 0 ? void 0 : _channel$lastMessage4.id))) {
20786
+ _context10.n = 70;
20787
+ break;
20788
+ }
20551
20789
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20552
- _context10.n = 64;
20790
+ _context10.n = 68;
20553
20791
  break;
20554
20792
  }
20555
- _context10.n = 63;
20556
- return call(messageQuery.loadPrevious);
20557
- case 63:
20558
- _t19 = _context10.v;
20559
- _context10.n = 65;
20793
+ _context10.n = 67;
20794
+ return call(messageQuery.loadPreviousMessageId, channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId);
20795
+ case 67:
20796
+ _t18 = _context10.v;
20797
+ _context10.n = 69;
20560
20798
  break;
20561
- case 64:
20562
- _t19 = {
20799
+ case 68:
20800
+ _t18 = {
20563
20801
  messages: [],
20564
20802
  hasNext: false
20565
20803
  };
20566
- case 65:
20567
- result = _t19;
20568
- if (!(result.messages.length === 50)) {
20569
- _context10.n = 69;
20570
- break;
20571
- }
20572
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20804
+ case 69:
20805
+ result = _t18;
20806
+ _context10.n = 74;
20807
+ break;
20808
+ case 70:
20573
20809
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20574
- _context10.n = 67;
20810
+ _context10.n = 72;
20575
20811
  break;
20576
20812
  }
20577
- _context10.n = 66;
20578
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20579
- case 66:
20580
- _t20 = _context10.v;
20581
- _context10.n = 68;
20813
+ _context10.n = 71;
20814
+ return call(messageQuery.loadPrevious);
20815
+ case 71:
20816
+ _t19 = _context10.v;
20817
+ _context10.n = 73;
20582
20818
  break;
20583
- case 67:
20584
- _t20 = {
20819
+ case 72:
20820
+ _t19 = {
20585
20821
  messages: [],
20586
20822
  hasNext: false
20587
20823
  };
20588
- case 68:
20589
- _secondResult4 = _t20;
20590
- result.messages = [].concat(_secondResult4.messages, result.messages);
20591
- result.hasNext = _secondResult4.hasNext;
20592
- case 69:
20824
+ case 73:
20825
+ result = _t19;
20826
+ case 74:
20593
20827
  updatedMessages = [];
20594
20828
  result.messages.forEach(function (msg) {
20595
20829
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20599,70 +20833,73 @@ function getMessagesQuery(action) {
20599
20833
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20600
20834
  updatedMessages.push(updatedMessage || msg);
20601
20835
  });
20602
- _context10.n = 70;
20603
- return call(updateMessages, channel, updatedMessages);
20604
- case 70:
20605
- _context10.n = 71;
20836
+ messageIdForLoad = (channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId) > (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage5 = channel.lastMessage) === null || _channel$lastMessage5 === void 0 ? void 0 : _channel$lastMessage5.id) ? (channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId) || '0' : (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage6 = channel.lastMessage) === null || _channel$lastMessage6 === void 0 ? void 0 : _channel$lastMessage6.id) || '0';
20837
+ _context10.n = 75;
20838
+ return call(updateMessages, channel, updatedMessages, (_updatedMessages$ = updatedMessages[0]) === null || _updatedMessages$ === void 0 ? void 0 : _updatedMessages$.id, messageIdForLoad);
20839
+ case 75:
20840
+ _context10.n = 76;
20606
20841
  return put(setMessagesHasPrevAC(true));
20607
- case 71:
20608
- _context10.n = 72;
20842
+ case 76:
20843
+ _context10.n = 77;
20609
20844
  return put(setMessagesHasNextAC(false));
20610
- case 72:
20611
- pendingMessages = getPendingMessages(channel.id);
20612
- if (!(pendingMessages && pendingMessages.length)) {
20613
- _context10.n = 73;
20614
- break;
20615
- }
20616
- _messagesMap = {};
20617
- result.messages.forEach(function (msg) {
20618
- _messagesMap[msg.tid || ''] = msg;
20619
- });
20620
- filteredPendingMessages = pendingMessages.filter(function (msg) {
20621
- return !_messagesMap[msg.tid || ''];
20622
- });
20623
- _context10.n = 73;
20845
+ case 77:
20846
+ filteredPendingMessages = getFilteredPendingMessages(result.messages);
20847
+ _context10.n = 78;
20624
20848
  return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20625
- case 73:
20849
+ case 78:
20626
20850
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20627
20851
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20628
- _context10.n = 75;
20852
+ _context10.n = 80;
20629
20853
  break;
20630
20854
  }
20631
- _context10.n = 74;
20855
+ _context10.n = 79;
20632
20856
  return put(setWaitToSendPendingMessagesAC(false));
20633
- case 74:
20634
- _context10.n = 75;
20857
+ case 79:
20858
+ _context10.n = 80;
20635
20859
  return spawn(sendPendingMessages, connectionState);
20636
- case 75:
20637
- _context10.n = 77;
20860
+ case 80:
20861
+ _context10.n = 81;
20862
+ return call(SceytChatClient.getChannel, channel.id, true);
20863
+ case 81:
20864
+ updatedChannel = _context10.v;
20865
+ if (!updatedChannel) {
20866
+ _context10.n = 83;
20867
+ break;
20868
+ }
20869
+ _context10.n = 82;
20870
+ return put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
20871
+ case 82:
20872
+ updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
20873
+ case 83:
20874
+ _context10.n = 85;
20638
20875
  break;
20639
- case 76:
20640
- if (!channel.isMockChannel) {
20641
- _context10.n = 77;
20876
+ case 84:
20877
+ if (!(channel !== null && channel !== void 0 && channel.isMockChannel)) {
20878
+ _context10.n = 85;
20642
20879
  break;
20643
20880
  }
20644
- _context10.n = 77;
20881
+ _context10.n = 85;
20645
20882
  return put(setMessagesAC([]));
20646
- case 77:
20647
- _context10.n = 79;
20883
+ case 85:
20884
+ _context10.n = 87;
20648
20885
  break;
20649
- case 78:
20650
- _context10.p = 78;
20651
- _t21 = _context10.v;
20652
- log.error('error in message query', _t21);
20653
- case 79:
20654
- _context10.p = 79;
20655
- _context10.n = 80;
20886
+ case 86:
20887
+ _context10.p = 86;
20888
+ _t20 = _context10.v;
20889
+ log.error('error in message query', _t20);
20890
+ case 87:
20891
+ _context10.p = 87;
20892
+ _context10.n = 88;
20656
20893
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20657
- case 80:
20658
- return _context10.f(79);
20659
- case 81:
20894
+ case 88:
20895
+ return _context10.f(87);
20896
+ case 89:
20660
20897
  return _context10.a(2);
20661
20898
  }
20662
- }, _marked7$1, null, [[0, 78, 79, 81]]);
20899
+ }, _marked7$1, null, [[0, 86, 87, 89]]);
20663
20900
  }
20664
20901
  function getMessageQuery(action) {
20665
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t22;
20902
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t21;
20666
20903
  return _regenerator().w(function (_context11) {
20667
20904
  while (1) switch (_context11.p = _context11.n) {
20668
20905
  case 0:
@@ -20712,15 +20949,15 @@ function getMessageQuery(action) {
20712
20949
  break;
20713
20950
  case 7:
20714
20951
  _context11.p = 7;
20715
- _t22 = _context11.v;
20716
- log.error('error in message query', _t22);
20952
+ _t21 = _context11.v;
20953
+ log.error('error in message query', _t21);
20717
20954
  case 8:
20718
20955
  return _context11.a(2);
20719
20956
  }
20720
20957
  }, _marked8$1, null, [[0, 7]]);
20721
20958
  }
20722
20959
  function loadMoreMessages(action) {
20723
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t23;
20960
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _result$messages$4, _result$messages4, _result$messages$5, _result$messages5, _t22;
20724
20961
  return _regenerator().w(function (_context12) {
20725
20962
  while (1) switch (_context12.p = _context12.n) {
20726
20963
  case 0:
@@ -20764,7 +21001,7 @@ function loadMoreMessages(action) {
20764
21001
  result = _context12.v;
20765
21002
  if (result.messages.length) {
20766
21003
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.PREV);
20767
- setMessagesToMap(channelId, result.messages);
21004
+ setMessagesToMap(channelId, result.messages, (_result$messages$4 = result.messages[0]) === null || _result$messages$4 === void 0 ? void 0 : _result$messages$4.id, (_result$messages4 = result.messages[result.messages.length - 1]) === null || _result$messages4 === void 0 ? void 0 : _result$messages4.id);
20768
21005
  }
20769
21006
  _context12.n = 5;
20770
21007
  return put(setMessagesHasPrevAC(result.hasNext));
@@ -20792,7 +21029,7 @@ function loadMoreMessages(action) {
20792
21029
  result = _context12.v;
20793
21030
  if (result.messages.length) {
20794
21031
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.NEXT);
20795
- setMessagesToMap(channelId, result.messages);
21032
+ setMessagesToMap(channelId, result.messages, (_result$messages$5 = result.messages[0]) === null || _result$messages$5 === void 0 ? void 0 : _result$messages$5.id, (_result$messages5 = result.messages[result.messages.length - 1]) === null || _result$messages5 === void 0 ? void 0 : _result$messages5.id);
20796
21033
  }
20797
21034
  _context12.n = 9;
20798
21035
  return put(setMessagesHasNextAC(result.hasNext));
@@ -20833,15 +21070,15 @@ function loadMoreMessages(action) {
20833
21070
  break;
20834
21071
  case 18:
20835
21072
  _context12.p = 18;
20836
- _t23 = _context12.v;
20837
- log.error('error in load more messages', _t23);
21073
+ _t22 = _context12.v;
21074
+ log.error('error in load more messages', _t22);
20838
21075
  case 19:
20839
21076
  return _context12.a(2);
20840
21077
  }
20841
21078
  }, _marked9$1, null, [[0, 18]]);
20842
21079
  }
20843
21080
  function addReaction(action) {
20844
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t24;
21081
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t23;
20845
21082
  return _regenerator().w(function (_context13) {
20846
21083
  while (1) switch (_context13.p = _context13.n) {
20847
21084
  case 0:
@@ -20894,15 +21131,15 @@ function addReaction(action) {
20894
21131
  break;
20895
21132
  case 8:
20896
21133
  _context13.p = 8;
20897
- _t24 = _context13.v;
20898
- log.error('ERROR in add reaction', _t24.message);
21134
+ _t23 = _context13.v;
21135
+ log.error('ERROR in add reaction', _t23.message);
20899
21136
  case 9:
20900
21137
  return _context13.a(2);
20901
21138
  }
20902
21139
  }, _marked0$1, null, [[0, 8]]);
20903
21140
  }
20904
21141
  function deleteReaction(action) {
20905
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t25;
21142
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t24;
20906
21143
  return _regenerator().w(function (_context14) {
20907
21144
  while (1) switch (_context14.p = _context14.n) {
20908
21145
  case 0:
@@ -20950,15 +21187,15 @@ function deleteReaction(action) {
20950
21187
  break;
20951
21188
  case 7:
20952
21189
  _context14.p = 7;
20953
- _t25 = _context14.v;
20954
- log.error('ERROR in delete reaction', _t25.message);
21190
+ _t24 = _context14.v;
21191
+ log.error('ERROR in delete reaction', _t24.message);
20955
21192
  case 8:
20956
21193
  return _context14.a(2);
20957
21194
  }
20958
21195
  }, _marked1$1, null, [[0, 7]]);
20959
21196
  }
20960
21197
  function getReactions(action) {
20961
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t26;
21198
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t25;
20962
21199
  return _regenerator().w(function (_context15) {
20963
21200
  while (1) switch (_context15.p = _context15.n) {
20964
21201
  case 0:
@@ -20993,15 +21230,15 @@ function getReactions(action) {
20993
21230
  break;
20994
21231
  case 6:
20995
21232
  _context15.p = 6;
20996
- _t26 = _context15.v;
20997
- log.error('ERROR in get reactions', _t26.message);
21233
+ _t25 = _context15.v;
21234
+ log.error('ERROR in get reactions', _t25.message);
20998
21235
  case 7:
20999
21236
  return _context15.a(2);
21000
21237
  }
21001
21238
  }, _marked10$1, null, [[0, 6]]);
21002
21239
  }
21003
21240
  function loadMoreReactions(action) {
21004
- var payload, limit, ReactionQuery, result, _t27;
21241
+ var payload, limit, ReactionQuery, result, _t26;
21005
21242
  return _regenerator().w(function (_context16) {
21006
21243
  while (1) switch (_context16.p = _context16.n) {
21007
21244
  case 0:
@@ -21029,15 +21266,15 @@ function loadMoreReactions(action) {
21029
21266
  break;
21030
21267
  case 5:
21031
21268
  _context16.p = 5;
21032
- _t27 = _context16.v;
21033
- log.error('ERROR in load more reactions', _t27.message);
21269
+ _t26 = _context16.v;
21270
+ log.error('ERROR in load more reactions', _t26.message);
21034
21271
  case 6:
21035
21272
  return _context16.a(2);
21036
21273
  }
21037
21274
  }, _marked11$1, null, [[0, 5]]);
21038
21275
  }
21039
21276
  function getMessageAttachments(action) {
21040
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t28;
21277
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t27;
21041
21278
  return _regenerator().w(function (_context17) {
21042
21279
  while (1) switch (_context17.p = _context17.n) {
21043
21280
  case 0:
@@ -21115,15 +21352,15 @@ function getMessageAttachments(action) {
21115
21352
  break;
21116
21353
  case 13:
21117
21354
  _context17.p = 13;
21118
- _t28 = _context17.v;
21119
- log.error('error in message attachment query', _t28);
21355
+ _t27 = _context17.v;
21356
+ log.error('error in message attachment query', _t27);
21120
21357
  case 14:
21121
21358
  return _context17.a(2);
21122
21359
  }
21123
21360
  }, _marked12$1, null, [[0, 13]]);
21124
21361
  }
21125
21362
  function loadMoreMessageAttachments(action) {
21126
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t29;
21363
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t28;
21127
21364
  return _regenerator().w(function (_context18) {
21128
21365
  while (1) switch (_context18.p = _context18.n) {
21129
21366
  case 0:
@@ -21167,15 +21404,15 @@ function loadMoreMessageAttachments(action) {
21167
21404
  break;
21168
21405
  case 8:
21169
21406
  _context18.p = 8;
21170
- _t29 = _context18.v;
21171
- log.error('error in message attachment query', _t29);
21407
+ _t28 = _context18.v;
21408
+ log.error('error in message attachment query', _t28);
21172
21409
  case 9:
21173
21410
  return _context18.a(2);
21174
21411
  }
21175
21412
  }, _marked13$1, null, [[0, 8]]);
21176
21413
  }
21177
21414
  function pauseAttachmentUploading(action) {
21178
- var attachmentId, isPaused, _t30;
21415
+ var attachmentId, isPaused, _t29;
21179
21416
  return _regenerator().w(function (_context19) {
21180
21417
  while (1) switch (_context19.p = _context19.n) {
21181
21418
  case 0:
@@ -21197,15 +21434,15 @@ function pauseAttachmentUploading(action) {
21197
21434
  break;
21198
21435
  case 2:
21199
21436
  _context19.p = 2;
21200
- _t30 = _context19.v;
21201
- log.error('error in pause attachment uploading', _t30);
21437
+ _t29 = _context19.v;
21438
+ log.error('error in pause attachment uploading', _t29);
21202
21439
  case 3:
21203
21440
  return _context19.a(2);
21204
21441
  }
21205
21442
  }, _marked14$1, null, [[0, 2]]);
21206
21443
  }
21207
21444
  function resumeAttachmentUploading(action) {
21208
- var attachmentId, isResumed, _t31;
21445
+ var attachmentId, isResumed, _t30;
21209
21446
  return _regenerator().w(function (_context20) {
21210
21447
  while (1) switch (_context20.p = _context20.n) {
21211
21448
  case 0:
@@ -21228,15 +21465,15 @@ function resumeAttachmentUploading(action) {
21228
21465
  break;
21229
21466
  case 2:
21230
21467
  _context20.p = 2;
21231
- _t31 = _context20.v;
21232
- log.error('error in resume attachment uploading', _t31);
21468
+ _t30 = _context20.v;
21469
+ log.error('error in resume attachment uploading', _t30);
21233
21470
  case 3:
21234
21471
  return _context20.a(2);
21235
21472
  }
21236
21473
  }, _marked15$1, null, [[0, 2]]);
21237
21474
  }
21238
21475
  function getMessageMarkers(action) {
21239
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t32;
21476
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t31;
21240
21477
  return _regenerator().w(function (_context21) {
21241
21478
  while (1) switch (_context21.p = _context21.n) {
21242
21479
  case 0:
@@ -21266,8 +21503,8 @@ function getMessageMarkers(action) {
21266
21503
  break;
21267
21504
  case 5:
21268
21505
  _context21.p = 5;
21269
- _t32 = _context21.v;
21270
- log.error('error in get message markers', _t32);
21506
+ _t31 = _context21.v;
21507
+ log.error('error in get message markers', _t31);
21271
21508
  case 6:
21272
21509
  _context21.p = 6;
21273
21510
  _context21.n = 7;
@@ -21279,9 +21516,9 @@ function getMessageMarkers(action) {
21279
21516
  }
21280
21517
  }, _marked16$1, null, [[0, 5, 6, 8]]);
21281
21518
  }
21282
- function executeAddPollVote(channelId, pollId, optionId, message, isResend) {
21519
+ function executeAddPollVote(channelId, pollId, optionId, message) {
21283
21520
  var _user$presence, _message$pollDetails, _message$pollDetails2, _message$pollDetails3, _message$pollDetails4;
21284
- var channel, user, vote, objs, _message$pollDetails5, _message$pollDetails6, _message$pollDetails7, _iterator2, _step2, obj;
21521
+ var channel, user, vote, objs, _message$pollDetails5, _message$pollDetails6, _message$pollDetails7;
21285
21522
  return _regenerator().w(function (_context22) {
21286
21523
  while (1) switch (_context22.n) {
21287
21524
  case 0:
@@ -21330,38 +21567,16 @@ function executeAddPollVote(channelId, pollId, optionId, message, isResend) {
21330
21567
  vote: vote,
21331
21568
  incrementVotesPerOptionCount: 1
21332
21569
  });
21333
- if (isResend) {
21334
- _context22.n = 5;
21335
- break;
21336
- }
21337
- _iterator2 = _createForOfIteratorHelperLoose(objs);
21338
- case 3:
21339
- if ((_step2 = _iterator2()).done) {
21340
- _context22.n = 5;
21570
+ if (!(channel && message.id)) {
21571
+ _context22.n = 4;
21341
21572
  break;
21342
21573
  }
21343
- obj = _step2.value;
21344
- updateMessageOnMap(channel.id, {
21345
- messageId: message.id,
21346
- params: {}
21347
- }, obj);
21348
- updateMessageOnAllMessages(message.id, {}, obj);
21349
- _context22.n = 4;
21350
- return put(updateMessageAC(message.id, {}, undefined, obj));
21351
- case 4:
21352
21574
  _context22.n = 3;
21353
- break;
21354
- case 5:
21355
- if (!channel) {
21356
- _context22.n = 7;
21357
- break;
21358
- }
21359
- _context22.n = 6;
21360
21575
  return call(channel.addVote, message.id, pollId, [optionId]);
21361
- case 6:
21362
- _context22.n = 7;
21576
+ case 3:
21577
+ _context22.n = 4;
21363
21578
  return put(removePendingPollActionAC(message.id, 'ADD_POLL_VOTE', optionId));
21364
- case 7:
21579
+ case 4:
21365
21580
  return _context22.a(2);
21366
21581
  }
21367
21582
  }, _marked17$1);
@@ -21405,7 +21620,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21405
21620
  }, _marked18$1);
21406
21621
  }
21407
21622
  function addPollVote(action) {
21408
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values2, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t33;
21623
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t32;
21409
21624
  return _regenerator().w(function (_context24) {
21410
21625
  while (1) switch (_context24.p = _context24.n) {
21411
21626
  case 0:
@@ -21414,10 +21629,9 @@ function addPollVote(action) {
21414
21629
  channelId = payload.channelId, pollId = payload.pollId, optionId = payload.optionId, message = payload.message, isResend = payload.isResend;
21415
21630
  sceytChatClient = getClient();
21416
21631
  if (!sceytChatClient) {
21417
- _context24.n = 7;
21632
+ _context24.n = 6;
21418
21633
  break;
21419
21634
  }
21420
- connectionState = sceytChatClient.connectionState;
21421
21635
  user = sceytChatClient.user;
21422
21636
  vote = {
21423
21637
  optionId: optionId,
@@ -21440,10 +21654,6 @@ function addPollVote(action) {
21440
21654
  createdAt: new Date().getTime()
21441
21655
  }
21442
21656
  };
21443
- if (!(connectionState !== CONNECTION_STATUS.CONNECTED)) {
21444
- _context24.n = 6;
21445
- break;
21446
- }
21447
21657
  pendingAction = {
21448
21658
  type: 'ADD_POLL_VOTE',
21449
21659
  channelId: channelId,
@@ -21464,7 +21674,7 @@ function addPollVote(action) {
21464
21674
  _context24.n = 3;
21465
21675
  break;
21466
21676
  }
21467
- currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21677
+ currentMessage = ((_Object$values = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.find(function (msg) {
21468
21678
  return msg.id === message.id || msg.tid === message.id;
21469
21679
  })) || message;
21470
21680
  hasNext = ((_store$getState$Messa = store.getState().MessageReducer.pollVotesHasMore) === null || _store$getState$Messa === void 0 ? void 0 : _store$getState$Messa[pollId]) || false;
@@ -21493,27 +21703,25 @@ function addPollVote(action) {
21493
21703
  }
21494
21704
  return _context24.d(_regeneratorValues(updateMessageOptimisticallyForAddPollVote(channelId, message, vote)), 5);
21495
21705
  case 5:
21496
- if (!conflictCheck.shouldSkip) {
21706
+ if (!conflictCheck.shouldSkip && !isResend) {
21497
21707
  setPendingPollAction(pendingAction);
21498
21708
  }
21499
- return _context24.a(2);
21709
+ return _context24.d(_regeneratorValues(executeAddPollVote(channelId, pollId, optionId, message)), 6);
21500
21710
  case 6:
21501
- return _context24.d(_regeneratorValues(executeAddPollVote(channelId, pollId, optionId, message, isResend)), 7);
21502
- case 7:
21503
- _context24.n = 9;
21711
+ _context24.n = 8;
21504
21712
  break;
21713
+ case 7:
21714
+ _context24.p = 7;
21715
+ _t32 = _context24.v;
21716
+ log.error('error in add poll vote', _t32);
21505
21717
  case 8:
21506
- _context24.p = 8;
21507
- _t33 = _context24.v;
21508
- log.error('error in add poll vote', _t33);
21509
- case 9:
21510
21718
  return _context24.a(2);
21511
21719
  }
21512
- }, _marked19$1, null, [[0, 8]]);
21720
+ }, _marked19$1, null, [[0, 7]]);
21513
21721
  }
21514
- function executeDeletePollVote(channelId, pollId, optionId, message, isResend) {
21722
+ function executeDeletePollVote(channelId, pollId, optionId, message) {
21515
21723
  var _message$pollDetails8, _message$pollDetails9, _message$pollDetails0;
21516
- var channel, vote, obj;
21724
+ var channel, vote;
21517
21725
  return _regenerator().w(function (_context25) {
21518
21726
  while (1) switch (_context25.n) {
21519
21727
  case 0:
@@ -21536,33 +21744,16 @@ function executeDeletePollVote(channelId, pollId, optionId, message, isResend) {
21536
21744
  }
21537
21745
  return _context25.a(2);
21538
21746
  case 3:
21539
- obj = {
21540
- type: 'deleteOwn',
21541
- vote: vote,
21542
- incrementVotesPerOptionCount: -1
21543
- };
21544
- if (isResend) {
21545
- _context25.n = 4;
21747
+ if (!(channel && message.id)) {
21748
+ _context25.n = 5;
21546
21749
  break;
21547
21750
  }
21548
- updateMessageOnMap(channel.id, {
21549
- messageId: message.id,
21550
- params: {}
21551
- }, obj);
21552
- updateMessageOnAllMessages(message.id, {}, obj);
21553
21751
  _context25.n = 4;
21554
- return put(updateMessageAC(message.id, {}, undefined, obj));
21752
+ return call(channel.deleteVote, message.id, pollId, [optionId]);
21555
21753
  case 4:
21556
- if (!channel) {
21557
- _context25.n = 6;
21558
- break;
21559
- }
21560
21754
  _context25.n = 5;
21561
- return call(channel.deleteVote, message.id, pollId, [optionId]);
21562
- case 5:
21563
- _context25.n = 6;
21564
21755
  return put(removePendingPollActionAC(message.id, 'DELETE_POLL_VOTE', optionId));
21565
- case 6:
21756
+ case 5:
21566
21757
  return _context25.a(2);
21567
21758
  }
21568
21759
  }, _marked20$1);
@@ -21606,7 +21797,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21606
21797
  }, _marked21$1);
21607
21798
  }
21608
21799
  function deletePollVote(action) {
21609
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values3, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t34;
21800
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t33;
21610
21801
  return _regenerator().w(function (_context27) {
21611
21802
  while (1) switch (_context27.p = _context27.n) {
21612
21803
  case 0:
@@ -21615,10 +21806,9 @@ function deletePollVote(action) {
21615
21806
  channelId = payload.channelId, pollId = payload.pollId, optionId = payload.optionId, message = payload.message, isResend = payload.isResend;
21616
21807
  sceytChatClient = getClient();
21617
21808
  if (!sceytChatClient) {
21618
- _context27.n = 8;
21809
+ _context27.n = 7;
21619
21810
  break;
21620
21811
  }
21621
- connectionState = sceytChatClient.connectionState;
21622
21812
  vote = (_message$pollDetails1 = message.pollDetails) === null || _message$pollDetails1 === void 0 ? void 0 : (_message$pollDetails10 = _message$pollDetails1.voteDetails) === null || _message$pollDetails10 === void 0 ? void 0 : (_message$pollDetails11 = _message$pollDetails10.ownVotes) === null || _message$pollDetails11 === void 0 ? void 0 : _message$pollDetails11.find(function (vote) {
21623
21813
  return vote.optionId === optionId;
21624
21814
  });
@@ -21628,10 +21818,6 @@ function deletePollVote(action) {
21628
21818
  }
21629
21819
  return _context27.a(2);
21630
21820
  case 1:
21631
- if (!(connectionState !== CONNECTION_STATUS.CONNECTED)) {
21632
- _context27.n = 7;
21633
- break;
21634
- }
21635
21821
  pendingAction = {
21636
21822
  type: 'DELETE_POLL_VOTE',
21637
21823
  channelId: channelId,
@@ -21652,7 +21838,7 @@ function deletePollVote(action) {
21652
21838
  _context27.n = 4;
21653
21839
  break;
21654
21840
  }
21655
- currentMessage = ((_Object$values3 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values3 === void 0 ? void 0 : _Object$values3.find(function (msg) {
21841
+ currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21656
21842
  return msg.id === message.id || msg.tid === message.id;
21657
21843
  })) || message;
21658
21844
  _context27.n = 3;
@@ -21680,23 +21866,21 @@ function deletePollVote(action) {
21680
21866
  }
21681
21867
  return _context27.d(_regeneratorValues(updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)), 6);
21682
21868
  case 6:
21683
- if (!conflictCheck.shouldSkip) {
21869
+ if (!conflictCheck.shouldSkip && !isResend) {
21684
21870
  setPendingPollAction(pendingAction);
21685
21871
  }
21686
- return _context27.a(2);
21872
+ return _context27.d(_regeneratorValues(executeDeletePollVote(channelId, pollId, optionId, message)), 7);
21687
21873
  case 7:
21688
- return _context27.d(_regeneratorValues(executeDeletePollVote(channelId, pollId, optionId, message, isResend)), 8);
21689
- case 8:
21690
- _context27.n = 10;
21874
+ _context27.n = 9;
21691
21875
  break;
21876
+ case 8:
21877
+ _context27.p = 8;
21878
+ _t33 = _context27.v;
21879
+ log.error('error in delete poll vote', _t33);
21692
21880
  case 9:
21693
- _context27.p = 9;
21694
- _t34 = _context27.v;
21695
- log.error('error in delete poll vote', _t34);
21696
- case 10:
21697
21881
  return _context27.a(2);
21698
21882
  }
21699
- }, _marked22$1, null, [[0, 9]]);
21883
+ }, _marked22$1, null, [[0, 8]]);
21700
21884
  }
21701
21885
  function executeClosePoll(channelId, pollId, message) {
21702
21886
  var channel, obj;
@@ -21719,7 +21903,7 @@ function executeClosePoll(channelId, pollId, message) {
21719
21903
  _context28.n = 2;
21720
21904
  return put(updateMessageAC(message.id, {}, undefined, obj));
21721
21905
  case 2:
21722
- if (!channel) {
21906
+ if (!(channel && message.id)) {
21723
21907
  _context28.n = 4;
21724
21908
  break;
21725
21909
  }
@@ -21770,7 +21954,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
21770
21954
  }, _marked24$1);
21771
21955
  }
21772
21956
  function closePoll(action) {
21773
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t35;
21957
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t34;
21774
21958
  return _regenerator().w(function (_context30) {
21775
21959
  while (1) switch (_context30.p = _context30.n) {
21776
21960
  case 0:
@@ -21803,15 +21987,15 @@ function closePoll(action) {
21803
21987
  break;
21804
21988
  case 4:
21805
21989
  _context30.p = 4;
21806
- _t35 = _context30.v;
21807
- log.error('error in close poll', _t35);
21990
+ _t34 = _context30.v;
21991
+ log.error('error in close poll', _t34);
21808
21992
  case 5:
21809
21993
  return _context30.a(2);
21810
21994
  }
21811
21995
  }, _marked25$1, null, [[0, 4]]);
21812
21996
  }
21813
21997
  function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21814
- var channel, _iterator3, _step3, obj;
21998
+ var channel, _iterator2, _step2, obj;
21815
21999
  return _regenerator().w(function (_context31) {
21816
22000
  while (1) switch (_context31.n) {
21817
22001
  case 0:
@@ -21823,13 +22007,13 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21823
22007
  _context31.n = 4;
21824
22008
  break;
21825
22009
  }
21826
- _iterator3 = _createForOfIteratorHelperLoose(objs);
22010
+ _iterator2 = _createForOfIteratorHelperLoose(objs);
21827
22011
  case 2:
21828
- if ((_step3 = _iterator3()).done) {
22012
+ if ((_step2 = _iterator2()).done) {
21829
22013
  _context31.n = 4;
21830
22014
  break;
21831
22015
  }
21832
- obj = _step3.value;
22016
+ obj = _step2.value;
21833
22017
  updateMessageOnMap(channelId, {
21834
22018
  messageId: message.id,
21835
22019
  params: {}
@@ -21841,7 +22025,7 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21841
22025
  _context31.n = 2;
21842
22026
  break;
21843
22027
  case 4:
21844
- if (!channel) {
22028
+ if (!(channel && message.id)) {
21845
22029
  _context31.n = 6;
21846
22030
  break;
21847
22031
  }
@@ -21856,7 +22040,7 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21856
22040
  }, _marked26$1);
21857
22041
  }
21858
22042
  function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs) {
21859
- var channel, _iterator4, _step4, obj;
22043
+ var channel, _iterator3, _step3, obj;
21860
22044
  return _regenerator().w(function (_context32) {
21861
22045
  while (1) switch (_context32.n) {
21862
22046
  case 0:
@@ -21870,13 +22054,13 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21870
22054
  }
21871
22055
  return _context32.a(2);
21872
22056
  case 2:
21873
- _iterator4 = _createForOfIteratorHelperLoose(objs);
22057
+ _iterator3 = _createForOfIteratorHelperLoose(objs);
21874
22058
  case 3:
21875
- if ((_step4 = _iterator4()).done) {
22059
+ if ((_step3 = _iterator3()).done) {
21876
22060
  _context32.n = 5;
21877
22061
  break;
21878
22062
  }
21879
- obj = _step4.value;
22063
+ obj = _step3.value;
21880
22064
  updateMessageOnMap(channelId, {
21881
22065
  messageId: message.id,
21882
22066
  params: {}
@@ -21893,7 +22077,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21893
22077
  }, _marked27$1);
21894
22078
  }
21895
22079
  function retractPollVote(action) {
21896
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t36;
22080
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator4, _step4, _message$pollDetails12, _message$pollDetails13, vote, _t35;
21897
22081
  return _regenerator().w(function (_context33) {
21898
22082
  while (1) switch (_context33.p = _context33.n) {
21899
22083
  case 0:
@@ -21907,8 +22091,8 @@ function retractPollVote(action) {
21907
22091
  }
21908
22092
  connectionState = sceytChatClient.connectionState;
21909
22093
  objs = [];
21910
- 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;) {
21911
- vote = _step5.value;
22094
+ for (_iterator4 = _createForOfIteratorHelperLoose(((_message$pollDetails12 = message.pollDetails) === null || _message$pollDetails12 === void 0 ? void 0 : (_message$pollDetails13 = _message$pollDetails12.voteDetails) === null || _message$pollDetails13 === void 0 ? void 0 : _message$pollDetails13.ownVotes) || []); !(_step4 = _iterator4()).done;) {
22095
+ vote = _step4.value;
21912
22096
  objs.push({
21913
22097
  type: 'deleteOwn',
21914
22098
  vote: vote,
@@ -21935,15 +22119,15 @@ function retractPollVote(action) {
21935
22119
  break;
21936
22120
  case 4:
21937
22121
  _context33.p = 4;
21938
- _t36 = _context33.v;
21939
- log.error('error in retract poll vote', _t36);
22122
+ _t35 = _context33.v;
22123
+ log.error('error in retract poll vote', _t35);
21940
22124
  case 5:
21941
22125
  return _context33.a(2);
21942
22126
  }
21943
22127
  }, _marked28$1, null, [[0, 4]]);
21944
22128
  }
21945
22129
  function resendPendingPollActions(action) {
21946
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t37;
22130
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t36;
21947
22131
  return _regenerator().w(function (_context34) {
21948
22132
  while (1) switch (_context34.p = _context34.n) {
21949
22133
  case 0:
@@ -21959,13 +22143,6 @@ function resendPendingPollActions(action) {
21959
22143
  case 1:
21960
22144
  pendingPollActionsMap = store.getState().MessageReducer.pendingPollActions;
21961
22145
  pendingPollActionsMapCopy = JSON.parse(JSON.stringify(pendingPollActionsMap));
21962
- _context34.n = 2;
21963
- return call(function () {
21964
- return new Promise(function (resolve) {
21965
- return setTimeout(resolve, 1000);
21966
- });
21967
- });
21968
- case 2:
21969
22146
  Object.keys(pendingPollActionsMapCopy).forEach(function (messageId) {
21970
22147
  pendingPollActionsMapCopy[messageId].forEach(function (pendingAction) {
21971
22148
  var type = pendingAction.type,
@@ -21995,19 +22172,19 @@ function resendPendingPollActions(action) {
21995
22172
  }
21996
22173
  });
21997
22174
  });
21998
- _context34.n = 4;
22175
+ _context34.n = 3;
21999
22176
  break;
22177
+ case 2:
22178
+ _context34.p = 2;
22179
+ _t36 = _context34.v;
22180
+ log.error('error in resend pending poll actions', _t36);
22000
22181
  case 3:
22001
- _context34.p = 3;
22002
- _t37 = _context34.v;
22003
- log.error('error in resend pending poll actions', _t37);
22004
- case 4:
22005
22182
  return _context34.a(2);
22006
22183
  }
22007
- }, _marked29$1, null, [[0, 3]]);
22184
+ }, _marked29$1, null, [[0, 2]]);
22008
22185
  }
22009
22186
  function getPollVotes(action) {
22010
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t38;
22187
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t37;
22011
22188
  return _regenerator().w(function (_context35) {
22012
22189
  while (1) switch (_context35.p = _context35.n) {
22013
22190
  case 0:
@@ -22073,8 +22250,8 @@ function getPollVotes(action) {
22073
22250
  break;
22074
22251
  case 7:
22075
22252
  _context35.p = 7;
22076
- _t38 = _context35.v;
22077
- log.error('ERROR in get poll votes', _t38);
22253
+ _t37 = _context35.v;
22254
+ log.error('ERROR in get poll votes', _t37);
22078
22255
  _context35.n = 8;
22079
22256
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22080
22257
  case 8:
@@ -22083,7 +22260,7 @@ function getPollVotes(action) {
22083
22260
  }, _marked30$1, null, [[0, 7]]);
22084
22261
  }
22085
22262
  function loadMorePollVotes(action) {
22086
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t39;
22263
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t38;
22087
22264
  return _regenerator().w(function (_context36) {
22088
22265
  while (1) switch (_context36.p = _context36.n) {
22089
22266
  case 0:
@@ -22141,8 +22318,8 @@ function loadMorePollVotes(action) {
22141
22318
  break;
22142
22319
  case 6:
22143
22320
  _context36.p = 6;
22144
- _t39 = _context36.v;
22145
- log.error('ERROR in load more poll votes', _t39);
22321
+ _t38 = _context36.v;
22322
+ log.error('ERROR in load more poll votes', _t38);
22146
22323
  _context36.n = 7;
22147
22324
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22148
22325
  case 7:
@@ -22244,54 +22421,71 @@ var _marked$4 = /*#__PURE__*/_regenerator().m(getMembers),
22244
22421
  _marked8$2 = /*#__PURE__*/_regenerator().m(getRoles),
22245
22422
  _marked9$2 = /*#__PURE__*/_regenerator().m(MembersSaga);
22246
22423
  function getMembers(action) {
22247
- var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, _t;
22424
+ var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, hasNext, updateChannelData, _t;
22248
22425
  return _regenerator().w(function (_context) {
22249
22426
  while (1) switch (_context.p = _context.n) {
22250
22427
  case 0:
22251
22428
  _context.p = 0;
22429
+ _context.n = 1;
22430
+ return put(setMembersHasNextAC(true));
22431
+ case 1:
22252
22432
  payload = action.payload;
22253
22433
  channelId = payload.channelId;
22254
22434
  if (channelId) {
22255
- _context.n = 1;
22435
+ _context.n = 2;
22256
22436
  break;
22257
22437
  }
22258
22438
  return _context.a(2);
22259
- case 1:
22439
+ case 2:
22260
22440
  SceytChatClient = getClient();
22261
22441
  membersQueryBuilder = new SceytChatClient.MemberListQueryBuilder(channelId);
22262
22442
  membersQueryBuilder.all().byAffiliationOrder().orderKeyByUsername().limit(50);
22263
- _context.n = 2;
22443
+ _context.n = 3;
22264
22444
  return call(membersQueryBuilder.build);
22265
- case 2:
22445
+ case 3:
22266
22446
  membersQuery = _context.v;
22267
22447
  query.membersQuery = membersQuery;
22268
- _context.n = 3;
22269
- return put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22270
- case 3:
22271
22448
  _context.n = 4;
22272
- return call(membersQuery.loadNextPage);
22449
+ return put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22273
22450
  case 4:
22274
- _yield$call = _context.v;
22275
- members = _yield$call.members;
22276
22451
  _context.n = 5;
22277
- return put(setMembersToListAC(members));
22452
+ return call(membersQuery.loadNextPage);
22278
22453
  case 5:
22454
+ _yield$call = _context.v;
22455
+ members = _yield$call.members;
22456
+ hasNext = _yield$call.hasNext;
22279
22457
  _context.n = 6;
22280
- return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22458
+ return put(setMembersToListAC(members));
22281
22459
  case 6:
22460
+ _context.n = 7;
22461
+ return put(setMembersHasNextAC(hasNext));
22462
+ case 7:
22282
22463
  _context.n = 8;
22464
+ return call(updateActiveChannelMembersAdd, members) || {};
22465
+ case 8:
22466
+ updateChannelData = _context.v;
22467
+ _context.n = 9;
22468
+ return put(updateChannelDataAC(channelId, updateChannelData));
22469
+ case 9:
22470
+ _context.n = 11;
22283
22471
  break;
22284
- case 7:
22285
- _context.p = 7;
22472
+ case 10:
22473
+ _context.p = 10;
22286
22474
  _t = _context.v;
22287
22475
  log.error('ERROR in get members - ', _t.message);
22288
- case 8:
22476
+ case 11:
22477
+ _context.p = 11;
22478
+ _context.n = 12;
22479
+ return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22480
+ case 12:
22481
+ return _context.f(11);
22482
+ case 13:
22289
22483
  return _context.a(2);
22290
22484
  }
22291
- }, _marked$4, null, [[0, 7]]);
22485
+ }, _marked$4, null, [[0, 10, 11, 13]]);
22292
22486
  }
22293
22487
  function loadMoreMembers(action) {
22294
- var payload, limit, channelId, membersQuery, _yield$call2, members, updateChannelData;
22488
+ var payload, limit, channelId, membersQuery, _yield$call2, members, hasNext, updateChannelData;
22295
22489
  return _regenerator().w(function (_context2) {
22296
22490
  while (1) switch (_context2.p = _context2.n) {
22297
22491
  case 0:
@@ -22311,27 +22505,34 @@ function loadMoreMembers(action) {
22311
22505
  case 2:
22312
22506
  _yield$call2 = _context2.v;
22313
22507
  members = _yield$call2.members;
22508
+ hasNext = _yield$call2.hasNext;
22314
22509
  _context2.n = 3;
22315
22510
  return put(addMembersToListAC(members));
22316
22511
  case 3:
22317
22512
  _context2.n = 4;
22318
- return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22513
+ return put(setMembersHasNextAC(hasNext));
22319
22514
  case 4:
22320
22515
  _context2.n = 5;
22321
22516
  return call(updateActiveChannelMembersAdd, members) || {};
22322
22517
  case 5:
22323
22518
  updateChannelData = _context2.v;
22324
22519
  _context2.n = 6;
22325
- return put(updateChannelDataAC(channelId, _extends({}, updateChannelData)));
22520
+ return put(updateChannelDataAC(channelId, updateChannelData));
22326
22521
  case 6:
22327
22522
  _context2.n = 8;
22328
22523
  break;
22329
22524
  case 7:
22330
22525
  _context2.p = 7;
22331
22526
  case 8:
22527
+ _context2.p = 8;
22528
+ _context2.n = 9;
22529
+ return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22530
+ case 9:
22531
+ return _context2.f(8);
22532
+ case 10:
22332
22533
  return _context2.a(2);
22333
22534
  }
22334
- }, _marked2$3, null, [[0, 7]]);
22535
+ }, _marked2$3, null, [[0, 7, 8, 10]]);
22335
22536
  }
22336
22537
  function addMembers(action) {
22337
22538
  var payload, members, channelId, channel, membersToAdd, addedMembers, membersIds, messageToSend, updateChannelData, _t3;
@@ -22392,13 +22593,20 @@ function addMembers(action) {
22392
22593
  memberCount: channel.memberCount + addedMembers.length
22393
22594
  }, updateChannelData)));
22394
22595
  case 6:
22395
- _context3.n = 8;
22596
+ _context3.n = 9;
22396
22597
  break;
22397
22598
  case 7:
22398
22599
  _context3.p = 7;
22399
22600
  _t3 = _context3.v;
22400
- log.error('error on add members... ', _t3);
22601
+ if (!(_t3.code === 1041)) {
22602
+ _context3.n = 8;
22603
+ break;
22604
+ }
22605
+ _context3.n = 8;
22606
+ return put(setActionIsRestrictedAC(true, true));
22401
22607
  case 8:
22608
+ log.error('error on add members... ', _t3);
22609
+ case 9:
22402
22610
  return _context3.a(2);
22403
22611
  }
22404
22612
  }, _marked3$2, null, [[0, 7]]);
@@ -22639,6 +22847,10 @@ function getContacts() {
22639
22847
  case 0:
22640
22848
  _context.p = 0;
22641
22849
  SceytChatClient = getClient();
22850
+ if (!(SceytChatClient.connectionState === CONNECTION_STATUS.CONNECTED)) {
22851
+ _context.n = 3;
22852
+ break;
22853
+ }
22642
22854
  _context.n = 1;
22643
22855
  return call(SceytChatClient.getAllContacts);
22644
22856
  case 1:
@@ -22849,6 +23061,12 @@ function getUsers(action) {
22849
23061
  payload = action.payload;
22850
23062
  params = payload.params;
22851
23063
  SceytChatClient = getClient();
23064
+ if (!(SceytChatClient.connectionState !== CONNECTION_STATUS.CONNECTED)) {
23065
+ _context5.n = 1;
23066
+ break;
23067
+ }
23068
+ return _context5.a(2);
23069
+ case 1:
22852
23070
  usersQueryBuilder = new SceytChatClient.UserListQueryBuilder();
22853
23071
  if (params.query) {
22854
23072
  usersQueryBuilder.query(params.query);
@@ -22878,35 +23096,35 @@ function getUsers(action) {
22878
23096
  usersQueryBuilder.filterByUsername();
22879
23097
  }
22880
23098
  log.info('user query params ..... ', params);
22881
- _context5.n = 1;
23099
+ _context5.n = 2;
22882
23100
  return call(usersQueryBuilder.build);
22883
- case 1:
23101
+ case 2:
22884
23102
  usersQuery = _context5.v;
22885
23103
  query.usersQuery = usersQuery;
22886
- _context5.n = 2;
22887
- return put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
22888
- case 2:
22889
23104
  _context5.n = 3;
22890
- return call(usersQuery.loadNextPage);
23105
+ return put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
22891
23106
  case 3:
22892
- _yield$call = _context5.v;
22893
- users = _yield$call.users;
22894
23107
  _context5.n = 4;
22895
- return put(setUsersAC(JSON.parse(JSON.stringify(users))));
23108
+ return call(usersQuery.loadNextPage);
22896
23109
  case 4:
23110
+ _yield$call = _context5.v;
23111
+ users = _yield$call.users;
22897
23112
  _context5.n = 5;
22898
- return put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
23113
+ return put(setUsersAC(JSON.parse(JSON.stringify(users))));
22899
23114
  case 5:
22900
- _context5.n = 7;
22901
- break;
23115
+ _context5.n = 6;
23116
+ return put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
22902
23117
  case 6:
22903
- _context5.p = 6;
23118
+ _context5.n = 8;
23119
+ break;
23120
+ case 7:
23121
+ _context5.p = 7;
22904
23122
  _t5 = _context5.v;
22905
23123
  log.error('ERROR on get users', _t5.message);
22906
- case 7:
23124
+ case 8:
22907
23125
  return _context5.a(2);
22908
23126
  }
22909
- }, _marked5$3, null, [[0, 6]]);
23127
+ }, _marked5$3, null, [[0, 7]]);
22910
23128
  }
22911
23129
  function loadMoreUsers(action) {
22912
23130
  var payload, limit, usersQuery, _yield$call2, users, _t6;
@@ -23107,6 +23325,15 @@ var rolesMapSelector = function rolesMapSelector(store) {
23107
23325
  var membersLoadingStateSelector = function membersLoadingStateSelector(store) {
23108
23326
  return store.MembersReducer.membersLoadingState;
23109
23327
  };
23328
+ var membersHasNextSelector = function membersHasNextSelector(store) {
23329
+ return store.MembersReducer.membersHasNext;
23330
+ };
23331
+ var restrictedSelector = function restrictedSelector(store) {
23332
+ return store.MembersReducer.restricted;
23333
+ };
23334
+ var openInviteModalSelector = function openInviteModalSelector(store) {
23335
+ return store.MembersReducer.openInviteModal;
23336
+ };
23110
23337
 
23111
23338
  var useDidUpdate = function useDidUpdate(callback, deps) {
23112
23339
  var hasMount = useRef(false);
@@ -23659,6 +23886,57 @@ var MembersText = styled.div(_templateObject7$1 || (_templateObject7$1 = _tagged
23659
23886
  });
23660
23887
  var Center = styled.div(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: 24px;\n"])));
23661
23888
 
23889
+ var ActionRestrictedPopup = function ActionRestrictedPopup(_ref) {
23890
+ var fromChannel = _ref.fromChannel;
23891
+ var dispatch = useDispatch();
23892
+ var _useColor = useColors(),
23893
+ background = _useColor[THEME_COLORS.BACKGROUND],
23894
+ textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
23895
+ surface1 = _useColor[THEME_COLORS.SURFACE_1],
23896
+ iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
23897
+ accentColor = _useColor[THEME_COLORS.ACCENT],
23898
+ textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
23899
+ linkColor = _useColor[THEME_COLORS.LINK_COLOR];
23900
+ var handleClose = function handleClose() {
23901
+ dispatch(setActionIsRestrictedAC(false, false));
23902
+ };
23903
+ var handleInvite = function handleInvite() {
23904
+ dispatch(setOpenInviteModalAC(true));
23905
+ handleClose();
23906
+ };
23907
+ return /*#__PURE__*/React__default.createElement(PopupContainer, null, /*#__PURE__*/React__default.createElement(Popup, {
23908
+ backgroundColor: background,
23909
+ maxWidth: '520px',
23910
+ minWidth: '520px',
23911
+ padding: '0'
23912
+ }, /*#__PURE__*/React__default.createElement(PopupBody, {
23913
+ paddingH: '24px',
23914
+ paddingV: '24px'
23915
+ }, /*#__PURE__*/React__default.createElement(CloseIcon, {
23916
+ color: iconPrimary,
23917
+ onClick: handleClose
23918
+ }), /*#__PURE__*/React__default.createElement(PopupName, {
23919
+ color: textPrimary,
23920
+ marginBottom: '20px'
23921
+ }, "Privacy note"), /*#__PURE__*/React__default.createElement(PopupDescription, {
23922
+ color: textPrimary,
23923
+ highlightColor: linkColor
23924
+ }, "Unable to add this member. Try inviting them directly to the group.")), /*#__PURE__*/React__default.createElement(PopupFooter, {
23925
+ backgroundColor: surface1
23926
+ }, /*#__PURE__*/React__default.createElement(Button, {
23927
+ type: 'button',
23928
+ color: textPrimary,
23929
+ backgroundColor: 'transparent',
23930
+ onClick: handleClose
23931
+ }, "Cancel"), fromChannel && (/*#__PURE__*/React__default.createElement(Button, {
23932
+ type: 'button',
23933
+ backgroundColor: accentColor,
23934
+ color: textOnPrimary,
23935
+ borderRadius: '8px',
23936
+ onClick: handleInvite
23937
+ }, "Invite")))));
23938
+ };
23939
+
23662
23940
  var _templateObject$5, _templateObject2$4, _templateObject3$4;
23663
23941
  var SceytChat = function SceytChat(_ref) {
23664
23942
  var client = _ref.client,
@@ -23702,6 +23980,7 @@ var SceytChat = function SceytChat(_ref) {
23702
23980
  SceytChatClient = _useState[0],
23703
23981
  setSceytChatClient = _useState[1];
23704
23982
  var connectionStatus = useSelector(connectionStatusSelector, shallowEqual);
23983
+ var restricted = useSelector(restrictedSelector, shallowEqual);
23705
23984
  var _useState2 = useState(true),
23706
23985
  tabIsActive = _useState2[0],
23707
23986
  setTabIsActive = _useState2[1];
@@ -23946,7 +24225,9 @@ var SceytChat = function SceytChat(_ref) {
23946
24225
  highlightedBackground: highlightedBackground,
23947
24226
  id: 'sceyt_chat_container',
23948
24227
  chatMinWidth: chatMinWidth
23949
- }, children, embeddedJoinGroupPopup && joinPopup && /*#__PURE__*/React__default.createElement(EmbeddedPopupWrapper, null, joinPopup))) : '', !embeddedJoinGroupPopup && joinPopup);
24228
+ }, children, embeddedJoinGroupPopup && joinPopup && /*#__PURE__*/React__default.createElement(EmbeddedPopupWrapper, null, joinPopup), (restricted === null || restricted === void 0 ? void 0 : restricted.isRestricted) && /*#__PURE__*/React__default.createElement(ActionRestrictedPopup, {
24229
+ fromChannel: restricted === null || restricted === void 0 ? void 0 : restricted.fromChannel
24230
+ }))) : '', !embeddedJoinGroupPopup && joinPopup);
23950
24231
  };
23951
24232
  var Container$2 = styled.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["\n display: flex;\n height: 100vh;\n"])));
23952
24233
  var ChatContainer = styled.div(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n display: flex;\n height: 100%;\n max-height: 100vh;\n min-width: ", ";\n background-color: ", ";\n position: relative;\n\n /* Global highlighted background styles */\n ::selection {\n background-color: ", ";\n }\n\n ::-moz-selection {\n background-color: ", ";\n }\n\n /* For text selection highlighting */\n *::selection {\n background-color: ", ";\n }\n\n *::-moz-selection {\n background-color: ", ";\n }\n"])), function (props) {
@@ -37404,16 +37685,7 @@ var Message$1 = function Message(_ref) {
37404
37685
  setMessageActionsShow(false);
37405
37686
  };
37406
37687
  var handleResendMessage = function handleResendMessage() {
37407
- var messageToResend = _extends({}, message);
37408
- if (message.attachments && message.attachments.length) {
37409
- messageToResend.attachments = message.attachments.map(function (att) {
37410
- var pendingAttachment = getPendingAttachment(att.tid);
37411
- return _extends({}, att, {
37412
- data: new File([pendingAttachment.file], att.data.name)
37413
- });
37414
- });
37415
- }
37416
- dispatch(resendMessageAC(messageToResend, channel.id, connectionStatus));
37688
+ dispatch(resendMessageAC(message, channel.id, connectionStatus));
37417
37689
  setMessageActionsShow(false);
37418
37690
  };
37419
37691
  var handleCopyMessage = function handleCopyMessage() {
@@ -37471,12 +37743,12 @@ var Message$1 = function Message(_ref) {
37471
37743
  setFrequentlyEmojisOpen(false);
37472
37744
  };
37473
37745
  var handleSendReadMarker = function handleSendReadMarker() {
37474
- if (!message.userMarkers.find(function (marker) {
37746
+ if (message.incoming && !message.userMarkers.find(function (marker) {
37475
37747
  return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
37476
37748
  })) {
37477
37749
  if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
37478
37750
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
37479
- }) && message.incoming && !unreadScrollTo) {
37751
+ }) && !unreadScrollTo) {
37480
37752
  dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
37481
37753
  }
37482
37754
  }
@@ -37634,7 +37906,8 @@ var Message$1 = function Message(_ref) {
37634
37906
  withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
37635
37907
  className: 'messageContent'
37636
37908
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
37637
- rtl: ownMessageOnRightSide && !message.incoming
37909
+ rtl: ownMessageOnRightSide && !message.incoming,
37910
+ onClick: handleResendMessage
37638
37911
  }, /*#__PURE__*/React__default.createElement(ErrorIconWrapper, null))), CustomMessageItem ? (/*#__PURE__*/React__default.createElement(CustomMessageItem, {
37639
37912
  key: message.id || message.tid,
37640
37913
  channel: channel,
@@ -37939,7 +38212,7 @@ var MessageReaction = styled.span(_templateObject3$y || (_templateObject3$y = _t
37939
38212
  var ThreadMessageCountContainer = styled.div(_templateObject4$t || (_templateObject4$t = _taggedTemplateLiteralLoose(["\n position: relative;\n color: ", ";\n font-weight: 500;\n font-size: 13px;\n line-height: 15px;\n margin: 12px;\n cursor: pointer;\n\n &::before {\n content: '';\n position: absolute;\n left: -25px;\n top: -21px;\n width: 16px;\n height: 26px;\n border-left: 2px solid #cdcdcf;\n border-bottom: 2px solid #cdcdcf;\n border-radius: 0 0 0 14px;\n }\n"])), function (props) {
37940
38213
  return props.color;
37941
38214
  });
37942
- var FailedMessageIcon = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n"])), function (props) {
38215
+ var FailedMessageIcon = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n cursor: pointer;\n"])), function (props) {
37943
38216
  return !props.rtl && '-24px';
37944
38217
  }, function (props) {
37945
38218
  return props.rtl && '-24px';
@@ -38318,7 +38591,8 @@ var MessageList = function MessageList(_ref2) {
38318
38591
  var handleMessagesListScroll = useCallback(function () {
38319
38592
  try {
38320
38593
  var target = scrollRef.current;
38321
- if (!target) return Promise.resolve();
38594
+ var messageBox = document.getElementById('messageBox');
38595
+ if (!target || !messageBox) return Promise.resolve();
38322
38596
  if (scrollToMentionedMessage) {
38323
38597
  if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
38324
38598
  dispatch(showScrollToNewMessageButtonAC(true));
@@ -38331,10 +38605,13 @@ var MessageList = function MessageList(_ref2) {
38331
38605
  clearTimeout(hideTopDateTimeout.current);
38332
38606
  renderTopDate();
38333
38607
  var forceLoadPrevMessages = false;
38334
- if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
38608
+ if (-target.scrollTop + target.offsetHeight + 100 > messageBox.scrollHeight) {
38335
38609
  forceLoadPrevMessages = true;
38336
38610
  }
38337
- if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING) {
38611
+ if (unreadScrollTo) {
38612
+ return Promise.resolve();
38613
+ }
38614
+ if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING && channel !== null && channel !== void 0 && channel.id) {
38338
38615
  dispatch(getMessagesAC(channel, true));
38339
38616
  }
38340
38617
  if (target.scrollTop <= -50) {
@@ -38348,7 +38625,7 @@ var MessageList = function MessageList(_ref2) {
38348
38625
  }
38349
38626
  var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
38350
38627
  var hasIndex = typeof currentIndex === 'number';
38351
- if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
38628
+ if (hasIndex && currentIndex < 10 || forceLoadPrevMessages) {
38352
38629
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
38353
38630
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
38354
38631
  shouldLoadMessagesRef.current = 'prev';
@@ -38365,7 +38642,7 @@ var MessageList = function MessageList(_ref2) {
38365
38642
  }
38366
38643
  }
38367
38644
  }
38368
- if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
38645
+ if (hasIndex && currentIndex >= messages.length - 10 || target.scrollTop > -100) {
38369
38646
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
38370
38647
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
38371
38648
  shouldLoadMessagesRef.current = 'next';
@@ -38423,8 +38700,8 @@ var MessageList = function MessageList(_ref2) {
38423
38700
  nextDisableRef.current = false;
38424
38701
  }, 1000 + positiveValue * 0.1);
38425
38702
  }
38426
- } else {
38427
- dispatch(getMessagesAC(channel, undefined, messageId));
38703
+ } else if (channel !== null && channel !== void 0 && channel.id) {
38704
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, true, 'smooth', true));
38428
38705
  }
38429
38706
  return Promise.resolve();
38430
38707
  } catch (e) {
@@ -38432,7 +38709,7 @@ var MessageList = function MessageList(_ref2) {
38432
38709
  }
38433
38710
  };
38434
38711
  var handleLoadMoreMessages = function handleLoadMoreMessages(direction, limit) {
38435
- if (scrollToMentionedMessage) {
38712
+ if (scrollToMentionedMessage || scrollToNewMessage.scrollToBottom) {
38436
38713
  return;
38437
38714
  }
38438
38715
  var lastMessageId = messages.length && messages[messages.length - 1].id;
@@ -38576,9 +38853,6 @@ var MessageList = function MessageList(_ref2) {
38576
38853
  behavior: 'smooth'
38577
38854
  });
38578
38855
  }
38579
- setTimeout(function () {
38580
- dispatch(scrollToNewMessageAC(false, false, false));
38581
- }, 800);
38582
38856
  } else {
38583
38857
  nextDisableRef.current = true;
38584
38858
  prevDisableRef.current = true;
@@ -38587,10 +38861,6 @@ var MessageList = function MessageList(_ref2) {
38587
38861
  behavior: 'smooth'
38588
38862
  });
38589
38863
  dispatch(showScrollToNewMessageButtonAC(false));
38590
- setTimeout(function () {
38591
- prevDisableRef.current = false;
38592
- dispatch(scrollToNewMessageAC(false, false, false));
38593
- }, 800);
38594
38864
  }
38595
38865
  }
38596
38866
  }, [scrollToNewMessage]);
@@ -38614,17 +38884,17 @@ var MessageList = function MessageList(_ref2) {
38614
38884
  prevDisableRef.current = false;
38615
38885
  shouldLoadMessagesRef.current = '';
38616
38886
  loadingRef.current = false;
38617
- if (channel.backToLinkedChannel) {
38887
+ if (channel.backToLinkedChannel && channel !== null && channel !== void 0 && channel.id) {
38618
38888
  var visibleMessages = getVisibleMessagesMap();
38619
38889
  var visibleMessagesIds = Object.keys(visibleMessages);
38620
38890
  var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
38621
- dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
38891
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, 'instant'));
38622
38892
  setUnreadMessageId(messageId);
38623
38893
  } else {
38624
38894
  if (!channel.isLinkedChannel) {
38625
38895
  clearVisibleMessagesMap();
38626
38896
  }
38627
- if (channel) {
38897
+ if (channel && channel !== null && channel !== void 0 && channel.id) {
38628
38898
  dispatch(getMessagesAC(channel, undefined, undefined, undefined, true));
38629
38899
  }
38630
38900
  if (channel.id) {
@@ -38775,13 +39045,13 @@ var MessageList = function MessageList(_ref2) {
38775
39045
  }, [messagesLoading, messages, lastVisibleMessageId]);
38776
39046
  useEffect(function () {
38777
39047
  log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
38778
- if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
39048
+ if (connectionStatus === CONNECTION_STATUS.CONNECTED && channel !== null && channel !== void 0 && channel.id) {
38779
39049
  loadingRef.current = false;
38780
39050
  prevDisableRef.current = false;
38781
39051
  nextDisableRef.current = false;
38782
39052
  clearMessagesMap();
38783
39053
  removeAllMessages();
38784
- dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, false, 'instant', false));
39054
+ dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, 'instant', false, true));
38785
39055
  }
38786
39056
  }, [connectionStatus]);
38787
39057
  useEffect(function () {
@@ -38791,7 +39061,21 @@ var MessageList = function MessageList(_ref2) {
38791
39061
  scrollElement.style.scrollBehavior = 'inherit';
38792
39062
  }
38793
39063
  setScrollIntoView(true);
38794
- var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId);
39064
+ var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId) || null;
39065
+ var newLastDisplayedMessageId = channel.lastDisplayedMessageId;
39066
+ if (!lastReadMessageNode && channel.lastDisplayedMessageId && channel.lastDisplayedMessageId !== '0') {
39067
+ for (var index = 0; index < messages.length; index++) {
39068
+ var message = messages[index];
39069
+ if (channel.lastDisplayedMessageId >= message.id && (messages.length < index + 2 || channel.lastDisplayedMessageId <= messages[index + 1].id)) {
39070
+ newLastDisplayedMessageId = message.id;
39071
+ lastReadMessageNode = document.getElementById(newLastDisplayedMessageId);
39072
+ break;
39073
+ }
39074
+ }
39075
+ } else if (!lastReadMessageNode && (!channel.lastDisplayedMessageId || channel.lastDisplayedMessageId === '0') && messages !== null && messages !== void 0 && messages.length) {
39076
+ newLastDisplayedMessageId = messages[0].id;
39077
+ lastReadMessageNode = document.getElementById(newLastDisplayedMessageId);
39078
+ }
38795
39079
  if (lastReadMessageNode && scrollElement) {
38796
39080
  dispatch(scrollToNewMessageAC(false));
38797
39081
  scrollElement.scrollTo({
@@ -38876,7 +39160,8 @@ var MessageList = function MessageList(_ref2) {
38876
39160
  enableResetScrollToCoords: false,
38877
39161
  replyMessage: messageForReply && messageForReply.id,
38878
39162
  attachmentsSelected: attachmentsSelected,
38879
- className: 'messageBox'
39163
+ className: 'messageBox',
39164
+ id: 'messageBox'
38880
39165
  }, messages.map(function (message, index) {
38881
39166
  var prevMessage = messages[index - 1];
38882
39167
  var nextMessage = messages[index + 1];
@@ -41130,6 +41415,13 @@ function SvgRecordButton(props) {
41130
41415
  }
41131
41416
 
41132
41417
  var _templateObject$O, _templateObject2$J, _templateObject3$C, _templateObject4$x, _templateObject5$s, _templateObject6$o, _templateObject7$n;
41418
+ var fieldsObject = {
41419
+ channelId: '',
41420
+ currentRecordedFile: null,
41421
+ recording: null,
41422
+ recorder: null,
41423
+ wavesurferContainer: null
41424
+ };
41133
41425
  var shouldDraw = false;
41134
41426
  var DEFAULT_MAX_RECORDING_DURATION = 600;
41135
41427
  var AudioRecord = function AudioRecord(_ref) {
@@ -41463,7 +41755,7 @@ var AudioRecord = function AudioRecord(_ref) {
41463
41755
  handleStopRecording();
41464
41756
  shouldDraw = false;
41465
41757
  var id = cId || channelId;
41466
- recorder.stop().getMp3().then(function (_ref4) {
41758
+ recorder === null || recorder === void 0 ? void 0 : recorder.stop().getMp3().then(function (_ref4) {
41467
41759
  var buffer = _ref4[0],
41468
41760
  blob = _ref4[1];
41469
41761
  var file = new File(buffer, 'record.mp3', {
@@ -41583,6 +41875,30 @@ var AudioRecord = function AudioRecord(_ref) {
41583
41875
  }
41584
41876
  };
41585
41877
  }, [recording, maxRecordingDuration]);
41878
+ useEffect(function () {
41879
+ fieldsObject.channelId = channelId;
41880
+ }, [channelId]);
41881
+ useEffect(function () {
41882
+ fieldsObject.recorder = recorder;
41883
+ }, [recorder]);
41884
+ useEffect(function () {
41885
+ fieldsObject.currentRecordedFile = currentRecordedFile;
41886
+ }, [currentRecordedFile]);
41887
+ useEffect(function () {
41888
+ fieldsObject.recording = recording;
41889
+ }, [recording]);
41890
+ useEffect(function () {
41891
+ fieldsObject.wavesurferContainer = wavesurferContainer.current;
41892
+ }, [wavesurferContainer.current]);
41893
+ useEffect(function () {
41894
+ return function () {
41895
+ var _fieldsObject$current;
41896
+ if (fieldsObject.channelId && (!fieldsObject.currentRecordedFile || !((_fieldsObject$current = fieldsObject.currentRecordedFile) !== null && _fieldsObject$current !== void 0 && _fieldsObject$current.file)) && fieldsObject.recorder && fieldsObject.recording) {
41897
+ stopRecording(false, fieldsObject.channelId, true, fieldsObject.recorder, fieldsObject.wavesurferContainer);
41898
+ handleStopRecording();
41899
+ }
41900
+ };
41901
+ }, []);
41586
41902
  useEffect(function () {
41587
41903
  if (currentRecordedFile) {
41588
41904
  _initWaveSurfer();
@@ -41707,6 +42023,9 @@ var AudioRecord = function AudioRecord(_ref) {
41707
42023
  iconColor: accentColor
41708
42024
  }, showRecording || currentRecordedFile ? /*#__PURE__*/React__default.createElement(SvgSend, null) : /*#__PURE__*/React__default.createElement(SvgRecordButton, null)));
41709
42025
  };
42026
+ var AudioRecord$1 = /*#__PURE__*/memo(AudioRecord, function (prevProps, nextProps) {
42027
+ return prevProps.channelId === nextProps.channelId && prevProps.showRecording === nextProps.showRecording && prevProps.maxRecordingDuration === nextProps.maxRecordingDuration;
42028
+ });
41710
42029
  var Container$l = styled.div(_templateObject$O || (_templateObject$O = _taggedTemplateLiteralLoose(["\n width: 32px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n ", ";\n transition: all 0.3s ease-in-out;\n"])), function (props) {
41711
42030
  return props.recording && "width: 400px";
41712
42031
  });
@@ -42285,7 +42604,7 @@ function onError(error) {
42285
42604
  var prevActiveChannelId;
42286
42605
  var attachmentsUpdate = [];
42287
42606
  var SendMessageInput = function SendMessageInput(_ref3) {
42288
- var _pollOptions$choosePo;
42607
+ var _pollOptions$choosePo, _getAudioRecordingFro;
42289
42608
  var handleAttachmentSelected = _ref3.handleAttachmentSelected,
42290
42609
  handleSendMessage = _ref3.handleSendMessage,
42291
42610
  _ref3$disabled = _ref3.disabled,
@@ -42512,7 +42831,13 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42512
42831
  nodes: [MentionNode],
42513
42832
  onError: onError
42514
42833
  };
42515
- var handleSendTypingState = function handleSendTypingState(typingState) {
42834
+ var handleSendTypingState = function handleSendTypingState(typingState, code) {
42835
+ if (code) {
42836
+ var isTypeKeyPressed = checkIsTypeKeyPressed(code);
42837
+ if (!isTypeKeyPressed) {
42838
+ return;
42839
+ }
42840
+ }
42516
42841
  if (typingState) {
42517
42842
  setInTypingStateTimout(setTimeout(function () {
42518
42843
  setInTypingStateTimout(0);
@@ -42649,11 +42974,11 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42649
42974
  } else {
42650
42975
  if (typingTimout) {
42651
42976
  if (!inTypingStateTimout) {
42652
- handleSendTypingState(true);
42977
+ handleSendTypingState(true, code);
42653
42978
  }
42654
42979
  clearTimeout(typingTimout);
42655
42980
  } else {
42656
- handleSendTypingState(true);
42981
+ handleSendTypingState(true, code);
42657
42982
  }
42658
42983
  setTypingTimout(setTimeout(function () {
42659
42984
  setTypingTimout(0);
@@ -43328,7 +43653,9 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43328
43653
  if (activeChannel.id) {
43329
43654
  prevActiveChannelId = activeChannel.id;
43330
43655
  }
43331
- dispatch(getMembersAC(activeChannel.id));
43656
+ if (activeChannel.id) {
43657
+ dispatch(getMembersAC(activeChannel.id));
43658
+ }
43332
43659
  setMentionedUsers([]);
43333
43660
  }, [activeChannel.id]);
43334
43661
  useEffect(function () {
@@ -43393,7 +43720,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43393
43720
  document.body.removeAttribute('onbeforeunload');
43394
43721
  }
43395
43722
  }
43396
- }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes]);
43723
+ }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes, messageToEdit]);
43397
43724
  useDidUpdate(function () {
43398
43725
  if (mentionedUsers && mentionedUsers.length) {
43399
43726
  setDraftMessageToMap(activeChannel.id, {
@@ -43708,7 +44035,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43708
44035
  onChange: handleFileUpload,
43709
44036
  multiple: true,
43710
44037
  type: 'file'
43711
- }), showRecording || getAudioRecordingFromMap(activeChannel.id) ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
44038
+ }), (showRecording || getAudioRecordingFromMap(activeChannel.id)) && !messageToEdit ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
43712
44039
  className: 'message_input_wrapper',
43713
44040
  borderRadius: messageForReply || messageToEdit ? borderRadiusOnOpenedEditReplyMessage : borderRadius,
43714
44041
  ref: inputWrapperRef,
@@ -43831,7 +44158,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43831
44158
  ErrorBoundary: LexicalErrorBoundary
43832
44159
  }), floatingAnchorElem && !isSmallWidthViewport && allowTextEdit && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FloatingTextFormatToolbarPlugin, {
43833
44160
  anchorElem: floatingAnchorElem
43834
- })))))))), sendMessageIsActive || !voiceMessage || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
44161
+ })))))))), sendMessageIsActive || !voiceMessage && !((_getAudioRecordingFro = getAudioRecordingFromMap(activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.id)) !== null && _getAudioRecordingFro !== void 0 && _getAudioRecordingFro.file) || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
43835
44162
  isCustomButton: CustomSendMessageButton,
43836
44163
  isActive: sendMessageIsActive,
43837
44164
  order: sendIconOrder,
@@ -43847,7 +44174,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43847
44174
  color: accentColor,
43848
44175
  iconColor: accentColor,
43849
44176
  activeColor: accentColor
43850
- }, /*#__PURE__*/React__default.createElement(AudioRecord, {
44177
+ }, /*#__PURE__*/React__default.createElement(AudioRecord$1, {
43851
44178
  sendRecordedFile: sendRecordedFile,
43852
44179
  setShowRecording: setShowRecording,
43853
44180
  showRecording: showRecording,
@@ -44918,7 +45245,8 @@ var Actions = function Actions(_ref) {
44918
45245
  iconColor: iconPrimary,
44919
45246
  color: textPrimary,
44920
45247
  hoverColor: textPrimary,
44921
- fontSize: actionItemsFontSize
45248
+ fontSize: actionItemsFontSize,
45249
+ flexWrap: 'wrap'
44922
45250
  }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DefaultWatchIcon, {
44923
45251
  "$isLightMode": backgroundColor === '#FFFFFF'
44924
45252
  }), "Disappearing messages", /*#__PURE__*/React__default.createElement(DisappearingMessagesStatusWrapper, null, /*#__PURE__*/React__default.createElement(DisappearingMessagesStatus, {
@@ -45122,7 +45450,7 @@ var DefaultMarkAsReadIcon = styled(SvgLeave)(_templateObject15$3 || (_templateOb
45122
45450
  var DefaultWatchIcon = styled(SvgWatch)(_templateObject16$3 || (_templateObject16$3 = _taggedTemplateLiteralLoose(["\n width: 24px;\n height: 24px;\n\n path.watch-ticks,\n path:nth-child(2) {\n fill: ", " !important;\n }\n"])), function (props) {
45123
45451
  return props.$isLightMode ? '#FFFFFF' : '#000000';
45124
45452
  });
45125
- var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45453
+ var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n ", "\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45126
45454
  return props.fontSize || '15px';
45127
45455
  }, function (props) {
45128
45456
  return props.color;
@@ -45130,6 +45458,8 @@ var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _tagged
45130
45458
  return props.order;
45131
45459
  }, function (props) {
45132
45460
  return props.disableEvent && 'none';
45461
+ }, function (props) {
45462
+ return props.flexWrap && "flex-wrap: " + props.flexWrap + ";";
45133
45463
  }, function (props) {
45134
45464
  return props.iconColor;
45135
45465
  }, function (props) {
@@ -45658,7 +45988,7 @@ function InviteLinkModal(_ref) {
45658
45988
  var handleConfirmReset = function handleConfirmReset() {
45659
45989
  var _channelInviteKeys$;
45660
45990
  setShowResetConfirm(false);
45661
- dispatch(regenerateChannelInviteKeyAC(channelId, (channelInviteKeys === null || channelInviteKeys === void 0 ? void 0 : (_channelInviteKeys$ = channelInviteKeys[0]) === null || _channelInviteKeys$ === void 0 ? void 0 : _channelInviteKeys$.key) || ''));
45991
+ dispatch(regenerateChannelInviteKeyAC(channelId, (channelInviteKeys === null || channelInviteKeys === void 0 ? void 0 : (_channelInviteKeys$ = channelInviteKeys[0]) === null || _channelInviteKeys$ === void 0 ? void 0 : _channelInviteKeys$.key) || '', true));
45662
45992
  };
45663
45993
  useEffect(function () {
45664
45994
  if (channelId) {
@@ -45930,27 +46260,17 @@ var Members = function Members(_ref) {
45930
46260
  var _useState7 = useState(false),
45931
46261
  addMemberPopupOpen = _useState7[0],
45932
46262
  setAddMemberPopupOpen = _useState7[1];
45933
- var _useState8 = useState(false),
45934
- openInviteModal = _useState8[0],
45935
- setOpenInviteModal = _useState8[1];
45936
- var _useState9 = useState(),
45937
- closeMenu = _useState9[0],
45938
- setCloseMenu = _useState9[1];
46263
+ var _useState8 = useState(),
46264
+ closeMenu = _useState8[0],
46265
+ setCloseMenu = _useState8[1];
45939
46266
  var members = useSelector(activeChannelMembersSelector) || [];
45940
46267
  var contactsMap = useSelector(contactsMapSelector) || {};
45941
- var membersLoading = useSelector(membersLoadingStateSelector) || {};
46268
+ var openInviteModal = useSelector(openInviteModalSelector);
45942
46269
  var user = getClient().user;
45943
46270
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
45944
46271
  var channelTypeRoleMap = getDefaultRolesByChannelTypesMap();
45945
46272
  var displayMemberText = memberDisplayText && memberDisplayText[channel.type] ? memberDisplayText[channel.type] + "s" : channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? 'subscribers' : 'members';
45946
46273
  var noMemberEditPermissions = !checkActionPermission('changeMemberRole') && !checkActionPermission('kickAndBlockMember') && !checkActionPermission('kickMember');
45947
- var handleMembersListScroll = function handleMembersListScroll(event) {
45948
- if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
45949
- if (membersLoading === LOADING_STATE.LOADED) {
45950
- dispatch(loadMoreMembersAC(15, channel.id));
45951
- }
45952
- }
45953
- };
45954
46274
  var watchDropdownState = function watchDropdownState(state, memberId) {
45955
46275
  if (state) {
45956
46276
  setCloseMenu(memberId);
@@ -46041,23 +46361,23 @@ var Members = function Members(_ref) {
46041
46361
  }
46042
46362
  };
46043
46363
  var handleOpenInviteModal = function handleOpenInviteModal() {
46044
- setOpenInviteModal(true);
46364
+ dispatch(setOpenInviteModalAC(true));
46045
46365
  setAddMemberPopupOpen(false);
46046
46366
  };
46047
46367
  useEffect(function () {
46048
46368
  if (getFromContacts) {
46049
46369
  dispatch(getContactsAC());
46050
46370
  }
46051
- dispatch(getMembersAC(channel.id));
46052
- }, [channel]);
46371
+ if (channel !== null && channel !== void 0 && channel.id) {
46372
+ dispatch(getMembersAC(channel.id));
46373
+ }
46374
+ }, [channel === null || channel === void 0 ? void 0 : channel.id]);
46053
46375
  var currentUserRole = (_members$find = members.find(function (member) {
46054
46376
  return member.id === user.id;
46055
46377
  })) === null || _members$find === void 0 ? void 0 : _members$find.role;
46056
46378
  return /*#__PURE__*/React__default.createElement(Container$o, {
46057
46379
  theme: theme
46058
- }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, {
46059
- onScroll: handleMembersListScroll
46060
- }, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46380
+ }, /*#__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, {
46061
46381
  key: 1,
46062
46382
  onClick: handleAddMemberPopup,
46063
46383
  color: textPrimary,
@@ -46193,7 +46513,7 @@ var Members = function Members(_ref) {
46193
46513
  handleOpenInviteModal: handleOpenInviteModal
46194
46514
  })), openInviteModal && (/*#__PURE__*/React__default.createElement(InviteLinkModal, {
46195
46515
  onClose: function onClose() {
46196
- return setOpenInviteModal(false);
46516
+ return dispatch(setOpenInviteModalAC(false));
46197
46517
  },
46198
46518
  SVGOrPNGLogoIcon: QRCodeIcon,
46199
46519
  channelId: channel.id
@@ -47462,6 +47782,7 @@ var Details = function Details(_ref) {
47462
47782
  var _usePermissions = usePermissions(activeChannel ? activeChannel.userRole : ''),
47463
47783
  checkActionPermission = _usePermissions[0];
47464
47784
  var membersLoading = useSelector(membersLoadingStateSelector);
47785
+ var membersHasNext = useSelector(membersHasNextSelector);
47465
47786
  var messagesLoading = useSelector(messagesLoadingState);
47466
47787
  var attachmentsHasNex = useSelector(activeTabAttachmentsHasNextSelector);
47467
47788
  var contactsMap = useSelector(contactsMapSelector);
@@ -47485,7 +47806,7 @@ var Details = function Details(_ref) {
47485
47806
  var handleMembersListScroll = function handleMembersListScroll(event) {
47486
47807
  if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
47487
47808
  if (activeTab === channelDetailsTabs.member) {
47488
- if (membersLoading === LOADING_STATE.LOADED) {
47809
+ if (membersLoading === LOADING_STATE.LOADED && membersHasNext) {
47489
47810
  dispatch(loadMoreMembersAC(15, activeChannel.id));
47490
47811
  }
47491
47812
  } else if (messagesLoading === LOADING_STATE.LOADED && attachmentsHasNex) {
@@ -48098,8 +48419,8 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
48098
48419
  });
48099
48420
  }
48100
48421
  }
48101
- } else {
48102
- dispatch(getMessagesAC(channel, true, messageId, undefined, undefined, false));
48422
+ } else if (channel !== null && channel !== void 0 && channel.id) {
48423
+ dispatch(getMessagesAC(channel, true, messageId, undefined, false, 'smooth', true));
48103
48424
  }
48104
48425
  return Promise.resolve();
48105
48426
  } catch (e) {
@@ -48287,7 +48608,7 @@ var MessagesScrollToUnreadMentionsButton = function MessagesScrollToUnreadMentio
48287
48608
  repliedMessage.classList.remove('highlight');
48288
48609
  }, 1500);
48289
48610
  }
48290
- } else {
48611
+ } else if (channel !== null && channel !== void 0 && channel.id) {
48291
48612
  dispatch(getMessagesAC(channel, undefined, messageId));
48292
48613
  }
48293
48614
  return Promise.resolve();