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