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