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

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
  }
@@ -9326,7 +9333,8 @@ var initialState = {
9326
9333
  draggedAttachments: [],
9327
9334
  draftIsRemoved: '',
9328
9335
  channelInviteKeys: {},
9329
- joinableChannel: null
9336
+ joinableChannel: null,
9337
+ channelInviteKeyAvailable: true
9330
9338
  };
9331
9339
  var channelSlice = createSlice({
9332
9340
  name: 'channels',
@@ -9632,6 +9640,9 @@ var channelSlice = createSlice({
9632
9640
  },
9633
9641
  setJoinableChannel: function setJoinableChannel(state, action) {
9634
9642
  state.joinableChannel = action.payload.channel;
9643
+ },
9644
+ setChannelInviteKeyAvailable: function setChannelInviteKeyAvailable(state, action) {
9645
+ state.channelInviteKeyAvailable = action.payload.available;
9635
9646
  }
9636
9647
  },
9637
9648
  extraReducers: function extraReducers(builder) {
@@ -9676,7 +9687,8 @@ var _channelSlice$actions = channelSlice.actions,
9676
9687
  setHideChannelList = _channelSlice$actions.setHideChannelList,
9677
9688
  setDraftIsRemoved = _channelSlice$actions.setDraftIsRemoved,
9678
9689
  setChannelInviteKeys = _channelSlice$actions.setChannelInviteKeys,
9679
- setJoinableChannel = _channelSlice$actions.setJoinableChannel;
9690
+ setJoinableChannel = _channelSlice$actions.setJoinableChannel,
9691
+ setChannelInviteKeyAvailable = _channelSlice$actions.setChannelInviteKeyAvailable;
9680
9692
  var ChannelReducer = channelSlice.reducer;
9681
9693
 
9682
9694
  var CREATE_CHANNEL = 'CREATE_CHANNEL';
@@ -10057,46 +10069,76 @@ var hashString = function hashString(str) {
10057
10069
  }
10058
10070
  };
10059
10071
  var formatDisappearingMessageTime = function formatDisappearingMessageTime(periodInMilliseconds) {
10060
- var _getDisappearingSetti;
10061
10072
  if (!periodInMilliseconds) return 'Off';
10062
10073
  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
10074
  var SECONDS_PER_MINUTE = 60;
10077
10075
  var SECONDS_PER_HOUR = SECONDS_PER_MINUTE * 60;
10078
10076
  var SECONDS_PER_DAY = SECONDS_PER_HOUR * 24;
10079
10077
  var DAYS_PER_WEEK = 7;
10080
10078
  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');
10079
+ var DAYS_PER_YEAR = 365;
10080
+ var remainingSeconds = Math.floor(periodInSeconds);
10081
+ var years = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_YEAR));
10082
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_YEAR;
10083
+ var months = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_MONTH));
10084
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_MONTH;
10085
+ var weeks = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_WEEK));
10086
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_WEEK;
10087
+ var days = Math.floor(remainingSeconds / SECONDS_PER_DAY);
10088
+ remainingSeconds %= SECONDS_PER_DAY;
10089
+ var hours = Math.floor(remainingSeconds / SECONDS_PER_HOUR);
10090
+ remainingSeconds %= SECONDS_PER_HOUR;
10091
+ var minutes = Math.floor(remainingSeconds / SECONDS_PER_MINUTE);
10092
+ remainingSeconds %= SECONDS_PER_MINUTE;
10093
+ var seconds = remainingSeconds;
10094
+ var parts = [];
10095
+ var partCount = 0;
10096
+ if (years > 0) {
10097
+ partCount++;
10098
+ }
10099
+ if (months > 0) {
10100
+ partCount++;
10101
+ }
10102
+ if (weeks > 0) {
10103
+ partCount++;
10104
+ }
10105
+ if (days > 0) {
10106
+ partCount++;
10107
+ }
10108
+ if (hours > 0) {
10109
+ partCount++;
10110
+ }
10111
+ if (minutes > 0) {
10112
+ partCount++;
10113
+ }
10114
+ if (seconds > 0) {
10115
+ partCount++;
10116
+ }
10117
+ if (years > 0) {
10118
+ parts.push("" + years + (partCount > 1 ? 'y' : years === 1 ? ' year' : ' years'));
10119
+ }
10120
+ if (months > 0) {
10121
+ parts.push("" + months + (partCount > 1 ? 'm' : months === 1 ? ' month' : ' months'));
10122
+ }
10123
+ if (weeks > 0) {
10124
+ parts.push("" + weeks + (partCount > 1 ? 'w' : weeks === 1 ? ' week' : ' weeks'));
10125
+ }
10126
+ if (days > 0) {
10127
+ parts.push("" + days + (partCount > 1 ? 'd' : days === 1 ? ' day' : ' days'));
10128
+ }
10129
+ if (hours > 0) {
10130
+ parts.push("" + hours + (partCount > 1 ? 'h' : hours === 1 ? ' hour' : ' hours'));
10099
10131
  }
10132
+ if (minutes > 0) {
10133
+ parts.push("" + minutes + (partCount > 1 ? 'm' : minutes === 1 ? ' minute' : ' minutes'));
10134
+ }
10135
+ if (seconds > 0) {
10136
+ parts.push("" + seconds + (partCount > 1 ? 's' : seconds === 1 ? ' second' : ' seconds'));
10137
+ }
10138
+ if (parts.length === 0) {
10139
+ return '0 seconds';
10140
+ }
10141
+ return parts.join(' ');
10100
10142
  };
10101
10143
 
10102
10144
  var GET_MESSAGES = 'GET_MESSAGES';
@@ -10130,10 +10172,7 @@ var queryDirection = {
10130
10172
  NEAR: 'near'
10131
10173
  };
10132
10174
 
10133
- function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend, isAddToPendingMessagesMap) {
10134
- if (isAddToPendingMessagesMap === void 0) {
10135
- isAddToPendingMessagesMap = true;
10136
- }
10175
+ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend) {
10137
10176
  return {
10138
10177
  type: SEND_MESSAGE,
10139
10178
  payload: {
@@ -10141,22 +10180,17 @@ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSep
10141
10180
  channelId: channelId,
10142
10181
  connectionState: connectionState,
10143
10182
  sendAttachmentsAsSeparateMessage: sendAttachmentsAsSeparateMessage,
10144
- isResend: isResend,
10145
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10183
+ isResend: isResend
10146
10184
  }
10147
10185
  };
10148
10186
  }
10149
- function sendTextMessageAC(message, channelId, connectionState, isAddToPendingMessagesMap) {
10150
- if (isAddToPendingMessagesMap === void 0) {
10151
- isAddToPendingMessagesMap = true;
10152
- }
10187
+ function sendTextMessageAC(message, channelId, connectionState) {
10153
10188
  return {
10154
10189
  type: SEND_TEXT_MESSAGE,
10155
10190
  payload: {
10156
10191
  message: message,
10157
10192
  channelId: channelId,
10158
- connectionState: connectionState,
10159
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10193
+ connectionState: connectionState
10160
10194
  }
10161
10195
  };
10162
10196
  }
@@ -10170,21 +10204,17 @@ function resendMessageAC(message, channelId, connectionState) {
10170
10204
  }
10171
10205
  };
10172
10206
  }
10173
- function forwardMessageAC(message, channelId, connectionState, isForward, isAddToPendingMessagesMap) {
10207
+ function forwardMessageAC(message, channelId, connectionState, isForward) {
10174
10208
  if (isForward === void 0) {
10175
10209
  isForward = true;
10176
10210
  }
10177
- if (isAddToPendingMessagesMap === void 0) {
10178
- isAddToPendingMessagesMap = true;
10179
- }
10180
10211
  return {
10181
10212
  type: FORWARD_MESSAGE,
10182
10213
  payload: {
10183
10214
  message: message,
10184
10215
  channelId: channelId,
10185
10216
  connectionState: connectionState,
10186
- isForward: isForward,
10187
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10217
+ isForward: isForward
10188
10218
  }
10189
10219
  };
10190
10220
  }
@@ -10217,13 +10247,16 @@ function setMessageToEditAC(message) {
10217
10247
  message: message
10218
10248
  });
10219
10249
  }
10220
- function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage) {
10250
+ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged) {
10221
10251
  if (highlight === void 0) {
10222
10252
  highlight = true;
10223
10253
  }
10224
10254
  if (scrollToMessage === void 0) {
10225
10255
  scrollToMessage = true;
10226
10256
  }
10257
+ if (networkChanged === void 0) {
10258
+ networkChanged = false;
10259
+ }
10227
10260
  return {
10228
10261
  type: GET_MESSAGES,
10229
10262
  payload: {
@@ -10231,10 +10264,10 @@ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliv
10231
10264
  loadWithLastMessage: loadWithLastMessage,
10232
10265
  messageId: messageId,
10233
10266
  limit: limit,
10234
- withDeliveredMessages: withDeliveredMessages,
10235
10267
  highlight: highlight,
10236
10268
  behavior: behavior,
10237
- scrollToMessage: scrollToMessage
10269
+ scrollToMessage: scrollToMessage,
10270
+ networkChanged: networkChanged
10238
10271
  }
10239
10272
  };
10240
10273
  }
@@ -10711,6 +10744,12 @@ function setPendingPollActionsMapAC(messageId, event) {
10711
10744
  event: event
10712
10745
  });
10713
10746
  }
10747
+ function updatePendingPollActionAC(messageId, message) {
10748
+ return updatePendingPollAction({
10749
+ messageId: messageId,
10750
+ message: message
10751
+ });
10752
+ }
10714
10753
  function setPendingMessageAC(channelId, message) {
10715
10754
  return setPendingMessage$1({
10716
10755
  channelId: channelId,
@@ -10731,7 +10770,8 @@ function updatePendingMessageAC(channelId, messageId, updatedMessage) {
10731
10770
  });
10732
10771
  }
10733
10772
 
10734
- var MESSAGES_MAX_LENGTH = 80;
10773
+ var MESSAGES_MAX_PAGE_COUNT = 80;
10774
+ var MESSAGES_MAX_LENGTH = 50;
10735
10775
  var LOAD_MAX_MESSAGE_COUNT = 30;
10736
10776
  var MESSAGE_LOAD_DIRECTION = {
10737
10777
  PREV: 'prev',
@@ -10797,12 +10837,12 @@ var setAllMessages = function setAllMessages(messages) {
10797
10837
  var addAllMessages = function addAllMessages(messages, direction) {
10798
10838
  if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
10799
10839
  activeChannelAllMessages = [].concat(messages, activeChannelAllMessages);
10800
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10840
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10801
10841
  setHasNextCached(true);
10802
10842
  }
10803
10843
  } else {
10804
10844
  activeChannelAllMessages = [].concat(activeChannelAllMessages, messages);
10805
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10845
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10806
10846
  setHasPrevCached(true);
10807
10847
  }
10808
10848
  }
@@ -10871,8 +10911,8 @@ var getHasNextCached = function getHasNextCached() {
10871
10911
  var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messageId, direction, getWithLastMessage) {
10872
10912
  var messagesForAdd = [];
10873
10913
  if (getWithLastMessage) {
10874
- messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_LENGTH));
10875
- setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_LENGTH);
10914
+ messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_PAGE_COUNT));
10915
+ setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT);
10876
10916
  setHasNextCached(false);
10877
10917
  } else {
10878
10918
  var fromMessageIndex = activeChannelAllMessages.findIndex(function (mes) {
@@ -10900,14 +10940,25 @@ var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messa
10900
10940
  }
10901
10941
  return messagesForAdd;
10902
10942
  };
10903
- function setMessagesToMap(channelId, messages) {
10943
+ function setMessagesToMap(channelId, messages, firstMessageId, lastMessageId) {
10944
+ if (firstMessageId === void 0) {
10945
+ firstMessageId = '0';
10946
+ }
10947
+ if (lastMessageId === void 0) {
10948
+ lastMessageId = '0';
10949
+ }
10904
10950
  if (!messagesMap[channelId]) {
10905
10951
  messagesMap[channelId] = {};
10906
10952
  }
10907
- messages.forEach(function (msg) {
10908
- if (msg.tid && messagesMap[channelId][msg.tid]) {
10909
- delete messagesMap[channelId][msg.tid];
10953
+ for (var key in messagesMap[channelId]) {
10954
+ if (Object.prototype.hasOwnProperty.call(messagesMap[channelId], key)) {
10955
+ var element = messagesMap[channelId][key];
10956
+ if (element.id >= firstMessageId && element.id <= lastMessageId) {
10957
+ delete messagesMap[channelId][key];
10958
+ }
10910
10959
  }
10960
+ }
10961
+ messages.forEach(function (msg) {
10911
10962
  messagesMap[channelId][msg.id || msg.tid] = msg;
10912
10963
  });
10913
10964
  }
@@ -10935,8 +10986,6 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
10935
10986
  updatedPendingMessages.forEach(function (msg) {
10936
10987
  store.dispatch(updatePendingMessageAC(channelId, msg.tid || msg.id, msg));
10937
10988
  });
10938
- } else {
10939
- store.dispatch(removePendingMessageAC(channelId, updatedMessage.messageId));
10940
10989
  }
10941
10990
  }
10942
10991
  var updatedMessageData = null;
@@ -11335,42 +11384,36 @@ var messageSlice = createSlice({
11335
11384
  });
11336
11385
  });
11337
11386
  if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
11338
- if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
11387
+ if (currentMessagesLength + newMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11339
11388
  var _state$activeChannelM;
11340
11389
  setHasNextCached(true);
11341
11390
  if (newMessagesLength > 0) {
11342
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11391
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11343
11392
  state.activeChannelMessages.splice(-newMessagesLength);
11344
11393
  } else {
11345
- state.activeChannelMessages.splice(-(newMessagesLength - (MESSAGES_MAX_LENGTH - currentMessagesLength)));
11394
+ state.activeChannelMessages.splice(-(currentMessagesLength - currentMessagesLength + newMessagesLength - MESSAGES_MAX_PAGE_COUNT));
11346
11395
  }
11347
11396
  }
11348
11397
  (_state$activeChannelM = state.activeChannelMessages).splice.apply(_state$activeChannelM, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11349
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11398
+ } else {
11350
11399
  var _state$activeChannelM2;
11351
- var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11352
- setHasNextCached(true);
11353
- state.activeChannelMessages.splice(-sliceElementCount);
11354
11400
  (_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
11401
  }
11359
- } else if (direction === 'next' && newMessagesLength > 0) {
11360
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11361
- var _state$activeChannelM4;
11402
+ } else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && newMessagesLength > 0) {
11403
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11404
+ var _state$activeChannelM3;
11362
11405
  setHasPrevCached(true);
11363
11406
  state.activeChannelMessages.splice(0, messagesIsNotIncludeInActiveChannelMessages.length);
11407
+ (_state$activeChannelM3 = state.activeChannelMessages).push.apply(_state$activeChannelM3, messagesIsNotIncludeInActiveChannelMessages);
11408
+ } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11409
+ var _state$activeChannelM4;
11410
+ var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_PAGE_COUNT;
11411
+ setHasPrevCached(true);
11412
+ state.activeChannelMessages.splice(0, sliceElementCount);
11364
11413
  (_state$activeChannelM4 = state.activeChannelMessages).push.apply(_state$activeChannelM4, messagesIsNotIncludeInActiveChannelMessages);
11365
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11414
+ } else {
11366
11415
  var _state$activeChannelM5;
11367
- var _sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11368
- setHasPrevCached(true);
11369
- state.activeChannelMessages.splice(0, _sliceElementCount);
11370
11416
  (_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
11417
  }
11375
11418
  }
11376
11419
  },
@@ -11394,6 +11437,9 @@ var messageSlice = createSlice({
11394
11437
  });
11395
11438
  }
11396
11439
  }
11440
+ state.activeChannelMessages.sort(function (a, b) {
11441
+ 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;
11442
+ });
11397
11443
  },
11398
11444
  updateMessage: function updateMessage(state, action) {
11399
11445
  var _action$payload3 = action.payload,
@@ -11439,6 +11485,9 @@ var messageSlice = createSlice({
11439
11485
  if (!messageFound && addIfNotExists) {
11440
11486
  state.activeChannelMessages.push(params);
11441
11487
  }
11488
+ state.activeChannelMessages.sort(function (a, b) {
11489
+ 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;
11490
+ });
11442
11491
  },
11443
11492
  updateMessageAttachment: function updateMessageAttachment(state, action) {
11444
11493
  var _action$payload4 = action.payload,
@@ -11802,10 +11851,24 @@ var messageSlice = createSlice({
11802
11851
  }
11803
11852
  state.pendingPollActions[messageId] = [].concat(state.pendingPollActions[messageId], [event]);
11804
11853
  },
11805
- setPendingMessage: function setPendingMessage(state, action) {
11854
+ updatePendingPollAction: function updatePendingPollAction(state, action) {
11806
11855
  var _action$payload20 = action.payload,
11807
- channelId = _action$payload20.channelId,
11856
+ messageId = _action$payload20.messageId,
11808
11857
  message = _action$payload20.message;
11858
+ if (!state.pendingPollActions[messageId]) {
11859
+ return;
11860
+ }
11861
+ state.pendingPollActions[messageId] = state.pendingPollActions[messageId].map(function (action) {
11862
+ var _action$message, _action$message2;
11863
+ 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, {
11864
+ message: message
11865
+ }) : action;
11866
+ });
11867
+ },
11868
+ setPendingMessage: function setPendingMessage(state, action) {
11869
+ var _action$payload21 = action.payload,
11870
+ channelId = _action$payload21.channelId,
11871
+ message = _action$payload21.message;
11809
11872
  if (!state.pendingMessagesMap[channelId]) {
11810
11873
  state.pendingMessagesMap[channelId] = [];
11811
11874
  }
@@ -11817,9 +11880,9 @@ var messageSlice = createSlice({
11817
11880
  }
11818
11881
  },
11819
11882
  removePendingMessage: function removePendingMessage(state, action) {
11820
- var _action$payload21 = action.payload,
11821
- channelId = _action$payload21.channelId,
11822
- messageId = _action$payload21.messageId;
11883
+ var _action$payload22 = action.payload,
11884
+ channelId = _action$payload22.channelId,
11885
+ messageId = _action$payload22.messageId;
11823
11886
  if (state.pendingMessagesMap[channelId]) {
11824
11887
  state.pendingMessagesMap[channelId] = state.pendingMessagesMap[channelId].filter(function (msg) {
11825
11888
  return !(msg.id === messageId || msg.tid === messageId);
@@ -11830,10 +11893,10 @@ var messageSlice = createSlice({
11830
11893
  }
11831
11894
  },
11832
11895
  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;
11896
+ var _action$payload23 = action.payload,
11897
+ channelId = _action$payload23.channelId,
11898
+ messageId = _action$payload23.messageId,
11899
+ updatedMessage = _action$payload23.updatedMessage;
11837
11900
  if (state.pendingMessagesMap[channelId]) {
11838
11901
  state.pendingMessagesMap[channelId] = state.pendingMessagesMap[channelId].map(function (msg) {
11839
11902
  if (msg.id === messageId || msg.tid === messageId) {
@@ -11908,7 +11971,8 @@ var _messageSlice$actions = messageSlice.actions,
11908
11971
  setPendingPollActionsMap = _messageSlice$actions.setPendingPollActionsMap,
11909
11972
  setPendingMessage$1 = _messageSlice$actions.setPendingMessage,
11910
11973
  removePendingMessage = _messageSlice$actions.removePendingMessage,
11911
- updatePendingMessage = _messageSlice$actions.updatePendingMessage;
11974
+ updatePendingMessage = _messageSlice$actions.updatePendingMessage,
11975
+ updatePendingPollAction = _messageSlice$actions.updatePendingPollAction;
11912
11976
  var MessageReducer = messageSlice.reducer;
11913
11977
 
11914
11978
  var initialState$2 = {
@@ -11917,7 +11981,13 @@ var initialState$2 = {
11917
11981
  activeChannelMembers: [],
11918
11982
  roles: [],
11919
11983
  getRolesFail: undefined,
11920
- rolesMap: {}
11984
+ rolesMap: {},
11985
+ restricted: {
11986
+ isRestricted: false,
11987
+ fromChannel: false,
11988
+ members: []
11989
+ },
11990
+ openInviteModal: false
11921
11991
  };
11922
11992
  var memberSlice = createSlice({
11923
11993
  name: 'members',
@@ -12000,6 +12070,18 @@ var memberSlice = createSlice({
12000
12070
  },
12001
12071
  setMembersHasNext: function setMembersHasNext(state, action) {
12002
12072
  state.membersHasNext = action.payload.hasNext;
12073
+ },
12074
+ setActionIsRestricted: function setActionIsRestricted(state, action) {
12075
+ var _action$payload2 = action.payload,
12076
+ isRestricted = _action$payload2.isRestricted,
12077
+ fromChannel = _action$payload2.fromChannel,
12078
+ members = _action$payload2.members;
12079
+ state.restricted.isRestricted = isRestricted;
12080
+ state.restricted.fromChannel = fromChannel;
12081
+ state.restricted.members = members;
12082
+ },
12083
+ setOpenInviteModal: function setOpenInviteModal(state, action) {
12084
+ state.openInviteModal = action.payload.open;
12003
12085
  }
12004
12086
  },
12005
12087
  extraReducers: function extraReducers(builder) {
@@ -12017,7 +12099,9 @@ var _memberSlice$actions = memberSlice.actions,
12017
12099
  setMembersLoadingState = _memberSlice$actions.setMembersLoadingState,
12018
12100
  getRolesSuccess = _memberSlice$actions.getRolesSuccess,
12019
12101
  getRolesFail = _memberSlice$actions.getRolesFail,
12020
- setMembersHasNext = _memberSlice$actions.setMembersHasNext;
12102
+ setMembersHasNext = _memberSlice$actions.setMembersHasNext,
12103
+ setActionIsRestricted = _memberSlice$actions.setActionIsRestricted,
12104
+ setOpenInviteModal = _memberSlice$actions.setOpenInviteModal;
12021
12105
  var MembersReducer = memberSlice.reducer;
12022
12106
 
12023
12107
  var SET_CONTACT_LOADING_STATE = 'SET_CONTACT_LOADING_STATE';
@@ -12510,6 +12594,11 @@ var switchChannelActionAC = function switchChannelActionAC(channel, updateActive
12510
12594
  }
12511
12595
  };
12512
12596
  };
12597
+ var setChannelInviteKeyAvailableAC = function setChannelInviteKeyAvailableAC(available) {
12598
+ return setChannelInviteKeyAvailable({
12599
+ available: available
12600
+ });
12601
+ };
12513
12602
  var updateChannelAC = function updateChannelAC(channelId, config) {
12514
12603
  return {
12515
12604
  type: UPDATE_CHANNEL,
@@ -12764,12 +12853,13 @@ var getChannelInviteKeysAC = function getChannelInviteKeysAC(channelId) {
12764
12853
  }
12765
12854
  };
12766
12855
  };
12767
- var regenerateChannelInviteKeyAC = function regenerateChannelInviteKeyAC(channelId, key) {
12856
+ var regenerateChannelInviteKeyAC = function regenerateChannelInviteKeyAC(channelId, key, deletePermanently) {
12768
12857
  return {
12769
12858
  type: REGENERATE_CHANNEL_INVITE_KEY,
12770
12859
  payload: {
12771
12860
  channelId: channelId,
12772
- key: key
12861
+ key: key,
12862
+ deletePermanently: deletePermanently
12773
12863
  }
12774
12864
  };
12775
12865
  };
@@ -13217,6 +13307,18 @@ var setMembersHasNextAC = function setMembersHasNextAC(hasNext) {
13217
13307
  hasNext: hasNext
13218
13308
  });
13219
13309
  };
13310
+ var setActionIsRestrictedAC = function setActionIsRestrictedAC(isRestricted, fromChannel, members) {
13311
+ return setActionIsRestricted({
13312
+ isRestricted: isRestricted,
13313
+ fromChannel: fromChannel,
13314
+ members: members || []
13315
+ });
13316
+ };
13317
+ var setOpenInviteModalAC = function setOpenInviteModalAC(open) {
13318
+ return setOpenInviteModal({
13319
+ open: open
13320
+ });
13321
+ };
13220
13322
 
13221
13323
  var connectionStatusSelector = function connectionStatusSelector(store) {
13222
13324
  return store.UserReducer.connectionStatus;
@@ -15386,6 +15488,7 @@ function watchForEvents() {
15386
15488
  }
15387
15489
  return _context.a(3, 183);
15388
15490
  case 99:
15491
+ log.info('CHANNEL_EVENT_TYPES.POLL_ADDED ... ');
15389
15492
  _channel10 = args.channel, pollDetails = args.pollDetails, _messageId = args.messageId;
15390
15493
  pollDetailsData = pollDetails;
15391
15494
  _context.n = 100;
@@ -15470,6 +15573,7 @@ function watchForEvents() {
15470
15573
  case 108:
15471
15574
  return _context.a(3, 183);
15472
15575
  case 109:
15576
+ log.info('CHANNEL_EVENT_TYPES.POLL_DELETED ... ');
15473
15577
  _channel11 = args.channel, _pollDetails = args.pollDetails, _messageId2 = args.messageId;
15474
15578
  _pollDetailsData = _pollDetails;
15475
15579
  _context.n = 110;
@@ -15529,6 +15633,7 @@ function watchForEvents() {
15529
15633
  case 116:
15530
15634
  return _context.a(3, 183);
15531
15635
  case 117:
15636
+ log.info('CHANNEL_EVENT_TYPES.POLL_RETRACTED ... ');
15532
15637
  _channel12 = args.channel, _pollDetails2 = args.pollDetails, _messageId3 = args.messageId;
15533
15638
  _context.n = 118;
15534
15639
  return call(getActiveChannelId);
@@ -15587,6 +15692,7 @@ function watchForEvents() {
15587
15692
  case 124:
15588
15693
  return _context.a(3, 183);
15589
15694
  case 125:
15695
+ log.info('CHANNEL_EVENT_TYPES.POLL_CLOSED ... ');
15590
15696
  _channel13 = args.channel, _messageId4 = args.messageId;
15591
15697
  _context.n = 126;
15592
15698
  return call(getActiveChannelId);
@@ -16185,13 +16291,20 @@ function createChannel(action) {
16185
16291
  _context.n = 16;
16186
16292
  return call(setActiveChannelId, createdChannel.id);
16187
16293
  case 16:
16188
- _context.n = 18;
16294
+ _context.n = 19;
16189
16295
  break;
16190
16296
  case 17:
16191
16297
  _context.p = 17;
16192
16298
  _t = _context.v;
16193
- log.error(_t, 'Error on create channel');
16299
+ if (!(_t.code === 1041)) {
16300
+ _context.n = 18;
16301
+ break;
16302
+ }
16303
+ _context.n = 18;
16304
+ return put(setActionIsRestrictedAC(true, false, null));
16194
16305
  case 18:
16306
+ log.error(_t, 'Error on create channel');
16307
+ case 19:
16195
16308
  return _context.a(2);
16196
16309
  }
16197
16310
  }, _marked$2, null, [[0, 17]]);
@@ -16306,7 +16419,7 @@ function getChannels(action) {
16306
16419
  try {
16307
16420
  return Promise.resolve(new Promise(function (resolve) {
16308
16421
  channel.getMessagesById([channel.newReactions[0].messageId]).then(function (messages) {
16309
- channelMessageMap[channel.id] = messages[0];
16422
+ channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id] = messages[0];
16310
16423
  log.info('[getChannels] successfully fetched reaction message for channel:', channel === null || channel === void 0 ? void 0 : channel.id);
16311
16424
  resolve(true);
16312
16425
  })["catch"](function (e) {
@@ -16325,8 +16438,8 @@ function getChannels(action) {
16325
16438
  case 13:
16326
16439
  log.info('[getChannels] reaction messages fetched:', channelMessageMap ? (_Object$keys = Object.keys(channelMessageMap)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length : 0);
16327
16440
  mappedChannels = mappedChannels.map(function (channel) {
16328
- if (channelMessageMap[channel.id]) {
16329
- channel.lastReactedMessage = channelMessageMap[channel.id];
16441
+ if (channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id]) {
16442
+ channel.lastReactedMessage = channelMessageMap[channel === null || channel === void 0 ? void 0 : channel.id];
16330
16443
  }
16331
16444
  return channel;
16332
16445
  });
@@ -18107,13 +18220,13 @@ function getChannelInviteKeys(action) {
18107
18220
  }, _marked30, null, [[0, 4]]);
18108
18221
  }
18109
18222
  function regenerateChannelInviteKey(action) {
18110
- var payload, channelId, key, channel, inviteKey, _t31;
18223
+ var payload, channelId, key, deletePermanently, channel, inviteKey, _t31;
18111
18224
  return _regenerator().w(function (_context31) {
18112
18225
  while (1) switch (_context31.p = _context31.n) {
18113
18226
  case 0:
18114
18227
  _context31.p = 0;
18115
18228
  payload = action.payload;
18116
- channelId = payload.channelId, key = payload.key;
18229
+ channelId = payload.channelId, key = payload.key, deletePermanently = payload.deletePermanently;
18117
18230
  _context31.n = 1;
18118
18231
  return call(getChannelFromMap, channelId);
18119
18232
  case 1:
@@ -18128,7 +18241,8 @@ function regenerateChannelInviteKey(action) {
18128
18241
  _context31.n = 2;
18129
18242
  return call(channel.regenerateInviteKey, {
18130
18243
  key: key,
18131
- channelId: channelId
18244
+ channelId: channelId,
18245
+ deletePermanently: deletePermanently
18132
18246
  });
18133
18247
  case 2:
18134
18248
  inviteKey = _context31.v;
@@ -18239,13 +18353,20 @@ function getChannelByInviteKey(action) {
18239
18353
  case 4:
18240
18354
  window.history.pushState({}, '', window.location.pathname);
18241
18355
  case 5:
18242
- _context33.n = 7;
18356
+ _context33.n = 8;
18243
18357
  break;
18244
18358
  case 6:
18245
18359
  _context33.p = 6;
18246
18360
  _t33 = _context33.v;
18247
- log.error('ERROR in get channel by invite key', _t33);
18361
+ if (!(_t33.code === 1109)) {
18362
+ _context33.n = 7;
18363
+ break;
18364
+ }
18365
+ _context33.n = 7;
18366
+ return put(setChannelInviteKeyAvailableAC(false));
18248
18367
  case 7:
18368
+ log.error('ERROR in get channel by invite key', _t33);
18369
+ case 8:
18249
18370
  return _context33.a(2);
18250
18371
  }
18251
18372
  }, _marked33, null, [[0, 6]]);
@@ -18864,6 +18985,56 @@ var getFrame = function getFrame(videoSrc, time) {
18864
18985
  }
18865
18986
  };
18866
18987
 
18988
+ var SDKErrorTypeEnum = {
18989
+ BadRequest: {
18990
+ value: 'BadRequest',
18991
+ isResendable: false
18992
+ },
18993
+ BadParam: {
18994
+ value: 'BadParam',
18995
+ isResendable: false
18996
+ },
18997
+ NotFound: {
18998
+ value: 'NotFound',
18999
+ isResendable: false
19000
+ },
19001
+ NotAllowed: {
19002
+ value: 'NotAllowed',
19003
+ isResendable: false
19004
+ },
19005
+ TooLargeRequest: {
19006
+ value: 'TooLargeRequest',
19007
+ isResendable: false
19008
+ },
19009
+ InternalError: {
19010
+ value: 'InternalError',
19011
+ isResendable: true
19012
+ },
19013
+ TooManyRequests: {
19014
+ value: 'TooManyRequests',
19015
+ isResendable: true
19016
+ },
19017
+ Authentication: {
19018
+ value: 'Authentication',
19019
+ isResendable: true
19020
+ }
19021
+ };
19022
+ var fromValue = function fromValue(value) {
19023
+ if (!value) return null;
19024
+ var entries = Object.values(SDKErrorTypeEnum);
19025
+ return entries.find(function (entry) {
19026
+ return entry.value === value;
19027
+ }) || null;
19028
+ };
19029
+ var isResendableError = function isResendableError(value) {
19030
+ var _errorType$isResendab;
19031
+ if (!value) {
19032
+ return true;
19033
+ }
19034
+ var errorType = fromValue(value);
19035
+ return (_errorType$isResendab = errorType === null || errorType === void 0 ? void 0 : errorType.isResendable) != null ? _errorType$isResendab : true;
19036
+ };
19037
+
18867
19038
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
18868
19039
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
18869
19040
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -18979,63 +19150,100 @@ var handleUploadAttachments = function handleUploadAttachments(attachments, mess
18979
19150
  return Promise.reject(e);
18980
19151
  }
18981
19152
  };
18982
- var addPendingMessage = function addPendingMessage(message, messageCopy, channel) {
19153
+ var addPendingMessage = function addPendingMessage(message, messageCopy, channelId) {
18983
19154
  try {
18984
19155
  var messageToAdd = _extends({}, messageCopy, {
18985
19156
  createdAt: new Date(Date.now()),
18986
19157
  mentionedUsers: message.mentionedUsers,
18987
19158
  parentMessage: message.parentMessage
18988
19159
  });
18989
- setPendingMessage(channel.id, messageToAdd);
19160
+ setPendingMessage(channelId, messageToAdd);
18990
19161
  return Promise.resolve();
18991
19162
  } catch (e) {
18992
19163
  return Promise.reject(e);
18993
19164
  }
18994
19165
  };
18995
- var updateMessage$1 = function updateMessage(actionType, pending, channel, scrollToNewMessage) {
19166
+ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scrollToNewMessage, message) {
18996
19167
  if (scrollToNewMessage === void 0) {
18997
19168
  scrollToNewMessage = true;
18998
19169
  }
18999
19170
  return /*#__PURE__*/_regenerator().m(function _callee() {
19000
- var activeChannelId;
19171
+ var activeChannelId, channel, messages, _channel$lastMessage2, repliedMessage, scrollRef, _channel$lastMessage3;
19001
19172
  return _regenerator().w(function (_context) {
19002
19173
  while (1) switch (_context.n) {
19003
19174
  case 0:
19004
19175
  activeChannelId = getActiveChannelId();
19005
19176
  if (!(actionType !== RESEND_MESSAGE)) {
19006
- _context.n = 2;
19177
+ _context.n = 7;
19007
19178
  break;
19008
19179
  }
19009
- addMessageToMap(channel.id, pending);
19010
- if (activeChannelId === channel.id) {
19180
+ if (activeChannelId === channelId) {
19011
19181
  addAllMessages([pending], MESSAGE_LOAD_DIRECTION.NEXT);
19012
19182
  }
19013
- if (!(activeChannelId === channel.id)) {
19183
+ if (!(activeChannelId === channelId)) {
19014
19184
  _context.n = 1;
19015
19185
  break;
19016
19186
  }
19017
19187
  _context.n = 1;
19018
19188
  return put(addMessageAC(pending));
19019
19189
  case 1:
19190
+ _context.n = 2;
19191
+ return call(addPendingMessage, message, pending, channelId);
19192
+ case 2:
19020
19193
  if (!scrollToNewMessage) {
19021
- _context.n = 2;
19194
+ _context.n = 7;
19022
19195
  break;
19023
19196
  }
19024
- _context.n = 2;
19025
- return put(scrollToNewMessageAC(true, true));
19026
- case 2:
19197
+ _context.n = 3;
19198
+ return call(getChannelFromAllChannels, channelId);
19199
+ case 3:
19200
+ channel = _context.v;
19201
+ messages = store.getState().MessageReducer.activeChannelMessages;
19202
+ if (!(messages.findIndex(function (msg) {
19203
+ var _channel$lastMessage;
19204
+ return msg.id === (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id);
19205
+ }) >= 10)) {
19206
+ _context.n = 6;
19207
+ break;
19208
+ }
19209
+ _context.n = 4;
19210
+ return put(scrollToNewMessageAC(true, false, false));
19211
+ case 4:
19212
+ _context.n = 5;
19213
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19214
+ case 5:
19215
+ repliedMessage = document.getElementById(channel === null || channel === void 0 ? void 0 : (_channel$lastMessage2 = channel.lastMessage) === null || _channel$lastMessage2 === void 0 ? void 0 : _channel$lastMessage2.id);
19216
+ if (repliedMessage) {
19217
+ scrollRef = document.getElementById('scrollableDiv');
19218
+ if (scrollRef) {
19219
+ scrollRef.scrollTo({
19220
+ top: 1000,
19221
+ behavior: 'smooth'
19222
+ });
19223
+ }
19224
+ }
19225
+ _context.n = 7;
19226
+ break;
19227
+ case 6:
19228
+ if (!(channel !== null && channel !== void 0 && channel.id)) {
19229
+ _context.n = 7;
19230
+ break;
19231
+ }
19232
+ _context.n = 7;
19233
+ 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));
19234
+ case 7:
19027
19235
  return _context.a(2);
19028
19236
  }
19029
19237
  }, _callee);
19030
19238
  })();
19031
19239
  };
19032
19240
  function sendMessage(action) {
19033
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19241
+ var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19034
19242
  return _regenerator().w(function (_context4) {
19035
19243
  while (1) switch (_context4.p = _context4.n) {
19036
19244
  case 0:
19037
19245
  payload = action.payload;
19038
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19246
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage;
19039
19247
  pendingMessages = [];
19040
19248
  _context4.p = 1;
19041
19249
  _context4.n = 2;
@@ -19170,8 +19378,12 @@ function sendMessage(action) {
19170
19378
  createdAt: new Date(Date.now())
19171
19379
  });
19172
19380
  pendingMessages.push(_pending);
19381
+ if (!(action.type !== RESEND_MESSAGE)) {
19382
+ _context2.n = 1;
19383
+ break;
19384
+ }
19173
19385
  _context2.n = 1;
19174
- return call(updateMessage$1, action.type, _pending, channel);
19386
+ return call(updateMessage$1, action.type, _pending, channel.id, true, message);
19175
19387
  case 1:
19176
19388
  _context2.n = 3;
19177
19389
  break;
@@ -19219,8 +19431,12 @@ function sendMessage(action) {
19219
19431
  createdAt: new Date(Date.now())
19220
19432
  });
19221
19433
  pendingMessages.push(pending);
19434
+ if (!(action.type !== RESEND_MESSAGE)) {
19435
+ _context4.n = 11;
19436
+ break;
19437
+ }
19222
19438
  _context4.n = 11;
19223
- return call(updateMessage$1, action.type, pending, channel);
19439
+ return call(updateMessage$1, action.type, pending, channel.id, true, message);
19224
19440
  case 11:
19225
19441
  messageToSend = _extends({}, messageToSend, {
19226
19442
  attachments: attachmentsToSend
@@ -19228,7 +19444,7 @@ function sendMessage(action) {
19228
19444
  messagesToSend.push(messageToSend);
19229
19445
  case 12:
19230
19446
  _loop2 = /*#__PURE__*/_regenerator().m(function _callee3() {
19231
- var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, messageToUpdate, channelUpdateParam, pendingMessage, connectionIsDisconnected, _t;
19447
+ var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, stringifiedMessageUpdateData, activeChannelId, channelUpdateParam, isErrorResendable, _t;
19232
19448
  return _regenerator().w(function (_context3) {
19233
19449
  while (1) switch (_context3.p = _context3.n) {
19234
19450
  case 0:
@@ -19237,7 +19453,7 @@ function sendMessage(action) {
19237
19453
  _context3.p = 1;
19238
19454
  messageCopy = JSON.parse(JSON.stringify(messagesToSend[_i]));
19239
19455
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19240
- _context3.n = 12;
19456
+ _context3.n = 13;
19241
19457
  break;
19242
19458
  }
19243
19459
  _attachmentsToSend = messageAttachment;
@@ -19298,9 +19514,6 @@ function sendMessage(action) {
19298
19514
  _context3.n = 5;
19299
19515
  break;
19300
19516
  case 8:
19301
- if (action.type === RESEND_MESSAGE) {
19302
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19303
- }
19304
19517
  attachmentsToUpdate = [];
19305
19518
  if (messageResponse.attachments && messageResponse.attachments.length > 0) {
19306
19519
  currentAttachmentsMap = {};
@@ -19333,61 +19546,56 @@ function sendMessage(action) {
19333
19546
  createdAt: messageResponse.createdAt,
19334
19547
  channelId: channel.id
19335
19548
  };
19549
+ stringifiedMessageUpdateData = JSON.parse(JSON.stringify(messageUpdateData));
19550
+ activeChannelId = getActiveChannelId();
19551
+ if (!(activeChannelId === channel.id)) {
19552
+ _context3.n = 9;
19553
+ break;
19554
+ }
19336
19555
  _context3.n = 9;
19337
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19556
+ return put(updateMessageAC(messageToSend.tid, stringifiedMessageUpdateData, true));
19338
19557
  case 9:
19339
- updateMessageOnMap(channel.id, {
19340
- messageId: messageToSend.tid,
19341
- params: messageUpdateData
19342
- });
19558
+ _context3.n = 10;
19559
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19560
+ case 10:
19561
+ addMessageToMap(channel.id, stringifiedMessageUpdateData);
19343
19562
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19344
- messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19345
- updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19563
+ updateChannelLastMessageOnAllChannels(channel.id, stringifiedMessageUpdateData);
19346
19564
  channelUpdateParam = {
19347
- lastMessage: messageToUpdate,
19565
+ lastMessage: stringifiedMessageUpdateData,
19348
19566
  lastReactedMessage: null
19349
19567
  };
19350
19568
  if (!channel.unread) {
19351
- _context3.n = 10;
19569
+ _context3.n = 11;
19352
19570
  break;
19353
19571
  }
19354
- _context3.n = 10;
19355
- return put(markChannelAsReadAC(channel.id));
19356
- case 10:
19357
19572
  _context3.n = 11;
19358
- return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19573
+ return put(markChannelAsReadAC(channel.id));
19359
19574
  case 11:
19575
+ _context3.n = 12;
19576
+ return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19577
+ case 12:
19360
19578
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19361
- _context3.n = 13;
19579
+ _context3.n = 14;
19362
19580
  break;
19363
- case 12:
19364
- throw new Error('Connection required to send message');
19365
19581
  case 13:
19582
+ throw new Error('Connection required to send message');
19583
+ case 14:
19366
19584
  _context3.n = 19;
19367
19585
  break;
19368
- case 14:
19369
- _context3.p = 14;
19586
+ case 15:
19587
+ _context3.p = 15;
19370
19588
  _t = _context3.v;
19371
- pendingMessage = pendingMessages === null || pendingMessages === void 0 ? void 0 : pendingMessages.find(function (pendingMessage) {
19372
- return pendingMessage.tid === messageToSend.tid;
19373
- });
19374
- if (!(channel && pendingMessage && action.type !== RESEND_MESSAGE)) {
19589
+ isErrorResendable = isResendableError(_t === null || _t === void 0 ? void 0 : _t.type);
19590
+ if (isErrorResendable) {
19375
19591
  _context3.n = 17;
19376
19592
  break;
19377
19593
  }
19378
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19379
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19380
- _context3.n = 16;
19381
- break;
19382
- }
19383
- _context3.n = 15;
19384
- return call(addPendingMessage, message, pendingMessage, channel);
19385
- case 15:
19386
- _context3.n = 17;
19387
- break;
19594
+ _context3.n = 16;
19595
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19388
19596
  case 16:
19389
- _context3.n = 17;
19390
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19597
+ _context3.n = 19;
19598
+ break;
19391
19599
  case 17:
19392
19600
  log.error('Error on uploading attachment', messageToSend.tid, _t);
19393
19601
  if (!(messageToSend.attachments && messageToSend.attachments.length)) {
@@ -19413,7 +19621,7 @@ function sendMessage(action) {
19413
19621
  case 19:
19414
19622
  return _context3.a(2);
19415
19623
  }
19416
- }, _callee3, null, [[1, 14]]);
19624
+ }, _callee3, null, [[1, 15]]);
19417
19625
  });
19418
19626
  _i = 0;
19419
19627
  case 13:
@@ -19445,12 +19653,12 @@ function sendMessage(action) {
19445
19653
  }, _marked$3, null, [[1, 16, 17, 19]]);
19446
19654
  }
19447
19655
  function sendTextMessage(action) {
19448
- var payload, message, connectionState, channelId, isAddToPendingMessagesMap, channel, sendMessageTid, pendingMessage, activeChannelId, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t3;
19656
+ var payload, message, connectionState, channelId, channel, sendMessageTid, pendingMessage, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, activeChannelId, stringifiedMessageUpdateData, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId, _t3;
19449
19657
  return _regenerator().w(function (_context5) {
19450
19658
  while (1) switch (_context5.p = _context5.n) {
19451
19659
  case 0:
19452
19660
  payload = action.payload;
19453
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19661
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19454
19662
  _context5.n = 1;
19455
19663
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19456
19664
  case 1:
@@ -19464,8 +19672,8 @@ function sendTextMessage(action) {
19464
19672
  setChannelInMap(channel);
19465
19673
  }
19466
19674
  }
19675
+ sendMessageTid = null;
19467
19676
  pendingMessage = null;
19468
- activeChannelId = getActiveChannelId();
19469
19677
  _context5.p = 3;
19470
19678
  if (!channel.isMockChannel) {
19471
19679
  _context5.n = 6;
@@ -19525,11 +19733,15 @@ function sendTextMessage(action) {
19525
19733
  _context5.n = 8;
19526
19734
  break;
19527
19735
  }
19736
+ if (!(action.type !== RESEND_MESSAGE)) {
19737
+ _context5.n = 8;
19738
+ break;
19739
+ }
19528
19740
  _context5.n = 8;
19529
- return call(updateMessage$1, action.type, pendingMessage, channel);
19741
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, true, message);
19530
19742
  case 8:
19531
19743
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19532
- _context5.n = 16;
19744
+ _context5.n = 18;
19533
19745
  break;
19534
19746
  }
19535
19747
  if (!sendMessageHandler) {
@@ -19565,19 +19777,24 @@ function sendTextMessage(action) {
19565
19777
  pollDetails: (_messageResponse = messageResponse) === null || _messageResponse === void 0 ? void 0 : _messageResponse.pollDetails,
19566
19778
  channelId: channel.id
19567
19779
  };
19780
+ activeChannelId = getActiveChannelId();
19568
19781
  if (!(activeChannelId === channel.id)) {
19569
19782
  _context5.n = 13;
19570
19783
  break;
19571
19784
  }
19572
19785
  _context5.n = 13;
19573
- return put(updateMessageAC(messageToSend.tid, messageUpdateData));
19786
+ return put(updateMessageAC(messageToSend.tid, messageUpdateData, true));
19574
19787
  case 13:
19575
- updateMessageOnMap(channel.id, {
19576
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19577
- params: messageUpdateData
19578
- });
19788
+ stringifiedMessageUpdateData = JSON.parse(JSON.stringify(messageUpdateData));
19789
+ _context5.n = 14;
19790
+ return put(updatePendingPollActionAC(messageToSend.tid, stringifiedMessageUpdateData));
19791
+ case 14:
19792
+ _context5.n = 15;
19793
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19794
+ case 15:
19795
+ addMessageToMap(channel.id, stringifiedMessageUpdateData);
19579
19796
  if (activeChannelId === channel.id) {
19580
- updateMessageOnAllMessages(!isAddToPendingMessagesMap ? message.tid : messageToSend.tid, messageUpdateData);
19797
+ updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19581
19798
  }
19582
19799
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19583
19800
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19585,85 +19802,80 @@ function sendTextMessage(action) {
19585
19802
  lastMessage: messageToUpdate,
19586
19803
  lastReactedMessage: null
19587
19804
  };
19588
- _context5.n = 14;
19805
+ _context5.n = 16;
19589
19806
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19590
- case 14:
19807
+ case 16:
19591
19808
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19592
19809
  if (!channel.unread) {
19593
- _context5.n = 15;
19810
+ _context5.n = 17;
19594
19811
  break;
19595
19812
  }
19596
- _context5.n = 15;
19813
+ _context5.n = 17;
19597
19814
  return put(markChannelAsReadAC(channel.id));
19598
- case 15:
19815
+ case 17:
19599
19816
  channel.lastMessage = messageToUpdate;
19600
- if (action.type === RESEND_MESSAGE) {
19601
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19602
- }
19603
- _context5.n = 17;
19817
+ _context5.n = 19;
19604
19818
  break;
19605
- case 16:
19819
+ case 18:
19606
19820
  throw new Error('Connection required to send message');
19607
- case 17:
19608
- _context5.n = 22;
19821
+ case 19:
19822
+ _context5.n = 23;
19609
19823
  break;
19610
- case 18:
19611
- _context5.p = 18;
19824
+ case 20:
19825
+ _context5.p = 20;
19612
19826
  _t3 = _context5.v;
19613
- if (!(activeChannelId === channel.id && pendingMessage && action.type !== RESEND_MESSAGE)) {
19614
- _context5.n = 21;
19615
- break;
19616
- }
19617
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19618
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19619
- _context5.n = 20;
19827
+ log.error('error on send text message ... ', _t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19828
+ isErrorResendable = isResendableError(_t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19829
+ if (!(!isErrorResendable && channel.id && sendMessageTid)) {
19830
+ _context5.n = 22;
19620
19831
  break;
19621
19832
  }
19622
- _context5.n = 19;
19623
- return call(addPendingMessage, message, pendingMessage, channel);
19624
- case 19:
19625
19833
  _context5.n = 21;
19626
- break;
19627
- case 20:
19628
- _context5.n = 21;
19629
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19834
+ return put(removePendingMessageAC(channel.id, sendMessageTid));
19630
19835
  case 21:
19631
- log.error('error on send text message ... ', _t3);
19836
+ _context5.n = 23;
19837
+ break;
19838
+ case 22:
19839
+ if (!(channel.id && sendMessageTid)) {
19840
+ _context5.n = 23;
19841
+ break;
19842
+ }
19632
19843
  updateMessageOnMap(channel.id, {
19633
19844
  messageId: sendMessageTid,
19634
19845
  params: {
19635
19846
  state: MESSAGE_STATUS.FAILED
19636
19847
  }
19637
19848
  });
19638
- if (!(activeChannelId === channel.id)) {
19639
- _context5.n = 22;
19849
+ _activeChannelId = getActiveChannelId();
19850
+ if (!(_activeChannelId === channel.id)) {
19851
+ _context5.n = 23;
19640
19852
  break;
19641
19853
  }
19642
19854
  updateMessageOnAllMessages(sendMessageTid, {
19643
19855
  state: MESSAGE_STATUS.FAILED
19644
19856
  });
19645
- _context5.n = 22;
19857
+ _context5.n = 23;
19646
19858
  return put(updateMessageAC(sendMessageTid, {
19647
19859
  state: MESSAGE_STATUS.FAILED
19648
19860
  }));
19649
- case 22:
19650
- _context5.p = 22;
19651
- _context5.n = 23;
19652
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19653
19861
  case 23:
19654
- return _context5.f(22);
19862
+ _context5.p = 23;
19863
+ _context5.n = 24;
19864
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19655
19865
  case 24:
19866
+ return _context5.f(23);
19867
+ case 25:
19656
19868
  return _context5.a(2);
19657
19869
  }
19658
- }, _marked2$2, null, [[3, 18, 22, 24]]);
19870
+ }, _marked2$2, null, [[3, 20, 23, 25]]);
19659
19871
  }
19660
19872
  function forwardMessage(action) {
19661
- var payload, message, channelId, connectionState, isForward, isAddToPendingMessagesMap, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t4;
19873
+ var payload, message, channelId, connectionState, isForward, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId2, _t4;
19662
19874
  return _regenerator().w(function (_context6) {
19663
19875
  while (1) switch (_context6.p = _context6.n) {
19664
19876
  case 0:
19665
19877
  payload = action.payload;
19666
- message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19878
+ message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward;
19667
19879
  pendingMessage = null;
19668
19880
  channel = null;
19669
19881
  activeChannelId = getActiveChannelId();
@@ -19706,7 +19918,7 @@ function forwardMessage(action) {
19706
19918
  }) : [];
19707
19919
  attachments = message.attachments;
19708
19920
  if ((channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC) && !(channel.userRole === 'admin' || channel.userRole === 'owner')) {
19709
- _context6.n = 16;
19921
+ _context6.n = 17;
19710
19922
  break;
19711
19923
  }
19712
19924
  if (message.attachments && message.attachments.length) {
@@ -19733,7 +19945,7 @@ function forwardMessage(action) {
19733
19945
  };
19734
19946
  }
19735
19947
  messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisableMentionsCount(getDisableFrowardMentionsCount()).setMetadata(message.metadata ? isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata) : '').setForwardingMessageId(message.forwardingDetails ? message.forwardingDetails.messageId : message.id).setPollDetails(pollDetails);
19736
- messageToSend = messageBuilder.create();
19948
+ messageToSend = action.type === RESEND_MESSAGE ? action.payload.message : messageBuilder.create();
19737
19949
  messageToSend.tid = action.type === RESEND_MESSAGE ? action.payload.message.tid : messageToSend.tid;
19738
19950
  messageTid = messageToSend.tid;
19739
19951
  pendingMessage = _extends({}, messageToSend, {
@@ -19769,11 +19981,15 @@ function forwardMessage(action) {
19769
19981
  _context6.n = 9;
19770
19982
  break;
19771
19983
  }
19984
+ if (!(action.type !== RESEND_MESSAGE)) {
19985
+ _context6.n = 9;
19986
+ break;
19987
+ }
19772
19988
  _context6.n = 9;
19773
- return call(updateMessage$1, action.type, pendingMessage, channel, false);
19989
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19774
19990
  case 9:
19775
19991
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19776
- _context6.n = 15;
19992
+ _context6.n = 16;
19777
19993
  break;
19778
19994
  }
19779
19995
  _context6.n = 10;
@@ -19799,61 +20015,55 @@ function forwardMessage(action) {
19799
20015
  break;
19800
20016
  }
19801
20017
  _context6.n = 11;
19802
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
20018
+ return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19803
20019
  case 11:
19804
20020
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19805
20021
  case 12:
19806
- if (action.type === RESEND_MESSAGE) {
19807
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
20022
+ if (!messageToSend.tid) {
20023
+ _context6.n = 13;
20024
+ break;
19808
20025
  }
19809
- updateMessageOnMap(channel.id, {
19810
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19811
- params: messageUpdateData
19812
- });
20026
+ _context6.n = 13;
20027
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
20028
+ case 13:
20029
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19813
20030
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19814
20031
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19815
20032
  channelUpdateParam = {
19816
20033
  lastMessage: messageToUpdate,
19817
20034
  lastReactedMessage: null
19818
20035
  };
19819
- _context6.n = 13;
20036
+ _context6.n = 14;
19820
20037
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19821
- case 13:
20038
+ case 14:
19822
20039
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19823
20040
  if (!channel.unread) {
19824
- _context6.n = 14;
20041
+ _context6.n = 15;
19825
20042
  break;
19826
20043
  }
19827
- _context6.n = 14;
20044
+ _context6.n = 15;
19828
20045
  return put(markChannelAsReadAC(channel.id));
19829
- case 14:
19830
- _context6.n = 16;
19831
- break;
19832
20046
  case 15:
19833
- throw new Error('Connection required to forward message');
20047
+ _context6.n = 17;
20048
+ break;
19834
20049
  case 16:
20050
+ throw new Error('Connection required to forward message');
20051
+ case 17:
19835
20052
  _context6.n = 22;
19836
20053
  break;
19837
- case 17:
19838
- _context6.p = 17;
20054
+ case 18:
20055
+ _context6.p = 18;
19839
20056
  _t4 = _context6.v;
19840
- if (!(pendingMessage && channel && action.type !== RESEND_MESSAGE)) {
20057
+ isErrorResendable = isResendableError(_t4 === null || _t4 === void 0 ? void 0 : _t4.type);
20058
+ if (isErrorResendable) {
19841
20059
  _context6.n = 20;
19842
20060
  break;
19843
20061
  }
19844
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19845
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19846
- _context6.n = 19;
19847
- break;
19848
- }
19849
- _context6.n = 18;
19850
- return call(addPendingMessage, message, pendingMessage, channel);
19851
- case 18:
19852
- _context6.n = 20;
19853
- break;
20062
+ _context6.n = 19;
20063
+ return put(removePendingMessageAC(channel.id, messageTid));
19854
20064
  case 19:
19855
- _context6.n = 20;
19856
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
20065
+ _context6.n = 21;
20066
+ break;
19857
20067
  case 20:
19858
20068
  if (!(channel && messageTid)) {
19859
20069
  _context6.n = 21;
@@ -19865,7 +20075,8 @@ function forwardMessage(action) {
19865
20075
  state: MESSAGE_STATUS.FAILED
19866
20076
  }
19867
20077
  });
19868
- if (!(activeChannelId === channel.id)) {
20078
+ _activeChannelId2 = getActiveChannelId();
20079
+ if (!(_activeChannelId2 === channel.id)) {
19869
20080
  _context6.n = 21;
19870
20081
  break;
19871
20082
  }
@@ -19887,25 +20098,67 @@ function forwardMessage(action) {
19887
20098
  case 24:
19888
20099
  return _context6.a(2);
19889
20100
  }
19890
- }, _marked3$1, null, [[1, 17, 22, 24]]);
20101
+ }, _marked3$1, null, [[1, 18, 22, 24]]);
19891
20102
  }
19892
20103
  function resendMessage(action) {
19893
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isVoiceMessage;
20104
+ var _message$attachments;
20105
+ var payload, message, connectionState, channelId, attachments, sendAttachmentsAsSeparateMessage, isVoiceMessage;
19894
20106
  return _regenerator().w(function (_context7) {
19895
20107
  while (1) switch (_context7.n) {
19896
20108
  case 0:
19897
20109
  payload = action.payload;
19898
20110
  message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19899
- if (message.forwardingDetails) {
19900
- store.dispatch(forwardMessageAC(message, channelId, connectionState, false, false));
19901
- } else if (message.attachments && message.attachments.length) {
19902
- sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
19903
- isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
19904
- store.dispatch(sendMessageAC(message, channelId, connectionState, isVoiceMessage ? false : sendAttachmentsAsSeparateMessage, false, false));
19905
- } else {
19906
- store.dispatch(sendTextMessageAC(message, channelId, connectionState, false));
20111
+ attachments = message === null || message === void 0 ? void 0 : (_message$attachments = message.attachments) === null || _message$attachments === void 0 ? void 0 : _message$attachments.filter(function (att) {
20112
+ return (att === null || att === void 0 ? void 0 : att.type) !== attachmentTypes.link;
20113
+ });
20114
+ if (!message.forwardingDetails) {
20115
+ _context7.n = 2;
20116
+ break;
19907
20117
  }
20118
+ _context7.n = 1;
20119
+ return call(forwardMessage, {
20120
+ type: RESEND_MESSAGE,
20121
+ payload: {
20122
+ message: message,
20123
+ connectionState: connectionState,
20124
+ channelId: channelId,
20125
+ isForward: false
20126
+ }
20127
+ });
19908
20128
  case 1:
20129
+ _context7.n = 5;
20130
+ break;
20131
+ case 2:
20132
+ if (!(attachments && attachments.length)) {
20133
+ _context7.n = 4;
20134
+ break;
20135
+ }
20136
+ sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
20137
+ isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
20138
+ _context7.n = 3;
20139
+ return call(sendMessage, {
20140
+ type: RESEND_MESSAGE,
20141
+ payload: {
20142
+ message: message,
20143
+ connectionState: connectionState,
20144
+ channelId: channelId,
20145
+ sendAttachmentsAsSeparateMessage: isVoiceMessage ? false : sendAttachmentsAsSeparateMessage
20146
+ }
20147
+ });
20148
+ case 3:
20149
+ _context7.n = 5;
20150
+ break;
20151
+ case 4:
20152
+ _context7.n = 5;
20153
+ return call(sendTextMessage, {
20154
+ type: RESEND_MESSAGE,
20155
+ payload: {
20156
+ message: message,
20157
+ connectionState: connectionState,
20158
+ channelId: channelId
20159
+ }
20160
+ });
20161
+ case 5:
19909
20162
  return _context7.a(2);
19910
20163
  }
19911
20164
  }, _marked4$1);
@@ -20067,8 +20320,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20067
20320
  message: msg,
20068
20321
  connectionState: connectionState,
20069
20322
  channelId: channelId,
20070
- isForward: true,
20071
- isAddToPendingMessagesMap: false
20323
+ isForward: true
20072
20324
  }
20073
20325
  });
20074
20326
  case 4:
@@ -20086,9 +20338,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20086
20338
  message: msg,
20087
20339
  connectionState: connectionState,
20088
20340
  channelId: channelId,
20089
- sendAttachmentsAsSeparateMessage: false,
20090
- isResend: true,
20091
- isAddToPendingMessagesMap: false
20341
+ sendAttachmentsAsSeparateMessage: false
20092
20342
  }
20093
20343
  });
20094
20344
  case 6:
@@ -20101,8 +20351,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20101
20351
  payload: {
20102
20352
  message: msg,
20103
20353
  connectionState: connectionState,
20104
- channelId: channelId,
20105
- isAddToPendingMessagesMap: false
20354
+ channelId: channelId
20106
20355
  }
20107
20356
  });
20108
20357
  case 8:
@@ -20131,26 +20380,13 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20131
20380
  }
20132
20381
  }, _callee4, null, [[3, 9]]);
20133
20382
  });
20134
- var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20135
- var _messages, _Object$values;
20136
- var previousAllMessages, messages, lastMessageId, setMappedAllMessages, allMessagesAfterLastMessage;
20383
+ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages, firstMessageId, lastMessageId) {
20384
+ var messages;
20137
20385
  return _regenerator().w(function (_context1) {
20138
20386
  while (1) switch (_context1.n) {
20139
20387
  case 0:
20140
- previousAllMessages = getAllMessages();
20141
20388
  messages = [].concat(updatedMessages);
20142
- lastMessageId = (_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : _messages.id;
20143
- setMappedAllMessages = {};
20144
- previousAllMessages.forEach(function (msg) {
20145
- if (msg.channelId === channel.id) {
20146
- setMappedAllMessages[msg.id || msg.tid || ''] = msg;
20147
- }
20148
- });
20149
- allMessagesAfterLastMessage = lastMessageId ? (_Object$values = Object.values(setMappedAllMessages || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.filter(function (msg) {
20150
- return msg.id > lastMessageId || !msg.id;
20151
- }) : Object.values(setMappedAllMessages || {});
20152
- messages = [].concat(messages, allMessagesAfterLastMessage || []);
20153
- setMessagesToMap(channel.id, messages);
20389
+ setMessagesToMap(channel.id, messages, firstMessageId, lastMessageId);
20154
20390
  setAllMessages(messages);
20155
20391
  _context1.n = 1;
20156
20392
  return put(setMessagesAC(JSON.parse(JSON.stringify(messages))));
@@ -20159,8 +20395,23 @@ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, up
20159
20395
  }
20160
20396
  }, _callee5);
20161
20397
  });
20398
+ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20399
+ var filteredPendingMessages = [];
20400
+ var activeChannelId = getActiveChannelId();
20401
+ var pendingMessages = JSON.parse(JSON.stringify(getPendingMessages(activeChannelId) || []));
20402
+ if (pendingMessages && pendingMessages.length) {
20403
+ var messagesMap = {};
20404
+ messages.forEach(function (msg) {
20405
+ messagesMap[msg.tid || ''] = msg;
20406
+ });
20407
+ filteredPendingMessages = pendingMessages.filter(function (msg) {
20408
+ return !messagesMap[msg.tid || ''];
20409
+ });
20410
+ }
20411
+ return filteredPendingMessages;
20412
+ };
20162
20413
  function getMessagesQuery(action) {
20163
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, waitToSendPendingMessages, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
20414
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, _result$messages$, _result$messages, _messages$Math$floor, messages, centerMessageId, loadWithMessageId, allMessages, messageIndex, maxLengthPart, _result$messages$2, _result$messages2, secondResult, thirdResult, fourthResult, _fourthResult, _result$messages$3, _result$messages3, _channel$lastMessage4, _channel$lastMessage5, _channel$lastMessage6, _updatedMessages$, _parsedMessages$, _parsedMessages, parsedMessages, _filteredPendingMessages, updatedMessages, messageIdForLoad, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
20164
20415
  return _regenerator().w(function (_context10) {
20165
20416
  while (1) switch (_context10.p = _context10.n) {
20166
20417
  case 0:
@@ -20168,10 +20419,10 @@ function getMessagesQuery(action) {
20168
20419
  _context10.n = 1;
20169
20420
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
20170
20421
  case 1:
20171
- _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage;
20422
+ _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, highlight = _action$payload.highlight, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage, networkChanged = _action$payload.networkChanged;
20172
20423
  connectionState = store.getState().UserReducer.connectionStatus;
20173
- if (!(channel.id && !channel.isMockChannel)) {
20174
- _context10.n = 76;
20424
+ if (!(channel !== null && channel !== void 0 && channel.id && !(channel !== null && channel !== void 0 && channel.isMockChannel))) {
20425
+ _context10.n = 84;
20175
20426
  break;
20176
20427
  }
20177
20428
  SceytChatClient = getClient();
@@ -20201,24 +20452,26 @@ function getMessagesQuery(action) {
20201
20452
  hasNext: false
20202
20453
  };
20203
20454
  if (!loadWithLastMessage) {
20204
- _context10.n = 19;
20455
+ _context10.n = 22;
20205
20456
  break;
20206
20457
  }
20207
- allMessages = getAllMessages();
20208
- havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
20209
- if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
20210
- _context10.n = 14;
20458
+ if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20459
+ _context10.n = 15;
20211
20460
  break;
20212
20461
  }
20213
20462
  setHasPrevCached(false);
20214
- setMessagesToMap(channel.id, []);
20215
20463
  setAllMessages([]);
20464
+ messageQuery.limit = MESSAGES_MAX_LENGTH;
20465
+ if (!Number(channel.lastDisplayedMessageId)) {
20466
+ _context10.n = 8;
20467
+ break;
20468
+ }
20216
20469
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20217
20470
  _context10.n = 6;
20218
20471
  break;
20219
20472
  }
20220
20473
  _context10.n = 5;
20221
- return call(messageQuery.loadPreviousMessageId, '0');
20474
+ return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20222
20475
  case 5:
20223
20476
  _t1 = _context10.v;
20224
20477
  _context10.n = 7;
@@ -20230,381 +20483,368 @@ function getMessagesQuery(action) {
20230
20483
  };
20231
20484
  case 7:
20232
20485
  result = _t1;
20233
- if (!(result.messages.length === 50)) {
20234
- _context10.n = 11;
20235
- break;
20236
- }
20237
- messageQuery.limit = 30;
20486
+ _context10.n = 12;
20487
+ break;
20488
+ case 8:
20238
20489
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20239
- _context10.n = 9;
20490
+ _context10.n = 10;
20240
20491
  break;
20241
20492
  }
20242
- _context10.n = 8;
20243
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20244
- case 8:
20493
+ _context10.n = 9;
20494
+ return call(messageQuery.loadPrevious);
20495
+ case 9:
20245
20496
  _t10 = _context10.v;
20246
- _context10.n = 10;
20497
+ _context10.n = 11;
20247
20498
  break;
20248
- case 9:
20499
+ case 10:
20249
20500
  _t10 = {
20250
20501
  messages: [],
20251
20502
  hasNext: false
20252
20503
  };
20253
- case 10:
20254
- secondResult = _t10;
20255
- result.messages = [].concat(secondResult.messages, result.messages);
20256
- result.hasNext = secondResult.hasNext;
20257
20504
  case 11:
20258
- sentMessages = [];
20259
- if (withDeliveredMessages) {
20260
- sentMessages = getFromAllMessagesByMessageId('', '', true);
20261
- }
20262
- messagesMap = {};
20263
- result.messages.forEach(function (msg) {
20264
- messagesMap[msg.tid || ''] = msg;
20265
- });
20266
- filteredSentMessages = sentMessages.filter(function (msg) {
20267
- return !messagesMap[msg.tid || ''];
20268
- });
20269
- result.messages = [].concat(result.messages, filteredSentMessages).slice(filteredSentMessages.length);
20270
- _context10.n = 12;
20271
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20505
+ result = _t10;
20272
20506
  case 12:
20273
- setMessagesToMap(channel.id, result.messages);
20274
- setAllMessages(result.messages);
20275
20507
  _context10.n = 13;
20276
- return put(setMessagesHasPrevAC(true));
20508
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20277
20509
  case 13:
20278
- _context10.n = 16;
20279
- break;
20510
+ 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);
20511
+ setAllMessages(result.messages);
20512
+ _context10.n = 14;
20513
+ return put(setMessagesHasPrevAC(true));
20280
20514
  case 14:
20281
- result.messages = getFromAllMessagesByMessageId('', '', true);
20282
- _context10.n = 15;
20283
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20515
+ _context10.n = 17;
20516
+ break;
20284
20517
  case 15:
20518
+ result.messages = getFromAllMessagesByMessageId('', '', true);
20285
20519
  _context10.n = 16;
20286
- return put(setMessagesHasPrevAC(true));
20520
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20287
20521
  case 16:
20288
20522
  _context10.n = 17;
20289
- return put(setMessagesHasNextAC(false));
20523
+ return put(setMessagesHasPrevAC(true));
20290
20524
  case 17:
20525
+ _context10.n = 18;
20526
+ return put(setMessagesHasNextAC(false));
20527
+ case 18:
20291
20528
  setHasNextCached(false);
20292
20529
  if (!(messageId && scrollToMessage)) {
20293
- _context10.n = 18;
20530
+ _context10.n = 21;
20294
20531
  break;
20295
20532
  }
20296
- _context10.n = 18;
20297
- return put(setScrollToMessagesAC(messageId, highlight, behavior));
20298
- case 18:
20299
- _context10.n = 72;
20300
- break;
20533
+ if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20534
+ _context10.n = 20;
20535
+ break;
20536
+ }
20537
+ _context10.n = 19;
20538
+ return put(setScrollToMessagesAC(channel.lastDisplayedMessageId, highlight, behavior));
20301
20539
  case 19:
20540
+ _context10.n = 21;
20541
+ break;
20542
+ case 20:
20543
+ _context10.n = 21;
20544
+ return put(scrollToNewMessageAC(true));
20545
+ case 21:
20546
+ _context10.n = 77;
20547
+ break;
20548
+ case 22:
20302
20549
  if (!messageId) {
20303
- _context10.n = 38;
20550
+ _context10.n = 52;
20304
20551
  break;
20305
20552
  }
20306
- _allMessages = getAllMessages();
20307
- messageIndex = _allMessages.findIndex(function (msg) {
20308
- return msg.id === messageId;
20553
+ messages = store.getState().MessageReducer.activeChannelMessages;
20554
+ centerMessageId = (_messages$Math$floor = messages[Math.floor(messages.length / 2)]) === null || _messages$Math$floor === void 0 ? void 0 : _messages$Math$floor.id;
20555
+ loadWithMessageId = networkChanged && (messages === null || messages === void 0 ? void 0 : messages.length) > 0 ? centerMessageId : messageId;
20556
+ allMessages = getAllMessages();
20557
+ messageIndex = allMessages.findIndex(function (msg) {
20558
+ return msg.id === loadWithMessageId;
20309
20559
  });
20310
20560
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
20311
20561
  if (!(messageIndex >= maxLengthPart)) {
20312
- _context10.n = 22;
20562
+ _context10.n = 25;
20313
20563
  break;
20314
20564
  }
20315
- result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20316
- _context10.n = 20;
20565
+ result.messages = allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20566
+ _context10.n = 23;
20317
20567
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20318
- case 20:
20568
+ case 23:
20319
20569
  setHasPrevCached(messageIndex > maxLengthPart);
20320
- setHasNextCached(_allMessages.length > maxLengthPart);
20321
- _context10.n = 21;
20570
+ setHasNextCached(allMessages.length > maxLengthPart);
20571
+ _context10.n = 24;
20322
20572
  return put(setMessagesHasPrevAC(true));
20323
- case 21:
20324
- _context10.n = 34;
20573
+ case 24:
20574
+ _context10.n = 48;
20325
20575
  break;
20326
- case 22:
20576
+ case 25:
20327
20577
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20328
- log.info('load by message id from server ...............', messageId);
20578
+ log.info('load by message id from server ...............', loadWithMessageId);
20329
20579
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20330
- _context10.n = 24;
20580
+ _context10.n = 27;
20331
20581
  break;
20332
20582
  }
20333
- _context10.n = 23;
20334
- return call(messageQuery.loadNearMessageId, messageId);
20335
- case 23:
20583
+ _context10.n = 26;
20584
+ return call(messageQuery.loadNearMessageId, loadWithMessageId);
20585
+ case 26:
20336
20586
  _t11 = _context10.v;
20337
- _context10.n = 25;
20587
+ _context10.n = 28;
20338
20588
  break;
20339
- case 24:
20589
+ case 27:
20340
20590
  _t11 = {
20341
20591
  messages: [],
20342
20592
  hasNext: false
20343
20593
  };
20344
- case 25:
20594
+ case 28:
20345
20595
  result = _t11;
20596
+ _context10.n = 29;
20597
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20598
+ case 29:
20346
20599
  if (!(result.messages.length === 50)) {
20347
- _context10.n = 32;
20600
+ _context10.n = 47;
20348
20601
  break;
20349
20602
  }
20350
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20603
+ messageQuery.limit = (MESSAGES_MAX_PAGE_COUNT - 50) / 2;
20351
20604
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20352
- _context10.n = 27;
20605
+ _context10.n = 31;
20353
20606
  break;
20354
20607
  }
20355
- _context10.n = 26;
20608
+ _context10.n = 30;
20356
20609
  return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20357
- case 26:
20610
+ case 30:
20358
20611
  _t12 = _context10.v;
20359
- _context10.n = 28;
20612
+ _context10.n = 32;
20360
20613
  break;
20361
- case 27:
20614
+ case 31:
20362
20615
  _t12 = {
20363
20616
  messages: [],
20364
20617
  hasNext: false
20365
20618
  };
20366
- case 28:
20367
- _secondResult = _t12;
20619
+ case 32:
20620
+ secondResult = _t12;
20621
+ result.messages = [].concat(secondResult.messages, result.messages);
20622
+ _context10.n = 33;
20623
+ return put(addMessagesAC(JSON.parse(JSON.stringify(secondResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
20624
+ case 33:
20625
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length;
20368
20626
  messageQuery.reverse = false;
20369
20627
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20370
- _context10.n = 30;
20628
+ _context10.n = 35;
20371
20629
  break;
20372
20630
  }
20373
- _context10.n = 29;
20631
+ _context10.n = 34;
20374
20632
  return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20375
- case 29:
20633
+ case 34:
20376
20634
  _t13 = _context10.v;
20377
- _context10.n = 31;
20635
+ _context10.n = 36;
20378
20636
  break;
20379
- case 30:
20637
+ case 35:
20380
20638
  _t13 = {
20381
20639
  messages: [],
20382
20640
  hasNext: false
20383
20641
  };
20384
- case 31:
20385
- thirdResult = _t13;
20386
- result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
20387
- result.hasNext = _secondResult.hasNext;
20388
- messageQuery.reverse = true;
20389
- _context10.n = 32;
20390
- return put(setMessagesHasPrevAC(_secondResult.hasNext));
20391
- case 32:
20392
- _context10.n = 33;
20393
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20394
- case 33:
20395
- setMessagesToMap(channel.id, result.messages);
20396
- setAllMessages([].concat(result.messages));
20397
- setHasPrevCached(false);
20398
- setHasNextCached(false);
20399
- case 34:
20400
- _context10.n = 35;
20401
- return put(setMessagesHasNextAC(true));
20402
- case 35:
20403
- if (!scrollToMessage) {
20404
- _context10.n = 36;
20405
- break;
20406
- }
20407
- _context10.n = 36;
20408
- return put(setScrollToMessagesAC(messageId, true, behavior));
20409
20642
  case 36:
20643
+ thirdResult = _t13;
20644
+ result.messages = [].concat(result.messages, thirdResult.messages);
20410
20645
  _context10.n = 37;
20411
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20646
+ return put(addMessagesAC(JSON.parse(JSON.stringify(thirdResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
20412
20647
  case 37:
20413
- _context10.n = 72;
20414
- break;
20415
- case 38:
20416
- if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20417
- _context10.n = 61;
20418
- break;
20419
- }
20420
- setMessagesToMap(channel.id, []);
20421
- setAllMessages([]);
20422
- messageQuery.limit = MESSAGES_MAX_LENGTH;
20423
- if (!Number(channel.lastDisplayedMessageId)) {
20424
- _context10.n = 50;
20648
+ if (!(secondResult.hasNext && !thirdResult.hasNext)) {
20649
+ _context10.n = 42;
20425
20650
  break;
20426
20651
  }
20652
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
20427
20653
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20428
- _context10.n = 40;
20654
+ _context10.n = 39;
20429
20655
  break;
20430
20656
  }
20431
- _context10.n = 39;
20432
- return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20433
- case 39:
20657
+ _context10.n = 38;
20658
+ return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20659
+ case 38:
20434
20660
  _t14 = _context10.v;
20435
- _context10.n = 41;
20661
+ _context10.n = 40;
20436
20662
  break;
20437
- case 40:
20663
+ case 39:
20438
20664
  _t14 = {
20439
20665
  messages: [],
20440
20666
  hasNext: false
20441
20667
  };
20668
+ case 40:
20669
+ fourthResult = _t14;
20670
+ result.messages = [].concat(fourthResult.messages, result.messages);
20671
+ _context10.n = 41;
20672
+ return put(addMessagesAC(JSON.parse(JSON.stringify(fourthResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
20442
20673
  case 41:
20443
- result = _t14;
20444
- if (!(result.messages.length === 50)) {
20445
- _context10.n = 49;
20674
+ _context10.n = 46;
20675
+ break;
20676
+ case 42:
20677
+ if (!(!secondResult.hasNext && thirdResult.hasNext)) {
20678
+ _context10.n = 46;
20446
20679
  break;
20447
20680
  }
20448
- messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20681
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
20449
20682
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20450
- _context10.n = 43;
20683
+ _context10.n = 44;
20451
20684
  break;
20452
20685
  }
20453
- _context10.n = 42;
20454
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20455
- case 42:
20686
+ _context10.n = 43;
20687
+ return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20688
+ case 43:
20456
20689
  _t15 = _context10.v;
20457
- _context10.n = 44;
20690
+ _context10.n = 45;
20458
20691
  break;
20459
- case 43:
20692
+ case 44:
20460
20693
  _t15 = {
20461
20694
  messages: [],
20462
20695
  hasNext: false
20463
20696
  };
20464
- case 44:
20465
- _secondResult2 = _t15;
20466
- if (!(channel.newMessageCount > 25)) {
20467
- _context10.n = 48;
20697
+ case 45:
20698
+ _fourthResult = _t15;
20699
+ result.messages = [].concat(result.messages, _fourthResult.messages);
20700
+ _context10.n = 46;
20701
+ return put(addMessagesAC(JSON.parse(JSON.stringify(_fourthResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
20702
+ case 46:
20703
+ messageQuery.reverse = true;
20704
+ case 47:
20705
+ 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);
20706
+ setAllMessages([].concat(result.messages));
20707
+ setHasPrevCached(false);
20708
+ setHasNextCached(false);
20709
+ case 48:
20710
+ _context10.n = 49;
20711
+ return put(setMessagesHasNextAC(true));
20712
+ case 49:
20713
+ if (!scrollToMessage) {
20714
+ _context10.n = 50;
20715
+ break;
20716
+ }
20717
+ _context10.n = 50;
20718
+ return put(setScrollToMessagesAC(loadWithMessageId, highlight, behavior));
20719
+ case 50:
20720
+ _context10.n = 51;
20721
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20722
+ case 51:
20723
+ _context10.n = 77;
20724
+ break;
20725
+ case 52:
20726
+ if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20727
+ _context10.n = 64;
20728
+ break;
20729
+ }
20730
+ setAllMessages([]);
20731
+ messageQuery.limit = MESSAGES_MAX_LENGTH;
20732
+ if (!Number(channel.lastDisplayedMessageId)) {
20733
+ _context10.n = 56;
20468
20734
  break;
20469
20735
  }
20470
- messageQuery.reverse = false;
20471
20736
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20472
- _context10.n = 46;
20737
+ _context10.n = 54;
20473
20738
  break;
20474
20739
  }
20475
- _context10.n = 45;
20476
- return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20477
- case 45:
20740
+ _context10.n = 53;
20741
+ return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20742
+ case 53:
20478
20743
  _t16 = _context10.v;
20479
- _context10.n = 47;
20744
+ _context10.n = 55;
20480
20745
  break;
20481
- case 46:
20746
+ case 54:
20482
20747
  _t16 = {
20483
20748
  messages: [],
20484
20749
  hasNext: false
20485
20750
  };
20486
- case 47:
20487
- _thirdResult = _t16;
20488
- result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
20489
- messageQuery.reverse = true;
20490
- _context10.n = 49;
20491
- break;
20492
- case 48:
20493
- result.messages = [].concat(_secondResult2.messages, result.messages);
20494
- case 49:
20495
- _context10.n = 57;
20751
+ case 55:
20752
+ result = _t16;
20753
+ _context10.n = 60;
20496
20754
  break;
20497
- case 50:
20755
+ case 56:
20498
20756
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20499
- _context10.n = 52;
20757
+ _context10.n = 58;
20500
20758
  break;
20501
20759
  }
20502
- _context10.n = 51;
20760
+ _context10.n = 57;
20503
20761
  return call(messageQuery.loadPrevious);
20504
- case 51:
20762
+ case 57:
20505
20763
  _t17 = _context10.v;
20506
- _context10.n = 53;
20764
+ _context10.n = 59;
20507
20765
  break;
20508
- case 52:
20766
+ case 58:
20509
20767
  _t17 = {
20510
20768
  messages: [],
20511
20769
  hasNext: false
20512
20770
  };
20513
- case 53:
20771
+ case 59:
20514
20772
  result = _t17;
20515
- if (!(result.messages.length === 50)) {
20516
- _context10.n = 57;
20517
- break;
20518
- }
20519
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20520
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20521
- _context10.n = 55;
20522
- break;
20523
- }
20524
- _context10.n = 54;
20525
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20526
- case 54:
20527
- _t18 = _context10.v;
20528
- _context10.n = 56;
20529
- break;
20530
- case 55:
20531
- _t18 = {
20532
- messages: [],
20533
- hasNext: false
20534
- };
20535
- case 56:
20536
- _secondResult3 = _t18;
20537
- result.messages = [].concat(_secondResult3.messages, result.messages);
20538
- result.hasNext = _secondResult3.hasNext;
20539
- case 57:
20540
- _context10.n = 58;
20773
+ case 60:
20774
+ _context10.n = 61;
20541
20775
  return put(setMessagesHasPrevAC(true));
20542
- case 58:
20543
- _context10.n = 59;
20776
+ case 61:
20777
+ _context10.n = 62;
20544
20778
  return put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20545
- case 59:
20546
- setMessagesToMap(channel.id, result.messages);
20779
+ case 62:
20780
+ setMessagesToMap(channel.id, result.messages, (_result$messages$3 = result.messages[0]) === null || _result$messages$3 === void 0 ? void 0 : _result$messages$3.id, (_result$messages3 = result.messages[result.messages.length - 1]) === null || _result$messages3 === void 0 ? void 0 : _result$messages3.id);
20547
20781
  setAllMessages([].concat(result.messages));
20548
- _context10.n = 60;
20782
+ _context10.n = 63;
20549
20783
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20550
- case 60:
20551
- _context10.n = 72;
20784
+ case 63:
20785
+ _context10.n = 77;
20552
20786
  break;
20553
- case 61:
20554
- setMessagesToMap(channel.id, []);
20555
- setAllMessages([]);
20787
+ case 64:
20556
20788
  if (!(cachedMessages && cachedMessages.length)) {
20557
- _context10.n = 62;
20789
+ _context10.n = 66;
20558
20790
  break;
20559
20791
  }
20560
- setMessagesToMap(channel.id, []);
20561
- setAllMessages([].concat(cachedMessages));
20562
- _context10.n = 62;
20563
- return put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
20564
- case 62:
20792
+ parsedMessages = getFromAllMessagesByMessageId('', '', true);
20793
+ 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);
20794
+ _context10.n = 65;
20795
+ return put(setMessagesAC(JSON.parse(JSON.stringify(parsedMessages))));
20796
+ case 65:
20797
+ _filteredPendingMessages = getFilteredPendingMessages(parsedMessages);
20798
+ _context10.n = 66;
20799
+ return put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20800
+ case 66:
20565
20801
  log.info('load message from server');
20802
+ result = {
20803
+ messages: [],
20804
+ hasNext: false
20805
+ };
20806
+ 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))) {
20807
+ _context10.n = 70;
20808
+ break;
20809
+ }
20566
20810
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20567
- _context10.n = 64;
20811
+ _context10.n = 68;
20568
20812
  break;
20569
20813
  }
20570
- _context10.n = 63;
20571
- return call(messageQuery.loadPrevious);
20572
- case 63:
20573
- _t19 = _context10.v;
20574
- _context10.n = 65;
20814
+ _context10.n = 67;
20815
+ return call(messageQuery.loadPreviousMessageId, channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId);
20816
+ case 67:
20817
+ _t18 = _context10.v;
20818
+ _context10.n = 69;
20575
20819
  break;
20576
- case 64:
20577
- _t19 = {
20820
+ case 68:
20821
+ _t18 = {
20578
20822
  messages: [],
20579
20823
  hasNext: false
20580
20824
  };
20581
- case 65:
20582
- result = _t19;
20583
- if (!(result.messages.length === 50)) {
20584
- _context10.n = 69;
20585
- break;
20586
- }
20587
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20825
+ case 69:
20826
+ result = _t18;
20827
+ _context10.n = 74;
20828
+ break;
20829
+ case 70:
20588
20830
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20589
- _context10.n = 67;
20831
+ _context10.n = 72;
20590
20832
  break;
20591
20833
  }
20592
- _context10.n = 66;
20593
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20594
- case 66:
20595
- _t20 = _context10.v;
20596
- _context10.n = 68;
20834
+ _context10.n = 71;
20835
+ return call(messageQuery.loadPrevious);
20836
+ case 71:
20837
+ _t19 = _context10.v;
20838
+ _context10.n = 73;
20597
20839
  break;
20598
- case 67:
20599
- _t20 = {
20840
+ case 72:
20841
+ _t19 = {
20600
20842
  messages: [],
20601
20843
  hasNext: false
20602
20844
  };
20603
- case 68:
20604
- _secondResult4 = _t20;
20605
- result.messages = [].concat(_secondResult4.messages, result.messages);
20606
- result.hasNext = _secondResult4.hasNext;
20607
- case 69:
20845
+ case 73:
20846
+ result = _t19;
20847
+ case 74:
20608
20848
  updatedMessages = [];
20609
20849
  result.messages.forEach(function (msg) {
20610
20850
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20614,70 +20854,73 @@ function getMessagesQuery(action) {
20614
20854
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20615
20855
  updatedMessages.push(updatedMessage || msg);
20616
20856
  });
20617
- _context10.n = 70;
20618
- return call(updateMessages, channel, updatedMessages);
20619
- case 70:
20620
- _context10.n = 71;
20857
+ 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';
20858
+ _context10.n = 75;
20859
+ return call(updateMessages, channel, updatedMessages, (_updatedMessages$ = updatedMessages[0]) === null || _updatedMessages$ === void 0 ? void 0 : _updatedMessages$.id, messageIdForLoad);
20860
+ case 75:
20861
+ _context10.n = 76;
20621
20862
  return put(setMessagesHasPrevAC(true));
20622
- case 71:
20623
- _context10.n = 72;
20863
+ case 76:
20864
+ _context10.n = 77;
20624
20865
  return put(setMessagesHasNextAC(false));
20625
- case 72:
20626
- pendingMessages = getPendingMessages(channel.id);
20627
- if (!(pendingMessages && pendingMessages.length)) {
20628
- _context10.n = 73;
20629
- break;
20630
- }
20631
- _messagesMap = {};
20632
- result.messages.forEach(function (msg) {
20633
- _messagesMap[msg.tid || ''] = msg;
20634
- });
20635
- filteredPendingMessages = pendingMessages.filter(function (msg) {
20636
- return !_messagesMap[msg.tid || ''];
20637
- });
20638
- _context10.n = 73;
20866
+ case 77:
20867
+ filteredPendingMessages = getFilteredPendingMessages(result.messages);
20868
+ _context10.n = 78;
20639
20869
  return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20640
- case 73:
20870
+ case 78:
20641
20871
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20642
20872
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20643
- _context10.n = 75;
20873
+ _context10.n = 80;
20644
20874
  break;
20645
20875
  }
20646
- _context10.n = 74;
20876
+ _context10.n = 79;
20647
20877
  return put(setWaitToSendPendingMessagesAC(false));
20648
- case 74:
20649
- _context10.n = 75;
20878
+ case 79:
20879
+ _context10.n = 80;
20650
20880
  return spawn(sendPendingMessages, connectionState);
20651
- case 75:
20652
- _context10.n = 77;
20881
+ case 80:
20882
+ _context10.n = 81;
20883
+ return call(SceytChatClient.getChannel, channel.id, true);
20884
+ case 81:
20885
+ updatedChannel = _context10.v;
20886
+ if (!updatedChannel) {
20887
+ _context10.n = 83;
20888
+ break;
20889
+ }
20890
+ _context10.n = 82;
20891
+ return put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
20892
+ case 82:
20893
+ updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
20894
+ case 83:
20895
+ _context10.n = 85;
20653
20896
  break;
20654
- case 76:
20655
- if (!channel.isMockChannel) {
20656
- _context10.n = 77;
20897
+ case 84:
20898
+ if (!(channel !== null && channel !== void 0 && channel.isMockChannel)) {
20899
+ _context10.n = 85;
20657
20900
  break;
20658
20901
  }
20659
- _context10.n = 77;
20902
+ _context10.n = 85;
20660
20903
  return put(setMessagesAC([]));
20661
- case 77:
20662
- _context10.n = 79;
20904
+ case 85:
20905
+ _context10.n = 87;
20663
20906
  break;
20664
- case 78:
20665
- _context10.p = 78;
20666
- _t21 = _context10.v;
20667
- log.error('error in message query', _t21);
20668
- case 79:
20669
- _context10.p = 79;
20670
- _context10.n = 80;
20907
+ case 86:
20908
+ _context10.p = 86;
20909
+ _t20 = _context10.v;
20910
+ log.error('error in message query', _t20);
20911
+ case 87:
20912
+ _context10.p = 87;
20913
+ _context10.n = 88;
20671
20914
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20672
- case 80:
20673
- return _context10.f(79);
20674
- case 81:
20915
+ case 88:
20916
+ return _context10.f(87);
20917
+ case 89:
20675
20918
  return _context10.a(2);
20676
20919
  }
20677
- }, _marked7$1, null, [[0, 78, 79, 81]]);
20920
+ }, _marked7$1, null, [[0, 86, 87, 89]]);
20678
20921
  }
20679
20922
  function getMessageQuery(action) {
20680
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t22;
20923
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t21;
20681
20924
  return _regenerator().w(function (_context11) {
20682
20925
  while (1) switch (_context11.p = _context11.n) {
20683
20926
  case 0:
@@ -20727,15 +20970,15 @@ function getMessageQuery(action) {
20727
20970
  break;
20728
20971
  case 7:
20729
20972
  _context11.p = 7;
20730
- _t22 = _context11.v;
20731
- log.error('error in message query', _t22);
20973
+ _t21 = _context11.v;
20974
+ log.error('error in message query', _t21);
20732
20975
  case 8:
20733
20976
  return _context11.a(2);
20734
20977
  }
20735
20978
  }, _marked8$1, null, [[0, 7]]);
20736
20979
  }
20737
20980
  function loadMoreMessages(action) {
20738
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t23;
20981
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _result$messages$4, _result$messages4, _result$messages$5, _result$messages5, _t22;
20739
20982
  return _regenerator().w(function (_context12) {
20740
20983
  while (1) switch (_context12.p = _context12.n) {
20741
20984
  case 0:
@@ -20779,7 +21022,7 @@ function loadMoreMessages(action) {
20779
21022
  result = _context12.v;
20780
21023
  if (result.messages.length) {
20781
21024
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.PREV);
20782
- setMessagesToMap(channelId, result.messages);
21025
+ setMessagesToMap(channelId, result.messages, (_result$messages$4 = result.messages[0]) === null || _result$messages$4 === void 0 ? void 0 : _result$messages$4.id, (_result$messages4 = result.messages[result.messages.length - 1]) === null || _result$messages4 === void 0 ? void 0 : _result$messages4.id);
20783
21026
  }
20784
21027
  _context12.n = 5;
20785
21028
  return put(setMessagesHasPrevAC(result.hasNext));
@@ -20807,7 +21050,7 @@ function loadMoreMessages(action) {
20807
21050
  result = _context12.v;
20808
21051
  if (result.messages.length) {
20809
21052
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.NEXT);
20810
- setMessagesToMap(channelId, result.messages);
21053
+ setMessagesToMap(channelId, result.messages, (_result$messages$5 = result.messages[0]) === null || _result$messages$5 === void 0 ? void 0 : _result$messages$5.id, (_result$messages5 = result.messages[result.messages.length - 1]) === null || _result$messages5 === void 0 ? void 0 : _result$messages5.id);
20811
21054
  }
20812
21055
  _context12.n = 9;
20813
21056
  return put(setMessagesHasNextAC(result.hasNext));
@@ -20848,15 +21091,15 @@ function loadMoreMessages(action) {
20848
21091
  break;
20849
21092
  case 18:
20850
21093
  _context12.p = 18;
20851
- _t23 = _context12.v;
20852
- log.error('error in load more messages', _t23);
21094
+ _t22 = _context12.v;
21095
+ log.error('error in load more messages', _t22);
20853
21096
  case 19:
20854
21097
  return _context12.a(2);
20855
21098
  }
20856
21099
  }, _marked9$1, null, [[0, 18]]);
20857
21100
  }
20858
21101
  function addReaction(action) {
20859
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t24;
21102
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t23;
20860
21103
  return _regenerator().w(function (_context13) {
20861
21104
  while (1) switch (_context13.p = _context13.n) {
20862
21105
  case 0:
@@ -20909,15 +21152,15 @@ function addReaction(action) {
20909
21152
  break;
20910
21153
  case 8:
20911
21154
  _context13.p = 8;
20912
- _t24 = _context13.v;
20913
- log.error('ERROR in add reaction', _t24.message);
21155
+ _t23 = _context13.v;
21156
+ log.error('ERROR in add reaction', _t23.message);
20914
21157
  case 9:
20915
21158
  return _context13.a(2);
20916
21159
  }
20917
21160
  }, _marked0$1, null, [[0, 8]]);
20918
21161
  }
20919
21162
  function deleteReaction(action) {
20920
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t25;
21163
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t24;
20921
21164
  return _regenerator().w(function (_context14) {
20922
21165
  while (1) switch (_context14.p = _context14.n) {
20923
21166
  case 0:
@@ -20965,15 +21208,15 @@ function deleteReaction(action) {
20965
21208
  break;
20966
21209
  case 7:
20967
21210
  _context14.p = 7;
20968
- _t25 = _context14.v;
20969
- log.error('ERROR in delete reaction', _t25.message);
21211
+ _t24 = _context14.v;
21212
+ log.error('ERROR in delete reaction', _t24.message);
20970
21213
  case 8:
20971
21214
  return _context14.a(2);
20972
21215
  }
20973
21216
  }, _marked1$1, null, [[0, 7]]);
20974
21217
  }
20975
21218
  function getReactions(action) {
20976
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t26;
21219
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t25;
20977
21220
  return _regenerator().w(function (_context15) {
20978
21221
  while (1) switch (_context15.p = _context15.n) {
20979
21222
  case 0:
@@ -21008,15 +21251,15 @@ function getReactions(action) {
21008
21251
  break;
21009
21252
  case 6:
21010
21253
  _context15.p = 6;
21011
- _t26 = _context15.v;
21012
- log.error('ERROR in get reactions', _t26.message);
21254
+ _t25 = _context15.v;
21255
+ log.error('ERROR in get reactions', _t25.message);
21013
21256
  case 7:
21014
21257
  return _context15.a(2);
21015
21258
  }
21016
21259
  }, _marked10$1, null, [[0, 6]]);
21017
21260
  }
21018
21261
  function loadMoreReactions(action) {
21019
- var payload, limit, ReactionQuery, result, _t27;
21262
+ var payload, limit, ReactionQuery, result, _t26;
21020
21263
  return _regenerator().w(function (_context16) {
21021
21264
  while (1) switch (_context16.p = _context16.n) {
21022
21265
  case 0:
@@ -21044,15 +21287,15 @@ function loadMoreReactions(action) {
21044
21287
  break;
21045
21288
  case 5:
21046
21289
  _context16.p = 5;
21047
- _t27 = _context16.v;
21048
- log.error('ERROR in load more reactions', _t27.message);
21290
+ _t26 = _context16.v;
21291
+ log.error('ERROR in load more reactions', _t26.message);
21049
21292
  case 6:
21050
21293
  return _context16.a(2);
21051
21294
  }
21052
21295
  }, _marked11$1, null, [[0, 5]]);
21053
21296
  }
21054
21297
  function getMessageAttachments(action) {
21055
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t28;
21298
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t27;
21056
21299
  return _regenerator().w(function (_context17) {
21057
21300
  while (1) switch (_context17.p = _context17.n) {
21058
21301
  case 0:
@@ -21130,15 +21373,15 @@ function getMessageAttachments(action) {
21130
21373
  break;
21131
21374
  case 13:
21132
21375
  _context17.p = 13;
21133
- _t28 = _context17.v;
21134
- log.error('error in message attachment query', _t28);
21376
+ _t27 = _context17.v;
21377
+ log.error('error in message attachment query', _t27);
21135
21378
  case 14:
21136
21379
  return _context17.a(2);
21137
21380
  }
21138
21381
  }, _marked12$1, null, [[0, 13]]);
21139
21382
  }
21140
21383
  function loadMoreMessageAttachments(action) {
21141
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t29;
21384
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t28;
21142
21385
  return _regenerator().w(function (_context18) {
21143
21386
  while (1) switch (_context18.p = _context18.n) {
21144
21387
  case 0:
@@ -21182,15 +21425,15 @@ function loadMoreMessageAttachments(action) {
21182
21425
  break;
21183
21426
  case 8:
21184
21427
  _context18.p = 8;
21185
- _t29 = _context18.v;
21186
- log.error('error in message attachment query', _t29);
21428
+ _t28 = _context18.v;
21429
+ log.error('error in message attachment query', _t28);
21187
21430
  case 9:
21188
21431
  return _context18.a(2);
21189
21432
  }
21190
21433
  }, _marked13$1, null, [[0, 8]]);
21191
21434
  }
21192
21435
  function pauseAttachmentUploading(action) {
21193
- var attachmentId, isPaused, _t30;
21436
+ var attachmentId, isPaused, _t29;
21194
21437
  return _regenerator().w(function (_context19) {
21195
21438
  while (1) switch (_context19.p = _context19.n) {
21196
21439
  case 0:
@@ -21212,15 +21455,15 @@ function pauseAttachmentUploading(action) {
21212
21455
  break;
21213
21456
  case 2:
21214
21457
  _context19.p = 2;
21215
- _t30 = _context19.v;
21216
- log.error('error in pause attachment uploading', _t30);
21458
+ _t29 = _context19.v;
21459
+ log.error('error in pause attachment uploading', _t29);
21217
21460
  case 3:
21218
21461
  return _context19.a(2);
21219
21462
  }
21220
21463
  }, _marked14$1, null, [[0, 2]]);
21221
21464
  }
21222
21465
  function resumeAttachmentUploading(action) {
21223
- var attachmentId, isResumed, _t31;
21466
+ var attachmentId, isResumed, _t30;
21224
21467
  return _regenerator().w(function (_context20) {
21225
21468
  while (1) switch (_context20.p = _context20.n) {
21226
21469
  case 0:
@@ -21243,15 +21486,15 @@ function resumeAttachmentUploading(action) {
21243
21486
  break;
21244
21487
  case 2:
21245
21488
  _context20.p = 2;
21246
- _t31 = _context20.v;
21247
- log.error('error in resume attachment uploading', _t31);
21489
+ _t30 = _context20.v;
21490
+ log.error('error in resume attachment uploading', _t30);
21248
21491
  case 3:
21249
21492
  return _context20.a(2);
21250
21493
  }
21251
21494
  }, _marked15$1, null, [[0, 2]]);
21252
21495
  }
21253
21496
  function getMessageMarkers(action) {
21254
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t32;
21497
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t31;
21255
21498
  return _regenerator().w(function (_context21) {
21256
21499
  while (1) switch (_context21.p = _context21.n) {
21257
21500
  case 0:
@@ -21281,8 +21524,8 @@ function getMessageMarkers(action) {
21281
21524
  break;
21282
21525
  case 5:
21283
21526
  _context21.p = 5;
21284
- _t32 = _context21.v;
21285
- log.error('error in get message markers', _t32);
21527
+ _t31 = _context21.v;
21528
+ log.error('error in get message markers', _t31);
21286
21529
  case 6:
21287
21530
  _context21.p = 6;
21288
21531
  _context21.n = 7;
@@ -21294,9 +21537,9 @@ function getMessageMarkers(action) {
21294
21537
  }
21295
21538
  }, _marked16$1, null, [[0, 5, 6, 8]]);
21296
21539
  }
21297
- function executeAddPollVote(channelId, pollId, optionId, message, isResend) {
21540
+ function executeAddPollVote(channelId, pollId, optionId, message) {
21298
21541
  var _user$presence, _message$pollDetails, _message$pollDetails2, _message$pollDetails3, _message$pollDetails4;
21299
- var channel, user, vote, objs, _message$pollDetails5, _message$pollDetails6, _message$pollDetails7, _iterator2, _step2, obj;
21542
+ var channel, user, vote, objs, _message$pollDetails5, _message$pollDetails6, _message$pollDetails7;
21300
21543
  return _regenerator().w(function (_context22) {
21301
21544
  while (1) switch (_context22.n) {
21302
21545
  case 0:
@@ -21345,38 +21588,16 @@ function executeAddPollVote(channelId, pollId, optionId, message, isResend) {
21345
21588
  vote: vote,
21346
21589
  incrementVotesPerOptionCount: 1
21347
21590
  });
21348
- if (isResend) {
21349
- _context22.n = 5;
21350
- break;
21351
- }
21352
- _iterator2 = _createForOfIteratorHelperLoose(objs);
21353
- case 3:
21354
- if ((_step2 = _iterator2()).done) {
21355
- _context22.n = 5;
21591
+ if (!(channel && message.id)) {
21592
+ _context22.n = 4;
21356
21593
  break;
21357
21594
  }
21358
- obj = _step2.value;
21359
- updateMessageOnMap(channel.id, {
21360
- messageId: message.id,
21361
- params: {}
21362
- }, obj);
21363
- updateMessageOnAllMessages(message.id, {}, obj);
21364
- _context22.n = 4;
21365
- return put(updateMessageAC(message.id, {}, undefined, obj));
21366
- case 4:
21367
21595
  _context22.n = 3;
21368
- break;
21369
- case 5:
21370
- if (!channel) {
21371
- _context22.n = 7;
21372
- break;
21373
- }
21374
- _context22.n = 6;
21375
21596
  return call(channel.addVote, message.id, pollId, [optionId]);
21376
- case 6:
21377
- _context22.n = 7;
21597
+ case 3:
21598
+ _context22.n = 4;
21378
21599
  return put(removePendingPollActionAC(message.id, 'ADD_POLL_VOTE', optionId));
21379
- case 7:
21600
+ case 4:
21380
21601
  return _context22.a(2);
21381
21602
  }
21382
21603
  }, _marked17$1);
@@ -21420,7 +21641,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21420
21641
  }, _marked18$1);
21421
21642
  }
21422
21643
  function addPollVote(action) {
21423
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values2, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t33;
21644
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t32;
21424
21645
  return _regenerator().w(function (_context24) {
21425
21646
  while (1) switch (_context24.p = _context24.n) {
21426
21647
  case 0:
@@ -21429,10 +21650,9 @@ function addPollVote(action) {
21429
21650
  channelId = payload.channelId, pollId = payload.pollId, optionId = payload.optionId, message = payload.message, isResend = payload.isResend;
21430
21651
  sceytChatClient = getClient();
21431
21652
  if (!sceytChatClient) {
21432
- _context24.n = 7;
21653
+ _context24.n = 6;
21433
21654
  break;
21434
21655
  }
21435
- connectionState = sceytChatClient.connectionState;
21436
21656
  user = sceytChatClient.user;
21437
21657
  vote = {
21438
21658
  optionId: optionId,
@@ -21455,10 +21675,6 @@ function addPollVote(action) {
21455
21675
  createdAt: new Date().getTime()
21456
21676
  }
21457
21677
  };
21458
- if (!(connectionState !== CONNECTION_STATUS.CONNECTED)) {
21459
- _context24.n = 6;
21460
- break;
21461
- }
21462
21678
  pendingAction = {
21463
21679
  type: 'ADD_POLL_VOTE',
21464
21680
  channelId: channelId,
@@ -21479,7 +21695,7 @@ function addPollVote(action) {
21479
21695
  _context24.n = 3;
21480
21696
  break;
21481
21697
  }
21482
- currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21698
+ currentMessage = ((_Object$values = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.find(function (msg) {
21483
21699
  return msg.id === message.id || msg.tid === message.id;
21484
21700
  })) || message;
21485
21701
  hasNext = ((_store$getState$Messa = store.getState().MessageReducer.pollVotesHasMore) === null || _store$getState$Messa === void 0 ? void 0 : _store$getState$Messa[pollId]) || false;
@@ -21508,27 +21724,25 @@ function addPollVote(action) {
21508
21724
  }
21509
21725
  return _context24.d(_regeneratorValues(updateMessageOptimisticallyForAddPollVote(channelId, message, vote)), 5);
21510
21726
  case 5:
21511
- if (!conflictCheck.shouldSkip) {
21727
+ if (!conflictCheck.shouldSkip && !isResend) {
21512
21728
  setPendingPollAction(pendingAction);
21513
21729
  }
21514
- return _context24.a(2);
21730
+ return _context24.d(_regeneratorValues(executeAddPollVote(channelId, pollId, optionId, message)), 6);
21515
21731
  case 6:
21516
- return _context24.d(_regeneratorValues(executeAddPollVote(channelId, pollId, optionId, message, isResend)), 7);
21517
- case 7:
21518
- _context24.n = 9;
21732
+ _context24.n = 8;
21519
21733
  break;
21734
+ case 7:
21735
+ _context24.p = 7;
21736
+ _t32 = _context24.v;
21737
+ log.error('error in add poll vote', _t32);
21520
21738
  case 8:
21521
- _context24.p = 8;
21522
- _t33 = _context24.v;
21523
- log.error('error in add poll vote', _t33);
21524
- case 9:
21525
21739
  return _context24.a(2);
21526
21740
  }
21527
- }, _marked19$1, null, [[0, 8]]);
21741
+ }, _marked19$1, null, [[0, 7]]);
21528
21742
  }
21529
- function executeDeletePollVote(channelId, pollId, optionId, message, isResend) {
21743
+ function executeDeletePollVote(channelId, pollId, optionId, message) {
21530
21744
  var _message$pollDetails8, _message$pollDetails9, _message$pollDetails0;
21531
- var channel, vote, obj;
21745
+ var channel, vote;
21532
21746
  return _regenerator().w(function (_context25) {
21533
21747
  while (1) switch (_context25.n) {
21534
21748
  case 0:
@@ -21551,33 +21765,16 @@ function executeDeletePollVote(channelId, pollId, optionId, message, isResend) {
21551
21765
  }
21552
21766
  return _context25.a(2);
21553
21767
  case 3:
21554
- obj = {
21555
- type: 'deleteOwn',
21556
- vote: vote,
21557
- incrementVotesPerOptionCount: -1
21558
- };
21559
- if (isResend) {
21560
- _context25.n = 4;
21768
+ if (!(channel && message.id)) {
21769
+ _context25.n = 5;
21561
21770
  break;
21562
21771
  }
21563
- updateMessageOnMap(channel.id, {
21564
- messageId: message.id,
21565
- params: {}
21566
- }, obj);
21567
- updateMessageOnAllMessages(message.id, {}, obj);
21568
21772
  _context25.n = 4;
21569
- return put(updateMessageAC(message.id, {}, undefined, obj));
21773
+ return call(channel.deleteVote, message.id, pollId, [optionId]);
21570
21774
  case 4:
21571
- if (!channel) {
21572
- _context25.n = 6;
21573
- break;
21574
- }
21575
21775
  _context25.n = 5;
21576
- return call(channel.deleteVote, message.id, pollId, [optionId]);
21577
- case 5:
21578
- _context25.n = 6;
21579
21776
  return put(removePendingPollActionAC(message.id, 'DELETE_POLL_VOTE', optionId));
21580
- case 6:
21777
+ case 5:
21581
21778
  return _context25.a(2);
21582
21779
  }
21583
21780
  }, _marked20$1);
@@ -21621,7 +21818,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21621
21818
  }, _marked21$1);
21622
21819
  }
21623
21820
  function deletePollVote(action) {
21624
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values3, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t34;
21821
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t33;
21625
21822
  return _regenerator().w(function (_context27) {
21626
21823
  while (1) switch (_context27.p = _context27.n) {
21627
21824
  case 0:
@@ -21630,10 +21827,9 @@ function deletePollVote(action) {
21630
21827
  channelId = payload.channelId, pollId = payload.pollId, optionId = payload.optionId, message = payload.message, isResend = payload.isResend;
21631
21828
  sceytChatClient = getClient();
21632
21829
  if (!sceytChatClient) {
21633
- _context27.n = 8;
21830
+ _context27.n = 7;
21634
21831
  break;
21635
21832
  }
21636
- connectionState = sceytChatClient.connectionState;
21637
21833
  vote = (_message$pollDetails1 = message.pollDetails) === null || _message$pollDetails1 === void 0 ? void 0 : (_message$pollDetails10 = _message$pollDetails1.voteDetails) === null || _message$pollDetails10 === void 0 ? void 0 : (_message$pollDetails11 = _message$pollDetails10.ownVotes) === null || _message$pollDetails11 === void 0 ? void 0 : _message$pollDetails11.find(function (vote) {
21638
21834
  return vote.optionId === optionId;
21639
21835
  });
@@ -21643,10 +21839,6 @@ function deletePollVote(action) {
21643
21839
  }
21644
21840
  return _context27.a(2);
21645
21841
  case 1:
21646
- if (!(connectionState !== CONNECTION_STATUS.CONNECTED)) {
21647
- _context27.n = 7;
21648
- break;
21649
- }
21650
21842
  pendingAction = {
21651
21843
  type: 'DELETE_POLL_VOTE',
21652
21844
  channelId: channelId,
@@ -21667,7 +21859,7 @@ function deletePollVote(action) {
21667
21859
  _context27.n = 4;
21668
21860
  break;
21669
21861
  }
21670
- currentMessage = ((_Object$values3 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values3 === void 0 ? void 0 : _Object$values3.find(function (msg) {
21862
+ currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21671
21863
  return msg.id === message.id || msg.tid === message.id;
21672
21864
  })) || message;
21673
21865
  _context27.n = 3;
@@ -21695,23 +21887,21 @@ function deletePollVote(action) {
21695
21887
  }
21696
21888
  return _context27.d(_regeneratorValues(updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)), 6);
21697
21889
  case 6:
21698
- if (!conflictCheck.shouldSkip) {
21890
+ if (!conflictCheck.shouldSkip && !isResend) {
21699
21891
  setPendingPollAction(pendingAction);
21700
21892
  }
21701
- return _context27.a(2);
21893
+ return _context27.d(_regeneratorValues(executeDeletePollVote(channelId, pollId, optionId, message)), 7);
21702
21894
  case 7:
21703
- return _context27.d(_regeneratorValues(executeDeletePollVote(channelId, pollId, optionId, message, isResend)), 8);
21704
- case 8:
21705
- _context27.n = 10;
21895
+ _context27.n = 9;
21706
21896
  break;
21897
+ case 8:
21898
+ _context27.p = 8;
21899
+ _t33 = _context27.v;
21900
+ log.error('error in delete poll vote', _t33);
21707
21901
  case 9:
21708
- _context27.p = 9;
21709
- _t34 = _context27.v;
21710
- log.error('error in delete poll vote', _t34);
21711
- case 10:
21712
21902
  return _context27.a(2);
21713
21903
  }
21714
- }, _marked22$1, null, [[0, 9]]);
21904
+ }, _marked22$1, null, [[0, 8]]);
21715
21905
  }
21716
21906
  function executeClosePoll(channelId, pollId, message) {
21717
21907
  var channel, obj;
@@ -21734,7 +21924,7 @@ function executeClosePoll(channelId, pollId, message) {
21734
21924
  _context28.n = 2;
21735
21925
  return put(updateMessageAC(message.id, {}, undefined, obj));
21736
21926
  case 2:
21737
- if (!channel) {
21927
+ if (!(channel && message.id)) {
21738
21928
  _context28.n = 4;
21739
21929
  break;
21740
21930
  }
@@ -21785,7 +21975,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
21785
21975
  }, _marked24$1);
21786
21976
  }
21787
21977
  function closePoll(action) {
21788
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t35;
21978
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t34;
21789
21979
  return _regenerator().w(function (_context30) {
21790
21980
  while (1) switch (_context30.p = _context30.n) {
21791
21981
  case 0:
@@ -21818,15 +22008,15 @@ function closePoll(action) {
21818
22008
  break;
21819
22009
  case 4:
21820
22010
  _context30.p = 4;
21821
- _t35 = _context30.v;
21822
- log.error('error in close poll', _t35);
22011
+ _t34 = _context30.v;
22012
+ log.error('error in close poll', _t34);
21823
22013
  case 5:
21824
22014
  return _context30.a(2);
21825
22015
  }
21826
22016
  }, _marked25$1, null, [[0, 4]]);
21827
22017
  }
21828
22018
  function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21829
- var channel, _iterator3, _step3, obj;
22019
+ var channel, _iterator2, _step2, obj;
21830
22020
  return _regenerator().w(function (_context31) {
21831
22021
  while (1) switch (_context31.n) {
21832
22022
  case 0:
@@ -21838,13 +22028,13 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21838
22028
  _context31.n = 4;
21839
22029
  break;
21840
22030
  }
21841
- _iterator3 = _createForOfIteratorHelperLoose(objs);
22031
+ _iterator2 = _createForOfIteratorHelperLoose(objs);
21842
22032
  case 2:
21843
- if ((_step3 = _iterator3()).done) {
22033
+ if ((_step2 = _iterator2()).done) {
21844
22034
  _context31.n = 4;
21845
22035
  break;
21846
22036
  }
21847
- obj = _step3.value;
22037
+ obj = _step2.value;
21848
22038
  updateMessageOnMap(channelId, {
21849
22039
  messageId: message.id,
21850
22040
  params: {}
@@ -21856,7 +22046,7 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21856
22046
  _context31.n = 2;
21857
22047
  break;
21858
22048
  case 4:
21859
- if (!channel) {
22049
+ if (!(channel && message.id)) {
21860
22050
  _context31.n = 6;
21861
22051
  break;
21862
22052
  }
@@ -21871,7 +22061,7 @@ function executeRetractPollVote(channelId, pollId, message, objs, isResend) {
21871
22061
  }, _marked26$1);
21872
22062
  }
21873
22063
  function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs) {
21874
- var channel, _iterator4, _step4, obj;
22064
+ var channel, _iterator3, _step3, obj;
21875
22065
  return _regenerator().w(function (_context32) {
21876
22066
  while (1) switch (_context32.n) {
21877
22067
  case 0:
@@ -21885,13 +22075,13 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21885
22075
  }
21886
22076
  return _context32.a(2);
21887
22077
  case 2:
21888
- _iterator4 = _createForOfIteratorHelperLoose(objs);
22078
+ _iterator3 = _createForOfIteratorHelperLoose(objs);
21889
22079
  case 3:
21890
- if ((_step4 = _iterator4()).done) {
22080
+ if ((_step3 = _iterator3()).done) {
21891
22081
  _context32.n = 5;
21892
22082
  break;
21893
22083
  }
21894
- obj = _step4.value;
22084
+ obj = _step3.value;
21895
22085
  updateMessageOnMap(channelId, {
21896
22086
  messageId: message.id,
21897
22087
  params: {}
@@ -21908,7 +22098,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21908
22098
  }, _marked27$1);
21909
22099
  }
21910
22100
  function retractPollVote(action) {
21911
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t36;
22101
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator4, _step4, _message$pollDetails12, _message$pollDetails13, vote, _t35;
21912
22102
  return _regenerator().w(function (_context33) {
21913
22103
  while (1) switch (_context33.p = _context33.n) {
21914
22104
  case 0:
@@ -21922,8 +22112,8 @@ function retractPollVote(action) {
21922
22112
  }
21923
22113
  connectionState = sceytChatClient.connectionState;
21924
22114
  objs = [];
21925
- for (_iterator5 = _createForOfIteratorHelperLoose(((_message$pollDetails12 = message.pollDetails) === null || _message$pollDetails12 === void 0 ? void 0 : (_message$pollDetails13 = _message$pollDetails12.voteDetails) === null || _message$pollDetails13 === void 0 ? void 0 : _message$pollDetails13.ownVotes) || []); !(_step5 = _iterator5()).done;) {
21926
- vote = _step5.value;
22115
+ 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;) {
22116
+ vote = _step4.value;
21927
22117
  objs.push({
21928
22118
  type: 'deleteOwn',
21929
22119
  vote: vote,
@@ -21950,15 +22140,15 @@ function retractPollVote(action) {
21950
22140
  break;
21951
22141
  case 4:
21952
22142
  _context33.p = 4;
21953
- _t36 = _context33.v;
21954
- log.error('error in retract poll vote', _t36);
22143
+ _t35 = _context33.v;
22144
+ log.error('error in retract poll vote', _t35);
21955
22145
  case 5:
21956
22146
  return _context33.a(2);
21957
22147
  }
21958
22148
  }, _marked28$1, null, [[0, 4]]);
21959
22149
  }
21960
22150
  function resendPendingPollActions(action) {
21961
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t37;
22151
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t36;
21962
22152
  return _regenerator().w(function (_context34) {
21963
22153
  while (1) switch (_context34.p = _context34.n) {
21964
22154
  case 0:
@@ -21974,13 +22164,6 @@ function resendPendingPollActions(action) {
21974
22164
  case 1:
21975
22165
  pendingPollActionsMap = store.getState().MessageReducer.pendingPollActions;
21976
22166
  pendingPollActionsMapCopy = JSON.parse(JSON.stringify(pendingPollActionsMap));
21977
- _context34.n = 2;
21978
- return call(function () {
21979
- return new Promise(function (resolve) {
21980
- return setTimeout(resolve, 1000);
21981
- });
21982
- });
21983
- case 2:
21984
22167
  Object.keys(pendingPollActionsMapCopy).forEach(function (messageId) {
21985
22168
  pendingPollActionsMapCopy[messageId].forEach(function (pendingAction) {
21986
22169
  var type = pendingAction.type,
@@ -22010,19 +22193,19 @@ function resendPendingPollActions(action) {
22010
22193
  }
22011
22194
  });
22012
22195
  });
22013
- _context34.n = 4;
22196
+ _context34.n = 3;
22014
22197
  break;
22198
+ case 2:
22199
+ _context34.p = 2;
22200
+ _t36 = _context34.v;
22201
+ log.error('error in resend pending poll actions', _t36);
22015
22202
  case 3:
22016
- _context34.p = 3;
22017
- _t37 = _context34.v;
22018
- log.error('error in resend pending poll actions', _t37);
22019
- case 4:
22020
22203
  return _context34.a(2);
22021
22204
  }
22022
- }, _marked29$1, null, [[0, 3]]);
22205
+ }, _marked29$1, null, [[0, 2]]);
22023
22206
  }
22024
22207
  function getPollVotes(action) {
22025
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t38;
22208
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t37;
22026
22209
  return _regenerator().w(function (_context35) {
22027
22210
  while (1) switch (_context35.p = _context35.n) {
22028
22211
  case 0:
@@ -22088,8 +22271,8 @@ function getPollVotes(action) {
22088
22271
  break;
22089
22272
  case 7:
22090
22273
  _context35.p = 7;
22091
- _t38 = _context35.v;
22092
- log.error('ERROR in get poll votes', _t38);
22274
+ _t37 = _context35.v;
22275
+ log.error('ERROR in get poll votes', _t37);
22093
22276
  _context35.n = 8;
22094
22277
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22095
22278
  case 8:
@@ -22098,7 +22281,7 @@ function getPollVotes(action) {
22098
22281
  }, _marked30$1, null, [[0, 7]]);
22099
22282
  }
22100
22283
  function loadMorePollVotes(action) {
22101
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t39;
22284
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t38;
22102
22285
  return _regenerator().w(function (_context36) {
22103
22286
  while (1) switch (_context36.p = _context36.n) {
22104
22287
  case 0:
@@ -22156,8 +22339,8 @@ function loadMorePollVotes(action) {
22156
22339
  break;
22157
22340
  case 6:
22158
22341
  _context36.p = 6;
22159
- _t39 = _context36.v;
22160
- log.error('ERROR in load more poll votes', _t39);
22342
+ _t38 = _context36.v;
22343
+ log.error('ERROR in load more poll votes', _t38);
22161
22344
  _context36.n = 7;
22162
22345
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22163
22346
  case 7:
@@ -22373,7 +22556,7 @@ function loadMoreMembers(action) {
22373
22556
  }, _marked2$3, null, [[0, 7, 8, 10]]);
22374
22557
  }
22375
22558
  function addMembers(action) {
22376
- var payload, members, channelId, channel, membersToAdd, addedMembers, membersIds, messageToSend, updateChannelData, _t3;
22559
+ var payload, members, channelId, channel, membersToAdd, addedMembers, membersIds, messageToSend, updateChannelData, _action$payload, _t3;
22377
22560
  return _regenerator().w(function (_context3) {
22378
22561
  while (1) switch (_context3.p = _context3.n) {
22379
22562
  case 0:
@@ -22431,13 +22614,20 @@ function addMembers(action) {
22431
22614
  memberCount: channel.memberCount + addedMembers.length
22432
22615
  }, updateChannelData)));
22433
22616
  case 6:
22434
- _context3.n = 8;
22617
+ _context3.n = 9;
22435
22618
  break;
22436
22619
  case 7:
22437
22620
  _context3.p = 7;
22438
22621
  _t3 = _context3.v;
22439
- log.error('error on add members... ', _t3);
22622
+ if (!(_t3.code === 1041)) {
22623
+ _context3.n = 8;
22624
+ break;
22625
+ }
22626
+ _context3.n = 8;
22627
+ return put(setActionIsRestrictedAC(true, true, (action === null || action === void 0 ? void 0 : (_action$payload = action.payload) === null || _action$payload === void 0 ? void 0 : _action$payload.members) || []));
22440
22628
  case 8:
22629
+ log.error('error on add members... ', _t3);
22630
+ case 9:
22441
22631
  return _context3.a(2);
22442
22632
  }
22443
22633
  }, _marked3$2, null, [[0, 7]]);
@@ -22595,11 +22785,11 @@ function reportMember(action) {
22595
22785
  }, _marked7$2, null, [[1, 3]]);
22596
22786
  }
22597
22787
  function getRoles(action) {
22598
- var _action$payload, timeout, attempts, SceytChatClient, roles, _t8;
22788
+ var _action$payload2, timeout, attempts, SceytChatClient, roles, _t8;
22599
22789
  return _regenerator().w(function (_context8) {
22600
22790
  while (1) switch (_context8.p = _context8.n) {
22601
22791
  case 0:
22602
- _action$payload = action.payload, timeout = _action$payload.timeout, attempts = _action$payload.attempts;
22792
+ _action$payload2 = action.payload, timeout = _action$payload2.timeout, attempts = _action$payload2.attempts;
22603
22793
  _context8.p = 1;
22604
22794
  SceytChatClient = getClient();
22605
22795
  if (!(store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED)) {
@@ -22678,6 +22868,10 @@ function getContacts() {
22678
22868
  case 0:
22679
22869
  _context.p = 0;
22680
22870
  SceytChatClient = getClient();
22871
+ if (!(SceytChatClient.connectionState === CONNECTION_STATUS.CONNECTED)) {
22872
+ _context.n = 3;
22873
+ break;
22874
+ }
22681
22875
  _context.n = 1;
22682
22876
  return call(SceytChatClient.getAllContacts);
22683
22877
  case 1:
@@ -22888,6 +23082,12 @@ function getUsers(action) {
22888
23082
  payload = action.payload;
22889
23083
  params = payload.params;
22890
23084
  SceytChatClient = getClient();
23085
+ if (!(SceytChatClient.connectionState !== CONNECTION_STATUS.CONNECTED)) {
23086
+ _context5.n = 1;
23087
+ break;
23088
+ }
23089
+ return _context5.a(2);
23090
+ case 1:
22891
23091
  usersQueryBuilder = new SceytChatClient.UserListQueryBuilder();
22892
23092
  if (params.query) {
22893
23093
  usersQueryBuilder.query(params.query);
@@ -22917,35 +23117,35 @@ function getUsers(action) {
22917
23117
  usersQueryBuilder.filterByUsername();
22918
23118
  }
22919
23119
  log.info('user query params ..... ', params);
22920
- _context5.n = 1;
23120
+ _context5.n = 2;
22921
23121
  return call(usersQueryBuilder.build);
22922
- case 1:
23122
+ case 2:
22923
23123
  usersQuery = _context5.v;
22924
23124
  query.usersQuery = usersQuery;
22925
- _context5.n = 2;
22926
- return put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
22927
- case 2:
22928
23125
  _context5.n = 3;
22929
- return call(usersQuery.loadNextPage);
23126
+ return put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
22930
23127
  case 3:
22931
- _yield$call = _context5.v;
22932
- users = _yield$call.users;
22933
23128
  _context5.n = 4;
22934
- return put(setUsersAC(JSON.parse(JSON.stringify(users))));
23129
+ return call(usersQuery.loadNextPage);
22935
23130
  case 4:
23131
+ _yield$call = _context5.v;
23132
+ users = _yield$call.users;
22936
23133
  _context5.n = 5;
22937
- return put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
23134
+ return put(setUsersAC(JSON.parse(JSON.stringify(users))));
22938
23135
  case 5:
22939
- _context5.n = 7;
22940
- break;
23136
+ _context5.n = 6;
23137
+ return put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
22941
23138
  case 6:
22942
- _context5.p = 6;
23139
+ _context5.n = 8;
23140
+ break;
23141
+ case 7:
23142
+ _context5.p = 7;
22943
23143
  _t5 = _context5.v;
22944
23144
  log.error('ERROR on get users', _t5.message);
22945
- case 7:
23145
+ case 8:
22946
23146
  return _context5.a(2);
22947
23147
  }
22948
- }, _marked5$3, null, [[0, 6]]);
23148
+ }, _marked5$3, null, [[0, 7]]);
22949
23149
  }
22950
23150
  function loadMoreUsers(action) {
22951
23151
  var payload, limit, usersQuery, _yield$call2, users, _t6;
@@ -23130,6 +23330,9 @@ var channelInviteKeysSelector = function channelInviteKeysSelector(store) {
23130
23330
  var joinableChannelSelector = function joinableChannelSelector(store) {
23131
23331
  return store.ChannelReducer.joinableChannel;
23132
23332
  };
23333
+ var channelInviteKeyAvailableSelector = function channelInviteKeyAvailableSelector(store) {
23334
+ return store.ChannelReducer.channelInviteKeyAvailable;
23335
+ };
23133
23336
 
23134
23337
  var activeChannelMembersSelector = function activeChannelMembersSelector(store) {
23135
23338
  return store.MembersReducer.activeChannelMembers;
@@ -23149,6 +23352,12 @@ var membersLoadingStateSelector = function membersLoadingStateSelector(store) {
23149
23352
  var membersHasNextSelector = function membersHasNextSelector(store) {
23150
23353
  return store.MembersReducer.membersHasNext;
23151
23354
  };
23355
+ var restrictedSelector = function restrictedSelector(store) {
23356
+ return store.MembersReducer.restricted;
23357
+ };
23358
+ var openInviteModalSelector = function openInviteModalSelector(store) {
23359
+ return store.MembersReducer.openInviteModal;
23360
+ };
23152
23361
 
23153
23362
  var useDidUpdate = function useDidUpdate(callback, deps) {
23154
23363
  var hasMount = useRef(false);
@@ -23701,6 +23910,98 @@ var MembersText = styled.div(_templateObject7$1 || (_templateObject7$1 = _tagged
23701
23910
  });
23702
23911
  var Center = styled.div(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n margin-top: 24px;\n"])));
23703
23912
 
23913
+ var ActionRestrictedPopup = function ActionRestrictedPopup(_ref) {
23914
+ var fromChannel = _ref.fromChannel;
23915
+ var dispatch = useDispatch();
23916
+ var _useColor = useColors(),
23917
+ background = _useColor[THEME_COLORS.BACKGROUND],
23918
+ textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
23919
+ surface1 = _useColor[THEME_COLORS.SURFACE_1],
23920
+ iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
23921
+ accentColor = _useColor[THEME_COLORS.ACCENT],
23922
+ textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
23923
+ linkColor = _useColor[THEME_COLORS.LINK_COLOR];
23924
+ var handleClose = function handleClose() {
23925
+ dispatch(setActionIsRestrictedAC(false, false, null));
23926
+ };
23927
+ var handleInvite = function handleInvite() {
23928
+ dispatch(setOpenInviteModalAC(true));
23929
+ handleClose();
23930
+ };
23931
+ return /*#__PURE__*/React__default.createElement(PopupContainer, null, /*#__PURE__*/React__default.createElement(Popup, {
23932
+ backgroundColor: background,
23933
+ maxWidth: '520px',
23934
+ minWidth: '520px',
23935
+ padding: '0'
23936
+ }, /*#__PURE__*/React__default.createElement(PopupBody, {
23937
+ paddingH: '24px',
23938
+ paddingV: '24px'
23939
+ }, /*#__PURE__*/React__default.createElement(CloseIcon, {
23940
+ color: iconPrimary,
23941
+ onClick: handleClose
23942
+ }), /*#__PURE__*/React__default.createElement(PopupName, {
23943
+ color: textPrimary,
23944
+ marginBottom: '20px'
23945
+ }, fromChannel ? 'Privacy note' : "Can't create group"), /*#__PURE__*/React__default.createElement(PopupDescription, {
23946
+ color: textPrimary,
23947
+ highlightColor: linkColor
23948
+ }, fromChannel ? 'Couldn’t add the user. Please invite them directly instead.' : 'Not everyone can be added to this group.')), /*#__PURE__*/React__default.createElement(PopupFooter, {
23949
+ backgroundColor: surface1
23950
+ }, fromChannel && (/*#__PURE__*/React__default.createElement(Button, {
23951
+ type: 'button',
23952
+ color: textPrimary,
23953
+ backgroundColor: 'transparent',
23954
+ onClick: handleClose
23955
+ }, "Cancel")), /*#__PURE__*/React__default.createElement(Button, {
23956
+ type: 'button',
23957
+ backgroundColor: accentColor,
23958
+ color: textOnPrimary,
23959
+ borderRadius: '8px',
23960
+ onClick: fromChannel ? handleInvite : handleClose
23961
+ }, fromChannel ? 'Invite' : 'Cancel'))));
23962
+ };
23963
+
23964
+ var UnavailableInviteKeyPopup = function UnavailableInviteKeyPopup() {
23965
+ var dispatch = useDispatch();
23966
+ var _useColor = useColors(),
23967
+ background = _useColor[THEME_COLORS.BACKGROUND],
23968
+ textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
23969
+ surface1 = _useColor[THEME_COLORS.SURFACE_1],
23970
+ iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
23971
+ accentColor = _useColor[THEME_COLORS.ACCENT],
23972
+ textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
23973
+ linkColor = _useColor[THEME_COLORS.LINK_COLOR];
23974
+ var handleClose = function handleClose() {
23975
+ dispatch(setChannelInviteKeyAvailableAC(true));
23976
+ };
23977
+ return /*#__PURE__*/React__default.createElement(PopupContainer, null, /*#__PURE__*/React__default.createElement(Popup, {
23978
+ backgroundColor: background,
23979
+ maxWidth: '520px',
23980
+ minWidth: '520px',
23981
+ padding: '0'
23982
+ }, /*#__PURE__*/React__default.createElement(PopupBody, {
23983
+ paddingH: '24px',
23984
+ paddingV: '24px'
23985
+ }, /*#__PURE__*/React__default.createElement(CloseIcon, {
23986
+ color: iconPrimary,
23987
+ onClick: handleClose
23988
+ }), /*#__PURE__*/React__default.createElement(PopupName, {
23989
+ color: textPrimary,
23990
+ marginBottom: '20px'
23991
+ }, "Failed to join"), /*#__PURE__*/React__default.createElement(PopupDescription, {
23992
+ color: textPrimary,
23993
+ highlightColor: linkColor
23994
+ }, "You can't join the group or community as the invite link was reset.")), /*#__PURE__*/React__default.createElement(PopupFooter, {
23995
+ backgroundColor: surface1
23996
+ }, /*#__PURE__*/React__default.createElement(Button, {
23997
+ type: 'button',
23998
+ backgroundColor: accentColor,
23999
+ color: textOnPrimary,
24000
+ borderRadius: '8px',
24001
+ onClick: handleClose
24002
+ }, "Close"))));
24003
+ };
24004
+
23704
24005
  var _templateObject$5, _templateObject2$4, _templateObject3$4;
23705
24006
  var SceytChat = function SceytChat(_ref) {
23706
24007
  var client = _ref.client,
@@ -23744,6 +24045,8 @@ var SceytChat = function SceytChat(_ref) {
23744
24045
  SceytChatClient = _useState[0],
23745
24046
  setSceytChatClient = _useState[1];
23746
24047
  var connectionStatus = useSelector(connectionStatusSelector, shallowEqual);
24048
+ var restricted = useSelector(restrictedSelector, shallowEqual);
24049
+ var channelInviteKeyAvailable = useSelector(channelInviteKeyAvailableSelector, shallowEqual);
23747
24050
  var _useState2 = useState(true),
23748
24051
  tabIsActive = _useState2[0],
23749
24052
  setTabIsActive = _useState2[1];
@@ -23988,7 +24291,9 @@ var SceytChat = function SceytChat(_ref) {
23988
24291
  highlightedBackground: highlightedBackground,
23989
24292
  id: 'sceyt_chat_container',
23990
24293
  chatMinWidth: chatMinWidth
23991
- }, children, embeddedJoinGroupPopup && joinPopup && /*#__PURE__*/React__default.createElement(EmbeddedPopupWrapper, null, joinPopup))) : '', !embeddedJoinGroupPopup && joinPopup);
24294
+ }, children, embeddedJoinGroupPopup && joinPopup && /*#__PURE__*/React__default.createElement(EmbeddedPopupWrapper, null, joinPopup), (restricted === null || restricted === void 0 ? void 0 : restricted.isRestricted) && /*#__PURE__*/React__default.createElement(ActionRestrictedPopup, {
24295
+ fromChannel: restricted === null || restricted === void 0 ? void 0 : restricted.fromChannel
24296
+ }), !channelInviteKeyAvailable && /*#__PURE__*/React__default.createElement(UnavailableInviteKeyPopup, null))) : '', !embeddedJoinGroupPopup && joinPopup);
23992
24297
  };
23993
24298
  var Container$2 = styled.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["\n display: flex;\n height: 100vh;\n"])));
23994
24299
  var ChatContainer = styled.div(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n display: flex;\n height: 100%;\n max-height: 100vh;\n min-width: ", ";\n background-color: ", ";\n position: relative;\n\n /* Global highlighted background styles */\n ::selection {\n background-color: ", ";\n }\n\n ::-moz-selection {\n background-color: ", ";\n }\n\n /* For text selection highlighting */\n *::selection {\n background-color: ", ";\n }\n\n *::-moz-selection {\n background-color: ", ";\n }\n"])), function (props) {
@@ -37446,16 +37751,7 @@ var Message$1 = function Message(_ref) {
37446
37751
  setMessageActionsShow(false);
37447
37752
  };
37448
37753
  var handleResendMessage = function handleResendMessage() {
37449
- var messageToResend = _extends({}, message);
37450
- if (message.attachments && message.attachments.length) {
37451
- messageToResend.attachments = message.attachments.map(function (att) {
37452
- var pendingAttachment = getPendingAttachment(att.tid);
37453
- return _extends({}, att, {
37454
- data: new File([pendingAttachment.file], att.data.name)
37455
- });
37456
- });
37457
- }
37458
- dispatch(resendMessageAC(messageToResend, channel.id, connectionStatus));
37754
+ dispatch(resendMessageAC(message, channel.id, connectionStatus));
37459
37755
  setMessageActionsShow(false);
37460
37756
  };
37461
37757
  var handleCopyMessage = function handleCopyMessage() {
@@ -37513,12 +37809,12 @@ var Message$1 = function Message(_ref) {
37513
37809
  setFrequentlyEmojisOpen(false);
37514
37810
  };
37515
37811
  var handleSendReadMarker = function handleSendReadMarker() {
37516
- if (!message.userMarkers.find(function (marker) {
37812
+ if (message.incoming && !message.userMarkers.find(function (marker) {
37517
37813
  return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
37518
37814
  })) {
37519
37815
  if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
37520
37816
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
37521
- }) && message.incoming && !unreadScrollTo) {
37817
+ }) && !unreadScrollTo) {
37522
37818
  dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
37523
37819
  }
37524
37820
  }
@@ -37676,7 +37972,8 @@ var Message$1 = function Message(_ref) {
37676
37972
  withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
37677
37973
  className: 'messageContent'
37678
37974
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
37679
- rtl: ownMessageOnRightSide && !message.incoming
37975
+ rtl: ownMessageOnRightSide && !message.incoming,
37976
+ onClick: handleResendMessage
37680
37977
  }, /*#__PURE__*/React__default.createElement(ErrorIconWrapper, null))), CustomMessageItem ? (/*#__PURE__*/React__default.createElement(CustomMessageItem, {
37681
37978
  key: message.id || message.tid,
37682
37979
  channel: channel,
@@ -37981,7 +38278,7 @@ var MessageReaction = styled.span(_templateObject3$y || (_templateObject3$y = _t
37981
38278
  var ThreadMessageCountContainer = styled.div(_templateObject4$t || (_templateObject4$t = _taggedTemplateLiteralLoose(["\n position: relative;\n color: ", ";\n font-weight: 500;\n font-size: 13px;\n line-height: 15px;\n margin: 12px;\n cursor: pointer;\n\n &::before {\n content: '';\n position: absolute;\n left: -25px;\n top: -21px;\n width: 16px;\n height: 26px;\n border-left: 2px solid #cdcdcf;\n border-bottom: 2px solid #cdcdcf;\n border-radius: 0 0 0 14px;\n }\n"])), function (props) {
37982
38279
  return props.color;
37983
38280
  });
37984
- var FailedMessageIcon = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n"])), function (props) {
38281
+ var FailedMessageIcon = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n cursor: pointer;\n"])), function (props) {
37985
38282
  return !props.rtl && '-24px';
37986
38283
  }, function (props) {
37987
38284
  return props.rtl && '-24px';
@@ -38360,7 +38657,8 @@ var MessageList = function MessageList(_ref2) {
38360
38657
  var handleMessagesListScroll = useCallback(function () {
38361
38658
  try {
38362
38659
  var target = scrollRef.current;
38363
- if (!target) return Promise.resolve();
38660
+ var messageBox = document.getElementById('messageBox');
38661
+ if (!target || !messageBox) return Promise.resolve();
38364
38662
  if (scrollToMentionedMessage) {
38365
38663
  if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
38366
38664
  dispatch(showScrollToNewMessageButtonAC(true));
@@ -38373,10 +38671,13 @@ var MessageList = function MessageList(_ref2) {
38373
38671
  clearTimeout(hideTopDateTimeout.current);
38374
38672
  renderTopDate();
38375
38673
  var forceLoadPrevMessages = false;
38376
- if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
38674
+ if (-target.scrollTop + target.offsetHeight + 100 > messageBox.scrollHeight) {
38377
38675
  forceLoadPrevMessages = true;
38378
38676
  }
38379
- if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING) {
38677
+ if (unreadScrollTo) {
38678
+ return Promise.resolve();
38679
+ }
38680
+ if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING && channel !== null && channel !== void 0 && channel.id) {
38380
38681
  dispatch(getMessagesAC(channel, true));
38381
38682
  }
38382
38683
  if (target.scrollTop <= -50) {
@@ -38390,7 +38691,7 @@ var MessageList = function MessageList(_ref2) {
38390
38691
  }
38391
38692
  var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
38392
38693
  var hasIndex = typeof currentIndex === 'number';
38393
- if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
38694
+ if (hasIndex && currentIndex < 10 || forceLoadPrevMessages) {
38394
38695
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
38395
38696
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
38396
38697
  shouldLoadMessagesRef.current = 'prev';
@@ -38407,7 +38708,7 @@ var MessageList = function MessageList(_ref2) {
38407
38708
  }
38408
38709
  }
38409
38710
  }
38410
- if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
38711
+ if (hasIndex && currentIndex >= messages.length - 10 || target.scrollTop > -100) {
38411
38712
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
38412
38713
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
38413
38714
  shouldLoadMessagesRef.current = 'next';
@@ -38465,8 +38766,8 @@ var MessageList = function MessageList(_ref2) {
38465
38766
  nextDisableRef.current = false;
38466
38767
  }, 1000 + positiveValue * 0.1);
38467
38768
  }
38468
- } else {
38469
- dispatch(getMessagesAC(channel, undefined, messageId));
38769
+ } else if (channel !== null && channel !== void 0 && channel.id) {
38770
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, true, 'smooth', true));
38470
38771
  }
38471
38772
  return Promise.resolve();
38472
38773
  } catch (e) {
@@ -38474,7 +38775,7 @@ var MessageList = function MessageList(_ref2) {
38474
38775
  }
38475
38776
  };
38476
38777
  var handleLoadMoreMessages = function handleLoadMoreMessages(direction, limit) {
38477
- if (scrollToMentionedMessage) {
38778
+ if (scrollToMentionedMessage || scrollToNewMessage.scrollToBottom) {
38478
38779
  return;
38479
38780
  }
38480
38781
  var lastMessageId = messages.length && messages[messages.length - 1].id;
@@ -38618,9 +38919,6 @@ var MessageList = function MessageList(_ref2) {
38618
38919
  behavior: 'smooth'
38619
38920
  });
38620
38921
  }
38621
- setTimeout(function () {
38622
- dispatch(scrollToNewMessageAC(false, false, false));
38623
- }, 800);
38624
38922
  } else {
38625
38923
  nextDisableRef.current = true;
38626
38924
  prevDisableRef.current = true;
@@ -38629,10 +38927,6 @@ var MessageList = function MessageList(_ref2) {
38629
38927
  behavior: 'smooth'
38630
38928
  });
38631
38929
  dispatch(showScrollToNewMessageButtonAC(false));
38632
- setTimeout(function () {
38633
- prevDisableRef.current = false;
38634
- dispatch(scrollToNewMessageAC(false, false, false));
38635
- }, 800);
38636
38930
  }
38637
38931
  }
38638
38932
  }, [scrollToNewMessage]);
@@ -38656,17 +38950,17 @@ var MessageList = function MessageList(_ref2) {
38656
38950
  prevDisableRef.current = false;
38657
38951
  shouldLoadMessagesRef.current = '';
38658
38952
  loadingRef.current = false;
38659
- if (channel.backToLinkedChannel) {
38953
+ if (channel.backToLinkedChannel && channel !== null && channel !== void 0 && channel.id) {
38660
38954
  var visibleMessages = getVisibleMessagesMap();
38661
38955
  var visibleMessagesIds = Object.keys(visibleMessages);
38662
38956
  var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
38663
- dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
38957
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, 'instant'));
38664
38958
  setUnreadMessageId(messageId);
38665
38959
  } else {
38666
38960
  if (!channel.isLinkedChannel) {
38667
38961
  clearVisibleMessagesMap();
38668
38962
  }
38669
- if (channel) {
38963
+ if (channel && channel !== null && channel !== void 0 && channel.id) {
38670
38964
  dispatch(getMessagesAC(channel, undefined, undefined, undefined, true));
38671
38965
  }
38672
38966
  if (channel.id) {
@@ -38817,13 +39111,13 @@ var MessageList = function MessageList(_ref2) {
38817
39111
  }, [messagesLoading, messages, lastVisibleMessageId]);
38818
39112
  useEffect(function () {
38819
39113
  log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
38820
- if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
39114
+ if (connectionStatus === CONNECTION_STATUS.CONNECTED && channel !== null && channel !== void 0 && channel.id) {
38821
39115
  loadingRef.current = false;
38822
39116
  prevDisableRef.current = false;
38823
39117
  nextDisableRef.current = false;
38824
39118
  clearMessagesMap();
38825
39119
  removeAllMessages();
38826
- dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, false, 'instant', false));
39120
+ dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, 'instant', false, true));
38827
39121
  }
38828
39122
  }, [connectionStatus]);
38829
39123
  useEffect(function () {
@@ -38833,7 +39127,21 @@ var MessageList = function MessageList(_ref2) {
38833
39127
  scrollElement.style.scrollBehavior = 'inherit';
38834
39128
  }
38835
39129
  setScrollIntoView(true);
38836
- var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId);
39130
+ var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId) || null;
39131
+ var newLastDisplayedMessageId = channel.lastDisplayedMessageId;
39132
+ if (!lastReadMessageNode && channel.lastDisplayedMessageId && channel.lastDisplayedMessageId !== '0') {
39133
+ for (var index = 0; index < messages.length; index++) {
39134
+ var message = messages[index];
39135
+ if (channel.lastDisplayedMessageId >= message.id && (messages.length < index + 2 || channel.lastDisplayedMessageId <= messages[index + 1].id)) {
39136
+ newLastDisplayedMessageId = message.id;
39137
+ lastReadMessageNode = document.getElementById(newLastDisplayedMessageId);
39138
+ break;
39139
+ }
39140
+ }
39141
+ } else if (!lastReadMessageNode && (!channel.lastDisplayedMessageId || channel.lastDisplayedMessageId === '0') && messages !== null && messages !== void 0 && messages.length) {
39142
+ newLastDisplayedMessageId = messages[0].id;
39143
+ lastReadMessageNode = document.getElementById(newLastDisplayedMessageId);
39144
+ }
38837
39145
  if (lastReadMessageNode && scrollElement) {
38838
39146
  dispatch(scrollToNewMessageAC(false));
38839
39147
  scrollElement.scrollTo({
@@ -38918,7 +39226,8 @@ var MessageList = function MessageList(_ref2) {
38918
39226
  enableResetScrollToCoords: false,
38919
39227
  replyMessage: messageForReply && messageForReply.id,
38920
39228
  attachmentsSelected: attachmentsSelected,
38921
- className: 'messageBox'
39229
+ className: 'messageBox',
39230
+ id: 'messageBox'
38922
39231
  }, messages.map(function (message, index) {
38923
39232
  var prevMessage = messages[index - 1];
38924
39233
  var nextMessage = messages[index + 1];
@@ -41172,6 +41481,13 @@ function SvgRecordButton(props) {
41172
41481
  }
41173
41482
 
41174
41483
  var _templateObject$O, _templateObject2$J, _templateObject3$C, _templateObject4$x, _templateObject5$s, _templateObject6$o, _templateObject7$n;
41484
+ var fieldsObject = {
41485
+ channelId: '',
41486
+ currentRecordedFile: null,
41487
+ recording: null,
41488
+ recorder: null,
41489
+ wavesurferContainer: null
41490
+ };
41175
41491
  var shouldDraw = false;
41176
41492
  var DEFAULT_MAX_RECORDING_DURATION = 600;
41177
41493
  var AudioRecord = function AudioRecord(_ref) {
@@ -41505,7 +41821,7 @@ var AudioRecord = function AudioRecord(_ref) {
41505
41821
  handleStopRecording();
41506
41822
  shouldDraw = false;
41507
41823
  var id = cId || channelId;
41508
- recorder.stop().getMp3().then(function (_ref4) {
41824
+ recorder === null || recorder === void 0 ? void 0 : recorder.stop().getMp3().then(function (_ref4) {
41509
41825
  var buffer = _ref4[0],
41510
41826
  blob = _ref4[1];
41511
41827
  var file = new File(buffer, 'record.mp3', {
@@ -41625,6 +41941,30 @@ var AudioRecord = function AudioRecord(_ref) {
41625
41941
  }
41626
41942
  };
41627
41943
  }, [recording, maxRecordingDuration]);
41944
+ useEffect(function () {
41945
+ fieldsObject.channelId = channelId;
41946
+ }, [channelId]);
41947
+ useEffect(function () {
41948
+ fieldsObject.recorder = recorder;
41949
+ }, [recorder]);
41950
+ useEffect(function () {
41951
+ fieldsObject.currentRecordedFile = currentRecordedFile;
41952
+ }, [currentRecordedFile]);
41953
+ useEffect(function () {
41954
+ fieldsObject.recording = recording;
41955
+ }, [recording]);
41956
+ useEffect(function () {
41957
+ fieldsObject.wavesurferContainer = wavesurferContainer.current;
41958
+ }, [wavesurferContainer.current]);
41959
+ useEffect(function () {
41960
+ return function () {
41961
+ var _fieldsObject$current;
41962
+ if (fieldsObject.channelId && (!fieldsObject.currentRecordedFile || !((_fieldsObject$current = fieldsObject.currentRecordedFile) !== null && _fieldsObject$current !== void 0 && _fieldsObject$current.file)) && fieldsObject.recorder && fieldsObject.recording) {
41963
+ stopRecording(false, fieldsObject.channelId, true, fieldsObject.recorder, fieldsObject.wavesurferContainer);
41964
+ handleStopRecording();
41965
+ }
41966
+ };
41967
+ }, []);
41628
41968
  useEffect(function () {
41629
41969
  if (currentRecordedFile) {
41630
41970
  _initWaveSurfer();
@@ -41749,6 +42089,9 @@ var AudioRecord = function AudioRecord(_ref) {
41749
42089
  iconColor: accentColor
41750
42090
  }, showRecording || currentRecordedFile ? /*#__PURE__*/React__default.createElement(SvgSend, null) : /*#__PURE__*/React__default.createElement(SvgRecordButton, null)));
41751
42091
  };
42092
+ var AudioRecord$1 = /*#__PURE__*/memo(AudioRecord, function (prevProps, nextProps) {
42093
+ return prevProps.channelId === nextProps.channelId && prevProps.showRecording === nextProps.showRecording && prevProps.maxRecordingDuration === nextProps.maxRecordingDuration;
42094
+ });
41752
42095
  var Container$l = styled.div(_templateObject$O || (_templateObject$O = _taggedTemplateLiteralLoose(["\n width: 32px;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n ", ";\n transition: all 0.3s ease-in-out;\n"])), function (props) {
41753
42096
  return props.recording && "width: 400px";
41754
42097
  });
@@ -42327,7 +42670,7 @@ function onError(error) {
42327
42670
  var prevActiveChannelId;
42328
42671
  var attachmentsUpdate = [];
42329
42672
  var SendMessageInput = function SendMessageInput(_ref3) {
42330
- var _pollOptions$choosePo;
42673
+ var _pollOptions$choosePo, _getAudioRecordingFro;
42331
42674
  var handleAttachmentSelected = _ref3.handleAttachmentSelected,
42332
42675
  handleSendMessage = _ref3.handleSendMessage,
42333
42676
  _ref3$disabled = _ref3.disabled,
@@ -42554,7 +42897,13 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42554
42897
  nodes: [MentionNode],
42555
42898
  onError: onError
42556
42899
  };
42557
- var handleSendTypingState = function handleSendTypingState(typingState) {
42900
+ var handleSendTypingState = function handleSendTypingState(typingState, code) {
42901
+ if (code) {
42902
+ var isTypeKeyPressed = checkIsTypeKeyPressed(code);
42903
+ if (!isTypeKeyPressed) {
42904
+ return;
42905
+ }
42906
+ }
42558
42907
  if (typingState) {
42559
42908
  setInTypingStateTimout(setTimeout(function () {
42560
42909
  setInTypingStateTimout(0);
@@ -42691,11 +43040,11 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42691
43040
  } else {
42692
43041
  if (typingTimout) {
42693
43042
  if (!inTypingStateTimout) {
42694
- handleSendTypingState(true);
43043
+ handleSendTypingState(true, code);
42695
43044
  }
42696
43045
  clearTimeout(typingTimout);
42697
43046
  } else {
42698
- handleSendTypingState(true);
43047
+ handleSendTypingState(true, code);
42699
43048
  }
42700
43049
  setTypingTimout(setTimeout(function () {
42701
43050
  setTypingTimout(0);
@@ -43437,7 +43786,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43437
43786
  document.body.removeAttribute('onbeforeunload');
43438
43787
  }
43439
43788
  }
43440
- }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes]);
43789
+ }, [messageText, attachments, editMessageText, readyVideoAttachments, messageBodyAttributes, messageToEdit]);
43441
43790
  useDidUpdate(function () {
43442
43791
  if (mentionedUsers && mentionedUsers.length) {
43443
43792
  setDraftMessageToMap(activeChannel.id, {
@@ -43752,7 +44101,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43752
44101
  onChange: handleFileUpload,
43753
44102
  multiple: true,
43754
44103
  type: 'file'
43755
- }), showRecording || getAudioRecordingFromMap(activeChannel.id) ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
44104
+ }), (showRecording || getAudioRecordingFromMap(activeChannel.id)) && !messageToEdit ? (/*#__PURE__*/React__default.createElement(AudioCont, null)) : (/*#__PURE__*/React__default.createElement(MessageInputWrapper, {
43756
44105
  className: 'message_input_wrapper',
43757
44106
  borderRadius: messageForReply || messageToEdit ? borderRadiusOnOpenedEditReplyMessage : borderRadius,
43758
44107
  ref: inputWrapperRef,
@@ -43875,7 +44224,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43875
44224
  ErrorBoundary: LexicalErrorBoundary
43876
44225
  }), floatingAnchorElem && !isSmallWidthViewport && allowTextEdit && (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(FloatingTextFormatToolbarPlugin, {
43877
44226
  anchorElem: floatingAnchorElem
43878
- })))))))), sendMessageIsActive || !voiceMessage || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
44227
+ })))))))), sendMessageIsActive || !voiceMessage && !((_getAudioRecordingFro = getAudioRecordingFromMap(activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.id)) !== null && _getAudioRecordingFro !== void 0 && _getAudioRecordingFro.file) || messageToEdit ? (/*#__PURE__*/React__default.createElement(SendMessageButton, {
43879
44228
  isCustomButton: CustomSendMessageButton,
43880
44229
  isActive: sendMessageIsActive,
43881
44230
  order: sendIconOrder,
@@ -43891,7 +44240,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43891
44240
  color: accentColor,
43892
44241
  iconColor: accentColor,
43893
44242
  activeColor: accentColor
43894
- }, /*#__PURE__*/React__default.createElement(AudioRecord, {
44243
+ }, /*#__PURE__*/React__default.createElement(AudioRecord$1, {
43895
44244
  sendRecordedFile: sendRecordedFile,
43896
44245
  setShowRecording: setShowRecording,
43897
44246
  showRecording: showRecording,
@@ -44962,7 +45311,8 @@ var Actions = function Actions(_ref) {
44962
45311
  iconColor: iconPrimary,
44963
45312
  color: textPrimary,
44964
45313
  hoverColor: textPrimary,
44965
- fontSize: actionItemsFontSize
45314
+ fontSize: actionItemsFontSize,
45315
+ flexWrap: 'wrap'
44966
45316
  }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DefaultWatchIcon, {
44967
45317
  "$isLightMode": backgroundColor === '#FFFFFF'
44968
45318
  }), "Disappearing messages", /*#__PURE__*/React__default.createElement(DisappearingMessagesStatusWrapper, null, /*#__PURE__*/React__default.createElement(DisappearingMessagesStatus, {
@@ -45166,7 +45516,7 @@ var DefaultMarkAsReadIcon = styled(SvgLeave)(_templateObject15$3 || (_templateOb
45166
45516
  var DefaultWatchIcon = styled(SvgWatch)(_templateObject16$3 || (_templateObject16$3 = _taggedTemplateLiteralLoose(["\n width: 24px;\n height: 24px;\n\n path.watch-ticks,\n path:nth-child(2) {\n fill: ", " !important;\n }\n"])), function (props) {
45167
45517
  return props.$isLightMode ? '#FFFFFF' : '#000000';
45168
45518
  });
45169
- var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45519
+ var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n ", "\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45170
45520
  return props.fontSize || '15px';
45171
45521
  }, function (props) {
45172
45522
  return props.color;
@@ -45174,6 +45524,8 @@ var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _tagged
45174
45524
  return props.order;
45175
45525
  }, function (props) {
45176
45526
  return props.disableEvent && 'none';
45527
+ }, function (props) {
45528
+ return props.flexWrap && "flex-wrap: " + props.flexWrap + ";";
45177
45529
  }, function (props) {
45178
45530
  return props.iconColor;
45179
45531
  }, function (props) {
@@ -45702,7 +46054,7 @@ function InviteLinkModal(_ref) {
45702
46054
  var handleConfirmReset = function handleConfirmReset() {
45703
46055
  var _channelInviteKeys$;
45704
46056
  setShowResetConfirm(false);
45705
- dispatch(regenerateChannelInviteKeyAC(channelId, (channelInviteKeys === null || channelInviteKeys === void 0 ? void 0 : (_channelInviteKeys$ = channelInviteKeys[0]) === null || _channelInviteKeys$ === void 0 ? void 0 : _channelInviteKeys$.key) || ''));
46057
+ dispatch(regenerateChannelInviteKeyAC(channelId, (channelInviteKeys === null || channelInviteKeys === void 0 ? void 0 : (_channelInviteKeys$ = channelInviteKeys[0]) === null || _channelInviteKeys$ === void 0 ? void 0 : _channelInviteKeys$.key) || '', true));
45706
46058
  };
45707
46059
  useEffect(function () {
45708
46060
  if (channelId) {
@@ -45974,14 +46326,12 @@ var Members = function Members(_ref) {
45974
46326
  var _useState7 = useState(false),
45975
46327
  addMemberPopupOpen = _useState7[0],
45976
46328
  setAddMemberPopupOpen = _useState7[1];
45977
- var _useState8 = useState(false),
45978
- openInviteModal = _useState8[0],
45979
- setOpenInviteModal = _useState8[1];
45980
- var _useState9 = useState(),
45981
- closeMenu = _useState9[0],
45982
- setCloseMenu = _useState9[1];
46329
+ var _useState8 = useState(),
46330
+ closeMenu = _useState8[0],
46331
+ setCloseMenu = _useState8[1];
45983
46332
  var members = useSelector(activeChannelMembersSelector) || [];
45984
46333
  var contactsMap = useSelector(contactsMapSelector) || {};
46334
+ var openInviteModal = useSelector(openInviteModalSelector);
45985
46335
  var user = getClient().user;
45986
46336
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
45987
46337
  var channelTypeRoleMap = getDefaultRolesByChannelTypesMap();
@@ -46077,7 +46427,7 @@ var Members = function Members(_ref) {
46077
46427
  }
46078
46428
  };
46079
46429
  var handleOpenInviteModal = function handleOpenInviteModal() {
46080
- setOpenInviteModal(true);
46430
+ dispatch(setOpenInviteModalAC(true));
46081
46431
  setAddMemberPopupOpen(false);
46082
46432
  };
46083
46433
  useEffect(function () {
@@ -46229,7 +46579,7 @@ var Members = function Members(_ref) {
46229
46579
  handleOpenInviteModal: handleOpenInviteModal
46230
46580
  })), openInviteModal && (/*#__PURE__*/React__default.createElement(InviteLinkModal, {
46231
46581
  onClose: function onClose() {
46232
- return setOpenInviteModal(false);
46582
+ return dispatch(setOpenInviteModalAC(false));
46233
46583
  },
46234
46584
  SVGOrPNGLogoIcon: QRCodeIcon,
46235
46585
  channelId: channel.id
@@ -48135,8 +48485,8 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
48135
48485
  });
48136
48486
  }
48137
48487
  }
48138
- } else {
48139
- dispatch(getMessagesAC(channel, true, messageId, undefined, undefined, false));
48488
+ } else if (channel !== null && channel !== void 0 && channel.id) {
48489
+ dispatch(getMessagesAC(channel, true, messageId, undefined, false, 'smooth', true));
48140
48490
  }
48141
48491
  return Promise.resolve();
48142
48492
  } catch (e) {
@@ -48324,7 +48674,7 @@ var MessagesScrollToUnreadMentionsButton = function MessagesScrollToUnreadMentio
48324
48674
  repliedMessage.classList.remove('highlight');
48325
48675
  }, 1500);
48326
48676
  }
48327
- } else {
48677
+ } else if (channel !== null && channel !== void 0 && channel.id) {
48328
48678
  dispatch(getMessagesAC(channel, undefined, messageId));
48329
48679
  }
48330
48680
  return Promise.resolve();