sceyt-chat-react-uikit 1.7.7 → 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 +967 -663
  2. package/index.modern.js +967 -663
  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++;
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'));
10099
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;
@@ -11912,7 +12018,7 @@ var _messageSlice$actions = messageSlice.actions,
11912
12018
  var MessageReducer = messageSlice.reducer;
11913
12019
 
11914
12020
  var initialState$2 = {
11915
- membersLoadingState: false,
12021
+ membersLoadingState: 0,
11916
12022
  membersHasNext: true,
11917
12023
  activeChannelMembers: [],
11918
12024
  roles: [],
@@ -11997,6 +12103,9 @@ var memberSlice = createSlice({
11997
12103
  } else {
11998
12104
  state.getRolesFail = undefined;
11999
12105
  }
12106
+ },
12107
+ setMembersHasNext: function setMembersHasNext(state, action) {
12108
+ state.membersHasNext = action.payload.hasNext;
12000
12109
  }
12001
12110
  },
12002
12111
  extraReducers: function extraReducers(builder) {
@@ -12013,7 +12122,8 @@ var _memberSlice$actions = memberSlice.actions,
12013
12122
  removeMemberFromList = _memberSlice$actions.removeMemberFromList,
12014
12123
  setMembersLoadingState = _memberSlice$actions.setMembersLoadingState,
12015
12124
  getRolesSuccess = _memberSlice$actions.getRolesSuccess,
12016
- getRolesFail = _memberSlice$actions.getRolesFail;
12125
+ getRolesFail = _memberSlice$actions.getRolesFail,
12126
+ setMembersHasNext = _memberSlice$actions.setMembersHasNext;
12017
12127
  var MembersReducer = memberSlice.reducer;
12018
12128
 
12019
12129
  var SET_CONTACT_LOADING_STATE = 'SET_CONTACT_LOADING_STATE';
@@ -13189,7 +13299,7 @@ var updateMembersPresenceAC = function updateMembersPresenceAC(usersMap) {
13189
13299
  };
13190
13300
  var setMembersLoadingStateAC = function setMembersLoadingStateAC(state) {
13191
13301
  return setMembersLoadingState({
13192
- state: !!state
13302
+ state: state
13193
13303
  });
13194
13304
  };
13195
13305
  var removeMemberFromListAC = function removeMemberFromListAC(members) {
@@ -13208,6 +13318,11 @@ var getRolesFailAC = function getRolesFailAC(timeout, attempts) {
13208
13318
  attempts: attempts
13209
13319
  });
13210
13320
  };
13321
+ var setMembersHasNextAC = function setMembersHasNextAC(hasNext) {
13322
+ return setMembersHasNext({
13323
+ hasNext: hasNext
13324
+ });
13325
+ };
13211
13326
 
13212
13327
  var connectionStatusSelector = function connectionStatusSelector(store) {
13213
13328
  return store.UserReducer.connectionStatus;
@@ -14156,7 +14271,7 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
14156
14271
  var _marked = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersAdd),
14157
14272
  _marked2 = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersRemove);
14158
14273
  function updateActiveChannelMembersAdd(addedMembers) {
14159
- var state, activeChannel, updatedMembers;
14274
+ var state, activeChannel, members, shouldUpdateMembers, updatedMembers;
14160
14275
  return _regenerator().w(function (_context) {
14161
14276
  while (1) switch (_context.n) {
14162
14277
  case 0:
@@ -14165,11 +14280,17 @@ function updateActiveChannelMembersAdd(addedMembers) {
14165
14280
  case 1:
14166
14281
  state = _context.v;
14167
14282
  activeChannel = state.ChannelReducer.activeChannel;
14283
+ members = (activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.members) || [];
14284
+ shouldUpdateMembers = addedMembers.filter(function (member) {
14285
+ return !members.some(function (m) {
14286
+ return m.id === member.id;
14287
+ });
14288
+ });
14168
14289
  if (!(activeChannel && activeChannel.id)) {
14169
14290
  _context.n = 2;
14170
14291
  break;
14171
14292
  }
14172
- updatedMembers = [].concat(activeChannel.members || [], addedMembers);
14293
+ updatedMembers = [].concat(activeChannel.members || [], shouldUpdateMembers);
14173
14294
  updatedMembers = Array.from(new Set(updatedMembers));
14174
14295
  return _context.a(2, {
14175
14296
  members: updatedMembers
@@ -18849,6 +18970,158 @@ var getFrame = function getFrame(videoSrc, time) {
18849
18970
  }
18850
18971
  };
18851
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
+
18852
19125
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
18853
19126
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
18854
19127
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -18964,20 +19237,20 @@ var handleUploadAttachments = function handleUploadAttachments(attachments, mess
18964
19237
  return Promise.reject(e);
18965
19238
  }
18966
19239
  };
18967
- var addPendingMessage = function addPendingMessage(message, messageCopy, channel) {
19240
+ var addPendingMessage = function addPendingMessage(message, messageCopy, channelId) {
18968
19241
  try {
18969
19242
  var messageToAdd = _extends({}, messageCopy, {
18970
19243
  createdAt: new Date(Date.now()),
18971
19244
  mentionedUsers: message.mentionedUsers,
18972
19245
  parentMessage: message.parentMessage
18973
19246
  });
18974
- setPendingMessage(channel.id, messageToAdd);
19247
+ setPendingMessage(channelId, messageToAdd);
18975
19248
  return Promise.resolve();
18976
19249
  } catch (e) {
18977
19250
  return Promise.reject(e);
18978
19251
  }
18979
19252
  };
18980
- var updateMessage$1 = function updateMessage(actionType, pending, channel, scrollToNewMessage) {
19253
+ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scrollToNewMessage, message) {
18981
19254
  if (scrollToNewMessage === void 0) {
18982
19255
  scrollToNewMessage = true;
18983
19256
  }
@@ -18988,39 +19261,41 @@ var updateMessage$1 = function updateMessage(actionType, pending, channel, scrol
18988
19261
  case 0:
18989
19262
  activeChannelId = getActiveChannelId();
18990
19263
  if (!(actionType !== RESEND_MESSAGE)) {
18991
- _context.n = 2;
19264
+ _context.n = 3;
18992
19265
  break;
18993
19266
  }
18994
- addMessageToMap(channel.id, pending);
18995
- if (activeChannelId === channel.id) {
19267
+ if (activeChannelId === channelId) {
18996
19268
  addAllMessages([pending], MESSAGE_LOAD_DIRECTION.NEXT);
18997
19269
  }
18998
- if (!(activeChannelId === channel.id)) {
19270
+ if (!(activeChannelId === channelId)) {
18999
19271
  _context.n = 1;
19000
19272
  break;
19001
19273
  }
19002
19274
  _context.n = 1;
19003
19275
  return put(addMessageAC(pending));
19004
19276
  case 1:
19277
+ _context.n = 2;
19278
+ return call(addPendingMessage, message, pending, channelId);
19279
+ case 2:
19005
19280
  if (!scrollToNewMessage) {
19006
- _context.n = 2;
19281
+ _context.n = 3;
19007
19282
  break;
19008
19283
  }
19009
- _context.n = 2;
19284
+ _context.n = 3;
19010
19285
  return put(scrollToNewMessageAC(true, true));
19011
- case 2:
19286
+ case 3:
19012
19287
  return _context.a(2);
19013
19288
  }
19014
19289
  }, _callee);
19015
19290
  })();
19016
19291
  };
19017
19292
  function sendMessage(action) {
19018
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
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;
19019
19294
  return _regenerator().w(function (_context4) {
19020
19295
  while (1) switch (_context4.p = _context4.n) {
19021
19296
  case 0:
19022
19297
  payload = action.payload;
19023
- 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;
19024
19299
  pendingMessages = [];
19025
19300
  _context4.p = 1;
19026
19301
  _context4.n = 2;
@@ -19155,8 +19430,12 @@ function sendMessage(action) {
19155
19430
  createdAt: new Date(Date.now())
19156
19431
  });
19157
19432
  pendingMessages.push(_pending);
19433
+ if (!(action.type !== RESEND_MESSAGE)) {
19434
+ _context2.n = 1;
19435
+ break;
19436
+ }
19158
19437
  _context2.n = 1;
19159
- return call(updateMessage$1, action.type, _pending, channel);
19438
+ return call(updateMessage$1, action.type, _pending, channel.id, false, message);
19160
19439
  case 1:
19161
19440
  _context2.n = 3;
19162
19441
  break;
@@ -19204,8 +19483,12 @@ function sendMessage(action) {
19204
19483
  createdAt: new Date(Date.now())
19205
19484
  });
19206
19485
  pendingMessages.push(pending);
19486
+ if (!(action.type !== RESEND_MESSAGE)) {
19487
+ _context4.n = 11;
19488
+ break;
19489
+ }
19207
19490
  _context4.n = 11;
19208
- return call(updateMessage$1, action.type, pending, channel);
19491
+ return call(updateMessage$1, action.type, pending, channel.id, false, message);
19209
19492
  case 11:
19210
19493
  messageToSend = _extends({}, messageToSend, {
19211
19494
  attachments: attachmentsToSend
@@ -19213,7 +19496,7 @@ function sendMessage(action) {
19213
19496
  messagesToSend.push(messageToSend);
19214
19497
  case 12:
19215
19498
  _loop2 = /*#__PURE__*/_regenerator().m(function _callee3() {
19216
- var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, messageToUpdate, channelUpdateParam, pendingMessage, connectionIsDisconnected, _t;
19499
+ var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, activeChannelId, messageToUpdate, channelUpdateParam, isErrorResendable, _t;
19217
19500
  return _regenerator().w(function (_context3) {
19218
19501
  while (1) switch (_context3.p = _context3.n) {
19219
19502
  case 0:
@@ -19222,7 +19505,7 @@ function sendMessage(action) {
19222
19505
  _context3.p = 1;
19223
19506
  messageCopy = JSON.parse(JSON.stringify(messagesToSend[_i]));
19224
19507
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19225
- _context3.n = 12;
19508
+ _context3.n = 13;
19226
19509
  break;
19227
19510
  }
19228
19511
  _attachmentsToSend = messageAttachment;
@@ -19250,7 +19533,7 @@ function sendMessage(action) {
19250
19533
  });
19251
19534
  }
19252
19535
  _context3.n = 4;
19253
- return call(channel.sendMessage, messageToSend);
19536
+ return call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19254
19537
  case 4:
19255
19538
  messageResponse = _context3.v;
19256
19539
  if (!customUploader) {
@@ -19283,9 +19566,6 @@ function sendMessage(action) {
19283
19566
  _context3.n = 5;
19284
19567
  break;
19285
19568
  case 8:
19286
- if (action.type === RESEND_MESSAGE) {
19287
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19288
- }
19289
19569
  attachmentsToUpdate = [];
19290
19570
  if (messageResponse.attachments && messageResponse.attachments.length > 0) {
19291
19571
  currentAttachmentsMap = {};
@@ -19318,13 +19598,18 @@ function sendMessage(action) {
19318
19598
  createdAt: messageResponse.createdAt,
19319
19599
  channelId: channel.id
19320
19600
  };
19601
+ activeChannelId = getActiveChannelId();
19602
+ if (!(activeChannelId === channel.id)) {
19603
+ _context3.n = 9;
19604
+ break;
19605
+ }
19321
19606
  _context3.n = 9;
19322
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19607
+ return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19323
19608
  case 9:
19324
- updateMessageOnMap(channel.id, {
19325
- messageId: messageToSend.tid,
19326
- params: messageUpdateData
19327
- });
19609
+ _context3.n = 10;
19610
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19611
+ case 10:
19612
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19328
19613
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19329
19614
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19330
19615
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19333,46 +19618,36 @@ function sendMessage(action) {
19333
19618
  lastReactedMessage: null
19334
19619
  };
19335
19620
  if (!channel.unread) {
19336
- _context3.n = 10;
19621
+ _context3.n = 11;
19337
19622
  break;
19338
19623
  }
19339
- _context3.n = 10;
19340
- return put(markChannelAsReadAC(channel.id));
19341
- case 10:
19342
19624
  _context3.n = 11;
19343
- return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19625
+ return put(markChannelAsReadAC(channel.id));
19344
19626
  case 11:
19627
+ _context3.n = 12;
19628
+ return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19629
+ case 12:
19345
19630
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19346
- _context3.n = 13;
19631
+ _context3.n = 14;
19347
19632
  break;
19348
- case 12:
19349
- throw new Error('Connection required to send message');
19350
19633
  case 13:
19634
+ throw new Error('Connection required to send message');
19635
+ case 14:
19351
19636
  _context3.n = 19;
19352
19637
  break;
19353
- case 14:
19354
- _context3.p = 14;
19638
+ case 15:
19639
+ _context3.p = 15;
19355
19640
  _t = _context3.v;
19356
- pendingMessage = pendingMessages === null || pendingMessages === void 0 ? void 0 : pendingMessages.find(function (pendingMessage) {
19357
- return pendingMessage.tid === messageToSend.tid;
19358
- });
19359
- if (!(channel && pendingMessage && action.type !== RESEND_MESSAGE)) {
19641
+ isErrorResendable = isResendableError(_t === null || _t === void 0 ? void 0 : _t.type);
19642
+ if (isErrorResendable) {
19360
19643
  _context3.n = 17;
19361
19644
  break;
19362
19645
  }
19363
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19364
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19365
- _context3.n = 16;
19366
- break;
19367
- }
19368
- _context3.n = 15;
19369
- return call(addPendingMessage, message, pendingMessage, channel);
19370
- case 15:
19371
- _context3.n = 17;
19372
- break;
19646
+ _context3.n = 16;
19647
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19373
19648
  case 16:
19374
- _context3.n = 17;
19375
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19649
+ _context3.n = 19;
19650
+ break;
19376
19651
  case 17:
19377
19652
  log.error('Error on uploading attachment', messageToSend.tid, _t);
19378
19653
  if (!(messageToSend.attachments && messageToSend.attachments.length)) {
@@ -19398,7 +19673,7 @@ function sendMessage(action) {
19398
19673
  case 19:
19399
19674
  return _context3.a(2);
19400
19675
  }
19401
- }, _callee3, null, [[1, 14]]);
19676
+ }, _callee3, null, [[1, 15]]);
19402
19677
  });
19403
19678
  _i = 0;
19404
19679
  case 13:
@@ -19430,12 +19705,12 @@ function sendMessage(action) {
19430
19705
  }, _marked$3, null, [[1, 16, 17, 19]]);
19431
19706
  }
19432
19707
  function sendTextMessage(action) {
19433
- var payload, message, connectionState, channelId, isAddToPendingMessagesMap, channel, sendMessageTid, pendingMessage, activeChannelId, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t3;
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;
19434
19709
  return _regenerator().w(function (_context5) {
19435
19710
  while (1) switch (_context5.p = _context5.n) {
19436
19711
  case 0:
19437
19712
  payload = action.payload;
19438
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19713
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19439
19714
  _context5.n = 1;
19440
19715
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19441
19716
  case 1:
@@ -19449,8 +19724,8 @@ function sendTextMessage(action) {
19449
19724
  setChannelInMap(channel);
19450
19725
  }
19451
19726
  }
19727
+ sendMessageTid = null;
19452
19728
  pendingMessage = null;
19453
- activeChannelId = getActiveChannelId();
19454
19729
  _context5.p = 3;
19455
19730
  if (!channel.isMockChannel) {
19456
19731
  _context5.n = 6;
@@ -19510,11 +19785,15 @@ function sendTextMessage(action) {
19510
19785
  _context5.n = 8;
19511
19786
  break;
19512
19787
  }
19788
+ if (!(action.type !== RESEND_MESSAGE)) {
19789
+ _context5.n = 8;
19790
+ break;
19791
+ }
19513
19792
  _context5.n = 8;
19514
- return call(updateMessage$1, action.type, pendingMessage, channel);
19793
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19515
19794
  case 8:
19516
19795
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19517
- _context5.n = 16;
19796
+ _context5.n = 17;
19518
19797
  break;
19519
19798
  }
19520
19799
  if (!sendMessageHandler) {
@@ -19529,7 +19808,7 @@ function sendTextMessage(action) {
19529
19808
  break;
19530
19809
  case 10:
19531
19810
  _context5.n = 11;
19532
- return call(channel.sendMessage, messageToSend);
19811
+ return call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19533
19812
  case 11:
19534
19813
  messageResponse = _context5.v;
19535
19814
  case 12:
@@ -19550,19 +19829,20 @@ function sendTextMessage(action) {
19550
19829
  pollDetails: (_messageResponse = messageResponse) === null || _messageResponse === void 0 ? void 0 : _messageResponse.pollDetails,
19551
19830
  channelId: channel.id
19552
19831
  };
19832
+ activeChannelId = getActiveChannelId();
19553
19833
  if (!(activeChannelId === channel.id)) {
19554
19834
  _context5.n = 13;
19555
19835
  break;
19556
19836
  }
19557
19837
  _context5.n = 13;
19558
- return put(updateMessageAC(messageToSend.tid, messageUpdateData));
19838
+ return put(updateMessageAC(messageToSend.tid, messageUpdateData, true));
19559
19839
  case 13:
19560
- updateMessageOnMap(channel.id, {
19561
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19562
- params: messageUpdateData
19563
- });
19840
+ _context5.n = 14;
19841
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
19842
+ case 14:
19843
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19564
19844
  if (activeChannelId === channel.id) {
19565
- updateMessageOnAllMessages(!isAddToPendingMessagesMap ? message.tid : messageToSend.tid, messageUpdateData);
19845
+ updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19566
19846
  }
19567
19847
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19568
19848
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19570,57 +19850,52 @@ function sendTextMessage(action) {
19570
19850
  lastMessage: messageToUpdate,
19571
19851
  lastReactedMessage: null
19572
19852
  };
19573
- _context5.n = 14;
19853
+ _context5.n = 15;
19574
19854
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19575
- case 14:
19855
+ case 15:
19576
19856
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19577
19857
  if (!channel.unread) {
19578
- _context5.n = 15;
19858
+ _context5.n = 16;
19579
19859
  break;
19580
19860
  }
19581
- _context5.n = 15;
19861
+ _context5.n = 16;
19582
19862
  return put(markChannelAsReadAC(channel.id));
19583
- case 15:
19863
+ case 16:
19584
19864
  channel.lastMessage = messageToUpdate;
19585
- if (action.type === RESEND_MESSAGE) {
19586
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19587
- }
19588
- _context5.n = 17;
19865
+ _context5.n = 18;
19589
19866
  break;
19590
- case 16:
19591
- throw new Error('Connection required to send message');
19592
19867
  case 17:
19868
+ throw new Error('Connection required to send message');
19869
+ case 18:
19593
19870
  _context5.n = 22;
19594
19871
  break;
19595
- case 18:
19596
- _context5.p = 18;
19872
+ case 19:
19873
+ _context5.p = 19;
19597
19874
  _t3 = _context5.v;
19598
- 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)) {
19599
19878
  _context5.n = 21;
19600
19879
  break;
19601
19880
  }
19602
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19603
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19604
- _context5.n = 20;
19605
- break;
19606
- }
19607
- _context5.n = 19;
19608
- return call(addPendingMessage, message, pendingMessage, channel);
19609
- case 19:
19610
- _context5.n = 21;
19611
- break;
19881
+ _context5.n = 20;
19882
+ return put(removePendingMessageAC(channel.id, sendMessageTid));
19612
19883
  case 20:
19613
- _context5.n = 21;
19614
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
19884
+ _context5.n = 22;
19885
+ break;
19615
19886
  case 21:
19616
- log.error('error on send text message ... ', _t3);
19887
+ if (!(channel.id && sendMessageTid)) {
19888
+ _context5.n = 22;
19889
+ break;
19890
+ }
19617
19891
  updateMessageOnMap(channel.id, {
19618
19892
  messageId: sendMessageTid,
19619
19893
  params: {
19620
19894
  state: MESSAGE_STATUS.FAILED
19621
19895
  }
19622
19896
  });
19623
- if (!(activeChannelId === channel.id)) {
19897
+ _activeChannelId = getActiveChannelId();
19898
+ if (!(_activeChannelId === channel.id)) {
19624
19899
  _context5.n = 22;
19625
19900
  break;
19626
19901
  }
@@ -19640,15 +19915,15 @@ function sendTextMessage(action) {
19640
19915
  case 24:
19641
19916
  return _context5.a(2);
19642
19917
  }
19643
- }, _marked2$2, null, [[3, 18, 22, 24]]);
19918
+ }, _marked2$2, null, [[3, 19, 22, 24]]);
19644
19919
  }
19645
19920
  function forwardMessage(action) {
19646
- var payload, message, channelId, connectionState, isForward, isAddToPendingMessagesMap, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t4;
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;
19647
19922
  return _regenerator().w(function (_context6) {
19648
19923
  while (1) switch (_context6.p = _context6.n) {
19649
19924
  case 0:
19650
19925
  payload = action.payload;
19651
- 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;
19652
19927
  pendingMessage = null;
19653
19928
  channel = null;
19654
19929
  activeChannelId = getActiveChannelId();
@@ -19691,7 +19966,7 @@ function forwardMessage(action) {
19691
19966
  }) : [];
19692
19967
  attachments = message.attachments;
19693
19968
  if ((channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC) && !(channel.userRole === 'admin' || channel.userRole === 'owner')) {
19694
- _context6.n = 16;
19969
+ _context6.n = 17;
19695
19970
  break;
19696
19971
  }
19697
19972
  if (message.attachments && message.attachments.length) {
@@ -19718,7 +19993,7 @@ function forwardMessage(action) {
19718
19993
  };
19719
19994
  }
19720
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);
19721
- messageToSend = messageBuilder.create();
19996
+ messageToSend = action.type === RESEND_MESSAGE ? action.payload.message : messageBuilder.create();
19722
19997
  messageToSend.tid = action.type === RESEND_MESSAGE ? action.payload.message.tid : messageToSend.tid;
19723
19998
  messageTid = messageToSend.tid;
19724
19999
  pendingMessage = _extends({}, messageToSend, {
@@ -19754,15 +20029,19 @@ function forwardMessage(action) {
19754
20029
  _context6.n = 9;
19755
20030
  break;
19756
20031
  }
20032
+ if (!(action.type !== RESEND_MESSAGE)) {
20033
+ _context6.n = 9;
20034
+ break;
20035
+ }
19757
20036
  _context6.n = 9;
19758
- return call(updateMessage$1, action.type, pendingMessage, channel, false);
20037
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19759
20038
  case 9:
19760
20039
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19761
- _context6.n = 15;
20040
+ _context6.n = 16;
19762
20041
  break;
19763
20042
  }
19764
20043
  _context6.n = 10;
19765
- return call(channel.sendMessage, messageToSend);
20044
+ return call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19766
20045
  case 10:
19767
20046
  messageResponse = _context6.v;
19768
20047
  messageUpdateData = {
@@ -19784,61 +20063,55 @@ function forwardMessage(action) {
19784
20063
  break;
19785
20064
  }
19786
20065
  _context6.n = 11;
19787
- return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
20066
+ return put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19788
20067
  case 11:
19789
20068
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19790
20069
  case 12:
19791
- if (action.type === RESEND_MESSAGE) {
19792
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
20070
+ if (!messageToSend.tid) {
20071
+ _context6.n = 13;
20072
+ break;
19793
20073
  }
19794
- updateMessageOnMap(channel.id, {
19795
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19796
- params: messageUpdateData
19797
- });
20074
+ _context6.n = 13;
20075
+ return put(removePendingMessageAC(channel.id, messageToSend.tid));
20076
+ case 13:
20077
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19798
20078
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19799
20079
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19800
20080
  channelUpdateParam = {
19801
20081
  lastMessage: messageToUpdate,
19802
20082
  lastReactedMessage: null
19803
20083
  };
19804
- _context6.n = 13;
20084
+ _context6.n = 14;
19805
20085
  return put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19806
- case 13:
20086
+ case 14:
19807
20087
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19808
20088
  if (!channel.unread) {
19809
- _context6.n = 14;
20089
+ _context6.n = 15;
19810
20090
  break;
19811
20091
  }
19812
- _context6.n = 14;
20092
+ _context6.n = 15;
19813
20093
  return put(markChannelAsReadAC(channel.id));
19814
- case 14:
19815
- _context6.n = 16;
19816
- break;
19817
20094
  case 15:
19818
- throw new Error('Connection required to forward message');
20095
+ _context6.n = 17;
20096
+ break;
19819
20097
  case 16:
20098
+ throw new Error('Connection required to forward message');
20099
+ case 17:
19820
20100
  _context6.n = 22;
19821
20101
  break;
19822
- case 17:
19823
- _context6.p = 17;
20102
+ case 18:
20103
+ _context6.p = 18;
19824
20104
  _t4 = _context6.v;
19825
- if (!(pendingMessage && channel && action.type !== RESEND_MESSAGE)) {
20105
+ isErrorResendable = isResendableError(_t4 === null || _t4 === void 0 ? void 0 : _t4.type);
20106
+ if (isErrorResendable) {
19826
20107
  _context6.n = 20;
19827
20108
  break;
19828
20109
  }
19829
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19830
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19831
- _context6.n = 19;
19832
- break;
19833
- }
19834
- _context6.n = 18;
19835
- return call(addPendingMessage, message, pendingMessage, channel);
19836
- case 18:
19837
- _context6.n = 20;
19838
- break;
20110
+ _context6.n = 19;
20111
+ return put(removePendingMessageAC(channel.id, messageTid));
19839
20112
  case 19:
19840
- _context6.n = 20;
19841
- return put(removePendingMessageAC(channel.id, pendingMessage.tid));
20113
+ _context6.n = 21;
20114
+ break;
19842
20115
  case 20:
19843
20116
  if (!(channel && messageTid)) {
19844
20117
  _context6.n = 21;
@@ -19850,7 +20123,8 @@ function forwardMessage(action) {
19850
20123
  state: MESSAGE_STATUS.FAILED
19851
20124
  }
19852
20125
  });
19853
- if (!(activeChannelId === channel.id)) {
20126
+ _activeChannelId2 = getActiveChannelId();
20127
+ if (!(_activeChannelId2 === channel.id)) {
19854
20128
  _context6.n = 21;
19855
20129
  break;
19856
20130
  }
@@ -19872,25 +20146,67 @@ function forwardMessage(action) {
19872
20146
  case 24:
19873
20147
  return _context6.a(2);
19874
20148
  }
19875
- }, _marked3$1, null, [[1, 17, 22, 24]]);
20149
+ }, _marked3$1, null, [[1, 18, 22, 24]]);
19876
20150
  }
19877
20151
  function resendMessage(action) {
19878
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isVoiceMessage;
20152
+ var _message$attachments;
20153
+ var payload, message, connectionState, channelId, attachments, sendAttachmentsAsSeparateMessage, isVoiceMessage;
19879
20154
  return _regenerator().w(function (_context7) {
19880
20155
  while (1) switch (_context7.n) {
19881
20156
  case 0:
19882
20157
  payload = action.payload;
19883
20158
  message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19884
- if (message.forwardingDetails) {
19885
- store.dispatch(forwardMessageAC(message, channelId, connectionState, false, false));
19886
- } else if (message.attachments && message.attachments.length) {
19887
- sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
19888
- isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
19889
- store.dispatch(sendMessageAC(message, channelId, connectionState, isVoiceMessage ? false : sendAttachmentsAsSeparateMessage, false, false));
19890
- } else {
19891
- store.dispatch(sendTextMessageAC(message, channelId, connectionState, false));
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;
19892
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
+ });
19893
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:
19894
20210
  return _context7.a(2);
19895
20211
  }
19896
20212
  }, _marked4$1);
@@ -19914,7 +20230,7 @@ function deleteMessage(action) {
19914
20230
  }
19915
20231
  }
19916
20232
  _context8.n = 2;
19917
- return call(channel.deleteMessageById, messageId, deleteOption === 'forMe');
20233
+ return call(queuedChannelCall, channel.id, channel.deleteMessageById, messageId, deleteOption === 'forMe');
19918
20234
  case 2:
19919
20235
  deletedMessage = _context8.v;
19920
20236
  _context8.n = 3;
@@ -19979,7 +20295,7 @@ function editMessage(action) {
19979
20295
  message.attachments = [].concat(anotherAttachments, linkAttachmentsToSend);
19980
20296
  }
19981
20297
  _context9.n = 2;
19982
- return call(channel.editMessage, _extends({}, message, {
20298
+ return call(queuedChannelCall, channel.id, channel.editMessage, _extends({}, message, {
19983
20299
  metadata: isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata),
19984
20300
  attachments: message.attachments.map(function (att) {
19985
20301
  return _extends({}, att, {
@@ -20052,8 +20368,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20052
20368
  message: msg,
20053
20369
  connectionState: connectionState,
20054
20370
  channelId: channelId,
20055
- isForward: true,
20056
- isAddToPendingMessagesMap: false
20371
+ isForward: true
20057
20372
  }
20058
20373
  });
20059
20374
  case 4:
@@ -20071,9 +20386,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20071
20386
  message: msg,
20072
20387
  connectionState: connectionState,
20073
20388
  channelId: channelId,
20074
- sendAttachmentsAsSeparateMessage: false,
20075
- isResend: true,
20076
- isAddToPendingMessagesMap: false
20389
+ sendAttachmentsAsSeparateMessage: false
20077
20390
  }
20078
20391
  });
20079
20392
  case 6:
@@ -20086,8 +20399,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20086
20399
  payload: {
20087
20400
  message: msg,
20088
20401
  connectionState: connectionState,
20089
- channelId: channelId,
20090
- isAddToPendingMessagesMap: false
20402
+ channelId: channelId
20091
20403
  }
20092
20404
  });
20093
20405
  case 8:
@@ -20117,24 +20429,11 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20117
20429
  }, _callee4, null, [[3, 9]]);
20118
20430
  });
20119
20431
  var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20120
- var _messages, _Object$values;
20121
- var previousAllMessages, messages, lastMessageId, setMappedAllMessages, allMessagesAfterLastMessage;
20432
+ var messages;
20122
20433
  return _regenerator().w(function (_context1) {
20123
20434
  while (1) switch (_context1.n) {
20124
20435
  case 0:
20125
- previousAllMessages = getAllMessages();
20126
20436
  messages = [].concat(updatedMessages);
20127
- lastMessageId = (_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : _messages.id;
20128
- setMappedAllMessages = {};
20129
- previousAllMessages.forEach(function (msg) {
20130
- if (msg.channelId === channel.id) {
20131
- setMappedAllMessages[msg.id || msg.tid || ''] = msg;
20132
- }
20133
- });
20134
- allMessagesAfterLastMessage = lastMessageId ? (_Object$values = Object.values(setMappedAllMessages || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.filter(function (msg) {
20135
- return msg.id > lastMessageId || !msg.id;
20136
- }) : Object.values(setMappedAllMessages || {});
20137
- messages = [].concat(messages, allMessagesAfterLastMessage || []);
20138
20437
  setMessagesToMap(channel.id, messages);
20139
20438
  setAllMessages(messages);
20140
20439
  _context1.n = 1;
@@ -20144,8 +20443,23 @@ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, up
20144
20443
  }
20145
20444
  }, _callee5);
20146
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
+ };
20147
20461
  function getMessagesQuery(action) {
20148
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, waitToSendPendingMessages, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
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;
20149
20463
  return _regenerator().w(function (_context10) {
20150
20464
  while (1) switch (_context10.p = _context10.n) {
20151
20465
  case 0:
@@ -20156,7 +20470,7 @@ function getMessagesQuery(action) {
20156
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;
20157
20471
  connectionState = store.getState().UserReducer.connectionStatus;
20158
20472
  if (!(channel.id && !channel.isMockChannel)) {
20159
- _context10.n = 76;
20473
+ _context10.n = 51;
20160
20474
  break;
20161
20475
  }
20162
20476
  SceytChatClient = getClient();
@@ -20186,13 +20500,13 @@ function getMessagesQuery(action) {
20186
20500
  hasNext: false
20187
20501
  };
20188
20502
  if (!loadWithLastMessage) {
20189
- _context10.n = 19;
20503
+ _context10.n = 15;
20190
20504
  break;
20191
20505
  }
20192
20506
  allMessages = getAllMessages();
20193
20507
  havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
20194
20508
  if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
20195
- _context10.n = 14;
20509
+ _context10.n = 10;
20196
20510
  break;
20197
20511
  }
20198
20512
  setHasPrevCached(false);
@@ -20203,43 +20517,41 @@ function getMessagesQuery(action) {
20203
20517
  break;
20204
20518
  }
20205
20519
  _context10.n = 5;
20206
- 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
+ });
20207
20545
  case 5:
20208
- _t1 = _context10.v;
20546
+ result = _context10.v;
20209
20547
  _context10.n = 7;
20210
20548
  break;
20211
20549
  case 6:
20212
- _t1 = {
20550
+ result = {
20213
20551
  messages: [],
20214
20552
  hasNext: false
20215
20553
  };
20216
20554
  case 7:
20217
- result = _t1;
20218
- if (!(result.messages.length === 50)) {
20219
- _context10.n = 11;
20220
- break;
20221
- }
20222
- messageQuery.limit = 30;
20223
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20224
- _context10.n = 9;
20225
- break;
20226
- }
20227
- _context10.n = 8;
20228
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20229
- case 8:
20230
- _t10 = _context10.v;
20231
- _context10.n = 10;
20232
- break;
20233
- case 9:
20234
- _t10 = {
20235
- messages: [],
20236
- hasNext: false
20237
- };
20238
- case 10:
20239
- secondResult = _t10;
20240
- result.messages = [].concat(secondResult.messages, result.messages);
20241
- result.hasNext = secondResult.hasNext;
20242
- case 11:
20243
20555
  sentMessages = [];
20244
20556
  if (withDeliveredMessages) {
20245
20557
  sentMessages = getFromAllMessagesByMessageId('', '', true);
@@ -20252,40 +20564,40 @@ function getMessagesQuery(action) {
20252
20564
  return !messagesMap[msg.tid || ''];
20253
20565
  });
20254
20566
  result.messages = [].concat(result.messages, filteredSentMessages).slice(filteredSentMessages.length);
20255
- _context10.n = 12;
20567
+ _context10.n = 8;
20256
20568
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20257
- case 12:
20569
+ case 8:
20258
20570
  setMessagesToMap(channel.id, result.messages);
20259
20571
  setAllMessages(result.messages);
20260
- _context10.n = 13;
20572
+ _context10.n = 9;
20261
20573
  return put(setMessagesHasPrevAC(true));
20262
- case 13:
20263
- _context10.n = 16;
20574
+ case 9:
20575
+ _context10.n = 12;
20264
20576
  break;
20265
- case 14:
20577
+ case 10:
20266
20578
  result.messages = getFromAllMessagesByMessageId('', '', true);
20267
- _context10.n = 15;
20579
+ _context10.n = 11;
20268
20580
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20269
- case 15:
20270
- _context10.n = 16;
20581
+ case 11:
20582
+ _context10.n = 12;
20271
20583
  return put(setMessagesHasPrevAC(true));
20272
- case 16:
20273
- _context10.n = 17;
20584
+ case 12:
20585
+ _context10.n = 13;
20274
20586
  return put(setMessagesHasNextAC(false));
20275
- case 17:
20587
+ case 13:
20276
20588
  setHasNextCached(false);
20277
20589
  if (!(messageId && scrollToMessage)) {
20278
- _context10.n = 18;
20590
+ _context10.n = 14;
20279
20591
  break;
20280
20592
  }
20281
- _context10.n = 18;
20593
+ _context10.n = 14;
20282
20594
  return put(setScrollToMessagesAC(messageId, highlight, behavior));
20283
- case 18:
20284
- _context10.n = 72;
20595
+ case 14:
20596
+ _context10.n = 44;
20285
20597
  break;
20286
- case 19:
20598
+ case 15:
20287
20599
  if (!messageId) {
20288
- _context10.n = 38;
20600
+ _context10.n = 29;
20289
20601
  break;
20290
20602
  }
20291
20603
  _allMessages = getAllMessages();
@@ -20294,302 +20606,258 @@ function getMessagesQuery(action) {
20294
20606
  });
20295
20607
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
20296
20608
  if (!(messageIndex >= maxLengthPart)) {
20297
- _context10.n = 22;
20609
+ _context10.n = 18;
20298
20610
  break;
20299
20611
  }
20300
20612
  result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20301
- _context10.n = 20;
20613
+ _context10.n = 16;
20302
20614
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20303
- case 20:
20615
+ case 16:
20304
20616
  setHasPrevCached(messageIndex > maxLengthPart);
20305
20617
  setHasNextCached(_allMessages.length > maxLengthPart);
20306
- _context10.n = 21;
20618
+ _context10.n = 17;
20307
20619
  return put(setMessagesHasPrevAC(true));
20308
- case 21:
20309
- _context10.n = 34;
20620
+ case 17:
20621
+ _context10.n = 25;
20310
20622
  break;
20311
- case 22:
20623
+ case 18:
20312
20624
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20313
20625
  log.info('load by message id from server ...............', messageId);
20314
20626
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20315
- _context10.n = 24;
20316
- break;
20317
- }
20318
- _context10.n = 23;
20319
- return call(messageQuery.loadNearMessageId, messageId);
20320
- case 23:
20321
- _t11 = _context10.v;
20322
- _context10.n = 25;
20323
- break;
20324
- case 24:
20325
- _t11 = {
20326
- messages: [],
20327
- hasNext: false
20328
- };
20329
- case 25:
20330
- result = _t11;
20331
- if (!(result.messages.length === 50)) {
20332
- _context10.n = 32;
20627
+ _context10.n = 22;
20333
20628
  break;
20334
20629
  }
20335
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20336
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20337
- _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;
20338
20666
  break;
20339
20667
  }
20340
- _context10.n = 26;
20341
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20342
- case 26:
20343
- _t12 = _context10.v;
20344
- _context10.n = 28;
20345
- break;
20346
- case 27:
20347
- _t12 = {
20348
- messages: [],
20349
- 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
20350
20674
  };
20351
- case 28:
20352
- _secondResult = _t12;
20353
- messageQuery.reverse = false;
20354
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20355
- _context10.n = 30;
20356
- break;
20357
- }
20358
- _context10.n = 29;
20359
- return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20360
- case 29:
20361
- _t13 = _context10.v;
20362
- _context10.n = 31;
20675
+ case 21:
20676
+ _context10.n = 23;
20363
20677
  break;
20364
- case 30:
20365
- _t13 = {
20678
+ case 22:
20679
+ result = {
20366
20680
  messages: [],
20367
20681
  hasNext: false
20368
20682
  };
20369
- case 31:
20370
- thirdResult = _t13;
20371
- result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
20372
- result.hasNext = _secondResult.hasNext;
20373
- messageQuery.reverse = true;
20374
- _context10.n = 32;
20375
- return put(setMessagesHasPrevAC(_secondResult.hasNext));
20376
- case 32:
20377
- _context10.n = 33;
20683
+ case 23:
20684
+ _context10.n = 24;
20378
20685
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20379
- case 33:
20686
+ case 24:
20380
20687
  setMessagesToMap(channel.id, result.messages);
20381
20688
  setAllMessages([].concat(result.messages));
20382
20689
  setHasPrevCached(false);
20383
20690
  setHasNextCached(false);
20384
- case 34:
20385
- _context10.n = 35;
20691
+ case 25:
20692
+ _context10.n = 26;
20386
20693
  return put(setMessagesHasNextAC(true));
20387
- case 35:
20694
+ case 26:
20388
20695
  if (!scrollToMessage) {
20389
- _context10.n = 36;
20696
+ _context10.n = 27;
20390
20697
  break;
20391
20698
  }
20392
- _context10.n = 36;
20699
+ _context10.n = 27;
20393
20700
  return put(setScrollToMessagesAC(messageId, true, behavior));
20394
- case 36:
20395
- _context10.n = 37;
20701
+ case 27:
20702
+ _context10.n = 28;
20396
20703
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20397
- case 37:
20398
- _context10.n = 72;
20704
+ case 28:
20705
+ _context10.n = 44;
20399
20706
  break;
20400
- case 38:
20707
+ case 29:
20401
20708
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20402
- _context10.n = 61;
20709
+ _context10.n = 36;
20403
20710
  break;
20404
20711
  }
20405
20712
  setMessagesToMap(channel.id, []);
20406
20713
  setAllMessages([]);
20407
20714
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20408
- if (!Number(channel.lastDisplayedMessageId)) {
20409
- _context10.n = 50;
20410
- break;
20411
- }
20412
20715
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20413
- _context10.n = 40;
20716
+ _context10.n = 31;
20414
20717
  break;
20415
20718
  }
20416
- _context10.n = 39;
20417
- return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20418
- case 39:
20419
- _t14 = _context10.v;
20420
- _context10.n = 41;
20421
- break;
20422
- case 40:
20423
- _t14 = {
20424
- messages: [],
20425
- hasNext: false
20426
- };
20427
- case 41:
20428
- result = _t14;
20429
- if (!(result.messages.length === 50)) {
20430
- _context10.n = 49;
20431
- break;
20432
- }
20433
- messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20434
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20435
- _context10.n = 43;
20436
- break;
20437
- }
20438
- _context10.n = 42;
20439
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20440
- case 42:
20441
- _t15 = _context10.v;
20442
- _context10.n = 44;
20443
- break;
20444
- case 43:
20445
- _t15 = {
20446
- messages: [],
20447
- hasNext: false
20448
- };
20449
- case 44:
20450
- _secondResult2 = _t15;
20451
- if (!(channel.newMessageCount > 25)) {
20452
- _context10.n = 48;
20453
- break;
20454
- }
20455
- messageQuery.reverse = false;
20456
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20457
- _context10.n = 46;
20458
- break;
20459
- }
20460
- _context10.n = 45;
20461
- return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20462
- case 45:
20463
- _t16 = _context10.v;
20464
- _context10.n = 47;
20465
- break;
20466
- case 46:
20467
- _t16 = {
20468
- messages: [],
20469
- hasNext: false
20470
- };
20471
- case 47:
20472
- _thirdResult = _t16;
20473
- result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
20474
- messageQuery.reverse = true;
20475
- _context10.n = 49;
20476
- break;
20477
- case 48:
20478
- result.messages = [].concat(_secondResult2.messages, result.messages);
20479
- case 49:
20480
- _context10.n = 57;
20481
- break;
20482
- case 50:
20483
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20484
- _context10.n = 52;
20485
- break;
20486
- }
20487
- _context10.n = 51;
20488
- return call(messageQuery.loadPrevious);
20489
- case 51:
20490
- _t17 = _context10.v;
20491
- _context10.n = 53;
20492
- break;
20493
- case 52:
20494
- _t17 = {
20495
- messages: [],
20496
- hasNext: false
20497
- };
20498
- case 53:
20499
- result = _t17;
20500
- if (!(result.messages.length === 50)) {
20501
- _context10.n = 57;
20502
- break;
20503
- }
20504
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20505
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20506
- _context10.n = 55;
20507
- break;
20508
- }
20509
- _context10.n = 54;
20510
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20511
- case 54:
20512
- _t18 = _context10.v;
20513
- _context10.n = 56;
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;
20514
20783
  break;
20515
- case 55:
20516
- _t18 = {
20784
+ case 31:
20785
+ result = {
20517
20786
  messages: [],
20518
20787
  hasNext: false
20519
20788
  };
20520
- case 56:
20521
- _secondResult3 = _t18;
20522
- result.messages = [].concat(_secondResult3.messages, result.messages);
20523
- result.hasNext = _secondResult3.hasNext;
20524
- case 57:
20525
- _context10.n = 58;
20789
+ case 32:
20790
+ _context10.n = 33;
20526
20791
  return put(setMessagesHasPrevAC(true));
20527
- case 58:
20528
- _context10.n = 59;
20792
+ case 33:
20793
+ _context10.n = 34;
20529
20794
  return put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20530
- case 59:
20795
+ case 34:
20531
20796
  setMessagesToMap(channel.id, result.messages);
20532
20797
  setAllMessages([].concat(result.messages));
20533
- _context10.n = 60;
20798
+ _context10.n = 35;
20534
20799
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20535
- case 60:
20536
- _context10.n = 72;
20800
+ case 35:
20801
+ _context10.n = 44;
20537
20802
  break;
20538
- case 61:
20803
+ case 36:
20539
20804
  setMessagesToMap(channel.id, []);
20540
20805
  setAllMessages([]);
20541
20806
  if (!(cachedMessages && cachedMessages.length)) {
20542
- _context10.n = 62;
20807
+ _context10.n = 38;
20543
20808
  break;
20544
20809
  }
20545
- setMessagesToMap(channel.id, []);
20546
- setAllMessages([].concat(cachedMessages));
20547
- _context10.n = 62;
20548
- return put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
20549
- 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:
20550
20820
  log.info('load message from server');
20551
20821
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20552
- _context10.n = 64;
20553
- break;
20554
- }
20555
- _context10.n = 63;
20556
- return call(messageQuery.loadPrevious);
20557
- case 63:
20558
- _t19 = _context10.v;
20559
- _context10.n = 65;
20560
- break;
20561
- case 64:
20562
- _t19 = {
20563
- messages: [],
20564
- hasNext: false
20565
- };
20566
- case 65:
20567
- result = _t19;
20568
- if (!(result.messages.length === 50)) {
20569
- _context10.n = 69;
20570
- break;
20571
- }
20572
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20573
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20574
- _context10.n = 67;
20822
+ _context10.n = 40;
20575
20823
  break;
20576
20824
  }
20577
- _context10.n = 66;
20578
- return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20579
- case 66:
20580
- _t20 = _context10.v;
20581
- _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;
20582
20854
  break;
20583
- case 67:
20584
- _t20 = {
20855
+ case 40:
20856
+ result = {
20585
20857
  messages: [],
20586
20858
  hasNext: false
20587
20859
  };
20588
- case 68:
20589
- _secondResult4 = _t20;
20590
- result.messages = [].concat(_secondResult4.messages, result.messages);
20591
- result.hasNext = _secondResult4.hasNext;
20592
- case 69:
20860
+ case 41:
20593
20861
  updatedMessages = [];
20594
20862
  result.messages.forEach(function (msg) {
20595
20863
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20599,70 +20867,72 @@ function getMessagesQuery(action) {
20599
20867
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20600
20868
  updatedMessages.push(updatedMessage || msg);
20601
20869
  });
20602
- _context10.n = 70;
20870
+ _context10.n = 42;
20603
20871
  return call(updateMessages, channel, updatedMessages);
20604
- case 70:
20605
- _context10.n = 71;
20872
+ case 42:
20873
+ _context10.n = 43;
20606
20874
  return put(setMessagesHasPrevAC(true));
20607
- case 71:
20608
- _context10.n = 72;
20875
+ case 43:
20876
+ _context10.n = 44;
20609
20877
  return put(setMessagesHasNextAC(false));
20610
- case 72:
20611
- pendingMessages = getPendingMessages(channel.id);
20612
- if (!(pendingMessages && pendingMessages.length)) {
20613
- _context10.n = 73;
20614
- break;
20615
- }
20616
- _messagesMap = {};
20617
- result.messages.forEach(function (msg) {
20618
- _messagesMap[msg.tid || ''] = msg;
20619
- });
20620
- filteredPendingMessages = pendingMessages.filter(function (msg) {
20621
- return !_messagesMap[msg.tid || ''];
20622
- });
20623
- _context10.n = 73;
20878
+ case 44:
20879
+ filteredPendingMessages = getFilteredPendingMessages(result.messages);
20880
+ _context10.n = 45;
20624
20881
  return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20625
- case 73:
20882
+ case 45:
20626
20883
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20627
20884
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20628
- _context10.n = 75;
20885
+ _context10.n = 47;
20629
20886
  break;
20630
20887
  }
20631
- _context10.n = 74;
20888
+ _context10.n = 46;
20632
20889
  return put(setWaitToSendPendingMessagesAC(false));
20633
- case 74:
20634
- _context10.n = 75;
20890
+ case 46:
20891
+ _context10.n = 47;
20635
20892
  return spawn(sendPendingMessages, connectionState);
20636
- case 75:
20637
- _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;
20638
20908
  break;
20639
- case 76:
20909
+ case 51:
20640
20910
  if (!channel.isMockChannel) {
20641
- _context10.n = 77;
20911
+ _context10.n = 52;
20642
20912
  break;
20643
20913
  }
20644
- _context10.n = 77;
20914
+ _context10.n = 52;
20645
20915
  return put(setMessagesAC([]));
20646
- case 77:
20647
- _context10.n = 79;
20916
+ case 52:
20917
+ _context10.n = 54;
20648
20918
  break;
20649
- case 78:
20650
- _context10.p = 78;
20651
- _t21 = _context10.v;
20652
- log.error('error in message query', _t21);
20653
- case 79:
20654
- _context10.p = 79;
20655
- _context10.n = 80;
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;
20656
20926
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20657
- case 80:
20658
- return _context10.f(79);
20659
- case 81:
20927
+ case 55:
20928
+ return _context10.f(54);
20929
+ case 56:
20660
20930
  return _context10.a(2);
20661
20931
  }
20662
- }, _marked7$1, null, [[0, 78, 79, 81]]);
20932
+ }, _marked7$1, null, [[0, 53, 54, 56]]);
20663
20933
  }
20664
20934
  function getMessageQuery(action) {
20665
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t22;
20935
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t10;
20666
20936
  return _regenerator().w(function (_context11) {
20667
20937
  while (1) switch (_context11.p = _context11.n) {
20668
20938
  case 0:
@@ -20712,15 +20982,15 @@ function getMessageQuery(action) {
20712
20982
  break;
20713
20983
  case 7:
20714
20984
  _context11.p = 7;
20715
- _t22 = _context11.v;
20716
- log.error('error in message query', _t22);
20985
+ _t10 = _context11.v;
20986
+ log.error('error in message query', _t10);
20717
20987
  case 8:
20718
20988
  return _context11.a(2);
20719
20989
  }
20720
20990
  }, _marked8$1, null, [[0, 7]]);
20721
20991
  }
20722
20992
  function loadMoreMessages(action) {
20723
- 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;
20724
20994
  return _regenerator().w(function (_context12) {
20725
20995
  while (1) switch (_context12.p = _context12.n) {
20726
20996
  case 0:
@@ -20759,7 +21029,7 @@ function loadMoreMessages(action) {
20759
21029
  break;
20760
21030
  }
20761
21031
  _context12.n = 4;
20762
- return call(messageQuery.loadPreviousMessageId, messageId);
21032
+ return call(queuedChannelCall, channelId, messageQuery.loadPreviousMessageId, messageId);
20763
21033
  case 4:
20764
21034
  result = _context12.v;
20765
21035
  if (result.messages.length) {
@@ -20787,7 +21057,7 @@ function loadMoreMessages(action) {
20787
21057
  log.info('saga load next from server ... ', messageId);
20788
21058
  messageQuery.reverse = false;
20789
21059
  _context12.n = 8;
20790
- return call(messageQuery.loadNextMessageId, messageId);
21060
+ return call(queuedChannelCall, channelId, messageQuery.loadNextMessageId, messageId);
20791
21061
  case 8:
20792
21062
  result = _context12.v;
20793
21063
  if (result.messages.length) {
@@ -20833,15 +21103,15 @@ function loadMoreMessages(action) {
20833
21103
  break;
20834
21104
  case 18:
20835
21105
  _context12.p = 18;
20836
- _t23 = _context12.v;
20837
- log.error('error in load more messages', _t23);
21106
+ _t11 = _context12.v;
21107
+ log.error('error in load more messages', _t11);
20838
21108
  case 19:
20839
21109
  return _context12.a(2);
20840
21110
  }
20841
21111
  }, _marked9$1, null, [[0, 18]]);
20842
21112
  }
20843
21113
  function addReaction(action) {
20844
- 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;
20845
21115
  return _regenerator().w(function (_context13) {
20846
21116
  while (1) switch (_context13.p = _context13.n) {
20847
21117
  case 0:
@@ -20860,7 +21130,7 @@ function addReaction(action) {
20860
21130
  }
20861
21131
  }
20862
21132
  _context13.n = 2;
20863
- return call(channel.addReaction, messageId, key, score, reason, enforceUnique);
21133
+ return call(queuedChannelCall, channelId, channel.addReaction, messageId, key, score, reason, enforceUnique);
20864
21134
  case 2:
20865
21135
  _yield$call = _context13.v;
20866
21136
  message = _yield$call.message;
@@ -20894,15 +21164,15 @@ function addReaction(action) {
20894
21164
  break;
20895
21165
  case 8:
20896
21166
  _context13.p = 8;
20897
- _t24 = _context13.v;
20898
- log.error('ERROR in add reaction', _t24.message);
21167
+ _t12 = _context13.v;
21168
+ log.error('ERROR in add reaction', _t12.message);
20899
21169
  case 9:
20900
21170
  return _context13.a(2);
20901
21171
  }
20902
21172
  }, _marked0$1, null, [[0, 8]]);
20903
21173
  }
20904
21174
  function deleteReaction(action) {
20905
- 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;
20906
21176
  return _regenerator().w(function (_context14) {
20907
21177
  while (1) switch (_context14.p = _context14.n) {
20908
21178
  case 0:
@@ -20920,7 +21190,7 @@ function deleteReaction(action) {
20920
21190
  }
20921
21191
  }
20922
21192
  _context14.n = 2;
20923
- return call(channel.deleteReaction, messageId, key);
21193
+ return call(queuedChannelCall, channelId, channel.deleteReaction, messageId, key);
20924
21194
  case 2:
20925
21195
  _yield$call2 = _context14.v;
20926
21196
  message = _yield$call2.message;
@@ -20950,15 +21220,15 @@ function deleteReaction(action) {
20950
21220
  break;
20951
21221
  case 7:
20952
21222
  _context14.p = 7;
20953
- _t25 = _context14.v;
20954
- log.error('ERROR in delete reaction', _t25.message);
21223
+ _t13 = _context14.v;
21224
+ log.error('ERROR in delete reaction', _t13.message);
20955
21225
  case 8:
20956
21226
  return _context14.a(2);
20957
21227
  }
20958
21228
  }, _marked1$1, null, [[0, 7]]);
20959
21229
  }
20960
21230
  function getReactions(action) {
20961
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t26;
21231
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t14;
20962
21232
  return _regenerator().w(function (_context15) {
20963
21233
  while (1) switch (_context15.p = _context15.n) {
20964
21234
  case 0:
@@ -20993,15 +21263,15 @@ function getReactions(action) {
20993
21263
  break;
20994
21264
  case 6:
20995
21265
  _context15.p = 6;
20996
- _t26 = _context15.v;
20997
- log.error('ERROR in get reactions', _t26.message);
21266
+ _t14 = _context15.v;
21267
+ log.error('ERROR in get reactions', _t14.message);
20998
21268
  case 7:
20999
21269
  return _context15.a(2);
21000
21270
  }
21001
21271
  }, _marked10$1, null, [[0, 6]]);
21002
21272
  }
21003
21273
  function loadMoreReactions(action) {
21004
- var payload, limit, ReactionQuery, result, _t27;
21274
+ var payload, limit, ReactionQuery, result, _t15;
21005
21275
  return _regenerator().w(function (_context16) {
21006
21276
  while (1) switch (_context16.p = _context16.n) {
21007
21277
  case 0:
@@ -21029,15 +21299,15 @@ function loadMoreReactions(action) {
21029
21299
  break;
21030
21300
  case 5:
21031
21301
  _context16.p = 5;
21032
- _t27 = _context16.v;
21033
- log.error('ERROR in load more reactions', _t27.message);
21302
+ _t15 = _context16.v;
21303
+ log.error('ERROR in load more reactions', _t15.message);
21034
21304
  case 6:
21035
21305
  return _context16.a(2);
21036
21306
  }
21037
21307
  }, _marked11$1, null, [[0, 5]]);
21038
21308
  }
21039
21309
  function getMessageAttachments(action) {
21040
- 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;
21041
21311
  return _regenerator().w(function (_context17) {
21042
21312
  while (1) switch (_context17.p = _context17.n) {
21043
21313
  case 0:
@@ -21115,15 +21385,15 @@ function getMessageAttachments(action) {
21115
21385
  break;
21116
21386
  case 13:
21117
21387
  _context17.p = 13;
21118
- _t28 = _context17.v;
21119
- log.error('error in message attachment query', _t28);
21388
+ _t16 = _context17.v;
21389
+ log.error('error in message attachment query', _t16);
21120
21390
  case 14:
21121
21391
  return _context17.a(2);
21122
21392
  }
21123
21393
  }, _marked12$1, null, [[0, 13]]);
21124
21394
  }
21125
21395
  function loadMoreMessageAttachments(action) {
21126
- 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;
21127
21397
  return _regenerator().w(function (_context18) {
21128
21398
  while (1) switch (_context18.p = _context18.n) {
21129
21399
  case 0:
@@ -21167,15 +21437,15 @@ function loadMoreMessageAttachments(action) {
21167
21437
  break;
21168
21438
  case 8:
21169
21439
  _context18.p = 8;
21170
- _t29 = _context18.v;
21171
- log.error('error in message attachment query', _t29);
21440
+ _t17 = _context18.v;
21441
+ log.error('error in message attachment query', _t17);
21172
21442
  case 9:
21173
21443
  return _context18.a(2);
21174
21444
  }
21175
21445
  }, _marked13$1, null, [[0, 8]]);
21176
21446
  }
21177
21447
  function pauseAttachmentUploading(action) {
21178
- var attachmentId, isPaused, _t30;
21448
+ var attachmentId, isPaused, _t18;
21179
21449
  return _regenerator().w(function (_context19) {
21180
21450
  while (1) switch (_context19.p = _context19.n) {
21181
21451
  case 0:
@@ -21197,15 +21467,15 @@ function pauseAttachmentUploading(action) {
21197
21467
  break;
21198
21468
  case 2:
21199
21469
  _context19.p = 2;
21200
- _t30 = _context19.v;
21201
- log.error('error in pause attachment uploading', _t30);
21470
+ _t18 = _context19.v;
21471
+ log.error('error in pause attachment uploading', _t18);
21202
21472
  case 3:
21203
21473
  return _context19.a(2);
21204
21474
  }
21205
21475
  }, _marked14$1, null, [[0, 2]]);
21206
21476
  }
21207
21477
  function resumeAttachmentUploading(action) {
21208
- var attachmentId, isResumed, _t31;
21478
+ var attachmentId, isResumed, _t19;
21209
21479
  return _regenerator().w(function (_context20) {
21210
21480
  while (1) switch (_context20.p = _context20.n) {
21211
21481
  case 0:
@@ -21228,15 +21498,15 @@ function resumeAttachmentUploading(action) {
21228
21498
  break;
21229
21499
  case 2:
21230
21500
  _context20.p = 2;
21231
- _t31 = _context20.v;
21232
- log.error('error in resume attachment uploading', _t31);
21501
+ _t19 = _context20.v;
21502
+ log.error('error in resume attachment uploading', _t19);
21233
21503
  case 3:
21234
21504
  return _context20.a(2);
21235
21505
  }
21236
21506
  }, _marked15$1, null, [[0, 2]]);
21237
21507
  }
21238
21508
  function getMessageMarkers(action) {
21239
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t32;
21509
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t20;
21240
21510
  return _regenerator().w(function (_context21) {
21241
21511
  while (1) switch (_context21.p = _context21.n) {
21242
21512
  case 0:
@@ -21266,8 +21536,8 @@ function getMessageMarkers(action) {
21266
21536
  break;
21267
21537
  case 5:
21268
21538
  _context21.p = 5;
21269
- _t32 = _context21.v;
21270
- log.error('error in get message markers', _t32);
21539
+ _t20 = _context21.v;
21540
+ log.error('error in get message markers', _t20);
21271
21541
  case 6:
21272
21542
  _context21.p = 6;
21273
21543
  _context21.n = 7;
@@ -21405,7 +21675,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21405
21675
  }, _marked18$1);
21406
21676
  }
21407
21677
  function addPollVote(action) {
21408
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values2, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t33;
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;
21409
21679
  return _regenerator().w(function (_context24) {
21410
21680
  while (1) switch (_context24.p = _context24.n) {
21411
21681
  case 0:
@@ -21464,7 +21734,7 @@ function addPollVote(action) {
21464
21734
  _context24.n = 3;
21465
21735
  break;
21466
21736
  }
21467
- 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) {
21468
21738
  return msg.id === message.id || msg.tid === message.id;
21469
21739
  })) || message;
21470
21740
  hasNext = ((_store$getState$Messa = store.getState().MessageReducer.pollVotesHasMore) === null || _store$getState$Messa === void 0 ? void 0 : _store$getState$Messa[pollId]) || false;
@@ -21504,8 +21774,8 @@ function addPollVote(action) {
21504
21774
  break;
21505
21775
  case 8:
21506
21776
  _context24.p = 8;
21507
- _t33 = _context24.v;
21508
- log.error('error in add poll vote', _t33);
21777
+ _t21 = _context24.v;
21778
+ log.error('error in add poll vote', _t21);
21509
21779
  case 9:
21510
21780
  return _context24.a(2);
21511
21781
  }
@@ -21606,7 +21876,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21606
21876
  }, _marked21$1);
21607
21877
  }
21608
21878
  function deletePollVote(action) {
21609
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values3, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t34;
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;
21610
21880
  return _regenerator().w(function (_context27) {
21611
21881
  while (1) switch (_context27.p = _context27.n) {
21612
21882
  case 0:
@@ -21652,7 +21922,7 @@ function deletePollVote(action) {
21652
21922
  _context27.n = 4;
21653
21923
  break;
21654
21924
  }
21655
- 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) {
21656
21926
  return msg.id === message.id || msg.tid === message.id;
21657
21927
  })) || message;
21658
21928
  _context27.n = 3;
@@ -21691,8 +21961,8 @@ function deletePollVote(action) {
21691
21961
  break;
21692
21962
  case 9:
21693
21963
  _context27.p = 9;
21694
- _t34 = _context27.v;
21695
- log.error('error in delete poll vote', _t34);
21964
+ _t22 = _context27.v;
21965
+ log.error('error in delete poll vote', _t22);
21696
21966
  case 10:
21697
21967
  return _context27.a(2);
21698
21968
  }
@@ -21770,7 +22040,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
21770
22040
  }, _marked24$1);
21771
22041
  }
21772
22042
  function closePoll(action) {
21773
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t35;
22043
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t23;
21774
22044
  return _regenerator().w(function (_context30) {
21775
22045
  while (1) switch (_context30.p = _context30.n) {
21776
22046
  case 0:
@@ -21803,8 +22073,8 @@ function closePoll(action) {
21803
22073
  break;
21804
22074
  case 4:
21805
22075
  _context30.p = 4;
21806
- _t35 = _context30.v;
21807
- log.error('error in close poll', _t35);
22076
+ _t23 = _context30.v;
22077
+ log.error('error in close poll', _t23);
21808
22078
  case 5:
21809
22079
  return _context30.a(2);
21810
22080
  }
@@ -21893,7 +22163,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21893
22163
  }, _marked27$1);
21894
22164
  }
21895
22165
  function retractPollVote(action) {
21896
- 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;
21897
22167
  return _regenerator().w(function (_context33) {
21898
22168
  while (1) switch (_context33.p = _context33.n) {
21899
22169
  case 0:
@@ -21935,15 +22205,15 @@ function retractPollVote(action) {
21935
22205
  break;
21936
22206
  case 4:
21937
22207
  _context33.p = 4;
21938
- _t36 = _context33.v;
21939
- log.error('error in retract poll vote', _t36);
22208
+ _t24 = _context33.v;
22209
+ log.error('error in retract poll vote', _t24);
21940
22210
  case 5:
21941
22211
  return _context33.a(2);
21942
22212
  }
21943
22213
  }, _marked28$1, null, [[0, 4]]);
21944
22214
  }
21945
22215
  function resendPendingPollActions(action) {
21946
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t37;
22216
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t25;
21947
22217
  return _regenerator().w(function (_context34) {
21948
22218
  while (1) switch (_context34.p = _context34.n) {
21949
22219
  case 0:
@@ -21999,15 +22269,15 @@ function resendPendingPollActions(action) {
21999
22269
  break;
22000
22270
  case 3:
22001
22271
  _context34.p = 3;
22002
- _t37 = _context34.v;
22003
- log.error('error in resend pending poll actions', _t37);
22272
+ _t25 = _context34.v;
22273
+ log.error('error in resend pending poll actions', _t25);
22004
22274
  case 4:
22005
22275
  return _context34.a(2);
22006
22276
  }
22007
22277
  }, _marked29$1, null, [[0, 3]]);
22008
22278
  }
22009
22279
  function getPollVotes(action) {
22010
- 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;
22011
22281
  return _regenerator().w(function (_context35) {
22012
22282
  while (1) switch (_context35.p = _context35.n) {
22013
22283
  case 0:
@@ -22073,8 +22343,8 @@ function getPollVotes(action) {
22073
22343
  break;
22074
22344
  case 7:
22075
22345
  _context35.p = 7;
22076
- _t38 = _context35.v;
22077
- log.error('ERROR in get poll votes', _t38);
22346
+ _t26 = _context35.v;
22347
+ log.error('ERROR in get poll votes', _t26);
22078
22348
  _context35.n = 8;
22079
22349
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22080
22350
  case 8:
@@ -22083,7 +22353,7 @@ function getPollVotes(action) {
22083
22353
  }, _marked30$1, null, [[0, 7]]);
22084
22354
  }
22085
22355
  function loadMorePollVotes(action) {
22086
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t39;
22356
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t27;
22087
22357
  return _regenerator().w(function (_context36) {
22088
22358
  while (1) switch (_context36.p = _context36.n) {
22089
22359
  case 0:
@@ -22141,8 +22411,8 @@ function loadMorePollVotes(action) {
22141
22411
  break;
22142
22412
  case 6:
22143
22413
  _context36.p = 6;
22144
- _t39 = _context36.v;
22145
- log.error('ERROR in load more poll votes', _t39);
22414
+ _t27 = _context36.v;
22415
+ log.error('ERROR in load more poll votes', _t27);
22146
22416
  _context36.n = 7;
22147
22417
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22148
22418
  case 7:
@@ -22244,54 +22514,71 @@ var _marked$4 = /*#__PURE__*/_regenerator().m(getMembers),
22244
22514
  _marked8$2 = /*#__PURE__*/_regenerator().m(getRoles),
22245
22515
  _marked9$2 = /*#__PURE__*/_regenerator().m(MembersSaga);
22246
22516
  function getMembers(action) {
22247
- var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, _t;
22517
+ var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, hasNext, updateChannelData, _t;
22248
22518
  return _regenerator().w(function (_context) {
22249
22519
  while (1) switch (_context.p = _context.n) {
22250
22520
  case 0:
22251
22521
  _context.p = 0;
22522
+ _context.n = 1;
22523
+ return put(setMembersHasNextAC(true));
22524
+ case 1:
22252
22525
  payload = action.payload;
22253
22526
  channelId = payload.channelId;
22254
22527
  if (channelId) {
22255
- _context.n = 1;
22528
+ _context.n = 2;
22256
22529
  break;
22257
22530
  }
22258
22531
  return _context.a(2);
22259
- case 1:
22532
+ case 2:
22260
22533
  SceytChatClient = getClient();
22261
22534
  membersQueryBuilder = new SceytChatClient.MemberListQueryBuilder(channelId);
22262
22535
  membersQueryBuilder.all().byAffiliationOrder().orderKeyByUsername().limit(50);
22263
- _context.n = 2;
22536
+ _context.n = 3;
22264
22537
  return call(membersQueryBuilder.build);
22265
- case 2:
22538
+ case 3:
22266
22539
  membersQuery = _context.v;
22267
22540
  query.membersQuery = membersQuery;
22268
- _context.n = 3;
22269
- return put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22270
- case 3:
22271
22541
  _context.n = 4;
22272
- return call(membersQuery.loadNextPage);
22542
+ return put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22273
22543
  case 4:
22274
- _yield$call = _context.v;
22275
- members = _yield$call.members;
22276
22544
  _context.n = 5;
22277
- return put(setMembersToListAC(members));
22545
+ return call(membersQuery.loadNextPage);
22278
22546
  case 5:
22547
+ _yield$call = _context.v;
22548
+ members = _yield$call.members;
22549
+ hasNext = _yield$call.hasNext;
22279
22550
  _context.n = 6;
22280
- return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22551
+ return put(setMembersToListAC(members));
22281
22552
  case 6:
22553
+ _context.n = 7;
22554
+ return put(setMembersHasNextAC(hasNext));
22555
+ case 7:
22282
22556
  _context.n = 8;
22557
+ return call(updateActiveChannelMembersAdd, members) || {};
22558
+ case 8:
22559
+ updateChannelData = _context.v;
22560
+ _context.n = 9;
22561
+ return put(updateChannelDataAC(channelId, updateChannelData));
22562
+ case 9:
22563
+ _context.n = 11;
22283
22564
  break;
22284
- case 7:
22285
- _context.p = 7;
22565
+ case 10:
22566
+ _context.p = 10;
22286
22567
  _t = _context.v;
22287
22568
  log.error('ERROR in get members - ', _t.message);
22288
- case 8:
22569
+ case 11:
22570
+ _context.p = 11;
22571
+ _context.n = 12;
22572
+ return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22573
+ case 12:
22574
+ return _context.f(11);
22575
+ case 13:
22289
22576
  return _context.a(2);
22290
22577
  }
22291
- }, _marked$4, null, [[0, 7]]);
22578
+ }, _marked$4, null, [[0, 10, 11, 13]]);
22292
22579
  }
22293
22580
  function loadMoreMembers(action) {
22294
- var payload, limit, channelId, membersQuery, _yield$call2, members, updateChannelData;
22581
+ var payload, limit, channelId, membersQuery, _yield$call2, members, hasNext, updateChannelData;
22295
22582
  return _regenerator().w(function (_context2) {
22296
22583
  while (1) switch (_context2.p = _context2.n) {
22297
22584
  case 0:
@@ -22311,27 +22598,34 @@ function loadMoreMembers(action) {
22311
22598
  case 2:
22312
22599
  _yield$call2 = _context2.v;
22313
22600
  members = _yield$call2.members;
22601
+ hasNext = _yield$call2.hasNext;
22314
22602
  _context2.n = 3;
22315
22603
  return put(addMembersToListAC(members));
22316
22604
  case 3:
22317
22605
  _context2.n = 4;
22318
- return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22606
+ return put(setMembersHasNextAC(hasNext));
22319
22607
  case 4:
22320
22608
  _context2.n = 5;
22321
22609
  return call(updateActiveChannelMembersAdd, members) || {};
22322
22610
  case 5:
22323
22611
  updateChannelData = _context2.v;
22324
22612
  _context2.n = 6;
22325
- return put(updateChannelDataAC(channelId, _extends({}, updateChannelData)));
22613
+ return put(updateChannelDataAC(channelId, updateChannelData));
22326
22614
  case 6:
22327
22615
  _context2.n = 8;
22328
22616
  break;
22329
22617
  case 7:
22330
22618
  _context2.p = 7;
22331
22619
  case 8:
22620
+ _context2.p = 8;
22621
+ _context2.n = 9;
22622
+ return put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22623
+ case 9:
22624
+ return _context2.f(8);
22625
+ case 10:
22332
22626
  return _context2.a(2);
22333
22627
  }
22334
- }, _marked2$3, null, [[0, 7]]);
22628
+ }, _marked2$3, null, [[0, 7, 8, 10]]);
22335
22629
  }
22336
22630
  function addMembers(action) {
22337
22631
  var payload, members, channelId, channel, membersToAdd, addedMembers, membersIds, messageToSend, updateChannelData, _t3;
@@ -23107,6 +23401,9 @@ var rolesMapSelector = function rolesMapSelector(store) {
23107
23401
  var membersLoadingStateSelector = function membersLoadingStateSelector(store) {
23108
23402
  return store.MembersReducer.membersLoadingState;
23109
23403
  };
23404
+ var membersHasNextSelector = function membersHasNextSelector(store) {
23405
+ return store.MembersReducer.membersHasNext;
23406
+ };
23110
23407
 
23111
23408
  var useDidUpdate = function useDidUpdate(callback, deps) {
23112
23409
  var hasMount = useRef(false);
@@ -37404,16 +37701,7 @@ var Message$1 = function Message(_ref) {
37404
37701
  setMessageActionsShow(false);
37405
37702
  };
37406
37703
  var handleResendMessage = function handleResendMessage() {
37407
- var messageToResend = _extends({}, message);
37408
- if (message.attachments && message.attachments.length) {
37409
- messageToResend.attachments = message.attachments.map(function (att) {
37410
- var pendingAttachment = getPendingAttachment(att.tid);
37411
- return _extends({}, att, {
37412
- data: new File([pendingAttachment.file], att.data.name)
37413
- });
37414
- });
37415
- }
37416
- dispatch(resendMessageAC(messageToResend, channel.id, connectionStatus));
37704
+ dispatch(resendMessageAC(message, channel.id, connectionStatus));
37417
37705
  setMessageActionsShow(false);
37418
37706
  };
37419
37707
  var handleCopyMessage = function handleCopyMessage() {
@@ -37471,12 +37759,12 @@ var Message$1 = function Message(_ref) {
37471
37759
  setFrequentlyEmojisOpen(false);
37472
37760
  };
37473
37761
  var handleSendReadMarker = function handleSendReadMarker() {
37474
- if (!message.userMarkers.find(function (marker) {
37762
+ if (message.incoming && !message.userMarkers.find(function (marker) {
37475
37763
  return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
37476
37764
  })) {
37477
37765
  if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
37478
37766
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
37479
- }) && message.incoming && !unreadScrollTo) {
37767
+ }) && !unreadScrollTo) {
37480
37768
  dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
37481
37769
  }
37482
37770
  }
@@ -37634,7 +37922,8 @@ var Message$1 = function Message(_ref) {
37634
37922
  withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
37635
37923
  className: 'messageContent'
37636
37924
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
37637
- rtl: ownMessageOnRightSide && !message.incoming
37925
+ rtl: ownMessageOnRightSide && !message.incoming,
37926
+ onClick: handleResendMessage
37638
37927
  }, /*#__PURE__*/React__default.createElement(ErrorIconWrapper, null))), CustomMessageItem ? (/*#__PURE__*/React__default.createElement(CustomMessageItem, {
37639
37928
  key: message.id || message.tid,
37640
37929
  channel: channel,
@@ -37939,7 +38228,7 @@ var MessageReaction = styled.span(_templateObject3$y || (_templateObject3$y = _t
37939
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) {
37940
38229
  return props.color;
37941
38230
  });
37942
- var FailedMessageIcon = styled.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n"])), function (props) {
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) {
37943
38232
  return !props.rtl && '-24px';
37944
38233
  }, function (props) {
37945
38234
  return props.rtl && '-24px';
@@ -38791,7 +39080,18 @@ var MessageList = function MessageList(_ref2) {
38791
39080
  scrollElement.style.scrollBehavior = 'inherit';
38792
39081
  }
38793
39082
  setScrollIntoView(true);
38794
- 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
+ }
38795
39095
  if (lastReadMessageNode && scrollElement) {
38796
39096
  dispatch(scrollToNewMessageAC(false));
38797
39097
  scrollElement.scrollTo({
@@ -42512,7 +42812,13 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42512
42812
  nodes: [MentionNode],
42513
42813
  onError: onError
42514
42814
  };
42515
- 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
+ }
42516
42822
  if (typingState) {
42517
42823
  setInTypingStateTimout(setTimeout(function () {
42518
42824
  setInTypingStateTimout(0);
@@ -42649,11 +42955,11 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42649
42955
  } else {
42650
42956
  if (typingTimout) {
42651
42957
  if (!inTypingStateTimout) {
42652
- handleSendTypingState(true);
42958
+ handleSendTypingState(true, code);
42653
42959
  }
42654
42960
  clearTimeout(typingTimout);
42655
42961
  } else {
42656
- handleSendTypingState(true);
42962
+ handleSendTypingState(true, code);
42657
42963
  }
42658
42964
  setTypingTimout(setTimeout(function () {
42659
42965
  setTypingTimout(0);
@@ -43328,7 +43634,9 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43328
43634
  if (activeChannel.id) {
43329
43635
  prevActiveChannelId = activeChannel.id;
43330
43636
  }
43331
- dispatch(getMembersAC(activeChannel.id));
43637
+ if (activeChannel.id) {
43638
+ dispatch(getMembersAC(activeChannel.id));
43639
+ }
43332
43640
  setMentionedUsers([]);
43333
43641
  }, [activeChannel.id]);
43334
43642
  useEffect(function () {
@@ -44918,7 +45226,8 @@ var Actions = function Actions(_ref) {
44918
45226
  iconColor: iconPrimary,
44919
45227
  color: textPrimary,
44920
45228
  hoverColor: textPrimary,
44921
- fontSize: actionItemsFontSize
45229
+ fontSize: actionItemsFontSize,
45230
+ flexWrap: 'wrap'
44922
45231
  }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DefaultWatchIcon, {
44923
45232
  "$isLightMode": backgroundColor === '#FFFFFF'
44924
45233
  }), "Disappearing messages", /*#__PURE__*/React__default.createElement(DisappearingMessagesStatusWrapper, null, /*#__PURE__*/React__default.createElement(DisappearingMessagesStatus, {
@@ -45122,7 +45431,7 @@ var DefaultMarkAsReadIcon = styled(SvgLeave)(_templateObject15$3 || (_templateOb
45122
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) {
45123
45432
  return props.$isLightMode ? '#FFFFFF' : '#000000';
45124
45433
  });
45125
- var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
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) {
45126
45435
  return props.fontSize || '15px';
45127
45436
  }, function (props) {
45128
45437
  return props.color;
@@ -45130,6 +45439,8 @@ var ActionItem = styled.li(_templateObject17$3 || (_templateObject17$3 = _tagged
45130
45439
  return props.order;
45131
45440
  }, function (props) {
45132
45441
  return props.disableEvent && 'none';
45442
+ }, function (props) {
45443
+ return props.flexWrap && "flex-wrap: " + props.flexWrap + ";";
45133
45444
  }, function (props) {
45134
45445
  return props.iconColor;
45135
45446
  }, function (props) {
@@ -45938,19 +46249,11 @@ var Members = function Members(_ref) {
45938
46249
  setCloseMenu = _useState9[1];
45939
46250
  var members = useSelector(activeChannelMembersSelector) || [];
45940
46251
  var contactsMap = useSelector(contactsMapSelector) || {};
45941
- var membersLoading = useSelector(membersLoadingStateSelector) || {};
45942
46252
  var user = getClient().user;
45943
46253
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
45944
46254
  var channelTypeRoleMap = getDefaultRolesByChannelTypesMap();
45945
46255
  var displayMemberText = memberDisplayText && memberDisplayText[channel.type] ? memberDisplayText[channel.type] + "s" : channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? 'subscribers' : 'members';
45946
46256
  var noMemberEditPermissions = !checkActionPermission('changeMemberRole') && !checkActionPermission('kickAndBlockMember') && !checkActionPermission('kickMember');
45947
- var handleMembersListScroll = function handleMembersListScroll(event) {
45948
- if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
45949
- if (membersLoading === LOADING_STATE.LOADED) {
45950
- dispatch(loadMoreMembersAC(15, channel.id));
45951
- }
45952
- }
45953
- };
45954
46257
  var watchDropdownState = function watchDropdownState(state, memberId) {
45955
46258
  if (state) {
45956
46259
  setCloseMenu(memberId);
@@ -46048,16 +46351,16 @@ var Members = function Members(_ref) {
46048
46351
  if (getFromContacts) {
46049
46352
  dispatch(getContactsAC());
46050
46353
  }
46051
- dispatch(getMembersAC(channel.id));
46052
- }, [channel]);
46354
+ if (channel !== null && channel !== void 0 && channel.id) {
46355
+ dispatch(getMembersAC(channel.id));
46356
+ }
46357
+ }, [channel === null || channel === void 0 ? void 0 : channel.id]);
46053
46358
  var currentUserRole = (_members$find = members.find(function (member) {
46054
46359
  return member.id === user.id;
46055
46360
  })) === null || _members$find === void 0 ? void 0 : _members$find.role;
46056
46361
  return /*#__PURE__*/React__default.createElement(Container$o, {
46057
46362
  theme: theme
46058
- }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, {
46059
- onScroll: handleMembersListScroll
46060
- }, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46363
+ }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, null, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46061
46364
  key: 1,
46062
46365
  onClick: handleAddMemberPopup,
46063
46366
  color: textPrimary,
@@ -47462,6 +47765,7 @@ var Details = function Details(_ref) {
47462
47765
  var _usePermissions = usePermissions(activeChannel ? activeChannel.userRole : ''),
47463
47766
  checkActionPermission = _usePermissions[0];
47464
47767
  var membersLoading = useSelector(membersLoadingStateSelector);
47768
+ var membersHasNext = useSelector(membersHasNextSelector);
47465
47769
  var messagesLoading = useSelector(messagesLoadingState);
47466
47770
  var attachmentsHasNex = useSelector(activeTabAttachmentsHasNextSelector);
47467
47771
  var contactsMap = useSelector(contactsMapSelector);
@@ -47485,7 +47789,7 @@ var Details = function Details(_ref) {
47485
47789
  var handleMembersListScroll = function handleMembersListScroll(event) {
47486
47790
  if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
47487
47791
  if (activeTab === channelDetailsTabs.member) {
47488
- if (membersLoading === LOADING_STATE.LOADED) {
47792
+ if (membersLoading === LOADING_STATE.LOADED && membersHasNext) {
47489
47793
  dispatch(loadMoreMembersAC(15, activeChannel.id));
47490
47794
  }
47491
47795
  } else if (messagesLoading === LOADING_STATE.LOADED && attachmentsHasNex) {