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

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.
Files changed (3) hide show
  1. package/index.js +889 -622
  2. package/index.modern.js +889 -622
  3. package/package.json +1 -1
package/index.js CHANGED
@@ -2840,6 +2840,93 @@ function _forOf(target, body, check) {
2840
2840
 
2841
2841
  const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
2842
2842
 
2843
+ // Asynchronously implement a generic for loop
2844
+ function _for(test, update, body) {
2845
+ var stage;
2846
+ for (;;) {
2847
+ var shouldContinue = test();
2848
+ if (_isSettledPact(shouldContinue)) {
2849
+ shouldContinue = shouldContinue.v;
2850
+ }
2851
+ if (!shouldContinue) {
2852
+ return result;
2853
+ }
2854
+ if (shouldContinue.then) {
2855
+ stage = 0;
2856
+ break;
2857
+ }
2858
+ var result = body();
2859
+ if (result && result.then) {
2860
+ if (_isSettledPact(result)) {
2861
+ result = result.s;
2862
+ } else {
2863
+ stage = 1;
2864
+ break;
2865
+ }
2866
+ }
2867
+ if (update) {
2868
+ var updateValue = update();
2869
+ if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
2870
+ stage = 2;
2871
+ break;
2872
+ }
2873
+ }
2874
+ }
2875
+ var pact = new _Pact();
2876
+ var reject = _settle.bind(null, pact, 2);
2877
+ (stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);
2878
+ return pact;
2879
+ function _resumeAfterBody(value) {
2880
+ result = value;
2881
+ do {
2882
+ if (update) {
2883
+ updateValue = update();
2884
+ if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
2885
+ updateValue.then(_resumeAfterUpdate).then(void 0, reject);
2886
+ return;
2887
+ }
2888
+ }
2889
+ shouldContinue = test();
2890
+ if (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {
2891
+ _settle(pact, 1, result);
2892
+ return;
2893
+ }
2894
+ if (shouldContinue.then) {
2895
+ shouldContinue.then(_resumeAfterTest).then(void 0, reject);
2896
+ return;
2897
+ }
2898
+ result = body();
2899
+ if (_isSettledPact(result)) {
2900
+ result = result.v;
2901
+ }
2902
+ } while (!result || !result.then);
2903
+ result.then(_resumeAfterBody).then(void 0, reject);
2904
+ }
2905
+ function _resumeAfterTest(shouldContinue) {
2906
+ if (shouldContinue) {
2907
+ result = body();
2908
+ if (result && result.then) {
2909
+ result.then(_resumeAfterBody).then(void 0, reject);
2910
+ } else {
2911
+ _resumeAfterBody(result);
2912
+ }
2913
+ } else {
2914
+ _settle(pact, 1, result);
2915
+ }
2916
+ }
2917
+ function _resumeAfterUpdate() {
2918
+ if (shouldContinue = test()) {
2919
+ if (shouldContinue.then) {
2920
+ shouldContinue.then(_resumeAfterTest).then(void 0, reject);
2921
+ } else {
2922
+ _resumeAfterTest(shouldContinue);
2923
+ }
2924
+ } else {
2925
+ _settle(pact, 1, result);
2926
+ }
2927
+ }
2928
+ }
2929
+
2843
2930
  // Asynchronously call a function and send errors to recovery continuation
2844
2931
  function _catch(body, recover) {
2845
2932
  try {
@@ -9028,6 +9115,9 @@ var handleVoteDetails = function handleVoteDetails(voteDetails, message) {
9028
9115
  voteDetails: newVoteDetails
9029
9116
  });
9030
9117
  };
9118
+ var checkIsTypeKeyPressed = function checkIsTypeKeyPressed(code) {
9119
+ 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');
9120
+ };
9031
9121
 
9032
9122
  var baseUrlForInviteMembers = '';
9033
9123
  var autoSelectFitsChannel = false;
@@ -10058,46 +10148,76 @@ var hashString = function hashString(str) {
10058
10148
  }
10059
10149
  };
10060
10150
  var formatDisappearingMessageTime = function formatDisappearingMessageTime(periodInMilliseconds) {
10061
- var _getDisappearingSetti;
10062
10151
  if (!periodInMilliseconds) return 'Off';
10063
10152
  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
10153
  var SECONDS_PER_MINUTE = 60;
10078
10154
  var SECONDS_PER_HOUR = SECONDS_PER_MINUTE * 60;
10079
10155
  var SECONDS_PER_DAY = SECONDS_PER_HOUR * 24;
10080
10156
  var DAYS_PER_WEEK = 7;
10081
10157
  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');
10158
+ var DAYS_PER_YEAR = 365;
10159
+ var remainingSeconds = Math.floor(periodInSeconds);
10160
+ var years = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_YEAR));
10161
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_YEAR;
10162
+ var months = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_MONTH));
10163
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_MONTH;
10164
+ var weeks = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_WEEK));
10165
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_WEEK;
10166
+ var days = Math.floor(remainingSeconds / SECONDS_PER_DAY);
10167
+ remainingSeconds %= SECONDS_PER_DAY;
10168
+ var hours = Math.floor(remainingSeconds / SECONDS_PER_HOUR);
10169
+ remainingSeconds %= SECONDS_PER_HOUR;
10170
+ var minutes = Math.floor(remainingSeconds / SECONDS_PER_MINUTE);
10171
+ remainingSeconds %= SECONDS_PER_MINUTE;
10172
+ var seconds = remainingSeconds;
10173
+ var parts = [];
10174
+ var partCount = 0;
10175
+ if (years > 0) {
10176
+ partCount++;
10177
+ }
10178
+ if (months > 0) {
10179
+ partCount++;
10180
+ }
10181
+ if (weeks > 0) {
10182
+ partCount++;
10183
+ }
10184
+ if (days > 0) {
10185
+ partCount++;
10100
10186
  }
10187
+ if (hours > 0) {
10188
+ partCount++;
10189
+ }
10190
+ if (minutes > 0) {
10191
+ partCount++;
10192
+ }
10193
+ if (seconds > 0) {
10194
+ partCount++;
10195
+ }
10196
+ if (years > 0) {
10197
+ parts.push("" + years + (partCount > 1 ? 'y' : years === 1 ? ' year' : ' years'));
10198
+ }
10199
+ if (months > 0) {
10200
+ parts.push("" + months + (partCount > 1 ? 'm' : months === 1 ? ' month' : ' months'));
10201
+ }
10202
+ if (weeks > 0) {
10203
+ parts.push("" + weeks + (partCount > 1 ? 'w' : weeks === 1 ? ' week' : ' weeks'));
10204
+ }
10205
+ if (days > 0) {
10206
+ parts.push("" + days + (partCount > 1 ? 'd' : days === 1 ? ' day' : ' days'));
10207
+ }
10208
+ if (hours > 0) {
10209
+ parts.push("" + hours + (partCount > 1 ? 'h' : hours === 1 ? ' hour' : ' hours'));
10210
+ }
10211
+ if (minutes > 0) {
10212
+ parts.push("" + minutes + (partCount > 1 ? 'm' : minutes === 1 ? ' minute' : ' minutes'));
10213
+ }
10214
+ if (seconds > 0) {
10215
+ parts.push("" + seconds + (partCount > 1 ? 's' : seconds === 1 ? ' second' : ' seconds'));
10216
+ }
10217
+ if (parts.length === 0) {
10218
+ return '0 seconds';
10219
+ }
10220
+ return parts.join(' ');
10101
10221
  };
10102
10222
 
10103
10223
  var GET_MESSAGES = 'GET_MESSAGES';
@@ -10131,10 +10251,7 @@ var queryDirection = {
10131
10251
  NEAR: 'near'
10132
10252
  };
10133
10253
 
10134
- function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend, isAddToPendingMessagesMap) {
10135
- if (isAddToPendingMessagesMap === void 0) {
10136
- isAddToPendingMessagesMap = true;
10137
- }
10254
+ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend) {
10138
10255
  return {
10139
10256
  type: SEND_MESSAGE,
10140
10257
  payload: {
@@ -10142,22 +10259,17 @@ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSep
10142
10259
  channelId: channelId,
10143
10260
  connectionState: connectionState,
10144
10261
  sendAttachmentsAsSeparateMessage: sendAttachmentsAsSeparateMessage,
10145
- isResend: isResend,
10146
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10262
+ isResend: isResend
10147
10263
  }
10148
10264
  };
10149
10265
  }
10150
- function sendTextMessageAC(message, channelId, connectionState, isAddToPendingMessagesMap) {
10151
- if (isAddToPendingMessagesMap === void 0) {
10152
- isAddToPendingMessagesMap = true;
10153
- }
10266
+ function sendTextMessageAC(message, channelId, connectionState) {
10154
10267
  return {
10155
10268
  type: SEND_TEXT_MESSAGE,
10156
10269
  payload: {
10157
10270
  message: message,
10158
10271
  channelId: channelId,
10159
- connectionState: connectionState,
10160
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10272
+ connectionState: connectionState
10161
10273
  }
10162
10274
  };
10163
10275
  }
@@ -10171,21 +10283,17 @@ function resendMessageAC(message, channelId, connectionState) {
10171
10283
  }
10172
10284
  };
10173
10285
  }
10174
- function forwardMessageAC(message, channelId, connectionState, isForward, isAddToPendingMessagesMap) {
10286
+ function forwardMessageAC(message, channelId, connectionState, isForward) {
10175
10287
  if (isForward === void 0) {
10176
10288
  isForward = true;
10177
10289
  }
10178
- if (isAddToPendingMessagesMap === void 0) {
10179
- isAddToPendingMessagesMap = true;
10180
- }
10181
10290
  return {
10182
10291
  type: FORWARD_MESSAGE,
10183
10292
  payload: {
10184
10293
  message: message,
10185
10294
  channelId: channelId,
10186
10295
  connectionState: connectionState,
10187
- isForward: isForward,
10188
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10296
+ isForward: isForward
10189
10297
  }
10190
10298
  };
10191
10299
  }
@@ -10902,7 +11010,7 @@ var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messa
10902
11010
  return messagesForAdd;
10903
11011
  };
10904
11012
  function setMessagesToMap(channelId, messages) {
10905
- if (!messagesMap[channelId]) {
11013
+ if (!messagesMap[channelId] || messages.length === 0) {
10906
11014
  messagesMap[channelId] = {};
10907
11015
  }
10908
11016
  messages.forEach(function (msg) {
@@ -10936,8 +11044,6 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
10936
11044
  updatedPendingMessages.forEach(function (msg) {
10937
11045
  store.dispatch(updatePendingMessageAC(channelId, msg.tid || msg.id, msg));
10938
11046
  });
10939
- } else {
10940
- store.dispatch(removePendingMessageAC(channelId, updatedMessage.messageId));
10941
11047
  }
10942
11048
  }
10943
11049
  var updatedMessageData = null;
@@ -18865,6 +18971,158 @@ var getFrame = function getFrame(videoSrc, time) {
18865
18971
  }
18866
18972
  };
18867
18973
 
18974
+ var processQueue = function processQueue(channelId) {
18975
+ try {
18976
+ var _temp4 = function _temp4() {
18977
+ queue.processing = false;
18978
+ log.info(new Date().toISOString() + " [ChannelQueue] Finished processing queue for channel: " + channelId);
18979
+ };
18980
+ var queue = getChannelQueue(channelId);
18981
+ if (queue.processing || queue.queue.length === 0) {
18982
+ return Promise.resolve();
18983
+ }
18984
+ queue.processing = true;
18985
+ log.info("[ChannelQueue] Starting to process queue for channel: " + channelId + ", queue length: " + queue.queue.length);
18986
+ var _temp3 = _for(function () {
18987
+ return queue.queue.length > 0;
18988
+ }, void 0, function () {
18989
+ var queuedTask = queue.queue.shift();
18990
+ var task = queuedTask.task,
18991
+ resolve = queuedTask.resolve,
18992
+ reject = queuedTask.reject,
18993
+ functionName = queuedTask.functionName,
18994
+ queuedAt = queuedTask.queuedAt;
18995
+ var waitTime = queuedAt ? Date.now() - queuedAt : 0;
18996
+ var functionInfo = functionName || 'unknown';
18997
+ log.info("[ChannelQueue] Executing request for channel: " + channelId + ", function: " + functionInfo + ", queue position: " + (queue.queue.length + 1) + ", waited: " + waitTime + "ms");
18998
+ var startTime = Date.now();
18999
+ return _catch(function () {
19000
+ var result = task();
19001
+ var _temp2 = function () {
19002
+ if (result && typeof result.then === 'function') {
19003
+ return Promise.resolve(result).then(function (value) {
19004
+ var duration = Date.now() - startTime;
19005
+ log.info(new Date().toISOString() + " [ChannelQueue] Request completed for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, remaining: " + queue.queue.length);
19006
+ resolve(value);
19007
+ });
19008
+ } else {
19009
+ var duration = Date.now() - startTime;
19010
+ log.info(new Date().toISOString() + " [ChannelQueue] Request completed (sync) for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, remaining: " + queue.queue.length);
19011
+ resolve(result);
19012
+ }
19013
+ }();
19014
+ if (_temp2 && _temp2.then) return _temp2.then(function () {});
19015
+ }, function (error) {
19016
+ var duration = Date.now() - startTime;
19017
+ log.error(new Date().toISOString() + " [ChannelQueue] Request failed for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, error:", error);
19018
+ reject(error);
19019
+ });
19020
+ });
19021
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
19022
+ } catch (e) {
19023
+ return Promise.reject(e);
19024
+ }
19025
+ };
19026
+ var channelQueues = new Map();
19027
+ function getChannelQueue(channelId) {
19028
+ if (!channelQueues.has(channelId)) {
19029
+ channelQueues.set(channelId, {
19030
+ channelId: channelId,
19031
+ queue: [],
19032
+ processing: false
19033
+ });
19034
+ }
19035
+ return channelQueues.get(channelId);
19036
+ }
19037
+ function queueChannelRequest(channelId, task, functionName) {
19038
+ return new Promise(function (resolve, reject) {
19039
+ var queue = getChannelQueue(channelId);
19040
+ var queuedTask = {
19041
+ task: task,
19042
+ resolve: resolve,
19043
+ reject: reject,
19044
+ functionName: functionName,
19045
+ queuedAt: Date.now()
19046
+ };
19047
+ queue.queue.push(queuedTask);
19048
+ log.info(new Date().toISOString() + " [ChannelQueue] Request queued for channel: " + channelId + ", \n function: " + (functionName || 'unknown') + ", queue length: " + queue.queue.length + ", processing: " + queue.processing);
19049
+ processQueue(channelId);
19050
+ });
19051
+ }
19052
+ function queuedChannelCall(channelId, fn) {
19053
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
19054
+ args[_key - 2] = arguments[_key];
19055
+ }
19056
+ var functionName = fn.name || fn.displayName || 'anonymous';
19057
+ var functionInfo = functionName + "(" + args.length + " args)";
19058
+ return queueChannelRequest(channelId, function () {
19059
+ try {
19060
+ var _exit = false;
19061
+ var result = fn.apply(void 0, args);
19062
+ var _temp = function () {
19063
+ if (result && typeof result.then === 'function') {
19064
+ return Promise.resolve(result).then(function (_await$result) {
19065
+ _exit = true;
19066
+ return _await$result;
19067
+ });
19068
+ }
19069
+ }();
19070
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function (_result) {
19071
+ return _exit ? _result : result;
19072
+ }) : _exit ? _temp : result);
19073
+ } catch (e) {
19074
+ return Promise.reject(e);
19075
+ }
19076
+ }, functionInfo);
19077
+ }
19078
+
19079
+ var SDKErrorTypeEnum = {
19080
+ BadRequest: {
19081
+ value: 'BadRequest',
19082
+ isResendable: false
19083
+ },
19084
+ BadParam: {
19085
+ value: 'BadParam',
19086
+ isResendable: false
19087
+ },
19088
+ NotFound: {
19089
+ value: 'NotFound',
19090
+ isResendable: false
19091
+ },
19092
+ NotAllowed: {
19093
+ value: 'NotAllowed',
19094
+ isResendable: false
19095
+ },
19096
+ TooLargeRequest: {
19097
+ value: 'TooLargeRequest',
19098
+ isResendable: false
19099
+ },
19100
+ InternalError: {
19101
+ value: 'InternalError',
19102
+ isResendable: true
19103
+ },
19104
+ TooManyRequests: {
19105
+ value: 'TooManyRequests',
19106
+ isResendable: true
19107
+ },
19108
+ Authentication: {
19109
+ value: 'Authentication',
19110
+ isResendable: true
19111
+ }
19112
+ };
19113
+ var fromValue = function fromValue(value) {
19114
+ if (!value) return null;
19115
+ var entries = Object.values(SDKErrorTypeEnum);
19116
+ return entries.find(function (entry) {
19117
+ return entry.value === value;
19118
+ }) || null;
19119
+ };
19120
+ var isResendableError = function isResendableError(value) {
19121
+ var _errorType$isResendab;
19122
+ var errorType = fromValue(value);
19123
+ return (_errorType$isResendab = errorType === null || errorType === void 0 ? void 0 : errorType.isResendable) != null ? _errorType$isResendab : true;
19124
+ };
19125
+
18868
19126
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
18869
19127
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
18870
19128
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -18980,20 +19238,20 @@ var handleUploadAttachments = function handleUploadAttachments(attachments, mess
18980
19238
  return Promise.reject(e);
18981
19239
  }
18982
19240
  };
18983
- var addPendingMessage = function addPendingMessage(message, messageCopy, channel) {
19241
+ var addPendingMessage = function addPendingMessage(message, messageCopy, channelId) {
18984
19242
  try {
18985
19243
  var messageToAdd = _extends({}, messageCopy, {
18986
19244
  createdAt: new Date(Date.now()),
18987
19245
  mentionedUsers: message.mentionedUsers,
18988
19246
  parentMessage: message.parentMessage
18989
19247
  });
18990
- setPendingMessage(channel.id, messageToAdd);
19248
+ setPendingMessage(channelId, messageToAdd);
18991
19249
  return Promise.resolve();
18992
19250
  } catch (e) {
18993
19251
  return Promise.reject(e);
18994
19252
  }
18995
19253
  };
18996
- var updateMessage$1 = function updateMessage(actionType, pending, channel, scrollToNewMessage) {
19254
+ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scrollToNewMessage, message) {
18997
19255
  if (scrollToNewMessage === void 0) {
18998
19256
  scrollToNewMessage = true;
18999
19257
  }
@@ -19004,39 +19262,41 @@ var updateMessage$1 = function updateMessage(actionType, pending, channel, scrol
19004
19262
  case 0:
19005
19263
  activeChannelId = getActiveChannelId();
19006
19264
  if (!(actionType !== RESEND_MESSAGE)) {
19007
- _context.n = 2;
19265
+ _context.n = 3;
19008
19266
  break;
19009
19267
  }
19010
- addMessageToMap(channel.id, pending);
19011
- if (activeChannelId === channel.id) {
19268
+ if (activeChannelId === channelId) {
19012
19269
  addAllMessages([pending], MESSAGE_LOAD_DIRECTION.NEXT);
19013
19270
  }
19014
- if (!(activeChannelId === channel.id)) {
19271
+ if (!(activeChannelId === channelId)) {
19015
19272
  _context.n = 1;
19016
19273
  break;
19017
19274
  }
19018
19275
  _context.n = 1;
19019
19276
  return effects.put(addMessageAC(pending));
19020
19277
  case 1:
19278
+ _context.n = 2;
19279
+ return effects.call(addPendingMessage, message, pending, channelId);
19280
+ case 2:
19021
19281
  if (!scrollToNewMessage) {
19022
- _context.n = 2;
19282
+ _context.n = 3;
19023
19283
  break;
19024
19284
  }
19025
- _context.n = 2;
19285
+ _context.n = 3;
19026
19286
  return effects.put(scrollToNewMessageAC(true, true));
19027
- case 2:
19287
+ case 3:
19028
19288
  return _context.a(2);
19029
19289
  }
19030
19290
  }, _callee);
19031
19291
  })();
19032
19292
  };
19033
19293
  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;
19294
+ 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
19295
  return _regenerator().w(function (_context4) {
19036
19296
  while (1) switch (_context4.p = _context4.n) {
19037
19297
  case 0:
19038
19298
  payload = action.payload;
19039
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19299
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage;
19040
19300
  pendingMessages = [];
19041
19301
  _context4.p = 1;
19042
19302
  _context4.n = 2;
@@ -19171,8 +19431,12 @@ function sendMessage(action) {
19171
19431
  createdAt: new Date(Date.now())
19172
19432
  });
19173
19433
  pendingMessages.push(_pending);
19434
+ if (!(action.type !== RESEND_MESSAGE)) {
19435
+ _context2.n = 1;
19436
+ break;
19437
+ }
19174
19438
  _context2.n = 1;
19175
- return effects.call(updateMessage$1, action.type, _pending, channel);
19439
+ return effects.call(updateMessage$1, action.type, _pending, channel.id, false, message);
19176
19440
  case 1:
19177
19441
  _context2.n = 3;
19178
19442
  break;
@@ -19220,8 +19484,12 @@ function sendMessage(action) {
19220
19484
  createdAt: new Date(Date.now())
19221
19485
  });
19222
19486
  pendingMessages.push(pending);
19487
+ if (!(action.type !== RESEND_MESSAGE)) {
19488
+ _context4.n = 11;
19489
+ break;
19490
+ }
19223
19491
  _context4.n = 11;
19224
- return effects.call(updateMessage$1, action.type, pending, channel);
19492
+ return effects.call(updateMessage$1, action.type, pending, channel.id, false, message);
19225
19493
  case 11:
19226
19494
  messageToSend = _extends({}, messageToSend, {
19227
19495
  attachments: attachmentsToSend
@@ -19229,7 +19497,7 @@ function sendMessage(action) {
19229
19497
  messagesToSend.push(messageToSend);
19230
19498
  case 12:
19231
19499
  _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;
19500
+ var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, activeChannelId, messageToUpdate, channelUpdateParam, isErrorResendable, _t;
19233
19501
  return _regenerator().w(function (_context3) {
19234
19502
  while (1) switch (_context3.p = _context3.n) {
19235
19503
  case 0:
@@ -19238,7 +19506,7 @@ function sendMessage(action) {
19238
19506
  _context3.p = 1;
19239
19507
  messageCopy = JSON.parse(JSON.stringify(messagesToSend[_i]));
19240
19508
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19241
- _context3.n = 12;
19509
+ _context3.n = 13;
19242
19510
  break;
19243
19511
  }
19244
19512
  _attachmentsToSend = messageAttachment;
@@ -19266,7 +19534,7 @@ function sendMessage(action) {
19266
19534
  });
19267
19535
  }
19268
19536
  _context3.n = 4;
19269
- return effects.call(channel.sendMessage, messageToSend);
19537
+ return effects.call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19270
19538
  case 4:
19271
19539
  messageResponse = _context3.v;
19272
19540
  if (!customUploader) {
@@ -19299,9 +19567,6 @@ function sendMessage(action) {
19299
19567
  _context3.n = 5;
19300
19568
  break;
19301
19569
  case 8:
19302
- if (action.type === RESEND_MESSAGE) {
19303
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19304
- }
19305
19570
  attachmentsToUpdate = [];
19306
19571
  if (messageResponse.attachments && messageResponse.attachments.length > 0) {
19307
19572
  currentAttachmentsMap = {};
@@ -19334,13 +19599,18 @@ function sendMessage(action) {
19334
19599
  createdAt: messageResponse.createdAt,
19335
19600
  channelId: channel.id
19336
19601
  };
19602
+ activeChannelId = getActiveChannelId();
19603
+ if (!(activeChannelId === channel.id)) {
19604
+ _context3.n = 9;
19605
+ break;
19606
+ }
19337
19607
  _context3.n = 9;
19338
- return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19608
+ return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19339
19609
  case 9:
19340
- updateMessageOnMap(channel.id, {
19341
- messageId: messageToSend.tid,
19342
- params: messageUpdateData
19343
- });
19610
+ _context3.n = 10;
19611
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
19612
+ case 10:
19613
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19344
19614
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19345
19615
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19346
19616
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19349,46 +19619,36 @@ function sendMessage(action) {
19349
19619
  lastReactedMessage: null
19350
19620
  };
19351
19621
  if (!channel.unread) {
19352
- _context3.n = 10;
19622
+ _context3.n = 11;
19353
19623
  break;
19354
19624
  }
19355
- _context3.n = 10;
19356
- return effects.put(markChannelAsReadAC(channel.id));
19357
- case 10:
19358
19625
  _context3.n = 11;
19359
- return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19626
+ return effects.put(markChannelAsReadAC(channel.id));
19360
19627
  case 11:
19628
+ _context3.n = 12;
19629
+ return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19630
+ case 12:
19361
19631
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19362
- _context3.n = 13;
19632
+ _context3.n = 14;
19363
19633
  break;
19364
- case 12:
19365
- throw new Error('Connection required to send message');
19366
19634
  case 13:
19635
+ throw new Error('Connection required to send message');
19636
+ case 14:
19367
19637
  _context3.n = 19;
19368
19638
  break;
19369
- case 14:
19370
- _context3.p = 14;
19639
+ case 15:
19640
+ _context3.p = 15;
19371
19641
  _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)) {
19642
+ isErrorResendable = isResendableError(_t === null || _t === void 0 ? void 0 : _t.type);
19643
+ if (isErrorResendable) {
19376
19644
  _context3.n = 17;
19377
19645
  break;
19378
19646
  }
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;
19647
+ _context3.n = 16;
19648
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
19389
19649
  case 16:
19390
- _context3.n = 17;
19391
- return effects.put(removePendingMessageAC(channel.id, pendingMessage.tid));
19650
+ _context3.n = 19;
19651
+ break;
19392
19652
  case 17:
19393
19653
  log.error('Error on uploading attachment', messageToSend.tid, _t);
19394
19654
  if (!(messageToSend.attachments && messageToSend.attachments.length)) {
@@ -19414,7 +19674,7 @@ function sendMessage(action) {
19414
19674
  case 19:
19415
19675
  return _context3.a(2);
19416
19676
  }
19417
- }, _callee3, null, [[1, 14]]);
19677
+ }, _callee3, null, [[1, 15]]);
19418
19678
  });
19419
19679
  _i = 0;
19420
19680
  case 13:
@@ -19446,12 +19706,12 @@ function sendMessage(action) {
19446
19706
  }, _marked$3, null, [[1, 16, 17, 19]]);
19447
19707
  }
19448
19708
  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;
19709
+ var payload, message, connectionState, channelId, channel, sendMessageTid, pendingMessage, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, activeChannelId, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId, _t3;
19450
19710
  return _regenerator().w(function (_context5) {
19451
19711
  while (1) switch (_context5.p = _context5.n) {
19452
19712
  case 0:
19453
19713
  payload = action.payload;
19454
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19714
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19455
19715
  _context5.n = 1;
19456
19716
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19457
19717
  case 1:
@@ -19465,8 +19725,8 @@ function sendTextMessage(action) {
19465
19725
  setChannelInMap(channel);
19466
19726
  }
19467
19727
  }
19728
+ sendMessageTid = null;
19468
19729
  pendingMessage = null;
19469
- activeChannelId = getActiveChannelId();
19470
19730
  _context5.p = 3;
19471
19731
  if (!channel.isMockChannel) {
19472
19732
  _context5.n = 6;
@@ -19526,11 +19786,15 @@ function sendTextMessage(action) {
19526
19786
  _context5.n = 8;
19527
19787
  break;
19528
19788
  }
19789
+ if (!(action.type !== RESEND_MESSAGE)) {
19790
+ _context5.n = 8;
19791
+ break;
19792
+ }
19529
19793
  _context5.n = 8;
19530
- return effects.call(updateMessage$1, action.type, pendingMessage, channel);
19794
+ return effects.call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19531
19795
  case 8:
19532
19796
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19533
- _context5.n = 16;
19797
+ _context5.n = 17;
19534
19798
  break;
19535
19799
  }
19536
19800
  if (!sendMessageHandler) {
@@ -19545,7 +19809,7 @@ function sendTextMessage(action) {
19545
19809
  break;
19546
19810
  case 10:
19547
19811
  _context5.n = 11;
19548
- return effects.call(channel.sendMessage, messageToSend);
19812
+ return effects.call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19549
19813
  case 11:
19550
19814
  messageResponse = _context5.v;
19551
19815
  case 12:
@@ -19566,19 +19830,20 @@ function sendTextMessage(action) {
19566
19830
  pollDetails: (_messageResponse = messageResponse) === null || _messageResponse === void 0 ? void 0 : _messageResponse.pollDetails,
19567
19831
  channelId: channel.id
19568
19832
  };
19833
+ activeChannelId = getActiveChannelId();
19569
19834
  if (!(activeChannelId === channel.id)) {
19570
19835
  _context5.n = 13;
19571
19836
  break;
19572
19837
  }
19573
19838
  _context5.n = 13;
19574
- return effects.put(updateMessageAC(messageToSend.tid, messageUpdateData));
19839
+ return effects.put(updateMessageAC(messageToSend.tid, messageUpdateData, true));
19575
19840
  case 13:
19576
- updateMessageOnMap(channel.id, {
19577
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19578
- params: messageUpdateData
19579
- });
19841
+ _context5.n = 14;
19842
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
19843
+ case 14:
19844
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19580
19845
  if (activeChannelId === channel.id) {
19581
- updateMessageOnAllMessages(!isAddToPendingMessagesMap ? message.tid : messageToSend.tid, messageUpdateData);
19846
+ updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19582
19847
  }
19583
19848
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19584
19849
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19586,57 +19851,52 @@ function sendTextMessage(action) {
19586
19851
  lastMessage: messageToUpdate,
19587
19852
  lastReactedMessage: null
19588
19853
  };
19589
- _context5.n = 14;
19854
+ _context5.n = 15;
19590
19855
  return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19591
- case 14:
19856
+ case 15:
19592
19857
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19593
19858
  if (!channel.unread) {
19594
- _context5.n = 15;
19859
+ _context5.n = 16;
19595
19860
  break;
19596
19861
  }
19597
- _context5.n = 15;
19862
+ _context5.n = 16;
19598
19863
  return effects.put(markChannelAsReadAC(channel.id));
19599
- case 15:
19864
+ case 16:
19600
19865
  channel.lastMessage = messageToUpdate;
19601
- if (action.type === RESEND_MESSAGE) {
19602
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19603
- }
19604
- _context5.n = 17;
19866
+ _context5.n = 18;
19605
19867
  break;
19606
- case 16:
19607
- throw new Error('Connection required to send message');
19608
19868
  case 17:
19869
+ throw new Error('Connection required to send message');
19870
+ case 18:
19609
19871
  _context5.n = 22;
19610
19872
  break;
19611
- case 18:
19612
- _context5.p = 18;
19873
+ case 19:
19874
+ _context5.p = 19;
19613
19875
  _t3 = _context5.v;
19614
- if (!(activeChannelId === channel.id && pendingMessage && action.type !== RESEND_MESSAGE)) {
19876
+ log.error('error on send text message ... ', _t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19877
+ isErrorResendable = isResendableError(_t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19878
+ if (!(!isErrorResendable && channel.id && sendMessageTid)) {
19615
19879
  _context5.n = 21;
19616
19880
  break;
19617
19881
  }
19618
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19619
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19620
- _context5.n = 20;
19621
- break;
19622
- }
19623
- _context5.n = 19;
19624
- return effects.call(addPendingMessage, message, pendingMessage, channel);
19625
- case 19:
19626
- _context5.n = 21;
19627
- break;
19882
+ _context5.n = 20;
19883
+ return effects.put(removePendingMessageAC(channel.id, sendMessageTid));
19628
19884
  case 20:
19629
- _context5.n = 21;
19630
- return effects.put(removePendingMessageAC(channel.id, pendingMessage.tid));
19885
+ _context5.n = 22;
19886
+ break;
19631
19887
  case 21:
19632
- log.error('error on send text message ... ', _t3);
19888
+ if (!(channel.id && sendMessageTid)) {
19889
+ _context5.n = 22;
19890
+ break;
19891
+ }
19633
19892
  updateMessageOnMap(channel.id, {
19634
19893
  messageId: sendMessageTid,
19635
19894
  params: {
19636
19895
  state: MESSAGE_STATUS.FAILED
19637
19896
  }
19638
19897
  });
19639
- if (!(activeChannelId === channel.id)) {
19898
+ _activeChannelId = getActiveChannelId();
19899
+ if (!(_activeChannelId === channel.id)) {
19640
19900
  _context5.n = 22;
19641
19901
  break;
19642
19902
  }
@@ -19656,15 +19916,15 @@ function sendTextMessage(action) {
19656
19916
  case 24:
19657
19917
  return _context5.a(2);
19658
19918
  }
19659
- }, _marked2$2, null, [[3, 18, 22, 24]]);
19919
+ }, _marked2$2, null, [[3, 19, 22, 24]]);
19660
19920
  }
19661
19921
  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;
19922
+ 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
19923
  return _regenerator().w(function (_context6) {
19664
19924
  while (1) switch (_context6.p = _context6.n) {
19665
19925
  case 0:
19666
19926
  payload = action.payload;
19667
- message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19927
+ message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward;
19668
19928
  pendingMessage = null;
19669
19929
  channel = null;
19670
19930
  activeChannelId = getActiveChannelId();
@@ -19707,7 +19967,7 @@ function forwardMessage(action) {
19707
19967
  }) : [];
19708
19968
  attachments = message.attachments;
19709
19969
  if ((channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC) && !(channel.userRole === 'admin' || channel.userRole === 'owner')) {
19710
- _context6.n = 16;
19970
+ _context6.n = 17;
19711
19971
  break;
19712
19972
  }
19713
19973
  if (message.attachments && message.attachments.length) {
@@ -19734,7 +19994,7 @@ function forwardMessage(action) {
19734
19994
  };
19735
19995
  }
19736
19996
  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();
19997
+ messageToSend = action.type === RESEND_MESSAGE ? action.payload.message : messageBuilder.create();
19738
19998
  messageToSend.tid = action.type === RESEND_MESSAGE ? action.payload.message.tid : messageToSend.tid;
19739
19999
  messageTid = messageToSend.tid;
19740
20000
  pendingMessage = _extends({}, messageToSend, {
@@ -19770,15 +20030,19 @@ function forwardMessage(action) {
19770
20030
  _context6.n = 9;
19771
20031
  break;
19772
20032
  }
20033
+ if (!(action.type !== RESEND_MESSAGE)) {
20034
+ _context6.n = 9;
20035
+ break;
20036
+ }
19773
20037
  _context6.n = 9;
19774
- return effects.call(updateMessage$1, action.type, pendingMessage, channel, false);
20038
+ return effects.call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19775
20039
  case 9:
19776
20040
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19777
- _context6.n = 15;
20041
+ _context6.n = 16;
19778
20042
  break;
19779
20043
  }
19780
20044
  _context6.n = 10;
19781
- return effects.call(channel.sendMessage, messageToSend);
20045
+ return effects.call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19782
20046
  case 10:
19783
20047
  messageResponse = _context6.v;
19784
20048
  messageUpdateData = {
@@ -19800,61 +20064,55 @@ function forwardMessage(action) {
19800
20064
  break;
19801
20065
  }
19802
20066
  _context6.n = 11;
19803
- return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
20067
+ return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19804
20068
  case 11:
19805
20069
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19806
20070
  case 12:
19807
- if (action.type === RESEND_MESSAGE) {
19808
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
20071
+ if (!messageToSend.tid) {
20072
+ _context6.n = 13;
20073
+ break;
19809
20074
  }
19810
- updateMessageOnMap(channel.id, {
19811
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19812
- params: messageUpdateData
19813
- });
20075
+ _context6.n = 13;
20076
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
20077
+ case 13:
20078
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19814
20079
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19815
20080
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19816
20081
  channelUpdateParam = {
19817
20082
  lastMessage: messageToUpdate,
19818
20083
  lastReactedMessage: null
19819
20084
  };
19820
- _context6.n = 13;
20085
+ _context6.n = 14;
19821
20086
  return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19822
- case 13:
20087
+ case 14:
19823
20088
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19824
20089
  if (!channel.unread) {
19825
- _context6.n = 14;
20090
+ _context6.n = 15;
19826
20091
  break;
19827
20092
  }
19828
- _context6.n = 14;
20093
+ _context6.n = 15;
19829
20094
  return effects.put(markChannelAsReadAC(channel.id));
19830
- case 14:
19831
- _context6.n = 16;
19832
- break;
19833
20095
  case 15:
19834
- throw new Error('Connection required to forward message');
20096
+ _context6.n = 17;
20097
+ break;
19835
20098
  case 16:
20099
+ throw new Error('Connection required to forward message');
20100
+ case 17:
19836
20101
  _context6.n = 22;
19837
20102
  break;
19838
- case 17:
19839
- _context6.p = 17;
20103
+ case 18:
20104
+ _context6.p = 18;
19840
20105
  _t4 = _context6.v;
19841
- if (!(pendingMessage && channel && action.type !== RESEND_MESSAGE)) {
20106
+ isErrorResendable = isResendableError(_t4 === null || _t4 === void 0 ? void 0 : _t4.type);
20107
+ if (isErrorResendable) {
19842
20108
  _context6.n = 20;
19843
20109
  break;
19844
20110
  }
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;
20111
+ _context6.n = 19;
20112
+ return effects.put(removePendingMessageAC(channel.id, messageTid));
19855
20113
  case 19:
19856
- _context6.n = 20;
19857
- return effects.put(removePendingMessageAC(channel.id, pendingMessage.tid));
20114
+ _context6.n = 21;
20115
+ break;
19858
20116
  case 20:
19859
20117
  if (!(channel && messageTid)) {
19860
20118
  _context6.n = 21;
@@ -19866,7 +20124,8 @@ function forwardMessage(action) {
19866
20124
  state: MESSAGE_STATUS.FAILED
19867
20125
  }
19868
20126
  });
19869
- if (!(activeChannelId === channel.id)) {
20127
+ _activeChannelId2 = getActiveChannelId();
20128
+ if (!(_activeChannelId2 === channel.id)) {
19870
20129
  _context6.n = 21;
19871
20130
  break;
19872
20131
  }
@@ -19888,25 +20147,67 @@ function forwardMessage(action) {
19888
20147
  case 24:
19889
20148
  return _context6.a(2);
19890
20149
  }
19891
- }, _marked3$1, null, [[1, 17, 22, 24]]);
20150
+ }, _marked3$1, null, [[1, 18, 22, 24]]);
19892
20151
  }
19893
20152
  function resendMessage(action) {
19894
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isVoiceMessage;
20153
+ var _message$attachments;
20154
+ var payload, message, connectionState, channelId, attachments, sendAttachmentsAsSeparateMessage, isVoiceMessage;
19895
20155
  return _regenerator().w(function (_context7) {
19896
20156
  while (1) switch (_context7.n) {
19897
20157
  case 0:
19898
20158
  payload = action.payload;
19899
20159
  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));
20160
+ attachments = message === null || message === void 0 ? void 0 : (_message$attachments = message.attachments) === null || _message$attachments === void 0 ? void 0 : _message$attachments.filter(function (att) {
20161
+ return (att === null || att === void 0 ? void 0 : att.type) !== attachmentTypes.link;
20162
+ });
20163
+ if (!message.forwardingDetails) {
20164
+ _context7.n = 2;
20165
+ break;
19908
20166
  }
20167
+ _context7.n = 1;
20168
+ return effects.call(forwardMessage, {
20169
+ type: RESEND_MESSAGE,
20170
+ payload: {
20171
+ message: message,
20172
+ connectionState: connectionState,
20173
+ channelId: channelId,
20174
+ isForward: false
20175
+ }
20176
+ });
19909
20177
  case 1:
20178
+ _context7.n = 5;
20179
+ break;
20180
+ case 2:
20181
+ if (!(attachments && attachments.length)) {
20182
+ _context7.n = 4;
20183
+ break;
20184
+ }
20185
+ sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
20186
+ isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
20187
+ _context7.n = 3;
20188
+ return effects.call(sendMessage, {
20189
+ type: RESEND_MESSAGE,
20190
+ payload: {
20191
+ message: message,
20192
+ connectionState: connectionState,
20193
+ channelId: channelId,
20194
+ sendAttachmentsAsSeparateMessage: isVoiceMessage ? false : sendAttachmentsAsSeparateMessage
20195
+ }
20196
+ });
20197
+ case 3:
20198
+ _context7.n = 5;
20199
+ break;
20200
+ case 4:
20201
+ _context7.n = 5;
20202
+ return effects.call(sendTextMessage, {
20203
+ type: RESEND_MESSAGE,
20204
+ payload: {
20205
+ message: message,
20206
+ connectionState: connectionState,
20207
+ channelId: channelId
20208
+ }
20209
+ });
20210
+ case 5:
19910
20211
  return _context7.a(2);
19911
20212
  }
19912
20213
  }, _marked4$1);
@@ -19930,7 +20231,7 @@ function deleteMessage(action) {
19930
20231
  }
19931
20232
  }
19932
20233
  _context8.n = 2;
19933
- return effects.call(channel.deleteMessageById, messageId, deleteOption === 'forMe');
20234
+ return effects.call(queuedChannelCall, channel.id, channel.deleteMessageById, messageId, deleteOption === 'forMe');
19934
20235
  case 2:
19935
20236
  deletedMessage = _context8.v;
19936
20237
  _context8.n = 3;
@@ -19995,7 +20296,7 @@ function editMessage(action) {
19995
20296
  message.attachments = [].concat(anotherAttachments, linkAttachmentsToSend);
19996
20297
  }
19997
20298
  _context9.n = 2;
19998
- return effects.call(channel.editMessage, _extends({}, message, {
20299
+ return effects.call(queuedChannelCall, channel.id, channel.editMessage, _extends({}, message, {
19999
20300
  metadata: isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata),
20000
20301
  attachments: message.attachments.map(function (att) {
20001
20302
  return _extends({}, att, {
@@ -20068,8 +20369,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20068
20369
  message: msg,
20069
20370
  connectionState: connectionState,
20070
20371
  channelId: channelId,
20071
- isForward: true,
20072
- isAddToPendingMessagesMap: false
20372
+ isForward: true
20073
20373
  }
20074
20374
  });
20075
20375
  case 4:
@@ -20087,9 +20387,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20087
20387
  message: msg,
20088
20388
  connectionState: connectionState,
20089
20389
  channelId: channelId,
20090
- sendAttachmentsAsSeparateMessage: false,
20091
- isResend: true,
20092
- isAddToPendingMessagesMap: false
20390
+ sendAttachmentsAsSeparateMessage: false
20093
20391
  }
20094
20392
  });
20095
20393
  case 6:
@@ -20102,8 +20400,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20102
20400
  payload: {
20103
20401
  message: msg,
20104
20402
  connectionState: connectionState,
20105
- channelId: channelId,
20106
- isAddToPendingMessagesMap: false
20403
+ channelId: channelId
20107
20404
  }
20108
20405
  });
20109
20406
  case 8:
@@ -20133,24 +20430,11 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20133
20430
  }, _callee4, null, [[3, 9]]);
20134
20431
  });
20135
20432
  var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20136
- var _messages, _Object$values;
20137
- var previousAllMessages, messages, lastMessageId, setMappedAllMessages, allMessagesAfterLastMessage;
20433
+ var messages;
20138
20434
  return _regenerator().w(function (_context1) {
20139
20435
  while (1) switch (_context1.n) {
20140
20436
  case 0:
20141
- previousAllMessages = getAllMessages();
20142
20437
  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
20438
  setMessagesToMap(channel.id, messages);
20155
20439
  setAllMessages(messages);
20156
20440
  _context1.n = 1;
@@ -20160,8 +20444,23 @@ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, up
20160
20444
  }
20161
20445
  }, _callee5);
20162
20446
  });
20447
+ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20448
+ var filteredPendingMessages = [];
20449
+ var activeChannelId = getActiveChannelId();
20450
+ var pendingMessages = JSON.parse(JSON.stringify(getPendingMessages(activeChannelId) || []));
20451
+ if (pendingMessages && pendingMessages.length) {
20452
+ var messagesMap = {};
20453
+ messages.forEach(function (msg) {
20454
+ messagesMap[msg.tid || ''] = msg;
20455
+ });
20456
+ filteredPendingMessages = pendingMessages.filter(function (msg) {
20457
+ return !messagesMap[msg.tid || ''];
20458
+ });
20459
+ }
20460
+ return filteredPendingMessages;
20461
+ };
20163
20462
  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;
20463
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, queueResult, parsedMessages, _filteredPendingMessages, updatedMessages, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1;
20165
20464
  return _regenerator().w(function (_context10) {
20166
20465
  while (1) switch (_context10.p = _context10.n) {
20167
20466
  case 0:
@@ -20172,7 +20471,7 @@ function getMessagesQuery(action) {
20172
20471
  _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;
20173
20472
  connectionState = store.getState().UserReducer.connectionStatus;
20174
20473
  if (!(channel.id && !channel.isMockChannel)) {
20175
- _context10.n = 76;
20474
+ _context10.n = 51;
20176
20475
  break;
20177
20476
  }
20178
20477
  SceytChatClient = getClient();
@@ -20202,13 +20501,13 @@ function getMessagesQuery(action) {
20202
20501
  hasNext: false
20203
20502
  };
20204
20503
  if (!loadWithLastMessage) {
20205
- _context10.n = 19;
20504
+ _context10.n = 15;
20206
20505
  break;
20207
20506
  }
20208
20507
  allMessages = getAllMessages();
20209
20508
  havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
20210
20509
  if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
20211
- _context10.n = 14;
20510
+ _context10.n = 10;
20212
20511
  break;
20213
20512
  }
20214
20513
  setHasPrevCached(false);
@@ -20219,43 +20518,41 @@ function getMessagesQuery(action) {
20219
20518
  break;
20220
20519
  }
20221
20520
  _context10.n = 5;
20222
- return effects.call(messageQuery.loadPreviousMessageId, '0');
20521
+ return effects.call(queuedChannelCall, channel.id, function () {
20522
+ try {
20523
+ return Promise.resolve(messageQuery.loadPreviousMessageId('0')).then(function (firstResult) {
20524
+ var _exit = false;
20525
+ var _temp7 = function () {
20526
+ if (firstResult.messages.length === 50) {
20527
+ messageQuery.limit = 30;
20528
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20529
+ var _messages$hasNext = {
20530
+ messages: [].concat(secondResult.messages, firstResult.messages),
20531
+ hasNext: secondResult.hasNext
20532
+ };
20533
+ _exit = true;
20534
+ return _messages$hasNext;
20535
+ });
20536
+ }
20537
+ }();
20538
+ return _temp7 && _temp7.then ? _temp7.then(function (_result) {
20539
+ return _exit ? _result : firstResult;
20540
+ }) : _exit ? _temp7 : firstResult;
20541
+ });
20542
+ } catch (e) {
20543
+ return Promise.reject(e);
20544
+ }
20545
+ });
20223
20546
  case 5:
20224
- _t1 = _context10.v;
20547
+ result = _context10.v;
20225
20548
  _context10.n = 7;
20226
20549
  break;
20227
20550
  case 6:
20228
- _t1 = {
20551
+ result = {
20229
20552
  messages: [],
20230
20553
  hasNext: false
20231
20554
  };
20232
20555
  case 7:
20233
- result = _t1;
20234
- if (!(result.messages.length === 50)) {
20235
- _context10.n = 11;
20236
- break;
20237
- }
20238
- messageQuery.limit = 30;
20239
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20240
- _context10.n = 9;
20241
- break;
20242
- }
20243
- _context10.n = 8;
20244
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20245
- case 8:
20246
- _t10 = _context10.v;
20247
- _context10.n = 10;
20248
- break;
20249
- case 9:
20250
- _t10 = {
20251
- messages: [],
20252
- hasNext: false
20253
- };
20254
- case 10:
20255
- secondResult = _t10;
20256
- result.messages = [].concat(secondResult.messages, result.messages);
20257
- result.hasNext = secondResult.hasNext;
20258
- case 11:
20259
20556
  sentMessages = [];
20260
20557
  if (withDeliveredMessages) {
20261
20558
  sentMessages = getFromAllMessagesByMessageId('', '', true);
@@ -20268,40 +20565,40 @@ function getMessagesQuery(action) {
20268
20565
  return !messagesMap[msg.tid || ''];
20269
20566
  });
20270
20567
  result.messages = [].concat(result.messages, filteredSentMessages).slice(filteredSentMessages.length);
20271
- _context10.n = 12;
20568
+ _context10.n = 8;
20272
20569
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20273
- case 12:
20570
+ case 8:
20274
20571
  setMessagesToMap(channel.id, result.messages);
20275
20572
  setAllMessages(result.messages);
20276
- _context10.n = 13;
20573
+ _context10.n = 9;
20277
20574
  return effects.put(setMessagesHasPrevAC(true));
20278
- case 13:
20279
- _context10.n = 16;
20575
+ case 9:
20576
+ _context10.n = 12;
20280
20577
  break;
20281
- case 14:
20578
+ case 10:
20282
20579
  result.messages = getFromAllMessagesByMessageId('', '', true);
20283
- _context10.n = 15;
20580
+ _context10.n = 11;
20284
20581
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20285
- case 15:
20286
- _context10.n = 16;
20582
+ case 11:
20583
+ _context10.n = 12;
20287
20584
  return effects.put(setMessagesHasPrevAC(true));
20288
- case 16:
20289
- _context10.n = 17;
20585
+ case 12:
20586
+ _context10.n = 13;
20290
20587
  return effects.put(setMessagesHasNextAC(false));
20291
- case 17:
20588
+ case 13:
20292
20589
  setHasNextCached(false);
20293
20590
  if (!(messageId && scrollToMessage)) {
20294
- _context10.n = 18;
20591
+ _context10.n = 14;
20295
20592
  break;
20296
20593
  }
20297
- _context10.n = 18;
20594
+ _context10.n = 14;
20298
20595
  return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
20299
- case 18:
20300
- _context10.n = 72;
20596
+ case 14:
20597
+ _context10.n = 44;
20301
20598
  break;
20302
- case 19:
20599
+ case 15:
20303
20600
  if (!messageId) {
20304
- _context10.n = 38;
20601
+ _context10.n = 29;
20305
20602
  break;
20306
20603
  }
20307
20604
  _allMessages = getAllMessages();
@@ -20310,302 +20607,258 @@ function getMessagesQuery(action) {
20310
20607
  });
20311
20608
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
20312
20609
  if (!(messageIndex >= maxLengthPart)) {
20313
- _context10.n = 22;
20610
+ _context10.n = 18;
20314
20611
  break;
20315
20612
  }
20316
20613
  result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20317
- _context10.n = 20;
20614
+ _context10.n = 16;
20318
20615
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20319
- case 20:
20616
+ case 16:
20320
20617
  setHasPrevCached(messageIndex > maxLengthPart);
20321
20618
  setHasNextCached(_allMessages.length > maxLengthPart);
20322
- _context10.n = 21;
20619
+ _context10.n = 17;
20323
20620
  return effects.put(setMessagesHasPrevAC(true));
20324
- case 21:
20325
- _context10.n = 34;
20621
+ case 17:
20622
+ _context10.n = 25;
20326
20623
  break;
20327
- case 22:
20624
+ case 18:
20328
20625
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20329
20626
  log.info('load by message id from server ...............', messageId);
20330
20627
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20331
- _context10.n = 24;
20332
- break;
20333
- }
20334
- _context10.n = 23;
20335
- return effects.call(messageQuery.loadNearMessageId, messageId);
20336
- case 23:
20337
- _t11 = _context10.v;
20338
- _context10.n = 25;
20339
- break;
20340
- case 24:
20341
- _t11 = {
20342
- messages: [],
20343
- hasNext: false
20344
- };
20345
- case 25:
20346
- result = _t11;
20347
- if (!(result.messages.length === 50)) {
20348
- _context10.n = 32;
20628
+ _context10.n = 22;
20349
20629
  break;
20350
20630
  }
20351
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20352
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20353
- _context10.n = 27;
20631
+ _context10.n = 19;
20632
+ return effects.call(queuedChannelCall, channel.id, function () {
20633
+ try {
20634
+ return Promise.resolve(messageQuery.loadNearMessageId(messageId)).then(function (firstResult) {
20635
+ var _exit2 = false;
20636
+ var _temp8 = function () {
20637
+ if (firstResult.messages.length === 50) {
20638
+ messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20639
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20640
+ messageQuery.reverse = false;
20641
+ return Promise.resolve(messageQuery.loadNextMessageId(firstResult.messages[firstResult.messages.length - 1].id)).then(function (thirdResult) {
20642
+ messageQuery.reverse = true;
20643
+ var _messages$hasNext$sec = {
20644
+ messages: [].concat(secondResult.messages, firstResult.messages, thirdResult.messages),
20645
+ hasNext: secondResult.hasNext,
20646
+ secondResultHasNext: secondResult.hasNext
20647
+ };
20648
+ _exit2 = true;
20649
+ return _messages$hasNext$sec;
20650
+ });
20651
+ });
20652
+ }
20653
+ }();
20654
+ return _temp8 && _temp8.then ? _temp8.then(function (_result2) {
20655
+ return _exit2 ? _result2 : firstResult;
20656
+ }) : _exit2 ? _temp8 : firstResult;
20657
+ });
20658
+ } catch (e) {
20659
+ return Promise.reject(e);
20660
+ }
20661
+ });
20662
+ case 19:
20663
+ queueResult = _context10.v;
20664
+ result = queueResult;
20665
+ if (!(result.messages.length === 50 && result.secondResultHasNext !== undefined)) {
20666
+ _context10.n = 21;
20354
20667
  break;
20355
20668
  }
20356
- _context10.n = 26;
20357
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20358
- case 26:
20359
- _t12 = _context10.v;
20360
- _context10.n = 28;
20361
- break;
20362
- case 27:
20363
- _t12 = {
20364
- messages: [],
20365
- hasNext: false
20669
+ _context10.n = 20;
20670
+ return effects.put(setMessagesHasPrevAC(result.secondResultHasNext));
20671
+ case 20:
20672
+ result = {
20673
+ messages: result.messages,
20674
+ hasNext: result.hasNext
20366
20675
  };
20367
- case 28:
20368
- _secondResult = _t12;
20369
- messageQuery.reverse = false;
20370
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20371
- _context10.n = 30;
20372
- break;
20373
- }
20374
- _context10.n = 29;
20375
- return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20376
- case 29:
20377
- _t13 = _context10.v;
20378
- _context10.n = 31;
20676
+ case 21:
20677
+ _context10.n = 23;
20379
20678
  break;
20380
- case 30:
20381
- _t13 = {
20679
+ case 22:
20680
+ result = {
20382
20681
  messages: [],
20383
20682
  hasNext: false
20384
20683
  };
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;
20684
+ case 23:
20685
+ _context10.n = 24;
20394
20686
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20395
- case 33:
20687
+ case 24:
20396
20688
  setMessagesToMap(channel.id, result.messages);
20397
20689
  setAllMessages([].concat(result.messages));
20398
20690
  setHasPrevCached(false);
20399
20691
  setHasNextCached(false);
20400
- case 34:
20401
- _context10.n = 35;
20692
+ case 25:
20693
+ _context10.n = 26;
20402
20694
  return effects.put(setMessagesHasNextAC(true));
20403
- case 35:
20695
+ case 26:
20404
20696
  if (!scrollToMessage) {
20405
- _context10.n = 36;
20697
+ _context10.n = 27;
20406
20698
  break;
20407
20699
  }
20408
- _context10.n = 36;
20700
+ _context10.n = 27;
20409
20701
  return effects.put(setScrollToMessagesAC(messageId, true, behavior));
20410
- case 36:
20411
- _context10.n = 37;
20702
+ case 27:
20703
+ _context10.n = 28;
20412
20704
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20413
- case 37:
20414
- _context10.n = 72;
20705
+ case 28:
20706
+ _context10.n = 44;
20415
20707
  break;
20416
- case 38:
20708
+ case 29:
20417
20709
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20418
- _context10.n = 61;
20710
+ _context10.n = 36;
20419
20711
  break;
20420
20712
  }
20421
20713
  setMessagesToMap(channel.id, []);
20422
20714
  setAllMessages([]);
20423
20715
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20424
- if (!Number(channel.lastDisplayedMessageId)) {
20425
- _context10.n = 50;
20426
- break;
20427
- }
20428
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20429
- _context10.n = 40;
20430
- break;
20431
- }
20432
- _context10.n = 39;
20433
- return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20434
- case 39:
20435
- _t14 = _context10.v;
20436
- _context10.n = 41;
20437
- break;
20438
- case 40:
20439
- _t14 = {
20440
- messages: [],
20441
- hasNext: false
20442
- };
20443
- case 41:
20444
- result = _t14;
20445
- if (!(result.messages.length === 50)) {
20446
- _context10.n = 49;
20447
- break;
20448
- }
20449
- messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20450
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20451
- _context10.n = 43;
20452
- break;
20453
- }
20454
- _context10.n = 42;
20455
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20456
- case 42:
20457
- _t15 = _context10.v;
20458
- _context10.n = 44;
20459
- break;
20460
- case 43:
20461
- _t15 = {
20462
- messages: [],
20463
- hasNext: false
20464
- };
20465
- case 44:
20466
- _secondResult2 = _t15;
20467
- if (!(channel.newMessageCount > 25)) {
20468
- _context10.n = 48;
20469
- break;
20470
- }
20471
- messageQuery.reverse = false;
20472
20716
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20473
- _context10.n = 46;
20717
+ _context10.n = 31;
20474
20718
  break;
20475
20719
  }
20476
- _context10.n = 45;
20477
- return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20478
- case 45:
20479
- _t16 = _context10.v;
20480
- _context10.n = 47;
20481
- break;
20482
- case 46:
20483
- _t16 = {
20484
- messages: [],
20485
- hasNext: false
20486
- };
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;
20497
- break;
20498
- case 50:
20499
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20500
- _context10.n = 52;
20501
- break;
20502
- }
20503
- _context10.n = 51;
20504
- return effects.call(messageQuery.loadPrevious);
20505
- case 51:
20506
- _t17 = _context10.v;
20507
- _context10.n = 53;
20508
- break;
20509
- case 52:
20510
- _t17 = {
20511
- messages: [],
20512
- hasNext: false
20513
- };
20514
- case 53:
20515
- 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;
20720
+ _context10.n = 30;
20721
+ return effects.call(queuedChannelCall, channel.id, function () {
20722
+ try {
20723
+ if (Number(channel.lastDisplayedMessageId)) {
20724
+ return Promise.resolve(messageQuery.loadNearMessageId(channel.lastDisplayedMessageId)).then(function (firstResult) {
20725
+ var _exit3 = false;
20726
+ var _temp9 = function () {
20727
+ if (firstResult.messages.length === 50) {
20728
+ messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20729
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20730
+ if (channel.newMessageCount > 25) {
20731
+ messageQuery.reverse = false;
20732
+ return Promise.resolve(messageQuery.loadNextMessageId(firstResult.messages[firstResult.messages.length - 1].id)).then(function (thirdResult) {
20733
+ messageQuery.reverse = true;
20734
+ var _messages$hasNext2 = {
20735
+ messages: [].concat(secondResult.messages, firstResult.messages, thirdResult.messages),
20736
+ hasNext: secondResult.hasNext
20737
+ };
20738
+ _exit3 = true;
20739
+ return _messages$hasNext2;
20740
+ });
20741
+ } else {
20742
+ var _messages$hasNext3 = {
20743
+ messages: [].concat(secondResult.messages, firstResult.messages),
20744
+ hasNext: secondResult.hasNext
20745
+ };
20746
+ _exit3 = true;
20747
+ return _messages$hasNext3;
20748
+ }
20749
+ });
20750
+ }
20751
+ }();
20752
+ return _temp9 && _temp9.then ? _temp9.then(function (_result3) {
20753
+ return _exit3 ? _result3 : firstResult;
20754
+ }) : _exit3 ? _temp9 : firstResult;
20755
+ });
20756
+ } else {
20757
+ return Promise.resolve(messageQuery.loadPrevious()).then(function (firstResult) {
20758
+ var _exit4 = false;
20759
+ var _temp0 = function () {
20760
+ if (firstResult.messages.length === 50) {
20761
+ messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20762
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20763
+ var _messages$hasNext4 = {
20764
+ messages: [].concat(secondResult.messages, firstResult.messages),
20765
+ hasNext: secondResult.hasNext
20766
+ };
20767
+ _exit4 = true;
20768
+ return _messages$hasNext4;
20769
+ });
20770
+ }
20771
+ }();
20772
+ return _temp0 && _temp0.then ? _temp0.then(function (_result4) {
20773
+ return _exit4 ? _result4 : firstResult;
20774
+ }) : _exit4 ? _temp0 : firstResult;
20775
+ });
20776
+ }
20777
+ } catch (e) {
20778
+ return Promise.reject(e);
20779
+ }
20780
+ });
20781
+ case 30:
20782
+ result = _context10.v;
20783
+ _context10.n = 32;
20530
20784
  break;
20531
- case 55:
20532
- _t18 = {
20785
+ case 31:
20786
+ result = {
20533
20787
  messages: [],
20534
20788
  hasNext: false
20535
20789
  };
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;
20790
+ case 32:
20791
+ _context10.n = 33;
20542
20792
  return effects.put(setMessagesHasPrevAC(true));
20543
- case 58:
20544
- _context10.n = 59;
20793
+ case 33:
20794
+ _context10.n = 34;
20545
20795
  return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20546
- case 59:
20796
+ case 34:
20547
20797
  setMessagesToMap(channel.id, result.messages);
20548
20798
  setAllMessages([].concat(result.messages));
20549
- _context10.n = 60;
20799
+ _context10.n = 35;
20550
20800
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20551
- case 60:
20552
- _context10.n = 72;
20801
+ case 35:
20802
+ _context10.n = 44;
20553
20803
  break;
20554
- case 61:
20804
+ case 36:
20555
20805
  setMessagesToMap(channel.id, []);
20556
20806
  setAllMessages([]);
20557
20807
  if (!(cachedMessages && cachedMessages.length)) {
20558
- _context10.n = 62;
20808
+ _context10.n = 38;
20559
20809
  break;
20560
20810
  }
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:
20811
+ parsedMessages = JSON.parse(JSON.stringify(cachedMessages));
20812
+ setMessagesToMap(channel.id, parsedMessages);
20813
+ setAllMessages(parsedMessages);
20814
+ _context10.n = 37;
20815
+ return effects.put(setMessagesAC(parsedMessages));
20816
+ case 37:
20817
+ _filteredPendingMessages = getFilteredPendingMessages(parsedMessages);
20818
+ _context10.n = 38;
20819
+ return effects.put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20820
+ case 38:
20566
20821
  log.info('load message from server');
20567
20822
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20568
- _context10.n = 64;
20569
- break;
20570
- }
20571
- _context10.n = 63;
20572
- return effects.call(messageQuery.loadPrevious);
20573
- case 63:
20574
- _t19 = _context10.v;
20575
- _context10.n = 65;
20576
- break;
20577
- case 64:
20578
- _t19 = {
20579
- messages: [],
20580
- hasNext: false
20581
- };
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;
20589
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20590
- _context10.n = 67;
20823
+ _context10.n = 40;
20591
20824
  break;
20592
20825
  }
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;
20826
+ _context10.n = 39;
20827
+ return effects.call(queuedChannelCall, channel.id, function () {
20828
+ try {
20829
+ return Promise.resolve(messageQuery.loadPrevious()).then(function (firstResult) {
20830
+ var _exit5 = false;
20831
+ var _temp1 = function () {
20832
+ if (firstResult.messages.length === 50) {
20833
+ messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20834
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20835
+ var _messages$hasNext5 = {
20836
+ messages: [].concat(secondResult.messages, firstResult.messages),
20837
+ hasNext: secondResult.hasNext
20838
+ };
20839
+ _exit5 = true;
20840
+ return _messages$hasNext5;
20841
+ });
20842
+ }
20843
+ }();
20844
+ return _temp1 && _temp1.then ? _temp1.then(function (_result5) {
20845
+ return _exit5 ? _result5 : firstResult;
20846
+ }) : _exit5 ? _temp1 : firstResult;
20847
+ });
20848
+ } catch (e) {
20849
+ return Promise.reject(e);
20850
+ }
20851
+ });
20852
+ case 39:
20853
+ result = _context10.v;
20854
+ _context10.n = 41;
20598
20855
  break;
20599
- case 67:
20600
- _t20 = {
20856
+ case 40:
20857
+ result = {
20601
20858
  messages: [],
20602
20859
  hasNext: false
20603
20860
  };
20604
- case 68:
20605
- _secondResult4 = _t20;
20606
- result.messages = [].concat(_secondResult4.messages, result.messages);
20607
- result.hasNext = _secondResult4.hasNext;
20608
- case 69:
20861
+ case 41:
20609
20862
  updatedMessages = [];
20610
20863
  result.messages.forEach(function (msg) {
20611
20864
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20615,70 +20868,72 @@ function getMessagesQuery(action) {
20615
20868
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20616
20869
  updatedMessages.push(updatedMessage || msg);
20617
20870
  });
20618
- _context10.n = 70;
20871
+ _context10.n = 42;
20619
20872
  return effects.call(updateMessages, channel, updatedMessages);
20620
- case 70:
20621
- _context10.n = 71;
20873
+ case 42:
20874
+ _context10.n = 43;
20622
20875
  return effects.put(setMessagesHasPrevAC(true));
20623
- case 71:
20624
- _context10.n = 72;
20876
+ case 43:
20877
+ _context10.n = 44;
20625
20878
  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;
20879
+ case 44:
20880
+ filteredPendingMessages = getFilteredPendingMessages(result.messages);
20881
+ _context10.n = 45;
20640
20882
  return effects.put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20641
- case 73:
20883
+ case 45:
20642
20884
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20643
20885
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20644
- _context10.n = 75;
20886
+ _context10.n = 47;
20645
20887
  break;
20646
20888
  }
20647
- _context10.n = 74;
20889
+ _context10.n = 46;
20648
20890
  return effects.put(setWaitToSendPendingMessagesAC(false));
20649
- case 74:
20650
- _context10.n = 75;
20891
+ case 46:
20892
+ _context10.n = 47;
20651
20893
  return effects.spawn(sendPendingMessages, connectionState);
20652
- case 75:
20653
- _context10.n = 77;
20894
+ case 47:
20895
+ _context10.n = 48;
20896
+ return effects.call(queuedChannelCall, channel.id, SceytChatClient.getChannel, channel.id, true);
20897
+ case 48:
20898
+ updatedChannel = _context10.v;
20899
+ if (!updatedChannel) {
20900
+ _context10.n = 50;
20901
+ break;
20902
+ }
20903
+ _context10.n = 49;
20904
+ return effects.put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
20905
+ case 49:
20906
+ updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
20907
+ case 50:
20908
+ _context10.n = 52;
20654
20909
  break;
20655
- case 76:
20910
+ case 51:
20656
20911
  if (!channel.isMockChannel) {
20657
- _context10.n = 77;
20912
+ _context10.n = 52;
20658
20913
  break;
20659
20914
  }
20660
- _context10.n = 77;
20915
+ _context10.n = 52;
20661
20916
  return effects.put(setMessagesAC([]));
20662
- case 77:
20663
- _context10.n = 79;
20917
+ case 52:
20918
+ _context10.n = 54;
20664
20919
  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;
20920
+ case 53:
20921
+ _context10.p = 53;
20922
+ _t1 = _context10.v;
20923
+ log.error('error in message query', _t1);
20924
+ case 54:
20925
+ _context10.p = 54;
20926
+ _context10.n = 55;
20672
20927
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20673
- case 80:
20674
- return _context10.f(79);
20675
- case 81:
20928
+ case 55:
20929
+ return _context10.f(54);
20930
+ case 56:
20676
20931
  return _context10.a(2);
20677
20932
  }
20678
- }, _marked7$1, null, [[0, 78, 79, 81]]);
20933
+ }, _marked7$1, null, [[0, 53, 54, 56]]);
20679
20934
  }
20680
20935
  function getMessageQuery(action) {
20681
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t22;
20936
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t10;
20682
20937
  return _regenerator().w(function (_context11) {
20683
20938
  while (1) switch (_context11.p = _context11.n) {
20684
20939
  case 0:
@@ -20728,15 +20983,15 @@ function getMessageQuery(action) {
20728
20983
  break;
20729
20984
  case 7:
20730
20985
  _context11.p = 7;
20731
- _t22 = _context11.v;
20732
- log.error('error in message query', _t22);
20986
+ _t10 = _context11.v;
20987
+ log.error('error in message query', _t10);
20733
20988
  case 8:
20734
20989
  return _context11.a(2);
20735
20990
  }
20736
20991
  }, _marked8$1, null, [[0, 7]]);
20737
20992
  }
20738
20993
  function loadMoreMessages(action) {
20739
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t23;
20994
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t11;
20740
20995
  return _regenerator().w(function (_context12) {
20741
20996
  while (1) switch (_context12.p = _context12.n) {
20742
20997
  case 0:
@@ -20775,7 +21030,7 @@ function loadMoreMessages(action) {
20775
21030
  break;
20776
21031
  }
20777
21032
  _context12.n = 4;
20778
- return effects.call(messageQuery.loadPreviousMessageId, messageId);
21033
+ return effects.call(queuedChannelCall, channelId, messageQuery.loadPreviousMessageId, messageId);
20779
21034
  case 4:
20780
21035
  result = _context12.v;
20781
21036
  if (result.messages.length) {
@@ -20803,7 +21058,7 @@ function loadMoreMessages(action) {
20803
21058
  log.info('saga load next from server ... ', messageId);
20804
21059
  messageQuery.reverse = false;
20805
21060
  _context12.n = 8;
20806
- return effects.call(messageQuery.loadNextMessageId, messageId);
21061
+ return effects.call(queuedChannelCall, channelId, messageQuery.loadNextMessageId, messageId);
20807
21062
  case 8:
20808
21063
  result = _context12.v;
20809
21064
  if (result.messages.length) {
@@ -20849,15 +21104,15 @@ function loadMoreMessages(action) {
20849
21104
  break;
20850
21105
  case 18:
20851
21106
  _context12.p = 18;
20852
- _t23 = _context12.v;
20853
- log.error('error in load more messages', _t23);
21107
+ _t11 = _context12.v;
21108
+ log.error('error in load more messages', _t11);
20854
21109
  case 19:
20855
21110
  return _context12.a(2);
20856
21111
  }
20857
21112
  }, _marked9$1, null, [[0, 18]]);
20858
21113
  }
20859
21114
  function addReaction(action) {
20860
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t24;
21115
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t12;
20861
21116
  return _regenerator().w(function (_context13) {
20862
21117
  while (1) switch (_context13.p = _context13.n) {
20863
21118
  case 0:
@@ -20876,7 +21131,7 @@ function addReaction(action) {
20876
21131
  }
20877
21132
  }
20878
21133
  _context13.n = 2;
20879
- return effects.call(channel.addReaction, messageId, key, score, reason, enforceUnique);
21134
+ return effects.call(queuedChannelCall, channelId, channel.addReaction, messageId, key, score, reason, enforceUnique);
20880
21135
  case 2:
20881
21136
  _yield$call = _context13.v;
20882
21137
  message = _yield$call.message;
@@ -20910,15 +21165,15 @@ function addReaction(action) {
20910
21165
  break;
20911
21166
  case 8:
20912
21167
  _context13.p = 8;
20913
- _t24 = _context13.v;
20914
- log.error('ERROR in add reaction', _t24.message);
21168
+ _t12 = _context13.v;
21169
+ log.error('ERROR in add reaction', _t12.message);
20915
21170
  case 9:
20916
21171
  return _context13.a(2);
20917
21172
  }
20918
21173
  }, _marked0$1, null, [[0, 8]]);
20919
21174
  }
20920
21175
  function deleteReaction(action) {
20921
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t25;
21176
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t13;
20922
21177
  return _regenerator().w(function (_context14) {
20923
21178
  while (1) switch (_context14.p = _context14.n) {
20924
21179
  case 0:
@@ -20936,7 +21191,7 @@ function deleteReaction(action) {
20936
21191
  }
20937
21192
  }
20938
21193
  _context14.n = 2;
20939
- return effects.call(channel.deleteReaction, messageId, key);
21194
+ return effects.call(queuedChannelCall, channelId, channel.deleteReaction, messageId, key);
20940
21195
  case 2:
20941
21196
  _yield$call2 = _context14.v;
20942
21197
  message = _yield$call2.message;
@@ -20966,15 +21221,15 @@ function deleteReaction(action) {
20966
21221
  break;
20967
21222
  case 7:
20968
21223
  _context14.p = 7;
20969
- _t25 = _context14.v;
20970
- log.error('ERROR in delete reaction', _t25.message);
21224
+ _t13 = _context14.v;
21225
+ log.error('ERROR in delete reaction', _t13.message);
20971
21226
  case 8:
20972
21227
  return _context14.a(2);
20973
21228
  }
20974
21229
  }, _marked1$1, null, [[0, 7]]);
20975
21230
  }
20976
21231
  function getReactions(action) {
20977
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t26;
21232
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t14;
20978
21233
  return _regenerator().w(function (_context15) {
20979
21234
  while (1) switch (_context15.p = _context15.n) {
20980
21235
  case 0:
@@ -21009,15 +21264,15 @@ function getReactions(action) {
21009
21264
  break;
21010
21265
  case 6:
21011
21266
  _context15.p = 6;
21012
- _t26 = _context15.v;
21013
- log.error('ERROR in get reactions', _t26.message);
21267
+ _t14 = _context15.v;
21268
+ log.error('ERROR in get reactions', _t14.message);
21014
21269
  case 7:
21015
21270
  return _context15.a(2);
21016
21271
  }
21017
21272
  }, _marked10$1, null, [[0, 6]]);
21018
21273
  }
21019
21274
  function loadMoreReactions(action) {
21020
- var payload, limit, ReactionQuery, result, _t27;
21275
+ var payload, limit, ReactionQuery, result, _t15;
21021
21276
  return _regenerator().w(function (_context16) {
21022
21277
  while (1) switch (_context16.p = _context16.n) {
21023
21278
  case 0:
@@ -21045,15 +21300,15 @@ function loadMoreReactions(action) {
21045
21300
  break;
21046
21301
  case 5:
21047
21302
  _context16.p = 5;
21048
- _t27 = _context16.v;
21049
- log.error('ERROR in load more reactions', _t27.message);
21303
+ _t15 = _context16.v;
21304
+ log.error('ERROR in load more reactions', _t15.message);
21050
21305
  case 6:
21051
21306
  return _context16.a(2);
21052
21307
  }
21053
21308
  }, _marked11$1, null, [[0, 5]]);
21054
21309
  }
21055
21310
  function getMessageAttachments(action) {
21056
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t28;
21311
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t16;
21057
21312
  return _regenerator().w(function (_context17) {
21058
21313
  while (1) switch (_context17.p = _context17.n) {
21059
21314
  case 0:
@@ -21131,15 +21386,15 @@ function getMessageAttachments(action) {
21131
21386
  break;
21132
21387
  case 13:
21133
21388
  _context17.p = 13;
21134
- _t28 = _context17.v;
21135
- log.error('error in message attachment query', _t28);
21389
+ _t16 = _context17.v;
21390
+ log.error('error in message attachment query', _t16);
21136
21391
  case 14:
21137
21392
  return _context17.a(2);
21138
21393
  }
21139
21394
  }, _marked12$1, null, [[0, 13]]);
21140
21395
  }
21141
21396
  function loadMoreMessageAttachments(action) {
21142
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t29;
21397
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t17;
21143
21398
  return _regenerator().w(function (_context18) {
21144
21399
  while (1) switch (_context18.p = _context18.n) {
21145
21400
  case 0:
@@ -21183,15 +21438,15 @@ function loadMoreMessageAttachments(action) {
21183
21438
  break;
21184
21439
  case 8:
21185
21440
  _context18.p = 8;
21186
- _t29 = _context18.v;
21187
- log.error('error in message attachment query', _t29);
21441
+ _t17 = _context18.v;
21442
+ log.error('error in message attachment query', _t17);
21188
21443
  case 9:
21189
21444
  return _context18.a(2);
21190
21445
  }
21191
21446
  }, _marked13$1, null, [[0, 8]]);
21192
21447
  }
21193
21448
  function pauseAttachmentUploading(action) {
21194
- var attachmentId, isPaused, _t30;
21449
+ var attachmentId, isPaused, _t18;
21195
21450
  return _regenerator().w(function (_context19) {
21196
21451
  while (1) switch (_context19.p = _context19.n) {
21197
21452
  case 0:
@@ -21213,15 +21468,15 @@ function pauseAttachmentUploading(action) {
21213
21468
  break;
21214
21469
  case 2:
21215
21470
  _context19.p = 2;
21216
- _t30 = _context19.v;
21217
- log.error('error in pause attachment uploading', _t30);
21471
+ _t18 = _context19.v;
21472
+ log.error('error in pause attachment uploading', _t18);
21218
21473
  case 3:
21219
21474
  return _context19.a(2);
21220
21475
  }
21221
21476
  }, _marked14$1, null, [[0, 2]]);
21222
21477
  }
21223
21478
  function resumeAttachmentUploading(action) {
21224
- var attachmentId, isResumed, _t31;
21479
+ var attachmentId, isResumed, _t19;
21225
21480
  return _regenerator().w(function (_context20) {
21226
21481
  while (1) switch (_context20.p = _context20.n) {
21227
21482
  case 0:
@@ -21244,15 +21499,15 @@ function resumeAttachmentUploading(action) {
21244
21499
  break;
21245
21500
  case 2:
21246
21501
  _context20.p = 2;
21247
- _t31 = _context20.v;
21248
- log.error('error in resume attachment uploading', _t31);
21502
+ _t19 = _context20.v;
21503
+ log.error('error in resume attachment uploading', _t19);
21249
21504
  case 3:
21250
21505
  return _context20.a(2);
21251
21506
  }
21252
21507
  }, _marked15$1, null, [[0, 2]]);
21253
21508
  }
21254
21509
  function getMessageMarkers(action) {
21255
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t32;
21510
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t20;
21256
21511
  return _regenerator().w(function (_context21) {
21257
21512
  while (1) switch (_context21.p = _context21.n) {
21258
21513
  case 0:
@@ -21282,8 +21537,8 @@ function getMessageMarkers(action) {
21282
21537
  break;
21283
21538
  case 5:
21284
21539
  _context21.p = 5;
21285
- _t32 = _context21.v;
21286
- log.error('error in get message markers', _t32);
21540
+ _t20 = _context21.v;
21541
+ log.error('error in get message markers', _t20);
21287
21542
  case 6:
21288
21543
  _context21.p = 6;
21289
21544
  _context21.n = 7;
@@ -21421,7 +21676,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21421
21676
  }, _marked18$1);
21422
21677
  }
21423
21678
  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;
21679
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t21;
21425
21680
  return _regenerator().w(function (_context24) {
21426
21681
  while (1) switch (_context24.p = _context24.n) {
21427
21682
  case 0:
@@ -21480,7 +21735,7 @@ function addPollVote(action) {
21480
21735
  _context24.n = 3;
21481
21736
  break;
21482
21737
  }
21483
- currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21738
+ currentMessage = ((_Object$values = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.find(function (msg) {
21484
21739
  return msg.id === message.id || msg.tid === message.id;
21485
21740
  })) || message;
21486
21741
  hasNext = ((_store$getState$Messa = store.getState().MessageReducer.pollVotesHasMore) === null || _store$getState$Messa === void 0 ? void 0 : _store$getState$Messa[pollId]) || false;
@@ -21520,8 +21775,8 @@ function addPollVote(action) {
21520
21775
  break;
21521
21776
  case 8:
21522
21777
  _context24.p = 8;
21523
- _t33 = _context24.v;
21524
- log.error('error in add poll vote', _t33);
21778
+ _t21 = _context24.v;
21779
+ log.error('error in add poll vote', _t21);
21525
21780
  case 9:
21526
21781
  return _context24.a(2);
21527
21782
  }
@@ -21622,7 +21877,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21622
21877
  }, _marked21$1);
21623
21878
  }
21624
21879
  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;
21880
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t22;
21626
21881
  return _regenerator().w(function (_context27) {
21627
21882
  while (1) switch (_context27.p = _context27.n) {
21628
21883
  case 0:
@@ -21668,7 +21923,7 @@ function deletePollVote(action) {
21668
21923
  _context27.n = 4;
21669
21924
  break;
21670
21925
  }
21671
- currentMessage = ((_Object$values3 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values3 === void 0 ? void 0 : _Object$values3.find(function (msg) {
21926
+ currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21672
21927
  return msg.id === message.id || msg.tid === message.id;
21673
21928
  })) || message;
21674
21929
  _context27.n = 3;
@@ -21707,8 +21962,8 @@ function deletePollVote(action) {
21707
21962
  break;
21708
21963
  case 9:
21709
21964
  _context27.p = 9;
21710
- _t34 = _context27.v;
21711
- log.error('error in delete poll vote', _t34);
21965
+ _t22 = _context27.v;
21966
+ log.error('error in delete poll vote', _t22);
21712
21967
  case 10:
21713
21968
  return _context27.a(2);
21714
21969
  }
@@ -21786,7 +22041,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
21786
22041
  }, _marked24$1);
21787
22042
  }
21788
22043
  function closePoll(action) {
21789
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t35;
22044
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t23;
21790
22045
  return _regenerator().w(function (_context30) {
21791
22046
  while (1) switch (_context30.p = _context30.n) {
21792
22047
  case 0:
@@ -21819,8 +22074,8 @@ function closePoll(action) {
21819
22074
  break;
21820
22075
  case 4:
21821
22076
  _context30.p = 4;
21822
- _t35 = _context30.v;
21823
- log.error('error in close poll', _t35);
22077
+ _t23 = _context30.v;
22078
+ log.error('error in close poll', _t23);
21824
22079
  case 5:
21825
22080
  return _context30.a(2);
21826
22081
  }
@@ -21909,7 +22164,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21909
22164
  }, _marked27$1);
21910
22165
  }
21911
22166
  function retractPollVote(action) {
21912
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t36;
22167
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t24;
21913
22168
  return _regenerator().w(function (_context33) {
21914
22169
  while (1) switch (_context33.p = _context33.n) {
21915
22170
  case 0:
@@ -21951,15 +22206,15 @@ function retractPollVote(action) {
21951
22206
  break;
21952
22207
  case 4:
21953
22208
  _context33.p = 4;
21954
- _t36 = _context33.v;
21955
- log.error('error in retract poll vote', _t36);
22209
+ _t24 = _context33.v;
22210
+ log.error('error in retract poll vote', _t24);
21956
22211
  case 5:
21957
22212
  return _context33.a(2);
21958
22213
  }
21959
22214
  }, _marked28$1, null, [[0, 4]]);
21960
22215
  }
21961
22216
  function resendPendingPollActions(action) {
21962
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t37;
22217
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t25;
21963
22218
  return _regenerator().w(function (_context34) {
21964
22219
  while (1) switch (_context34.p = _context34.n) {
21965
22220
  case 0:
@@ -22015,15 +22270,15 @@ function resendPendingPollActions(action) {
22015
22270
  break;
22016
22271
  case 3:
22017
22272
  _context34.p = 3;
22018
- _t37 = _context34.v;
22019
- log.error('error in resend pending poll actions', _t37);
22273
+ _t25 = _context34.v;
22274
+ log.error('error in resend pending poll actions', _t25);
22020
22275
  case 4:
22021
22276
  return _context34.a(2);
22022
22277
  }
22023
22278
  }, _marked29$1, null, [[0, 3]]);
22024
22279
  }
22025
22280
  function getPollVotes(action) {
22026
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t38;
22281
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t26;
22027
22282
  return _regenerator().w(function (_context35) {
22028
22283
  while (1) switch (_context35.p = _context35.n) {
22029
22284
  case 0:
@@ -22089,8 +22344,8 @@ function getPollVotes(action) {
22089
22344
  break;
22090
22345
  case 7:
22091
22346
  _context35.p = 7;
22092
- _t38 = _context35.v;
22093
- log.error('ERROR in get poll votes', _t38);
22347
+ _t26 = _context35.v;
22348
+ log.error('ERROR in get poll votes', _t26);
22094
22349
  _context35.n = 8;
22095
22350
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22096
22351
  case 8:
@@ -22099,7 +22354,7 @@ function getPollVotes(action) {
22099
22354
  }, _marked30$1, null, [[0, 7]]);
22100
22355
  }
22101
22356
  function loadMorePollVotes(action) {
22102
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t39;
22357
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t27;
22103
22358
  return _regenerator().w(function (_context36) {
22104
22359
  while (1) switch (_context36.p = _context36.n) {
22105
22360
  case 0:
@@ -22157,8 +22412,8 @@ function loadMorePollVotes(action) {
22157
22412
  break;
22158
22413
  case 6:
22159
22414
  _context36.p = 6;
22160
- _t39 = _context36.v;
22161
- log.error('ERROR in load more poll votes', _t39);
22415
+ _t27 = _context36.v;
22416
+ log.error('ERROR in load more poll votes', _t27);
22162
22417
  _context36.n = 7;
22163
22418
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22164
22419
  case 7:
@@ -37447,16 +37702,7 @@ var Message$1 = function Message(_ref) {
37447
37702
  setMessageActionsShow(false);
37448
37703
  };
37449
37704
  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));
37705
+ dispatch(resendMessageAC(message, channel.id, connectionStatus));
37460
37706
  setMessageActionsShow(false);
37461
37707
  };
37462
37708
  var handleCopyMessage = function handleCopyMessage() {
@@ -37514,12 +37760,12 @@ var Message$1 = function Message(_ref) {
37514
37760
  setFrequentlyEmojisOpen(false);
37515
37761
  };
37516
37762
  var handleSendReadMarker = function handleSendReadMarker() {
37517
- if (!message.userMarkers.find(function (marker) {
37763
+ if (message.incoming && !message.userMarkers.find(function (marker) {
37518
37764
  return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
37519
37765
  })) {
37520
37766
  if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
37521
37767
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
37522
- }) && message.incoming && !unreadScrollTo) {
37768
+ }) && !unreadScrollTo) {
37523
37769
  dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
37524
37770
  }
37525
37771
  }
@@ -37677,7 +37923,8 @@ var Message$1 = function Message(_ref) {
37677
37923
  withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
37678
37924
  className: 'messageContent'
37679
37925
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
37680
- rtl: ownMessageOnRightSide && !message.incoming
37926
+ rtl: ownMessageOnRightSide && !message.incoming,
37927
+ onClick: handleResendMessage
37681
37928
  }, /*#__PURE__*/React__default.createElement(ErrorIconWrapper, null))), CustomMessageItem ? (/*#__PURE__*/React__default.createElement(CustomMessageItem, {
37682
37929
  key: message.id || message.tid,
37683
37930
  channel: channel,
@@ -37982,7 +38229,7 @@ var MessageReaction = styled__default.span(_templateObject3$y || (_templateObjec
37982
38229
  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
38230
  return props.color;
37984
38231
  });
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) {
38232
+ 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
38233
  return !props.rtl && '-24px';
37987
38234
  }, function (props) {
37988
38235
  return props.rtl && '-24px';
@@ -38834,7 +39081,18 @@ var MessageList = function MessageList(_ref2) {
38834
39081
  scrollElement.style.scrollBehavior = 'inherit';
38835
39082
  }
38836
39083
  setScrollIntoView(true);
38837
- var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId);
39084
+ var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId) || null;
39085
+ var newLastDisplayedMessageId = channel.lastDisplayedMessageId;
39086
+ if (!lastReadMessageNode) {
39087
+ for (var index = 0; index < messages.length; index++) {
39088
+ var message = messages[index];
39089
+ if (channel.lastDisplayedMessageId >= message.id && (messages.length < index + 2 || channel.lastDisplayedMessageId <= messages[index + 1].id)) {
39090
+ newLastDisplayedMessageId = message.id;
39091
+ lastReadMessageNode = document.getElementById(newLastDisplayedMessageId);
39092
+ break;
39093
+ }
39094
+ }
39095
+ }
38838
39096
  if (lastReadMessageNode && scrollElement) {
38839
39097
  dispatch(scrollToNewMessageAC(false));
38840
39098
  scrollElement.scrollTo({
@@ -42555,7 +42813,13 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42555
42813
  nodes: [MentionNode],
42556
42814
  onError: onError
42557
42815
  };
42558
- var handleSendTypingState = function handleSendTypingState(typingState) {
42816
+ var handleSendTypingState = function handleSendTypingState(typingState, code) {
42817
+ if (code) {
42818
+ var isTypeKeyPressed = checkIsTypeKeyPressed(code);
42819
+ if (!isTypeKeyPressed) {
42820
+ return;
42821
+ }
42822
+ }
42559
42823
  if (typingState) {
42560
42824
  setInTypingStateTimout(setTimeout(function () {
42561
42825
  setInTypingStateTimout(0);
@@ -42692,11 +42956,11 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42692
42956
  } else {
42693
42957
  if (typingTimout) {
42694
42958
  if (!inTypingStateTimout) {
42695
- handleSendTypingState(true);
42959
+ handleSendTypingState(true, code);
42696
42960
  }
42697
42961
  clearTimeout(typingTimout);
42698
42962
  } else {
42699
- handleSendTypingState(true);
42963
+ handleSendTypingState(true, code);
42700
42964
  }
42701
42965
  setTypingTimout(setTimeout(function () {
42702
42966
  setTypingTimout(0);
@@ -44963,7 +45227,8 @@ var Actions = function Actions(_ref) {
44963
45227
  iconColor: iconPrimary,
44964
45228
  color: textPrimary,
44965
45229
  hoverColor: textPrimary,
44966
- fontSize: actionItemsFontSize
45230
+ fontSize: actionItemsFontSize,
45231
+ flexWrap: 'wrap'
44967
45232
  }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DefaultWatchIcon, {
44968
45233
  "$isLightMode": backgroundColor === '#FFFFFF'
44969
45234
  }), "Disappearing messages", /*#__PURE__*/React__default.createElement(DisappearingMessagesStatusWrapper, null, /*#__PURE__*/React__default.createElement(DisappearingMessagesStatus, {
@@ -45167,7 +45432,7 @@ var DefaultMarkAsReadIcon = styled__default(SvgLeave)(_templateObject15$3 || (_t
45167
45432
  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
45433
  return props.$isLightMode ? '#FFFFFF' : '#000000';
45169
45434
  });
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) {
45435
+ 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
45436
  return props.fontSize || '15px';
45172
45437
  }, function (props) {
45173
45438
  return props.color;
@@ -45175,6 +45440,8 @@ var ActionItem = styled__default.li(_templateObject17$3 || (_templateObject17$3
45175
45440
  return props.order;
45176
45441
  }, function (props) {
45177
45442
  return props.disableEvent && 'none';
45443
+ }, function (props) {
45444
+ return props.flexWrap && "flex-wrap: " + props.flexWrap + ";";
45178
45445
  }, function (props) {
45179
45446
  return props.iconColor;
45180
45447
  }, function (props) {