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.js CHANGED
@@ -2840,6 +2840,93 @@ function _forOf(target, body, check) {
2840
2840
 
2841
2841
  const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
2842
2842
 
2843
+ // Asynchronously implement a generic for loop
2844
+ function _for(test, update, body) {
2845
+ var stage;
2846
+ for (;;) {
2847
+ var shouldContinue = test();
2848
+ if (_isSettledPact(shouldContinue)) {
2849
+ shouldContinue = shouldContinue.v;
2850
+ }
2851
+ if (!shouldContinue) {
2852
+ return result;
2853
+ }
2854
+ if (shouldContinue.then) {
2855
+ stage = 0;
2856
+ break;
2857
+ }
2858
+ var result = body();
2859
+ if (result && result.then) {
2860
+ if (_isSettledPact(result)) {
2861
+ result = result.s;
2862
+ } else {
2863
+ stage = 1;
2864
+ break;
2865
+ }
2866
+ }
2867
+ if (update) {
2868
+ var updateValue = update();
2869
+ if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
2870
+ stage = 2;
2871
+ break;
2872
+ }
2873
+ }
2874
+ }
2875
+ var pact = new _Pact();
2876
+ var reject = _settle.bind(null, pact, 2);
2877
+ (stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);
2878
+ return pact;
2879
+ function _resumeAfterBody(value) {
2880
+ result = value;
2881
+ do {
2882
+ if (update) {
2883
+ updateValue = update();
2884
+ if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
2885
+ updateValue.then(_resumeAfterUpdate).then(void 0, reject);
2886
+ return;
2887
+ }
2888
+ }
2889
+ shouldContinue = test();
2890
+ if (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {
2891
+ _settle(pact, 1, result);
2892
+ return;
2893
+ }
2894
+ if (shouldContinue.then) {
2895
+ shouldContinue.then(_resumeAfterTest).then(void 0, reject);
2896
+ return;
2897
+ }
2898
+ result = body();
2899
+ if (_isSettledPact(result)) {
2900
+ result = result.v;
2901
+ }
2902
+ } while (!result || !result.then);
2903
+ result.then(_resumeAfterBody).then(void 0, reject);
2904
+ }
2905
+ function _resumeAfterTest(shouldContinue) {
2906
+ if (shouldContinue) {
2907
+ result = body();
2908
+ if (result && result.then) {
2909
+ result.then(_resumeAfterBody).then(void 0, reject);
2910
+ } else {
2911
+ _resumeAfterBody(result);
2912
+ }
2913
+ } else {
2914
+ _settle(pact, 1, result);
2915
+ }
2916
+ }
2917
+ function _resumeAfterUpdate() {
2918
+ if (shouldContinue = test()) {
2919
+ if (shouldContinue.then) {
2920
+ shouldContinue.then(_resumeAfterTest).then(void 0, reject);
2921
+ } else {
2922
+ _resumeAfterTest(shouldContinue);
2923
+ }
2924
+ } else {
2925
+ _settle(pact, 1, result);
2926
+ }
2927
+ }
2928
+ }
2929
+
2843
2930
  // Asynchronously call a function and send errors to recovery continuation
2844
2931
  function _catch(body, recover) {
2845
2932
  try {
@@ -9028,6 +9115,9 @@ var handleVoteDetails = function handleVoteDetails(voteDetails, message) {
9028
9115
  voteDetails: newVoteDetails
9029
9116
  });
9030
9117
  };
9118
+ var checkIsTypeKeyPressed = function checkIsTypeKeyPressed(code) {
9119
+ return !(code === 'Enter' || code === 'NumpadEnter' || code === 'Backspace' || code === 'Delete' || code === 'ArrowLeft' || code === 'ArrowRight' || code === 'ArrowUp' || code === 'ArrowDown' || code === 'PageUp' || code === 'PageDown' || code === 'Home' || code === 'End' || code === 'Insert' || code === 'Escape' || code === 'Tab' || code === 'F1' || code === 'F2' || code === 'F3' || code === 'F4' || code === 'F5' || code === 'F6' || code === 'F7' || code === 'F8' || code === 'F9' || code === 'F10' || code === 'F11' || code === 'F12' || code === 'CapsLock' || code === 'Shift' || code === 'ShiftLeft' || code === 'ShiftRight' || code === 'Control' || code === 'ControlLeft' || code === 'ControlRight' || code === 'Alt' || code === 'AltLeft' || code === 'AltRight' || code === 'MetaLeft' || code === 'MetaRight' || code === 'Space' || code === 'Enter' || code === 'NumpadEnter' || code === 'Backspace' || code === 'Delete' || code === 'ArrowLeft' || code === 'ArrowRight' || code === 'ArrowUp' || code === 'ArrowDown' || code === 'PageUp' || code === 'PageDown' || code === 'Home' || code === 'End' || code === 'Insert' || code === 'Escape' || code === 'Tab' || code === 'F1' || code === 'F2' || code === 'F3' || code === 'F4' || code === 'F5' || code === 'F6' || code === 'F7' || code === 'F8' || code === 'F9' || code === 'F10' || code === 'F11' || code === 'F12' || code === 'Shift');
9120
+ };
9031
9121
 
9032
9122
  var baseUrlForInviteMembers = '';
9033
9123
  var autoSelectFitsChannel = false;
@@ -10058,46 +10148,76 @@ var hashString = function hashString(str) {
10058
10148
  }
10059
10149
  };
10060
10150
  var formatDisappearingMessageTime = function formatDisappearingMessageTime(periodInMilliseconds) {
10061
- var _getDisappearingSetti;
10062
10151
  if (!periodInMilliseconds) return 'Off';
10063
10152
  var periodInSeconds = periodInMilliseconds / 1000;
10064
- switch (periodInSeconds) {
10065
- case FIXED_TIMER_OPTIONS['1day']:
10066
- return '1 day';
10067
- case FIXED_TIMER_OPTIONS['1week']:
10068
- return '1 week';
10069
- case FIXED_TIMER_OPTIONS['1month']:
10070
- return '1 month';
10071
- }
10072
- var customOptions = ((_getDisappearingSetti = getDisappearingSettings()) === null || _getDisappearingSetti === void 0 ? void 0 : _getDisappearingSetti.customOptions) || [];
10073
- var customMatch = customOptions.find(function (option) {
10074
- return option.seconds === periodInSeconds;
10075
- });
10076
- if (customMatch) return customMatch.label;
10077
10153
  var SECONDS_PER_MINUTE = 60;
10078
10154
  var SECONDS_PER_HOUR = SECONDS_PER_MINUTE * 60;
10079
10155
  var SECONDS_PER_DAY = SECONDS_PER_HOUR * 24;
10080
10156
  var DAYS_PER_WEEK = 7;
10081
10157
  var DAYS_PER_MONTH = 30;
10082
- var days = Math.floor(periodInSeconds / SECONDS_PER_DAY);
10083
- var weeks = Math.floor(days / DAYS_PER_WEEK);
10084
- var months = Math.floor(days / DAYS_PER_MONTH);
10085
- var hours = Math.floor(periodInSeconds / SECONDS_PER_HOUR);
10086
- var minutes = Math.floor(periodInSeconds / SECONDS_PER_MINUTE);
10087
- switch (true) {
10088
- case months > 0:
10089
- return months + " " + (months === 1 ? 'month' : 'months');
10090
- case weeks > 0:
10091
- return weeks + " " + (weeks === 1 ? 'week' : 'weeks');
10092
- case days > 0:
10093
- return days + " " + (days === 1 ? 'day' : 'days');
10094
- case hours > 0:
10095
- return hours + " " + (hours === 1 ? 'hour' : 'hours');
10096
- case minutes > 0:
10097
- return minutes + " " + (minutes === 1 ? 'minute' : 'minutes');
10098
- default:
10099
- return periodInSeconds + " " + (periodInSeconds === 1 ? 'second' : 'seconds');
10158
+ var DAYS_PER_YEAR = 365;
10159
+ var remainingSeconds = Math.floor(periodInSeconds);
10160
+ var years = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_YEAR));
10161
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_YEAR;
10162
+ var months = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_MONTH));
10163
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_MONTH;
10164
+ var weeks = Math.floor(remainingSeconds / (SECONDS_PER_DAY * DAYS_PER_WEEK));
10165
+ remainingSeconds %= SECONDS_PER_DAY * DAYS_PER_WEEK;
10166
+ var days = Math.floor(remainingSeconds / SECONDS_PER_DAY);
10167
+ remainingSeconds %= SECONDS_PER_DAY;
10168
+ var hours = Math.floor(remainingSeconds / SECONDS_PER_HOUR);
10169
+ remainingSeconds %= SECONDS_PER_HOUR;
10170
+ var minutes = Math.floor(remainingSeconds / SECONDS_PER_MINUTE);
10171
+ remainingSeconds %= SECONDS_PER_MINUTE;
10172
+ var seconds = remainingSeconds;
10173
+ var parts = [];
10174
+ var partCount = 0;
10175
+ if (years > 0) {
10176
+ partCount++;
10177
+ }
10178
+ if (months > 0) {
10179
+ partCount++;
10180
+ }
10181
+ if (weeks > 0) {
10182
+ partCount++;
10183
+ }
10184
+ if (days > 0) {
10185
+ partCount++;
10186
+ }
10187
+ if (hours > 0) {
10188
+ partCount++;
10189
+ }
10190
+ if (minutes > 0) {
10191
+ partCount++;
10192
+ }
10193
+ if (seconds > 0) {
10194
+ partCount++;
10195
+ }
10196
+ if (years > 0) {
10197
+ parts.push("" + years + (partCount > 1 ? 'y' : years === 1 ? ' year' : ' years'));
10100
10198
  }
10199
+ if (months > 0) {
10200
+ parts.push("" + months + (partCount > 1 ? 'm' : months === 1 ? ' month' : ' months'));
10201
+ }
10202
+ if (weeks > 0) {
10203
+ parts.push("" + weeks + (partCount > 1 ? 'w' : weeks === 1 ? ' week' : ' weeks'));
10204
+ }
10205
+ if (days > 0) {
10206
+ parts.push("" + days + (partCount > 1 ? 'd' : days === 1 ? ' day' : ' days'));
10207
+ }
10208
+ if (hours > 0) {
10209
+ parts.push("" + hours + (partCount > 1 ? 'h' : hours === 1 ? ' hour' : ' hours'));
10210
+ }
10211
+ if (minutes > 0) {
10212
+ parts.push("" + minutes + (partCount > 1 ? 'm' : minutes === 1 ? ' minute' : ' minutes'));
10213
+ }
10214
+ if (seconds > 0) {
10215
+ parts.push("" + seconds + (partCount > 1 ? 's' : seconds === 1 ? ' second' : ' seconds'));
10216
+ }
10217
+ if (parts.length === 0) {
10218
+ return '0 seconds';
10219
+ }
10220
+ return parts.join(' ');
10101
10221
  };
10102
10222
 
10103
10223
  var GET_MESSAGES = 'GET_MESSAGES';
@@ -10131,10 +10251,7 @@ var queryDirection = {
10131
10251
  NEAR: 'near'
10132
10252
  };
10133
10253
 
10134
- function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend, isAddToPendingMessagesMap) {
10135
- if (isAddToPendingMessagesMap === void 0) {
10136
- isAddToPendingMessagesMap = true;
10137
- }
10254
+ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSeparateMessage, isResend) {
10138
10255
  return {
10139
10256
  type: SEND_MESSAGE,
10140
10257
  payload: {
@@ -10142,22 +10259,17 @@ function sendMessageAC(message, channelId, connectionState, sendAttachmentsAsSep
10142
10259
  channelId: channelId,
10143
10260
  connectionState: connectionState,
10144
10261
  sendAttachmentsAsSeparateMessage: sendAttachmentsAsSeparateMessage,
10145
- isResend: isResend,
10146
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10262
+ isResend: isResend
10147
10263
  }
10148
10264
  };
10149
10265
  }
10150
- function sendTextMessageAC(message, channelId, connectionState, isAddToPendingMessagesMap) {
10151
- if (isAddToPendingMessagesMap === void 0) {
10152
- isAddToPendingMessagesMap = true;
10153
- }
10266
+ function sendTextMessageAC(message, channelId, connectionState) {
10154
10267
  return {
10155
10268
  type: SEND_TEXT_MESSAGE,
10156
10269
  payload: {
10157
10270
  message: message,
10158
10271
  channelId: channelId,
10159
- connectionState: connectionState,
10160
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10272
+ connectionState: connectionState
10161
10273
  }
10162
10274
  };
10163
10275
  }
@@ -10171,21 +10283,17 @@ function resendMessageAC(message, channelId, connectionState) {
10171
10283
  }
10172
10284
  };
10173
10285
  }
10174
- function forwardMessageAC(message, channelId, connectionState, isForward, isAddToPendingMessagesMap) {
10286
+ function forwardMessageAC(message, channelId, connectionState, isForward) {
10175
10287
  if (isForward === void 0) {
10176
10288
  isForward = true;
10177
10289
  }
10178
- if (isAddToPendingMessagesMap === void 0) {
10179
- isAddToPendingMessagesMap = true;
10180
- }
10181
10290
  return {
10182
10291
  type: FORWARD_MESSAGE,
10183
10292
  payload: {
10184
10293
  message: message,
10185
10294
  channelId: channelId,
10186
10295
  connectionState: connectionState,
10187
- isForward: isForward,
10188
- isAddToPendingMessagesMap: isAddToPendingMessagesMap
10296
+ isForward: isForward
10189
10297
  }
10190
10298
  };
10191
10299
  }
@@ -10902,7 +11010,7 @@ var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messa
10902
11010
  return messagesForAdd;
10903
11011
  };
10904
11012
  function setMessagesToMap(channelId, messages) {
10905
- if (!messagesMap[channelId]) {
11013
+ if (!messagesMap[channelId] || messages.length === 0) {
10906
11014
  messagesMap[channelId] = {};
10907
11015
  }
10908
11016
  messages.forEach(function (msg) {
@@ -10936,8 +11044,6 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
10936
11044
  updatedPendingMessages.forEach(function (msg) {
10937
11045
  store.dispatch(updatePendingMessageAC(channelId, msg.tid || msg.id, msg));
10938
11046
  });
10939
- } else {
10940
- store.dispatch(removePendingMessageAC(channelId, updatedMessage.messageId));
10941
11047
  }
10942
11048
  }
10943
11049
  var updatedMessageData = null;
@@ -11913,7 +12019,7 @@ var _messageSlice$actions = messageSlice.actions,
11913
12019
  var MessageReducer = messageSlice.reducer;
11914
12020
 
11915
12021
  var initialState$2 = {
11916
- membersLoadingState: false,
12022
+ membersLoadingState: 0,
11917
12023
  membersHasNext: true,
11918
12024
  activeChannelMembers: [],
11919
12025
  roles: [],
@@ -11998,6 +12104,9 @@ var memberSlice = createSlice({
11998
12104
  } else {
11999
12105
  state.getRolesFail = undefined;
12000
12106
  }
12107
+ },
12108
+ setMembersHasNext: function setMembersHasNext(state, action) {
12109
+ state.membersHasNext = action.payload.hasNext;
12001
12110
  }
12002
12111
  },
12003
12112
  extraReducers: function extraReducers(builder) {
@@ -12014,7 +12123,8 @@ var _memberSlice$actions = memberSlice.actions,
12014
12123
  removeMemberFromList = _memberSlice$actions.removeMemberFromList,
12015
12124
  setMembersLoadingState = _memberSlice$actions.setMembersLoadingState,
12016
12125
  getRolesSuccess = _memberSlice$actions.getRolesSuccess,
12017
- getRolesFail = _memberSlice$actions.getRolesFail;
12126
+ getRolesFail = _memberSlice$actions.getRolesFail,
12127
+ setMembersHasNext = _memberSlice$actions.setMembersHasNext;
12018
12128
  var MembersReducer = memberSlice.reducer;
12019
12129
 
12020
12130
  var SET_CONTACT_LOADING_STATE = 'SET_CONTACT_LOADING_STATE';
@@ -13190,7 +13300,7 @@ var updateMembersPresenceAC = function updateMembersPresenceAC(usersMap) {
13190
13300
  };
13191
13301
  var setMembersLoadingStateAC = function setMembersLoadingStateAC(state) {
13192
13302
  return setMembersLoadingState({
13193
- state: !!state
13303
+ state: state
13194
13304
  });
13195
13305
  };
13196
13306
  var removeMemberFromListAC = function removeMemberFromListAC(members) {
@@ -13209,6 +13319,11 @@ var getRolesFailAC = function getRolesFailAC(timeout, attempts) {
13209
13319
  attempts: attempts
13210
13320
  });
13211
13321
  };
13322
+ var setMembersHasNextAC = function setMembersHasNextAC(hasNext) {
13323
+ return setMembersHasNext({
13324
+ hasNext: hasNext
13325
+ });
13326
+ };
13212
13327
 
13213
13328
  var connectionStatusSelector = function connectionStatusSelector(store) {
13214
13329
  return store.UserReducer.connectionStatus;
@@ -14157,7 +14272,7 @@ var MessageTextFormat = function MessageTextFormat(_ref2) {
14157
14272
  var _marked = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersAdd),
14158
14273
  _marked2 = /*#__PURE__*/_regenerator().m(updateActiveChannelMembersRemove);
14159
14274
  function updateActiveChannelMembersAdd(addedMembers) {
14160
- var state, activeChannel, updatedMembers;
14275
+ var state, activeChannel, members, shouldUpdateMembers, updatedMembers;
14161
14276
  return _regenerator().w(function (_context) {
14162
14277
  while (1) switch (_context.n) {
14163
14278
  case 0:
@@ -14166,11 +14281,17 @@ function updateActiveChannelMembersAdd(addedMembers) {
14166
14281
  case 1:
14167
14282
  state = _context.v;
14168
14283
  activeChannel = state.ChannelReducer.activeChannel;
14284
+ members = (activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.members) || [];
14285
+ shouldUpdateMembers = addedMembers.filter(function (member) {
14286
+ return !members.some(function (m) {
14287
+ return m.id === member.id;
14288
+ });
14289
+ });
14169
14290
  if (!(activeChannel && activeChannel.id)) {
14170
14291
  _context.n = 2;
14171
14292
  break;
14172
14293
  }
14173
- updatedMembers = [].concat(activeChannel.members || [], addedMembers);
14294
+ updatedMembers = [].concat(activeChannel.members || [], shouldUpdateMembers);
14174
14295
  updatedMembers = Array.from(new Set(updatedMembers));
14175
14296
  return _context.a(2, {
14176
14297
  members: updatedMembers
@@ -18850,6 +18971,158 @@ var getFrame = function getFrame(videoSrc, time) {
18850
18971
  }
18851
18972
  };
18852
18973
 
18974
+ var processQueue = function processQueue(channelId) {
18975
+ try {
18976
+ var _temp4 = function _temp4() {
18977
+ queue.processing = false;
18978
+ log.info(new Date().toISOString() + " [ChannelQueue] Finished processing queue for channel: " + channelId);
18979
+ };
18980
+ var queue = getChannelQueue(channelId);
18981
+ if (queue.processing || queue.queue.length === 0) {
18982
+ return Promise.resolve();
18983
+ }
18984
+ queue.processing = true;
18985
+ log.info("[ChannelQueue] Starting to process queue for channel: " + channelId + ", queue length: " + queue.queue.length);
18986
+ var _temp3 = _for(function () {
18987
+ return queue.queue.length > 0;
18988
+ }, void 0, function () {
18989
+ var queuedTask = queue.queue.shift();
18990
+ var task = queuedTask.task,
18991
+ resolve = queuedTask.resolve,
18992
+ reject = queuedTask.reject,
18993
+ functionName = queuedTask.functionName,
18994
+ queuedAt = queuedTask.queuedAt;
18995
+ var waitTime = queuedAt ? Date.now() - queuedAt : 0;
18996
+ var functionInfo = functionName || 'unknown';
18997
+ log.info("[ChannelQueue] Executing request for channel: " + channelId + ", function: " + functionInfo + ", queue position: " + (queue.queue.length + 1) + ", waited: " + waitTime + "ms");
18998
+ var startTime = Date.now();
18999
+ return _catch(function () {
19000
+ var result = task();
19001
+ var _temp2 = function () {
19002
+ if (result && typeof result.then === 'function') {
19003
+ return Promise.resolve(result).then(function (value) {
19004
+ var duration = Date.now() - startTime;
19005
+ log.info(new Date().toISOString() + " [ChannelQueue] Request completed for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, remaining: " + queue.queue.length);
19006
+ resolve(value);
19007
+ });
19008
+ } else {
19009
+ var duration = Date.now() - startTime;
19010
+ log.info(new Date().toISOString() + " [ChannelQueue] Request completed (sync) for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, remaining: " + queue.queue.length);
19011
+ resolve(result);
19012
+ }
19013
+ }();
19014
+ if (_temp2 && _temp2.then) return _temp2.then(function () {});
19015
+ }, function (error) {
19016
+ var duration = Date.now() - startTime;
19017
+ log.error(new Date().toISOString() + " [ChannelQueue] Request failed for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, error:", error);
19018
+ reject(error);
19019
+ });
19020
+ });
19021
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
19022
+ } catch (e) {
19023
+ return Promise.reject(e);
19024
+ }
19025
+ };
19026
+ var channelQueues = new Map();
19027
+ function getChannelQueue(channelId) {
19028
+ if (!channelQueues.has(channelId)) {
19029
+ channelQueues.set(channelId, {
19030
+ channelId: channelId,
19031
+ queue: [],
19032
+ processing: false
19033
+ });
19034
+ }
19035
+ return channelQueues.get(channelId);
19036
+ }
19037
+ function queueChannelRequest(channelId, task, functionName) {
19038
+ return new Promise(function (resolve, reject) {
19039
+ var queue = getChannelQueue(channelId);
19040
+ var queuedTask = {
19041
+ task: task,
19042
+ resolve: resolve,
19043
+ reject: reject,
19044
+ functionName: functionName,
19045
+ queuedAt: Date.now()
19046
+ };
19047
+ queue.queue.push(queuedTask);
19048
+ log.info(new Date().toISOString() + " [ChannelQueue] Request queued for channel: " + channelId + ", \n function: " + (functionName || 'unknown') + ", queue length: " + queue.queue.length + ", processing: " + queue.processing);
19049
+ processQueue(channelId);
19050
+ });
19051
+ }
19052
+ function queuedChannelCall(channelId, fn) {
19053
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
19054
+ args[_key - 2] = arguments[_key];
19055
+ }
19056
+ var functionName = fn.name || fn.displayName || 'anonymous';
19057
+ var functionInfo = functionName + "(" + args.length + " args)";
19058
+ return queueChannelRequest(channelId, function () {
19059
+ try {
19060
+ var _exit = false;
19061
+ var result = fn.apply(void 0, args);
19062
+ var _temp = function () {
19063
+ if (result && typeof result.then === 'function') {
19064
+ return Promise.resolve(result).then(function (_await$result) {
19065
+ _exit = true;
19066
+ return _await$result;
19067
+ });
19068
+ }
19069
+ }();
19070
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function (_result) {
19071
+ return _exit ? _result : result;
19072
+ }) : _exit ? _temp : result);
19073
+ } catch (e) {
19074
+ return Promise.reject(e);
19075
+ }
19076
+ }, functionInfo);
19077
+ }
19078
+
19079
+ var SDKErrorTypeEnum = {
19080
+ BadRequest: {
19081
+ value: 'BadRequest',
19082
+ isResendable: false
19083
+ },
19084
+ BadParam: {
19085
+ value: 'BadParam',
19086
+ isResendable: false
19087
+ },
19088
+ NotFound: {
19089
+ value: 'NotFound',
19090
+ isResendable: false
19091
+ },
19092
+ NotAllowed: {
19093
+ value: 'NotAllowed',
19094
+ isResendable: false
19095
+ },
19096
+ TooLargeRequest: {
19097
+ value: 'TooLargeRequest',
19098
+ isResendable: false
19099
+ },
19100
+ InternalError: {
19101
+ value: 'InternalError',
19102
+ isResendable: true
19103
+ },
19104
+ TooManyRequests: {
19105
+ value: 'TooManyRequests',
19106
+ isResendable: true
19107
+ },
19108
+ Authentication: {
19109
+ value: 'Authentication',
19110
+ isResendable: true
19111
+ }
19112
+ };
19113
+ var fromValue = function fromValue(value) {
19114
+ if (!value) return null;
19115
+ var entries = Object.values(SDKErrorTypeEnum);
19116
+ return entries.find(function (entry) {
19117
+ return entry.value === value;
19118
+ }) || null;
19119
+ };
19120
+ var isResendableError = function isResendableError(value) {
19121
+ var _errorType$isResendab;
19122
+ var errorType = fromValue(value);
19123
+ return (_errorType$isResendab = errorType === null || errorType === void 0 ? void 0 : errorType.isResendable) != null ? _errorType$isResendab : true;
19124
+ };
19125
+
18853
19126
  var _marked$3 = /*#__PURE__*/_regenerator().m(sendMessage),
18854
19127
  _marked2$2 = /*#__PURE__*/_regenerator().m(sendTextMessage),
18855
19128
  _marked3$1 = /*#__PURE__*/_regenerator().m(forwardMessage),
@@ -18965,20 +19238,20 @@ var handleUploadAttachments = function handleUploadAttachments(attachments, mess
18965
19238
  return Promise.reject(e);
18966
19239
  }
18967
19240
  };
18968
- var addPendingMessage = function addPendingMessage(message, messageCopy, channel) {
19241
+ var addPendingMessage = function addPendingMessage(message, messageCopy, channelId) {
18969
19242
  try {
18970
19243
  var messageToAdd = _extends({}, messageCopy, {
18971
19244
  createdAt: new Date(Date.now()),
18972
19245
  mentionedUsers: message.mentionedUsers,
18973
19246
  parentMessage: message.parentMessage
18974
19247
  });
18975
- setPendingMessage(channel.id, messageToAdd);
19248
+ setPendingMessage(channelId, messageToAdd);
18976
19249
  return Promise.resolve();
18977
19250
  } catch (e) {
18978
19251
  return Promise.reject(e);
18979
19252
  }
18980
19253
  };
18981
- var updateMessage$1 = function updateMessage(actionType, pending, channel, scrollToNewMessage) {
19254
+ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scrollToNewMessage, message) {
18982
19255
  if (scrollToNewMessage === void 0) {
18983
19256
  scrollToNewMessage = true;
18984
19257
  }
@@ -18989,39 +19262,41 @@ var updateMessage$1 = function updateMessage(actionType, pending, channel, scrol
18989
19262
  case 0:
18990
19263
  activeChannelId = getActiveChannelId();
18991
19264
  if (!(actionType !== RESEND_MESSAGE)) {
18992
- _context.n = 2;
19265
+ _context.n = 3;
18993
19266
  break;
18994
19267
  }
18995
- addMessageToMap(channel.id, pending);
18996
- if (activeChannelId === channel.id) {
19268
+ if (activeChannelId === channelId) {
18997
19269
  addAllMessages([pending], MESSAGE_LOAD_DIRECTION.NEXT);
18998
19270
  }
18999
- if (!(activeChannelId === channel.id)) {
19271
+ if (!(activeChannelId === channelId)) {
19000
19272
  _context.n = 1;
19001
19273
  break;
19002
19274
  }
19003
19275
  _context.n = 1;
19004
19276
  return effects.put(addMessageAC(pending));
19005
19277
  case 1:
19278
+ _context.n = 2;
19279
+ return effects.call(addPendingMessage, message, pending, channelId);
19280
+ case 2:
19006
19281
  if (!scrollToNewMessage) {
19007
- _context.n = 2;
19282
+ _context.n = 3;
19008
19283
  break;
19009
19284
  }
19010
- _context.n = 2;
19285
+ _context.n = 3;
19011
19286
  return effects.put(scrollToNewMessageAC(true, true));
19012
- case 2:
19287
+ case 3:
19013
19288
  return _context.a(2);
19014
19289
  }
19015
19290
  }, _callee);
19016
19291
  })();
19017
19292
  };
19018
19293
  function sendMessage(action) {
19019
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19294
+ var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, pendingMessages, channel, SceytChatClient, createChannelData, mentionedUserIds, customUploader, linkAttachment, attachmentsToSend, messagesToSend, mediaAttachments, _loop, i, messageBuilder, messageToSend, pending, _loop2, _i, _t2;
19020
19295
  return _regenerator().w(function (_context4) {
19021
19296
  while (1) switch (_context4.p = _context4.n) {
19022
19297
  case 0:
19023
19298
  payload = action.payload;
19024
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19299
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, sendAttachmentsAsSeparateMessage = payload.sendAttachmentsAsSeparateMessage;
19025
19300
  pendingMessages = [];
19026
19301
  _context4.p = 1;
19027
19302
  _context4.n = 2;
@@ -19156,8 +19431,12 @@ function sendMessage(action) {
19156
19431
  createdAt: new Date(Date.now())
19157
19432
  });
19158
19433
  pendingMessages.push(_pending);
19434
+ if (!(action.type !== RESEND_MESSAGE)) {
19435
+ _context2.n = 1;
19436
+ break;
19437
+ }
19159
19438
  _context2.n = 1;
19160
- return effects.call(updateMessage$1, action.type, _pending, channel);
19439
+ return effects.call(updateMessage$1, action.type, _pending, channel.id, false, message);
19161
19440
  case 1:
19162
19441
  _context2.n = 3;
19163
19442
  break;
@@ -19205,8 +19484,12 @@ function sendMessage(action) {
19205
19484
  createdAt: new Date(Date.now())
19206
19485
  });
19207
19486
  pendingMessages.push(pending);
19487
+ if (!(action.type !== RESEND_MESSAGE)) {
19488
+ _context4.n = 11;
19489
+ break;
19490
+ }
19208
19491
  _context4.n = 11;
19209
- return effects.call(updateMessage$1, action.type, pending, channel);
19492
+ return effects.call(updateMessage$1, action.type, pending, channel.id, false, message);
19210
19493
  case 11:
19211
19494
  messageToSend = _extends({}, messageToSend, {
19212
19495
  attachments: attachmentsToSend
@@ -19214,7 +19497,7 @@ function sendMessage(action) {
19214
19497
  messagesToSend.push(messageToSend);
19215
19498
  case 12:
19216
19499
  _loop2 = /*#__PURE__*/_regenerator().m(function _callee3() {
19217
- var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, messageToUpdate, channelUpdateParam, pendingMessage, connectionIsDisconnected, _t;
19500
+ var messageAttachment, messageToSend, messageCopy, _attachmentsToSend, linkAttachmentToSend, linkAttachmentBuilder, messageResponse, k, pendingAttachment, attachmentsToUpdate, currentAttachmentsMap, messageUpdateData, activeChannelId, messageToUpdate, channelUpdateParam, isErrorResendable, _t;
19218
19501
  return _regenerator().w(function (_context3) {
19219
19502
  while (1) switch (_context3.p = _context3.n) {
19220
19503
  case 0:
@@ -19223,7 +19506,7 @@ function sendMessage(action) {
19223
19506
  _context3.p = 1;
19224
19507
  messageCopy = JSON.parse(JSON.stringify(messagesToSend[_i]));
19225
19508
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19226
- _context3.n = 12;
19509
+ _context3.n = 13;
19227
19510
  break;
19228
19511
  }
19229
19512
  _attachmentsToSend = messageAttachment;
@@ -19251,7 +19534,7 @@ function sendMessage(action) {
19251
19534
  });
19252
19535
  }
19253
19536
  _context3.n = 4;
19254
- return effects.call(channel.sendMessage, messageToSend);
19537
+ return effects.call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19255
19538
  case 4:
19256
19539
  messageResponse = _context3.v;
19257
19540
  if (!customUploader) {
@@ -19284,9 +19567,6 @@ function sendMessage(action) {
19284
19567
  _context3.n = 5;
19285
19568
  break;
19286
19569
  case 8:
19287
- if (action.type === RESEND_MESSAGE) {
19288
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19289
- }
19290
19570
  attachmentsToUpdate = [];
19291
19571
  if (messageResponse.attachments && messageResponse.attachments.length > 0) {
19292
19572
  currentAttachmentsMap = {};
@@ -19319,13 +19599,18 @@ function sendMessage(action) {
19319
19599
  createdAt: messageResponse.createdAt,
19320
19600
  channelId: channel.id
19321
19601
  };
19602
+ activeChannelId = getActiveChannelId();
19603
+ if (!(activeChannelId === channel.id)) {
19604
+ _context3.n = 9;
19605
+ break;
19606
+ }
19322
19607
  _context3.n = 9;
19323
- return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
19608
+ return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19324
19609
  case 9:
19325
- updateMessageOnMap(channel.id, {
19326
- messageId: messageToSend.tid,
19327
- params: messageUpdateData
19328
- });
19610
+ _context3.n = 10;
19611
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
19612
+ case 10:
19613
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19329
19614
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19330
19615
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19331
19616
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19334,46 +19619,36 @@ function sendMessage(action) {
19334
19619
  lastReactedMessage: null
19335
19620
  };
19336
19621
  if (!channel.unread) {
19337
- _context3.n = 10;
19622
+ _context3.n = 11;
19338
19623
  break;
19339
19624
  }
19340
- _context3.n = 10;
19341
- return effects.put(markChannelAsReadAC(channel.id));
19342
- case 10:
19343
19625
  _context3.n = 11;
19344
- return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19626
+ return effects.put(markChannelAsReadAC(channel.id));
19345
19627
  case 11:
19628
+ _context3.n = 12;
19629
+ return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19630
+ case 12:
19346
19631
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19347
- _context3.n = 13;
19632
+ _context3.n = 14;
19348
19633
  break;
19349
- case 12:
19350
- throw new Error('Connection required to send message');
19351
19634
  case 13:
19635
+ throw new Error('Connection required to send message');
19636
+ case 14:
19352
19637
  _context3.n = 19;
19353
19638
  break;
19354
- case 14:
19355
- _context3.p = 14;
19639
+ case 15:
19640
+ _context3.p = 15;
19356
19641
  _t = _context3.v;
19357
- pendingMessage = pendingMessages === null || pendingMessages === void 0 ? void 0 : pendingMessages.find(function (pendingMessage) {
19358
- return pendingMessage.tid === messageToSend.tid;
19359
- });
19360
- if (!(channel && pendingMessage && action.type !== RESEND_MESSAGE)) {
19642
+ isErrorResendable = isResendableError(_t === null || _t === void 0 ? void 0 : _t.type);
19643
+ if (isErrorResendable) {
19361
19644
  _context3.n = 17;
19362
19645
  break;
19363
19646
  }
19364
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19365
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19366
- _context3.n = 16;
19367
- break;
19368
- }
19369
- _context3.n = 15;
19370
- return effects.call(addPendingMessage, message, pendingMessage, channel);
19371
- case 15:
19372
- _context3.n = 17;
19373
- break;
19647
+ _context3.n = 16;
19648
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
19374
19649
  case 16:
19375
- _context3.n = 17;
19376
- return effects.put(removePendingMessageAC(channel.id, pendingMessage.tid));
19650
+ _context3.n = 19;
19651
+ break;
19377
19652
  case 17:
19378
19653
  log.error('Error on uploading attachment', messageToSend.tid, _t);
19379
19654
  if (!(messageToSend.attachments && messageToSend.attachments.length)) {
@@ -19399,7 +19674,7 @@ function sendMessage(action) {
19399
19674
  case 19:
19400
19675
  return _context3.a(2);
19401
19676
  }
19402
- }, _callee3, null, [[1, 14]]);
19677
+ }, _callee3, null, [[1, 15]]);
19403
19678
  });
19404
19679
  _i = 0;
19405
19680
  case 13:
@@ -19431,12 +19706,12 @@ function sendMessage(action) {
19431
19706
  }, _marked$3, null, [[1, 16, 17, 19]]);
19432
19707
  }
19433
19708
  function sendTextMessage(action) {
19434
- var payload, message, connectionState, channelId, isAddToPendingMessagesMap, channel, sendMessageTid, pendingMessage, activeChannelId, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t3;
19709
+ var payload, message, connectionState, channelId, channel, sendMessageTid, pendingMessage, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, activeChannelId, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId, _t3;
19435
19710
  return _regenerator().w(function (_context5) {
19436
19711
  while (1) switch (_context5.p = _context5.n) {
19437
19712
  case 0:
19438
19713
  payload = action.payload;
19439
- message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19714
+ message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19440
19715
  _context5.n = 1;
19441
19716
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19442
19717
  case 1:
@@ -19450,8 +19725,8 @@ function sendTextMessage(action) {
19450
19725
  setChannelInMap(channel);
19451
19726
  }
19452
19727
  }
19728
+ sendMessageTid = null;
19453
19729
  pendingMessage = null;
19454
- activeChannelId = getActiveChannelId();
19455
19730
  _context5.p = 3;
19456
19731
  if (!channel.isMockChannel) {
19457
19732
  _context5.n = 6;
@@ -19511,11 +19786,15 @@ function sendTextMessage(action) {
19511
19786
  _context5.n = 8;
19512
19787
  break;
19513
19788
  }
19789
+ if (!(action.type !== RESEND_MESSAGE)) {
19790
+ _context5.n = 8;
19791
+ break;
19792
+ }
19514
19793
  _context5.n = 8;
19515
- return effects.call(updateMessage$1, action.type, pendingMessage, channel);
19794
+ return effects.call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19516
19795
  case 8:
19517
19796
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19518
- _context5.n = 16;
19797
+ _context5.n = 17;
19519
19798
  break;
19520
19799
  }
19521
19800
  if (!sendMessageHandler) {
@@ -19530,7 +19809,7 @@ function sendTextMessage(action) {
19530
19809
  break;
19531
19810
  case 10:
19532
19811
  _context5.n = 11;
19533
- return effects.call(channel.sendMessage, messageToSend);
19812
+ return effects.call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19534
19813
  case 11:
19535
19814
  messageResponse = _context5.v;
19536
19815
  case 12:
@@ -19551,19 +19830,20 @@ function sendTextMessage(action) {
19551
19830
  pollDetails: (_messageResponse = messageResponse) === null || _messageResponse === void 0 ? void 0 : _messageResponse.pollDetails,
19552
19831
  channelId: channel.id
19553
19832
  };
19833
+ activeChannelId = getActiveChannelId();
19554
19834
  if (!(activeChannelId === channel.id)) {
19555
19835
  _context5.n = 13;
19556
19836
  break;
19557
19837
  }
19558
19838
  _context5.n = 13;
19559
- return effects.put(updateMessageAC(messageToSend.tid, messageUpdateData));
19839
+ return effects.put(updateMessageAC(messageToSend.tid, messageUpdateData, true));
19560
19840
  case 13:
19561
- updateMessageOnMap(channel.id, {
19562
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19563
- params: messageUpdateData
19564
- });
19841
+ _context5.n = 14;
19842
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
19843
+ case 14:
19844
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19565
19845
  if (activeChannelId === channel.id) {
19566
- updateMessageOnAllMessages(!isAddToPendingMessagesMap ? message.tid : messageToSend.tid, messageUpdateData);
19846
+ updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19567
19847
  }
19568
19848
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19569
19849
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
@@ -19571,57 +19851,52 @@ function sendTextMessage(action) {
19571
19851
  lastMessage: messageToUpdate,
19572
19852
  lastReactedMessage: null
19573
19853
  };
19574
- _context5.n = 14;
19854
+ _context5.n = 15;
19575
19855
  return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19576
- case 14:
19856
+ case 15:
19577
19857
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19578
19858
  if (!channel.unread) {
19579
- _context5.n = 15;
19859
+ _context5.n = 16;
19580
19860
  break;
19581
19861
  }
19582
- _context5.n = 15;
19862
+ _context5.n = 16;
19583
19863
  return effects.put(markChannelAsReadAC(channel.id));
19584
- case 15:
19864
+ case 16:
19585
19865
  channel.lastMessage = messageToUpdate;
19586
- if (action.type === RESEND_MESSAGE) {
19587
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
19588
- }
19589
- _context5.n = 17;
19866
+ _context5.n = 18;
19590
19867
  break;
19591
- case 16:
19592
- throw new Error('Connection required to send message');
19593
19868
  case 17:
19869
+ throw new Error('Connection required to send message');
19870
+ case 18:
19594
19871
  _context5.n = 22;
19595
19872
  break;
19596
- case 18:
19597
- _context5.p = 18;
19873
+ case 19:
19874
+ _context5.p = 19;
19598
19875
  _t3 = _context5.v;
19599
- if (!(activeChannelId === channel.id && pendingMessage && action.type !== RESEND_MESSAGE)) {
19876
+ log.error('error on send text message ... ', _t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19877
+ isErrorResendable = isResendableError(_t3 === null || _t3 === void 0 ? void 0 : _t3.type);
19878
+ if (!(!isErrorResendable && channel.id && sendMessageTid)) {
19600
19879
  _context5.n = 21;
19601
19880
  break;
19602
19881
  }
19603
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19604
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19605
- _context5.n = 20;
19606
- break;
19607
- }
19608
- _context5.n = 19;
19609
- return effects.call(addPendingMessage, message, pendingMessage, channel);
19610
- case 19:
19611
- _context5.n = 21;
19612
- break;
19882
+ _context5.n = 20;
19883
+ return effects.put(removePendingMessageAC(channel.id, sendMessageTid));
19613
19884
  case 20:
19614
- _context5.n = 21;
19615
- return effects.put(removePendingMessageAC(channel.id, pendingMessage.tid));
19885
+ _context5.n = 22;
19886
+ break;
19616
19887
  case 21:
19617
- log.error('error on send text message ... ', _t3);
19888
+ if (!(channel.id && sendMessageTid)) {
19889
+ _context5.n = 22;
19890
+ break;
19891
+ }
19618
19892
  updateMessageOnMap(channel.id, {
19619
19893
  messageId: sendMessageTid,
19620
19894
  params: {
19621
19895
  state: MESSAGE_STATUS.FAILED
19622
19896
  }
19623
19897
  });
19624
- if (!(activeChannelId === channel.id)) {
19898
+ _activeChannelId = getActiveChannelId();
19899
+ if (!(_activeChannelId === channel.id)) {
19625
19900
  _context5.n = 22;
19626
19901
  break;
19627
19902
  }
@@ -19641,15 +19916,15 @@ function sendTextMessage(action) {
19641
19916
  case 24:
19642
19917
  return _context5.a(2);
19643
19918
  }
19644
- }, _marked2$2, null, [[3, 18, 22, 24]]);
19919
+ }, _marked2$2, null, [[3, 19, 22, 24]]);
19645
19920
  }
19646
19921
  function forwardMessage(action) {
19647
- var payload, message, channelId, connectionState, isForward, isAddToPendingMessagesMap, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, connectionIsDisconnected, _t4;
19922
+ var payload, message, channelId, connectionState, isForward, pendingMessage, channel, activeChannelId, messageTid, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, isErrorResendable, _activeChannelId2, _t4;
19648
19923
  return _regenerator().w(function (_context6) {
19649
19924
  while (1) switch (_context6.p = _context6.n) {
19650
19925
  case 0:
19651
19926
  payload = action.payload;
19652
- message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward, isAddToPendingMessagesMap = payload.isAddToPendingMessagesMap;
19927
+ message = payload.message, channelId = payload.channelId, connectionState = payload.connectionState, isForward = payload.isForward;
19653
19928
  pendingMessage = null;
19654
19929
  channel = null;
19655
19930
  activeChannelId = getActiveChannelId();
@@ -19692,7 +19967,7 @@ function forwardMessage(action) {
19692
19967
  }) : [];
19693
19968
  attachments = message.attachments;
19694
19969
  if ((channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC) && !(channel.userRole === 'admin' || channel.userRole === 'owner')) {
19695
- _context6.n = 16;
19970
+ _context6.n = 17;
19696
19971
  break;
19697
19972
  }
19698
19973
  if (message.attachments && message.attachments.length) {
@@ -19719,7 +19994,7 @@ function forwardMessage(action) {
19719
19994
  };
19720
19995
  }
19721
19996
  messageBuilder.setBody(message.body).setBodyAttributes(message.bodyAttributes).setAttachments(attachments).setMentionUserIds(mentionedUserIds).setType(message.type).setDisableMentionsCount(getDisableFrowardMentionsCount()).setMetadata(message.metadata ? isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata) : '').setForwardingMessageId(message.forwardingDetails ? message.forwardingDetails.messageId : message.id).setPollDetails(pollDetails);
19722
- messageToSend = messageBuilder.create();
19997
+ messageToSend = action.type === RESEND_MESSAGE ? action.payload.message : messageBuilder.create();
19723
19998
  messageToSend.tid = action.type === RESEND_MESSAGE ? action.payload.message.tid : messageToSend.tid;
19724
19999
  messageTid = messageToSend.tid;
19725
20000
  pendingMessage = _extends({}, messageToSend, {
@@ -19755,15 +20030,19 @@ function forwardMessage(action) {
19755
20030
  _context6.n = 9;
19756
20031
  break;
19757
20032
  }
20033
+ if (!(action.type !== RESEND_MESSAGE)) {
20034
+ _context6.n = 9;
20035
+ break;
20036
+ }
19758
20037
  _context6.n = 9;
19759
- return effects.call(updateMessage$1, action.type, pendingMessage, channel, false);
20038
+ return effects.call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19760
20039
  case 9:
19761
20040
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19762
- _context6.n = 15;
20041
+ _context6.n = 16;
19763
20042
  break;
19764
20043
  }
19765
20044
  _context6.n = 10;
19766
- return effects.call(channel.sendMessage, messageToSend);
20045
+ return effects.call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19767
20046
  case 10:
19768
20047
  messageResponse = _context6.v;
19769
20048
  messageUpdateData = {
@@ -19785,61 +20064,55 @@ function forwardMessage(action) {
19785
20064
  break;
19786
20065
  }
19787
20066
  _context6.n = 11;
19788
- return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData))));
20067
+ return effects.put(updateMessageAC(messageToSend.tid, JSON.parse(JSON.stringify(messageUpdateData)), true));
19789
20068
  case 11:
19790
20069
  updateMessageOnAllMessages(messageToSend.tid, messageUpdateData);
19791
20070
  case 12:
19792
- if (action.type === RESEND_MESSAGE) {
19793
- messageToSend.tid && store.dispatch(removePendingMessageAC(channel.id, messageToSend.tid));
20071
+ if (!messageToSend.tid) {
20072
+ _context6.n = 13;
20073
+ break;
19794
20074
  }
19795
- updateMessageOnMap(channel.id, {
19796
- messageId: !isAddToPendingMessagesMap ? message.tid : messageToSend.tid,
19797
- params: messageUpdateData
19798
- });
20075
+ _context6.n = 13;
20076
+ return effects.put(removePendingMessageAC(channel.id, messageToSend.tid));
20077
+ case 13:
20078
+ addMessageToMap(channel.id, JSON.parse(JSON.stringify(messageUpdateData)));
19799
20079
  messageToUpdate = JSON.parse(JSON.stringify(messageResponse));
19800
20080
  updateChannelLastMessageOnAllChannels(channel.id, messageToUpdate);
19801
20081
  channelUpdateParam = {
19802
20082
  lastMessage: messageToUpdate,
19803
20083
  lastReactedMessage: null
19804
20084
  };
19805
- _context6.n = 13;
20085
+ _context6.n = 14;
19806
20086
  return effects.put(updateChannelDataAC(channel.id, channelUpdateParam, true));
19807
- case 13:
20087
+ case 14:
19808
20088
  updateChannelOnAllChannels(channel.id, channelUpdateParam);
19809
20089
  if (!channel.unread) {
19810
- _context6.n = 14;
20090
+ _context6.n = 15;
19811
20091
  break;
19812
20092
  }
19813
- _context6.n = 14;
20093
+ _context6.n = 15;
19814
20094
  return effects.put(markChannelAsReadAC(channel.id));
19815
- case 14:
19816
- _context6.n = 16;
19817
- break;
19818
20095
  case 15:
19819
- throw new Error('Connection required to forward message');
20096
+ _context6.n = 17;
20097
+ break;
19820
20098
  case 16:
20099
+ throw new Error('Connection required to forward message');
20100
+ case 17:
19821
20101
  _context6.n = 22;
19822
20102
  break;
19823
- case 17:
19824
- _context6.p = 17;
20103
+ case 18:
20104
+ _context6.p = 18;
19825
20105
  _t4 = _context6.v;
19826
- if (!(pendingMessage && channel && action.type !== RESEND_MESSAGE)) {
20106
+ isErrorResendable = isResendableError(_t4 === null || _t4 === void 0 ? void 0 : _t4.type);
20107
+ if (isErrorResendable) {
19827
20108
  _context6.n = 20;
19828
20109
  break;
19829
20110
  }
19830
- connectionIsDisconnected = store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED;
19831
- if (!(isAddToPendingMessagesMap && connectionIsDisconnected)) {
19832
- _context6.n = 19;
19833
- break;
19834
- }
19835
- _context6.n = 18;
19836
- return effects.call(addPendingMessage, message, pendingMessage, channel);
19837
- case 18:
19838
- _context6.n = 20;
19839
- break;
20111
+ _context6.n = 19;
20112
+ return effects.put(removePendingMessageAC(channel.id, messageTid));
19840
20113
  case 19:
19841
- _context6.n = 20;
19842
- return effects.put(removePendingMessageAC(channel.id, pendingMessage.tid));
20114
+ _context6.n = 21;
20115
+ break;
19843
20116
  case 20:
19844
20117
  if (!(channel && messageTid)) {
19845
20118
  _context6.n = 21;
@@ -19851,7 +20124,8 @@ function forwardMessage(action) {
19851
20124
  state: MESSAGE_STATUS.FAILED
19852
20125
  }
19853
20126
  });
19854
- if (!(activeChannelId === channel.id)) {
20127
+ _activeChannelId2 = getActiveChannelId();
20128
+ if (!(_activeChannelId2 === channel.id)) {
19855
20129
  _context6.n = 21;
19856
20130
  break;
19857
20131
  }
@@ -19873,25 +20147,67 @@ function forwardMessage(action) {
19873
20147
  case 24:
19874
20148
  return _context6.a(2);
19875
20149
  }
19876
- }, _marked3$1, null, [[1, 17, 22, 24]]);
20150
+ }, _marked3$1, null, [[1, 18, 22, 24]]);
19877
20151
  }
19878
20152
  function resendMessage(action) {
19879
- var payload, message, connectionState, channelId, sendAttachmentsAsSeparateMessage, isVoiceMessage;
20153
+ var _message$attachments;
20154
+ var payload, message, connectionState, channelId, attachments, sendAttachmentsAsSeparateMessage, isVoiceMessage;
19880
20155
  return _regenerator().w(function (_context7) {
19881
20156
  while (1) switch (_context7.n) {
19882
20157
  case 0:
19883
20158
  payload = action.payload;
19884
20159
  message = payload.message, connectionState = payload.connectionState, channelId = payload.channelId;
19885
- if (message.forwardingDetails) {
19886
- store.dispatch(forwardMessageAC(message, channelId, connectionState, false, false));
19887
- } else if (message.attachments && message.attachments.length) {
19888
- sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
19889
- isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
19890
- store.dispatch(sendMessageAC(message, channelId, connectionState, isVoiceMessage ? false : sendAttachmentsAsSeparateMessage, false, false));
19891
- } else {
19892
- store.dispatch(sendTextMessageAC(message, channelId, connectionState, false));
20160
+ attachments = message === null || message === void 0 ? void 0 : (_message$attachments = message.attachments) === null || _message$attachments === void 0 ? void 0 : _message$attachments.filter(function (att) {
20161
+ return (att === null || att === void 0 ? void 0 : att.type) !== attachmentTypes.link;
20162
+ });
20163
+ if (!message.forwardingDetails) {
20164
+ _context7.n = 2;
20165
+ break;
19893
20166
  }
20167
+ _context7.n = 1;
20168
+ return effects.call(forwardMessage, {
20169
+ type: RESEND_MESSAGE,
20170
+ payload: {
20171
+ message: message,
20172
+ connectionState: connectionState,
20173
+ channelId: channelId,
20174
+ isForward: false
20175
+ }
20176
+ });
19894
20177
  case 1:
20178
+ _context7.n = 5;
20179
+ break;
20180
+ case 2:
20181
+ if (!(attachments && attachments.length)) {
20182
+ _context7.n = 4;
20183
+ break;
20184
+ }
20185
+ sendAttachmentsAsSeparateMessage = getSendAttachmentsAsSeparateMessages();
20186
+ isVoiceMessage = message.attachments[0].type === attachmentTypes.voice;
20187
+ _context7.n = 3;
20188
+ return effects.call(sendMessage, {
20189
+ type: RESEND_MESSAGE,
20190
+ payload: {
20191
+ message: message,
20192
+ connectionState: connectionState,
20193
+ channelId: channelId,
20194
+ sendAttachmentsAsSeparateMessage: isVoiceMessage ? false : sendAttachmentsAsSeparateMessage
20195
+ }
20196
+ });
20197
+ case 3:
20198
+ _context7.n = 5;
20199
+ break;
20200
+ case 4:
20201
+ _context7.n = 5;
20202
+ return effects.call(sendTextMessage, {
20203
+ type: RESEND_MESSAGE,
20204
+ payload: {
20205
+ message: message,
20206
+ connectionState: connectionState,
20207
+ channelId: channelId
20208
+ }
20209
+ });
20210
+ case 5:
19895
20211
  return _context7.a(2);
19896
20212
  }
19897
20213
  }, _marked4$1);
@@ -19915,7 +20231,7 @@ function deleteMessage(action) {
19915
20231
  }
19916
20232
  }
19917
20233
  _context8.n = 2;
19918
- return effects.call(channel.deleteMessageById, messageId, deleteOption === 'forMe');
20234
+ return effects.call(queuedChannelCall, channel.id, channel.deleteMessageById, messageId, deleteOption === 'forMe');
19919
20235
  case 2:
19920
20236
  deletedMessage = _context8.v;
19921
20237
  _context8.n = 3;
@@ -19980,7 +20296,7 @@ function editMessage(action) {
19980
20296
  message.attachments = [].concat(anotherAttachments, linkAttachmentsToSend);
19981
20297
  }
19982
20298
  _context9.n = 2;
19983
- return effects.call(channel.editMessage, _extends({}, message, {
20299
+ return effects.call(queuedChannelCall, channel.id, channel.editMessage, _extends({}, message, {
19984
20300
  metadata: isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata),
19985
20301
  attachments: message.attachments.map(function (att) {
19986
20302
  return _extends({}, att, {
@@ -20053,8 +20369,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20053
20369
  message: msg,
20054
20370
  connectionState: connectionState,
20055
20371
  channelId: channelId,
20056
- isForward: true,
20057
- isAddToPendingMessagesMap: false
20372
+ isForward: true
20058
20373
  }
20059
20374
  });
20060
20375
  case 4:
@@ -20072,9 +20387,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20072
20387
  message: msg,
20073
20388
  connectionState: connectionState,
20074
20389
  channelId: channelId,
20075
- sendAttachmentsAsSeparateMessage: false,
20076
- isResend: true,
20077
- isAddToPendingMessagesMap: false
20390
+ sendAttachmentsAsSeparateMessage: false
20078
20391
  }
20079
20392
  });
20080
20393
  case 6:
@@ -20087,8 +20400,7 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20087
20400
  payload: {
20088
20401
  message: msg,
20089
20402
  connectionState: connectionState,
20090
- channelId: channelId,
20091
- isAddToPendingMessagesMap: false
20403
+ channelId: channelId
20092
20404
  }
20093
20405
  });
20094
20406
  case 8:
@@ -20118,24 +20430,11 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20118
20430
  }, _callee4, null, [[3, 9]]);
20119
20431
  });
20120
20432
  var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20121
- var _messages, _Object$values;
20122
- var previousAllMessages, messages, lastMessageId, setMappedAllMessages, allMessagesAfterLastMessage;
20433
+ var messages;
20123
20434
  return _regenerator().w(function (_context1) {
20124
20435
  while (1) switch (_context1.n) {
20125
20436
  case 0:
20126
- previousAllMessages = getAllMessages();
20127
20437
  messages = [].concat(updatedMessages);
20128
- lastMessageId = (_messages = messages[messages.length - 1]) === null || _messages === void 0 ? void 0 : _messages.id;
20129
- setMappedAllMessages = {};
20130
- previousAllMessages.forEach(function (msg) {
20131
- if (msg.channelId === channel.id) {
20132
- setMappedAllMessages[msg.id || msg.tid || ''] = msg;
20133
- }
20134
- });
20135
- allMessagesAfterLastMessage = lastMessageId ? (_Object$values = Object.values(setMappedAllMessages || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.filter(function (msg) {
20136
- return msg.id > lastMessageId || !msg.id;
20137
- }) : Object.values(setMappedAllMessages || {});
20138
- messages = [].concat(messages, allMessagesAfterLastMessage || []);
20139
20438
  setMessagesToMap(channel.id, messages);
20140
20439
  setAllMessages(messages);
20141
20440
  _context1.n = 1;
@@ -20145,8 +20444,23 @@ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, up
20145
20444
  }
20146
20445
  }, _callee5);
20147
20446
  });
20447
+ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20448
+ var filteredPendingMessages = [];
20449
+ var activeChannelId = getActiveChannelId();
20450
+ var pendingMessages = JSON.parse(JSON.stringify(getPendingMessages(activeChannelId) || []));
20451
+ if (pendingMessages && pendingMessages.length) {
20452
+ var messagesMap = {};
20453
+ messages.forEach(function (msg) {
20454
+ messagesMap[msg.tid || ''] = msg;
20455
+ });
20456
+ filteredPendingMessages = pendingMessages.filter(function (msg) {
20457
+ return !messagesMap[msg.tid || ''];
20458
+ });
20459
+ }
20460
+ return filteredPendingMessages;
20461
+ };
20148
20462
  function getMessagesQuery(action) {
20149
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, waitToSendPendingMessages, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
20463
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, queueResult, parsedMessages, _filteredPendingMessages, updatedMessages, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1;
20150
20464
  return _regenerator().w(function (_context10) {
20151
20465
  while (1) switch (_context10.p = _context10.n) {
20152
20466
  case 0:
@@ -20157,7 +20471,7 @@ function getMessagesQuery(action) {
20157
20471
  _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage;
20158
20472
  connectionState = store.getState().UserReducer.connectionStatus;
20159
20473
  if (!(channel.id && !channel.isMockChannel)) {
20160
- _context10.n = 76;
20474
+ _context10.n = 51;
20161
20475
  break;
20162
20476
  }
20163
20477
  SceytChatClient = getClient();
@@ -20187,13 +20501,13 @@ function getMessagesQuery(action) {
20187
20501
  hasNext: false
20188
20502
  };
20189
20503
  if (!loadWithLastMessage) {
20190
- _context10.n = 19;
20504
+ _context10.n = 15;
20191
20505
  break;
20192
20506
  }
20193
20507
  allMessages = getAllMessages();
20194
20508
  havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
20195
20509
  if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
20196
- _context10.n = 14;
20510
+ _context10.n = 10;
20197
20511
  break;
20198
20512
  }
20199
20513
  setHasPrevCached(false);
@@ -20204,43 +20518,41 @@ function getMessagesQuery(action) {
20204
20518
  break;
20205
20519
  }
20206
20520
  _context10.n = 5;
20207
- return effects.call(messageQuery.loadPreviousMessageId, '0');
20521
+ return effects.call(queuedChannelCall, channel.id, function () {
20522
+ try {
20523
+ return Promise.resolve(messageQuery.loadPreviousMessageId('0')).then(function (firstResult) {
20524
+ var _exit = false;
20525
+ var _temp7 = function () {
20526
+ if (firstResult.messages.length === 50) {
20527
+ messageQuery.limit = 30;
20528
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20529
+ var _messages$hasNext = {
20530
+ messages: [].concat(secondResult.messages, firstResult.messages),
20531
+ hasNext: secondResult.hasNext
20532
+ };
20533
+ _exit = true;
20534
+ return _messages$hasNext;
20535
+ });
20536
+ }
20537
+ }();
20538
+ return _temp7 && _temp7.then ? _temp7.then(function (_result) {
20539
+ return _exit ? _result : firstResult;
20540
+ }) : _exit ? _temp7 : firstResult;
20541
+ });
20542
+ } catch (e) {
20543
+ return Promise.reject(e);
20544
+ }
20545
+ });
20208
20546
  case 5:
20209
- _t1 = _context10.v;
20547
+ result = _context10.v;
20210
20548
  _context10.n = 7;
20211
20549
  break;
20212
20550
  case 6:
20213
- _t1 = {
20551
+ result = {
20214
20552
  messages: [],
20215
20553
  hasNext: false
20216
20554
  };
20217
20555
  case 7:
20218
- result = _t1;
20219
- if (!(result.messages.length === 50)) {
20220
- _context10.n = 11;
20221
- break;
20222
- }
20223
- messageQuery.limit = 30;
20224
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20225
- _context10.n = 9;
20226
- break;
20227
- }
20228
- _context10.n = 8;
20229
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20230
- case 8:
20231
- _t10 = _context10.v;
20232
- _context10.n = 10;
20233
- break;
20234
- case 9:
20235
- _t10 = {
20236
- messages: [],
20237
- hasNext: false
20238
- };
20239
- case 10:
20240
- secondResult = _t10;
20241
- result.messages = [].concat(secondResult.messages, result.messages);
20242
- result.hasNext = secondResult.hasNext;
20243
- case 11:
20244
20556
  sentMessages = [];
20245
20557
  if (withDeliveredMessages) {
20246
20558
  sentMessages = getFromAllMessagesByMessageId('', '', true);
@@ -20253,40 +20565,40 @@ function getMessagesQuery(action) {
20253
20565
  return !messagesMap[msg.tid || ''];
20254
20566
  });
20255
20567
  result.messages = [].concat(result.messages, filteredSentMessages).slice(filteredSentMessages.length);
20256
- _context10.n = 12;
20568
+ _context10.n = 8;
20257
20569
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20258
- case 12:
20570
+ case 8:
20259
20571
  setMessagesToMap(channel.id, result.messages);
20260
20572
  setAllMessages(result.messages);
20261
- _context10.n = 13;
20573
+ _context10.n = 9;
20262
20574
  return effects.put(setMessagesHasPrevAC(true));
20263
- case 13:
20264
- _context10.n = 16;
20575
+ case 9:
20576
+ _context10.n = 12;
20265
20577
  break;
20266
- case 14:
20578
+ case 10:
20267
20579
  result.messages = getFromAllMessagesByMessageId('', '', true);
20268
- _context10.n = 15;
20580
+ _context10.n = 11;
20269
20581
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20270
- case 15:
20271
- _context10.n = 16;
20582
+ case 11:
20583
+ _context10.n = 12;
20272
20584
  return effects.put(setMessagesHasPrevAC(true));
20273
- case 16:
20274
- _context10.n = 17;
20585
+ case 12:
20586
+ _context10.n = 13;
20275
20587
  return effects.put(setMessagesHasNextAC(false));
20276
- case 17:
20588
+ case 13:
20277
20589
  setHasNextCached(false);
20278
20590
  if (!(messageId && scrollToMessage)) {
20279
- _context10.n = 18;
20591
+ _context10.n = 14;
20280
20592
  break;
20281
20593
  }
20282
- _context10.n = 18;
20594
+ _context10.n = 14;
20283
20595
  return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
20284
- case 18:
20285
- _context10.n = 72;
20596
+ case 14:
20597
+ _context10.n = 44;
20286
20598
  break;
20287
- case 19:
20599
+ case 15:
20288
20600
  if (!messageId) {
20289
- _context10.n = 38;
20601
+ _context10.n = 29;
20290
20602
  break;
20291
20603
  }
20292
20604
  _allMessages = getAllMessages();
@@ -20295,302 +20607,258 @@ function getMessagesQuery(action) {
20295
20607
  });
20296
20608
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
20297
20609
  if (!(messageIndex >= maxLengthPart)) {
20298
- _context10.n = 22;
20610
+ _context10.n = 18;
20299
20611
  break;
20300
20612
  }
20301
20613
  result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20302
- _context10.n = 20;
20614
+ _context10.n = 16;
20303
20615
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20304
- case 20:
20616
+ case 16:
20305
20617
  setHasPrevCached(messageIndex > maxLengthPart);
20306
20618
  setHasNextCached(_allMessages.length > maxLengthPart);
20307
- _context10.n = 21;
20619
+ _context10.n = 17;
20308
20620
  return effects.put(setMessagesHasPrevAC(true));
20309
- case 21:
20310
- _context10.n = 34;
20621
+ case 17:
20622
+ _context10.n = 25;
20311
20623
  break;
20312
- case 22:
20624
+ case 18:
20313
20625
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20314
20626
  log.info('load by message id from server ...............', messageId);
20315
20627
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20316
- _context10.n = 24;
20317
- break;
20318
- }
20319
- _context10.n = 23;
20320
- return effects.call(messageQuery.loadNearMessageId, messageId);
20321
- case 23:
20322
- _t11 = _context10.v;
20323
- _context10.n = 25;
20324
- break;
20325
- case 24:
20326
- _t11 = {
20327
- messages: [],
20328
- hasNext: false
20329
- };
20330
- case 25:
20331
- result = _t11;
20332
- if (!(result.messages.length === 50)) {
20333
- _context10.n = 32;
20628
+ _context10.n = 22;
20334
20629
  break;
20335
20630
  }
20336
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20337
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20338
- _context10.n = 27;
20631
+ _context10.n = 19;
20632
+ return effects.call(queuedChannelCall, channel.id, function () {
20633
+ try {
20634
+ return Promise.resolve(messageQuery.loadNearMessageId(messageId)).then(function (firstResult) {
20635
+ var _exit2 = false;
20636
+ var _temp8 = function () {
20637
+ if (firstResult.messages.length === 50) {
20638
+ messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20639
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20640
+ messageQuery.reverse = false;
20641
+ return Promise.resolve(messageQuery.loadNextMessageId(firstResult.messages[firstResult.messages.length - 1].id)).then(function (thirdResult) {
20642
+ messageQuery.reverse = true;
20643
+ var _messages$hasNext$sec = {
20644
+ messages: [].concat(secondResult.messages, firstResult.messages, thirdResult.messages),
20645
+ hasNext: secondResult.hasNext,
20646
+ secondResultHasNext: secondResult.hasNext
20647
+ };
20648
+ _exit2 = true;
20649
+ return _messages$hasNext$sec;
20650
+ });
20651
+ });
20652
+ }
20653
+ }();
20654
+ return _temp8 && _temp8.then ? _temp8.then(function (_result2) {
20655
+ return _exit2 ? _result2 : firstResult;
20656
+ }) : _exit2 ? _temp8 : firstResult;
20657
+ });
20658
+ } catch (e) {
20659
+ return Promise.reject(e);
20660
+ }
20661
+ });
20662
+ case 19:
20663
+ queueResult = _context10.v;
20664
+ result = queueResult;
20665
+ if (!(result.messages.length === 50 && result.secondResultHasNext !== undefined)) {
20666
+ _context10.n = 21;
20339
20667
  break;
20340
20668
  }
20341
- _context10.n = 26;
20342
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20343
- case 26:
20344
- _t12 = _context10.v;
20345
- _context10.n = 28;
20346
- break;
20347
- case 27:
20348
- _t12 = {
20349
- messages: [],
20350
- hasNext: false
20669
+ _context10.n = 20;
20670
+ return effects.put(setMessagesHasPrevAC(result.secondResultHasNext));
20671
+ case 20:
20672
+ result = {
20673
+ messages: result.messages,
20674
+ hasNext: result.hasNext
20351
20675
  };
20352
- case 28:
20353
- _secondResult = _t12;
20354
- messageQuery.reverse = false;
20355
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20356
- _context10.n = 30;
20357
- break;
20358
- }
20359
- _context10.n = 29;
20360
- return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20361
- case 29:
20362
- _t13 = _context10.v;
20363
- _context10.n = 31;
20676
+ case 21:
20677
+ _context10.n = 23;
20364
20678
  break;
20365
- case 30:
20366
- _t13 = {
20679
+ case 22:
20680
+ result = {
20367
20681
  messages: [],
20368
20682
  hasNext: false
20369
20683
  };
20370
- case 31:
20371
- thirdResult = _t13;
20372
- result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
20373
- result.hasNext = _secondResult.hasNext;
20374
- messageQuery.reverse = true;
20375
- _context10.n = 32;
20376
- return effects.put(setMessagesHasPrevAC(_secondResult.hasNext));
20377
- case 32:
20378
- _context10.n = 33;
20684
+ case 23:
20685
+ _context10.n = 24;
20379
20686
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20380
- case 33:
20687
+ case 24:
20381
20688
  setMessagesToMap(channel.id, result.messages);
20382
20689
  setAllMessages([].concat(result.messages));
20383
20690
  setHasPrevCached(false);
20384
20691
  setHasNextCached(false);
20385
- case 34:
20386
- _context10.n = 35;
20692
+ case 25:
20693
+ _context10.n = 26;
20387
20694
  return effects.put(setMessagesHasNextAC(true));
20388
- case 35:
20695
+ case 26:
20389
20696
  if (!scrollToMessage) {
20390
- _context10.n = 36;
20697
+ _context10.n = 27;
20391
20698
  break;
20392
20699
  }
20393
- _context10.n = 36;
20700
+ _context10.n = 27;
20394
20701
  return effects.put(setScrollToMessagesAC(messageId, true, behavior));
20395
- case 36:
20396
- _context10.n = 37;
20702
+ case 27:
20703
+ _context10.n = 28;
20397
20704
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20398
- case 37:
20399
- _context10.n = 72;
20705
+ case 28:
20706
+ _context10.n = 44;
20400
20707
  break;
20401
- case 38:
20708
+ case 29:
20402
20709
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20403
- _context10.n = 61;
20710
+ _context10.n = 36;
20404
20711
  break;
20405
20712
  }
20406
20713
  setMessagesToMap(channel.id, []);
20407
20714
  setAllMessages([]);
20408
20715
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20409
- if (!Number(channel.lastDisplayedMessageId)) {
20410
- _context10.n = 50;
20411
- break;
20412
- }
20413
20716
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20414
- _context10.n = 40;
20717
+ _context10.n = 31;
20415
20718
  break;
20416
20719
  }
20417
- _context10.n = 39;
20418
- return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20419
- case 39:
20420
- _t14 = _context10.v;
20421
- _context10.n = 41;
20422
- break;
20423
- case 40:
20424
- _t14 = {
20425
- messages: [],
20426
- hasNext: false
20427
- };
20428
- case 41:
20429
- result = _t14;
20430
- if (!(result.messages.length === 50)) {
20431
- _context10.n = 49;
20432
- break;
20433
- }
20434
- messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20435
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20436
- _context10.n = 43;
20437
- break;
20438
- }
20439
- _context10.n = 42;
20440
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20441
- case 42:
20442
- _t15 = _context10.v;
20443
- _context10.n = 44;
20444
- break;
20445
- case 43:
20446
- _t15 = {
20447
- messages: [],
20448
- hasNext: false
20449
- };
20450
- case 44:
20451
- _secondResult2 = _t15;
20452
- if (!(channel.newMessageCount > 25)) {
20453
- _context10.n = 48;
20454
- break;
20455
- }
20456
- messageQuery.reverse = false;
20457
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20458
- _context10.n = 46;
20459
- break;
20460
- }
20461
- _context10.n = 45;
20462
- return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20463
- case 45:
20464
- _t16 = _context10.v;
20465
- _context10.n = 47;
20466
- break;
20467
- case 46:
20468
- _t16 = {
20469
- messages: [],
20470
- hasNext: false
20471
- };
20472
- case 47:
20473
- _thirdResult = _t16;
20474
- result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
20475
- messageQuery.reverse = true;
20476
- _context10.n = 49;
20477
- break;
20478
- case 48:
20479
- result.messages = [].concat(_secondResult2.messages, result.messages);
20480
- case 49:
20481
- _context10.n = 57;
20482
- break;
20483
- case 50:
20484
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20485
- _context10.n = 52;
20486
- break;
20487
- }
20488
- _context10.n = 51;
20489
- return effects.call(messageQuery.loadPrevious);
20490
- case 51:
20491
- _t17 = _context10.v;
20492
- _context10.n = 53;
20493
- break;
20494
- case 52:
20495
- _t17 = {
20496
- messages: [],
20497
- hasNext: false
20498
- };
20499
- case 53:
20500
- result = _t17;
20501
- if (!(result.messages.length === 50)) {
20502
- _context10.n = 57;
20503
- break;
20504
- }
20505
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20506
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20507
- _context10.n = 55;
20508
- break;
20509
- }
20510
- _context10.n = 54;
20511
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20512
- case 54:
20513
- _t18 = _context10.v;
20514
- _context10.n = 56;
20720
+ _context10.n = 30;
20721
+ return effects.call(queuedChannelCall, channel.id, function () {
20722
+ try {
20723
+ if (Number(channel.lastDisplayedMessageId)) {
20724
+ return Promise.resolve(messageQuery.loadNearMessageId(channel.lastDisplayedMessageId)).then(function (firstResult) {
20725
+ var _exit3 = false;
20726
+ var _temp9 = function () {
20727
+ if (firstResult.messages.length === 50) {
20728
+ messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20729
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20730
+ if (channel.newMessageCount > 25) {
20731
+ messageQuery.reverse = false;
20732
+ return Promise.resolve(messageQuery.loadNextMessageId(firstResult.messages[firstResult.messages.length - 1].id)).then(function (thirdResult) {
20733
+ messageQuery.reverse = true;
20734
+ var _messages$hasNext2 = {
20735
+ messages: [].concat(secondResult.messages, firstResult.messages, thirdResult.messages),
20736
+ hasNext: secondResult.hasNext
20737
+ };
20738
+ _exit3 = true;
20739
+ return _messages$hasNext2;
20740
+ });
20741
+ } else {
20742
+ var _messages$hasNext3 = {
20743
+ messages: [].concat(secondResult.messages, firstResult.messages),
20744
+ hasNext: secondResult.hasNext
20745
+ };
20746
+ _exit3 = true;
20747
+ return _messages$hasNext3;
20748
+ }
20749
+ });
20750
+ }
20751
+ }();
20752
+ return _temp9 && _temp9.then ? _temp9.then(function (_result3) {
20753
+ return _exit3 ? _result3 : firstResult;
20754
+ }) : _exit3 ? _temp9 : firstResult;
20755
+ });
20756
+ } else {
20757
+ return Promise.resolve(messageQuery.loadPrevious()).then(function (firstResult) {
20758
+ var _exit4 = false;
20759
+ var _temp0 = function () {
20760
+ if (firstResult.messages.length === 50) {
20761
+ messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20762
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20763
+ var _messages$hasNext4 = {
20764
+ messages: [].concat(secondResult.messages, firstResult.messages),
20765
+ hasNext: secondResult.hasNext
20766
+ };
20767
+ _exit4 = true;
20768
+ return _messages$hasNext4;
20769
+ });
20770
+ }
20771
+ }();
20772
+ return _temp0 && _temp0.then ? _temp0.then(function (_result4) {
20773
+ return _exit4 ? _result4 : firstResult;
20774
+ }) : _exit4 ? _temp0 : firstResult;
20775
+ });
20776
+ }
20777
+ } catch (e) {
20778
+ return Promise.reject(e);
20779
+ }
20780
+ });
20781
+ case 30:
20782
+ result = _context10.v;
20783
+ _context10.n = 32;
20515
20784
  break;
20516
- case 55:
20517
- _t18 = {
20785
+ case 31:
20786
+ result = {
20518
20787
  messages: [],
20519
20788
  hasNext: false
20520
20789
  };
20521
- case 56:
20522
- _secondResult3 = _t18;
20523
- result.messages = [].concat(_secondResult3.messages, result.messages);
20524
- result.hasNext = _secondResult3.hasNext;
20525
- case 57:
20526
- _context10.n = 58;
20790
+ case 32:
20791
+ _context10.n = 33;
20527
20792
  return effects.put(setMessagesHasPrevAC(true));
20528
- case 58:
20529
- _context10.n = 59;
20793
+ case 33:
20794
+ _context10.n = 34;
20530
20795
  return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20531
- case 59:
20796
+ case 34:
20532
20797
  setMessagesToMap(channel.id, result.messages);
20533
20798
  setAllMessages([].concat(result.messages));
20534
- _context10.n = 60;
20799
+ _context10.n = 35;
20535
20800
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20536
- case 60:
20537
- _context10.n = 72;
20801
+ case 35:
20802
+ _context10.n = 44;
20538
20803
  break;
20539
- case 61:
20804
+ case 36:
20540
20805
  setMessagesToMap(channel.id, []);
20541
20806
  setAllMessages([]);
20542
20807
  if (!(cachedMessages && cachedMessages.length)) {
20543
- _context10.n = 62;
20808
+ _context10.n = 38;
20544
20809
  break;
20545
20810
  }
20546
- setMessagesToMap(channel.id, []);
20547
- setAllMessages([].concat(cachedMessages));
20548
- _context10.n = 62;
20549
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
20550
- case 62:
20811
+ parsedMessages = JSON.parse(JSON.stringify(cachedMessages));
20812
+ setMessagesToMap(channel.id, parsedMessages);
20813
+ setAllMessages(parsedMessages);
20814
+ _context10.n = 37;
20815
+ return effects.put(setMessagesAC(parsedMessages));
20816
+ case 37:
20817
+ _filteredPendingMessages = getFilteredPendingMessages(parsedMessages);
20818
+ _context10.n = 38;
20819
+ return effects.put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20820
+ case 38:
20551
20821
  log.info('load message from server');
20552
20822
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20553
- _context10.n = 64;
20554
- break;
20555
- }
20556
- _context10.n = 63;
20557
- return effects.call(messageQuery.loadPrevious);
20558
- case 63:
20559
- _t19 = _context10.v;
20560
- _context10.n = 65;
20561
- break;
20562
- case 64:
20563
- _t19 = {
20564
- messages: [],
20565
- hasNext: false
20566
- };
20567
- case 65:
20568
- result = _t19;
20569
- if (!(result.messages.length === 50)) {
20570
- _context10.n = 69;
20571
- break;
20572
- }
20573
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20574
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20575
- _context10.n = 67;
20823
+ _context10.n = 40;
20576
20824
  break;
20577
20825
  }
20578
- _context10.n = 66;
20579
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20580
- case 66:
20581
- _t20 = _context10.v;
20582
- _context10.n = 68;
20826
+ _context10.n = 39;
20827
+ return effects.call(queuedChannelCall, channel.id, function () {
20828
+ try {
20829
+ return Promise.resolve(messageQuery.loadPrevious()).then(function (firstResult) {
20830
+ var _exit5 = false;
20831
+ var _temp1 = function () {
20832
+ if (firstResult.messages.length === 50) {
20833
+ messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20834
+ return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20835
+ var _messages$hasNext5 = {
20836
+ messages: [].concat(secondResult.messages, firstResult.messages),
20837
+ hasNext: secondResult.hasNext
20838
+ };
20839
+ _exit5 = true;
20840
+ return _messages$hasNext5;
20841
+ });
20842
+ }
20843
+ }();
20844
+ return _temp1 && _temp1.then ? _temp1.then(function (_result5) {
20845
+ return _exit5 ? _result5 : firstResult;
20846
+ }) : _exit5 ? _temp1 : firstResult;
20847
+ });
20848
+ } catch (e) {
20849
+ return Promise.reject(e);
20850
+ }
20851
+ });
20852
+ case 39:
20853
+ result = _context10.v;
20854
+ _context10.n = 41;
20583
20855
  break;
20584
- case 67:
20585
- _t20 = {
20856
+ case 40:
20857
+ result = {
20586
20858
  messages: [],
20587
20859
  hasNext: false
20588
20860
  };
20589
- case 68:
20590
- _secondResult4 = _t20;
20591
- result.messages = [].concat(_secondResult4.messages, result.messages);
20592
- result.hasNext = _secondResult4.hasNext;
20593
- case 69:
20861
+ case 41:
20594
20862
  updatedMessages = [];
20595
20863
  result.messages.forEach(function (msg) {
20596
20864
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20600,70 +20868,72 @@ function getMessagesQuery(action) {
20600
20868
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20601
20869
  updatedMessages.push(updatedMessage || msg);
20602
20870
  });
20603
- _context10.n = 70;
20871
+ _context10.n = 42;
20604
20872
  return effects.call(updateMessages, channel, updatedMessages);
20605
- case 70:
20606
- _context10.n = 71;
20873
+ case 42:
20874
+ _context10.n = 43;
20607
20875
  return effects.put(setMessagesHasPrevAC(true));
20608
- case 71:
20609
- _context10.n = 72;
20876
+ case 43:
20877
+ _context10.n = 44;
20610
20878
  return effects.put(setMessagesHasNextAC(false));
20611
- case 72:
20612
- pendingMessages = getPendingMessages(channel.id);
20613
- if (!(pendingMessages && pendingMessages.length)) {
20614
- _context10.n = 73;
20615
- break;
20616
- }
20617
- _messagesMap = {};
20618
- result.messages.forEach(function (msg) {
20619
- _messagesMap[msg.tid || ''] = msg;
20620
- });
20621
- filteredPendingMessages = pendingMessages.filter(function (msg) {
20622
- return !_messagesMap[msg.tid || ''];
20623
- });
20624
- _context10.n = 73;
20879
+ case 44:
20880
+ filteredPendingMessages = getFilteredPendingMessages(result.messages);
20881
+ _context10.n = 45;
20625
20882
  return effects.put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20626
- case 73:
20883
+ case 45:
20627
20884
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20628
20885
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20629
- _context10.n = 75;
20886
+ _context10.n = 47;
20630
20887
  break;
20631
20888
  }
20632
- _context10.n = 74;
20889
+ _context10.n = 46;
20633
20890
  return effects.put(setWaitToSendPendingMessagesAC(false));
20634
- case 74:
20635
- _context10.n = 75;
20891
+ case 46:
20892
+ _context10.n = 47;
20636
20893
  return effects.spawn(sendPendingMessages, connectionState);
20637
- case 75:
20638
- _context10.n = 77;
20894
+ case 47:
20895
+ _context10.n = 48;
20896
+ return effects.call(queuedChannelCall, channel.id, SceytChatClient.getChannel, channel.id, true);
20897
+ case 48:
20898
+ updatedChannel = _context10.v;
20899
+ if (!updatedChannel) {
20900
+ _context10.n = 50;
20901
+ break;
20902
+ }
20903
+ _context10.n = 49;
20904
+ return effects.put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
20905
+ case 49:
20906
+ updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
20907
+ case 50:
20908
+ _context10.n = 52;
20639
20909
  break;
20640
- case 76:
20910
+ case 51:
20641
20911
  if (!channel.isMockChannel) {
20642
- _context10.n = 77;
20912
+ _context10.n = 52;
20643
20913
  break;
20644
20914
  }
20645
- _context10.n = 77;
20915
+ _context10.n = 52;
20646
20916
  return effects.put(setMessagesAC([]));
20647
- case 77:
20648
- _context10.n = 79;
20917
+ case 52:
20918
+ _context10.n = 54;
20649
20919
  break;
20650
- case 78:
20651
- _context10.p = 78;
20652
- _t21 = _context10.v;
20653
- log.error('error in message query', _t21);
20654
- case 79:
20655
- _context10.p = 79;
20656
- _context10.n = 80;
20920
+ case 53:
20921
+ _context10.p = 53;
20922
+ _t1 = _context10.v;
20923
+ log.error('error in message query', _t1);
20924
+ case 54:
20925
+ _context10.p = 54;
20926
+ _context10.n = 55;
20657
20927
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20658
- case 80:
20659
- return _context10.f(79);
20660
- case 81:
20928
+ case 55:
20929
+ return _context10.f(54);
20930
+ case 56:
20661
20931
  return _context10.a(2);
20662
20932
  }
20663
- }, _marked7$1, null, [[0, 78, 79, 81]]);
20933
+ }, _marked7$1, null, [[0, 53, 54, 56]]);
20664
20934
  }
20665
20935
  function getMessageQuery(action) {
20666
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t22;
20936
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t10;
20667
20937
  return _regenerator().w(function (_context11) {
20668
20938
  while (1) switch (_context11.p = _context11.n) {
20669
20939
  case 0:
@@ -20713,15 +20983,15 @@ function getMessageQuery(action) {
20713
20983
  break;
20714
20984
  case 7:
20715
20985
  _context11.p = 7;
20716
- _t22 = _context11.v;
20717
- log.error('error in message query', _t22);
20986
+ _t10 = _context11.v;
20987
+ log.error('error in message query', _t10);
20718
20988
  case 8:
20719
20989
  return _context11.a(2);
20720
20990
  }
20721
20991
  }, _marked8$1, null, [[0, 7]]);
20722
20992
  }
20723
20993
  function loadMoreMessages(action) {
20724
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t23;
20994
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t11;
20725
20995
  return _regenerator().w(function (_context12) {
20726
20996
  while (1) switch (_context12.p = _context12.n) {
20727
20997
  case 0:
@@ -20760,7 +21030,7 @@ function loadMoreMessages(action) {
20760
21030
  break;
20761
21031
  }
20762
21032
  _context12.n = 4;
20763
- return effects.call(messageQuery.loadPreviousMessageId, messageId);
21033
+ return effects.call(queuedChannelCall, channelId, messageQuery.loadPreviousMessageId, messageId);
20764
21034
  case 4:
20765
21035
  result = _context12.v;
20766
21036
  if (result.messages.length) {
@@ -20788,7 +21058,7 @@ function loadMoreMessages(action) {
20788
21058
  log.info('saga load next from server ... ', messageId);
20789
21059
  messageQuery.reverse = false;
20790
21060
  _context12.n = 8;
20791
- return effects.call(messageQuery.loadNextMessageId, messageId);
21061
+ return effects.call(queuedChannelCall, channelId, messageQuery.loadNextMessageId, messageId);
20792
21062
  case 8:
20793
21063
  result = _context12.v;
20794
21064
  if (result.messages.length) {
@@ -20834,15 +21104,15 @@ function loadMoreMessages(action) {
20834
21104
  break;
20835
21105
  case 18:
20836
21106
  _context12.p = 18;
20837
- _t23 = _context12.v;
20838
- log.error('error in load more messages', _t23);
21107
+ _t11 = _context12.v;
21108
+ log.error('error in load more messages', _t11);
20839
21109
  case 19:
20840
21110
  return _context12.a(2);
20841
21111
  }
20842
21112
  }, _marked9$1, null, [[0, 18]]);
20843
21113
  }
20844
21114
  function addReaction(action) {
20845
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t24;
21115
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t12;
20846
21116
  return _regenerator().w(function (_context13) {
20847
21117
  while (1) switch (_context13.p = _context13.n) {
20848
21118
  case 0:
@@ -20861,7 +21131,7 @@ function addReaction(action) {
20861
21131
  }
20862
21132
  }
20863
21133
  _context13.n = 2;
20864
- return effects.call(channel.addReaction, messageId, key, score, reason, enforceUnique);
21134
+ return effects.call(queuedChannelCall, channelId, channel.addReaction, messageId, key, score, reason, enforceUnique);
20865
21135
  case 2:
20866
21136
  _yield$call = _context13.v;
20867
21137
  message = _yield$call.message;
@@ -20895,15 +21165,15 @@ function addReaction(action) {
20895
21165
  break;
20896
21166
  case 8:
20897
21167
  _context13.p = 8;
20898
- _t24 = _context13.v;
20899
- log.error('ERROR in add reaction', _t24.message);
21168
+ _t12 = _context13.v;
21169
+ log.error('ERROR in add reaction', _t12.message);
20900
21170
  case 9:
20901
21171
  return _context13.a(2);
20902
21172
  }
20903
21173
  }, _marked0$1, null, [[0, 8]]);
20904
21174
  }
20905
21175
  function deleteReaction(action) {
20906
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t25;
21176
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t13;
20907
21177
  return _regenerator().w(function (_context14) {
20908
21178
  while (1) switch (_context14.p = _context14.n) {
20909
21179
  case 0:
@@ -20921,7 +21191,7 @@ function deleteReaction(action) {
20921
21191
  }
20922
21192
  }
20923
21193
  _context14.n = 2;
20924
- return effects.call(channel.deleteReaction, messageId, key);
21194
+ return effects.call(queuedChannelCall, channelId, channel.deleteReaction, messageId, key);
20925
21195
  case 2:
20926
21196
  _yield$call2 = _context14.v;
20927
21197
  message = _yield$call2.message;
@@ -20951,15 +21221,15 @@ function deleteReaction(action) {
20951
21221
  break;
20952
21222
  case 7:
20953
21223
  _context14.p = 7;
20954
- _t25 = _context14.v;
20955
- log.error('ERROR in delete reaction', _t25.message);
21224
+ _t13 = _context14.v;
21225
+ log.error('ERROR in delete reaction', _t13.message);
20956
21226
  case 8:
20957
21227
  return _context14.a(2);
20958
21228
  }
20959
21229
  }, _marked1$1, null, [[0, 7]]);
20960
21230
  }
20961
21231
  function getReactions(action) {
20962
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t26;
21232
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t14;
20963
21233
  return _regenerator().w(function (_context15) {
20964
21234
  while (1) switch (_context15.p = _context15.n) {
20965
21235
  case 0:
@@ -20994,15 +21264,15 @@ function getReactions(action) {
20994
21264
  break;
20995
21265
  case 6:
20996
21266
  _context15.p = 6;
20997
- _t26 = _context15.v;
20998
- log.error('ERROR in get reactions', _t26.message);
21267
+ _t14 = _context15.v;
21268
+ log.error('ERROR in get reactions', _t14.message);
20999
21269
  case 7:
21000
21270
  return _context15.a(2);
21001
21271
  }
21002
21272
  }, _marked10$1, null, [[0, 6]]);
21003
21273
  }
21004
21274
  function loadMoreReactions(action) {
21005
- var payload, limit, ReactionQuery, result, _t27;
21275
+ var payload, limit, ReactionQuery, result, _t15;
21006
21276
  return _regenerator().w(function (_context16) {
21007
21277
  while (1) switch (_context16.p = _context16.n) {
21008
21278
  case 0:
@@ -21030,15 +21300,15 @@ function loadMoreReactions(action) {
21030
21300
  break;
21031
21301
  case 5:
21032
21302
  _context16.p = 5;
21033
- _t27 = _context16.v;
21034
- log.error('ERROR in load more reactions', _t27.message);
21303
+ _t15 = _context16.v;
21304
+ log.error('ERROR in load more reactions', _t15.message);
21035
21305
  case 6:
21036
21306
  return _context16.a(2);
21037
21307
  }
21038
21308
  }, _marked11$1, null, [[0, 5]]);
21039
21309
  }
21040
21310
  function getMessageAttachments(action) {
21041
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t28;
21311
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t16;
21042
21312
  return _regenerator().w(function (_context17) {
21043
21313
  while (1) switch (_context17.p = _context17.n) {
21044
21314
  case 0:
@@ -21116,15 +21386,15 @@ function getMessageAttachments(action) {
21116
21386
  break;
21117
21387
  case 13:
21118
21388
  _context17.p = 13;
21119
- _t28 = _context17.v;
21120
- log.error('error in message attachment query', _t28);
21389
+ _t16 = _context17.v;
21390
+ log.error('error in message attachment query', _t16);
21121
21391
  case 14:
21122
21392
  return _context17.a(2);
21123
21393
  }
21124
21394
  }, _marked12$1, null, [[0, 13]]);
21125
21395
  }
21126
21396
  function loadMoreMessageAttachments(action) {
21127
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t29;
21397
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t17;
21128
21398
  return _regenerator().w(function (_context18) {
21129
21399
  while (1) switch (_context18.p = _context18.n) {
21130
21400
  case 0:
@@ -21168,15 +21438,15 @@ function loadMoreMessageAttachments(action) {
21168
21438
  break;
21169
21439
  case 8:
21170
21440
  _context18.p = 8;
21171
- _t29 = _context18.v;
21172
- log.error('error in message attachment query', _t29);
21441
+ _t17 = _context18.v;
21442
+ log.error('error in message attachment query', _t17);
21173
21443
  case 9:
21174
21444
  return _context18.a(2);
21175
21445
  }
21176
21446
  }, _marked13$1, null, [[0, 8]]);
21177
21447
  }
21178
21448
  function pauseAttachmentUploading(action) {
21179
- var attachmentId, isPaused, _t30;
21449
+ var attachmentId, isPaused, _t18;
21180
21450
  return _regenerator().w(function (_context19) {
21181
21451
  while (1) switch (_context19.p = _context19.n) {
21182
21452
  case 0:
@@ -21198,15 +21468,15 @@ function pauseAttachmentUploading(action) {
21198
21468
  break;
21199
21469
  case 2:
21200
21470
  _context19.p = 2;
21201
- _t30 = _context19.v;
21202
- log.error('error in pause attachment uploading', _t30);
21471
+ _t18 = _context19.v;
21472
+ log.error('error in pause attachment uploading', _t18);
21203
21473
  case 3:
21204
21474
  return _context19.a(2);
21205
21475
  }
21206
21476
  }, _marked14$1, null, [[0, 2]]);
21207
21477
  }
21208
21478
  function resumeAttachmentUploading(action) {
21209
- var attachmentId, isResumed, _t31;
21479
+ var attachmentId, isResumed, _t19;
21210
21480
  return _regenerator().w(function (_context20) {
21211
21481
  while (1) switch (_context20.p = _context20.n) {
21212
21482
  case 0:
@@ -21229,15 +21499,15 @@ function resumeAttachmentUploading(action) {
21229
21499
  break;
21230
21500
  case 2:
21231
21501
  _context20.p = 2;
21232
- _t31 = _context20.v;
21233
- log.error('error in resume attachment uploading', _t31);
21502
+ _t19 = _context20.v;
21503
+ log.error('error in resume attachment uploading', _t19);
21234
21504
  case 3:
21235
21505
  return _context20.a(2);
21236
21506
  }
21237
21507
  }, _marked15$1, null, [[0, 2]]);
21238
21508
  }
21239
21509
  function getMessageMarkers(action) {
21240
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t32;
21510
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t20;
21241
21511
  return _regenerator().w(function (_context21) {
21242
21512
  while (1) switch (_context21.p = _context21.n) {
21243
21513
  case 0:
@@ -21267,8 +21537,8 @@ function getMessageMarkers(action) {
21267
21537
  break;
21268
21538
  case 5:
21269
21539
  _context21.p = 5;
21270
- _t32 = _context21.v;
21271
- log.error('error in get message markers', _t32);
21540
+ _t20 = _context21.v;
21541
+ log.error('error in get message markers', _t20);
21272
21542
  case 6:
21273
21543
  _context21.p = 6;
21274
21544
  _context21.n = 7;
@@ -21406,7 +21676,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21406
21676
  }, _marked18$1);
21407
21677
  }
21408
21678
  function addPollVote(action) {
21409
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values2, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t33;
21679
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t21;
21410
21680
  return _regenerator().w(function (_context24) {
21411
21681
  while (1) switch (_context24.p = _context24.n) {
21412
21682
  case 0:
@@ -21465,7 +21735,7 @@ function addPollVote(action) {
21465
21735
  _context24.n = 3;
21466
21736
  break;
21467
21737
  }
21468
- currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21738
+ currentMessage = ((_Object$values = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values === void 0 ? void 0 : _Object$values.find(function (msg) {
21469
21739
  return msg.id === message.id || msg.tid === message.id;
21470
21740
  })) || message;
21471
21741
  hasNext = ((_store$getState$Messa = store.getState().MessageReducer.pollVotesHasMore) === null || _store$getState$Messa === void 0 ? void 0 : _store$getState$Messa[pollId]) || false;
@@ -21505,8 +21775,8 @@ function addPollVote(action) {
21505
21775
  break;
21506
21776
  case 8:
21507
21777
  _context24.p = 8;
21508
- _t33 = _context24.v;
21509
- log.error('error in add poll vote', _t33);
21778
+ _t21 = _context24.v;
21779
+ log.error('error in add poll vote', _t21);
21510
21780
  case 9:
21511
21781
  return _context24.a(2);
21512
21782
  }
@@ -21607,7 +21877,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21607
21877
  }, _marked21$1);
21608
21878
  }
21609
21879
  function deletePollVote(action) {
21610
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values3, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t34;
21880
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t22;
21611
21881
  return _regenerator().w(function (_context27) {
21612
21882
  while (1) switch (_context27.p = _context27.n) {
21613
21883
  case 0:
@@ -21653,7 +21923,7 @@ function deletePollVote(action) {
21653
21923
  _context27.n = 4;
21654
21924
  break;
21655
21925
  }
21656
- currentMessage = ((_Object$values3 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values3 === void 0 ? void 0 : _Object$values3.find(function (msg) {
21926
+ currentMessage = ((_Object$values2 = Object.values(getMessagesFromMap(channelId) || {})) === null || _Object$values2 === void 0 ? void 0 : _Object$values2.find(function (msg) {
21657
21927
  return msg.id === message.id || msg.tid === message.id;
21658
21928
  })) || message;
21659
21929
  _context27.n = 3;
@@ -21692,8 +21962,8 @@ function deletePollVote(action) {
21692
21962
  break;
21693
21963
  case 9:
21694
21964
  _context27.p = 9;
21695
- _t34 = _context27.v;
21696
- log.error('error in delete poll vote', _t34);
21965
+ _t22 = _context27.v;
21966
+ log.error('error in delete poll vote', _t22);
21697
21967
  case 10:
21698
21968
  return _context27.a(2);
21699
21969
  }
@@ -21771,7 +22041,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
21771
22041
  }, _marked24$1);
21772
22042
  }
21773
22043
  function closePoll(action) {
21774
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t35;
22044
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t23;
21775
22045
  return _regenerator().w(function (_context30) {
21776
22046
  while (1) switch (_context30.p = _context30.n) {
21777
22047
  case 0:
@@ -21804,8 +22074,8 @@ function closePoll(action) {
21804
22074
  break;
21805
22075
  case 4:
21806
22076
  _context30.p = 4;
21807
- _t35 = _context30.v;
21808
- log.error('error in close poll', _t35);
22077
+ _t23 = _context30.v;
22078
+ log.error('error in close poll', _t23);
21809
22079
  case 5:
21810
22080
  return _context30.a(2);
21811
22081
  }
@@ -21894,7 +22164,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
21894
22164
  }, _marked27$1);
21895
22165
  }
21896
22166
  function retractPollVote(action) {
21897
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t36;
22167
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t24;
21898
22168
  return _regenerator().w(function (_context33) {
21899
22169
  while (1) switch (_context33.p = _context33.n) {
21900
22170
  case 0:
@@ -21936,15 +22206,15 @@ function retractPollVote(action) {
21936
22206
  break;
21937
22207
  case 4:
21938
22208
  _context33.p = 4;
21939
- _t36 = _context33.v;
21940
- log.error('error in retract poll vote', _t36);
22209
+ _t24 = _context33.v;
22210
+ log.error('error in retract poll vote', _t24);
21941
22211
  case 5:
21942
22212
  return _context33.a(2);
21943
22213
  }
21944
22214
  }, _marked28$1, null, [[0, 4]]);
21945
22215
  }
21946
22216
  function resendPendingPollActions(action) {
21947
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t37;
22217
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t25;
21948
22218
  return _regenerator().w(function (_context34) {
21949
22219
  while (1) switch (_context34.p = _context34.n) {
21950
22220
  case 0:
@@ -22000,15 +22270,15 @@ function resendPendingPollActions(action) {
22000
22270
  break;
22001
22271
  case 3:
22002
22272
  _context34.p = 3;
22003
- _t37 = _context34.v;
22004
- log.error('error in resend pending poll actions', _t37);
22273
+ _t25 = _context34.v;
22274
+ log.error('error in resend pending poll actions', _t25);
22005
22275
  case 4:
22006
22276
  return _context34.a(2);
22007
22277
  }
22008
22278
  }, _marked29$1, null, [[0, 3]]);
22009
22279
  }
22010
22280
  function getPollVotes(action) {
22011
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t38;
22281
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t26;
22012
22282
  return _regenerator().w(function (_context35) {
22013
22283
  while (1) switch (_context35.p = _context35.n) {
22014
22284
  case 0:
@@ -22074,8 +22344,8 @@ function getPollVotes(action) {
22074
22344
  break;
22075
22345
  case 7:
22076
22346
  _context35.p = 7;
22077
- _t38 = _context35.v;
22078
- log.error('ERROR in get poll votes', _t38);
22347
+ _t26 = _context35.v;
22348
+ log.error('ERROR in get poll votes', _t26);
22079
22349
  _context35.n = 8;
22080
22350
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22081
22351
  case 8:
@@ -22084,7 +22354,7 @@ function getPollVotes(action) {
22084
22354
  }, _marked30$1, null, [[0, 7]]);
22085
22355
  }
22086
22356
  function loadMorePollVotes(action) {
22087
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t39;
22357
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t27;
22088
22358
  return _regenerator().w(function (_context36) {
22089
22359
  while (1) switch (_context36.p = _context36.n) {
22090
22360
  case 0:
@@ -22142,8 +22412,8 @@ function loadMorePollVotes(action) {
22142
22412
  break;
22143
22413
  case 6:
22144
22414
  _context36.p = 6;
22145
- _t39 = _context36.v;
22146
- log.error('ERROR in load more poll votes', _t39);
22415
+ _t27 = _context36.v;
22416
+ log.error('ERROR in load more poll votes', _t27);
22147
22417
  _context36.n = 7;
22148
22418
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22149
22419
  case 7:
@@ -22245,54 +22515,71 @@ var _marked$4 = /*#__PURE__*/_regenerator().m(getMembers),
22245
22515
  _marked8$2 = /*#__PURE__*/_regenerator().m(getRoles),
22246
22516
  _marked9$2 = /*#__PURE__*/_regenerator().m(MembersSaga);
22247
22517
  function getMembers(action) {
22248
- var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, _t;
22518
+ var payload, channelId, SceytChatClient, membersQueryBuilder, membersQuery, _yield$call, members, hasNext, updateChannelData, _t;
22249
22519
  return _regenerator().w(function (_context) {
22250
22520
  while (1) switch (_context.p = _context.n) {
22251
22521
  case 0:
22252
22522
  _context.p = 0;
22523
+ _context.n = 1;
22524
+ return effects.put(setMembersHasNextAC(true));
22525
+ case 1:
22253
22526
  payload = action.payload;
22254
22527
  channelId = payload.channelId;
22255
22528
  if (channelId) {
22256
- _context.n = 1;
22529
+ _context.n = 2;
22257
22530
  break;
22258
22531
  }
22259
22532
  return _context.a(2);
22260
- case 1:
22533
+ case 2:
22261
22534
  SceytChatClient = getClient();
22262
22535
  membersQueryBuilder = new SceytChatClient.MemberListQueryBuilder(channelId);
22263
22536
  membersQueryBuilder.all().byAffiliationOrder().orderKeyByUsername().limit(50);
22264
- _context.n = 2;
22537
+ _context.n = 3;
22265
22538
  return effects.call(membersQueryBuilder.build);
22266
- case 2:
22539
+ case 3:
22267
22540
  membersQuery = _context.v;
22268
22541
  query.membersQuery = membersQuery;
22269
- _context.n = 3;
22270
- return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22271
- case 3:
22272
22542
  _context.n = 4;
22273
- return effects.call(membersQuery.loadNextPage);
22543
+ return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADING));
22274
22544
  case 4:
22275
- _yield$call = _context.v;
22276
- members = _yield$call.members;
22277
22545
  _context.n = 5;
22278
- return effects.put(setMembersToListAC(members));
22546
+ return effects.call(membersQuery.loadNextPage);
22279
22547
  case 5:
22548
+ _yield$call = _context.v;
22549
+ members = _yield$call.members;
22550
+ hasNext = _yield$call.hasNext;
22280
22551
  _context.n = 6;
22281
- return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22552
+ return effects.put(setMembersToListAC(members));
22282
22553
  case 6:
22554
+ _context.n = 7;
22555
+ return effects.put(setMembersHasNextAC(hasNext));
22556
+ case 7:
22283
22557
  _context.n = 8;
22558
+ return effects.call(updateActiveChannelMembersAdd, members) || {};
22559
+ case 8:
22560
+ updateChannelData = _context.v;
22561
+ _context.n = 9;
22562
+ return effects.put(updateChannelDataAC(channelId, updateChannelData));
22563
+ case 9:
22564
+ _context.n = 11;
22284
22565
  break;
22285
- case 7:
22286
- _context.p = 7;
22566
+ case 10:
22567
+ _context.p = 10;
22287
22568
  _t = _context.v;
22288
22569
  log.error('ERROR in get members - ', _t.message);
22289
- case 8:
22570
+ case 11:
22571
+ _context.p = 11;
22572
+ _context.n = 12;
22573
+ return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22574
+ case 12:
22575
+ return _context.f(11);
22576
+ case 13:
22290
22577
  return _context.a(2);
22291
22578
  }
22292
- }, _marked$4, null, [[0, 7]]);
22579
+ }, _marked$4, null, [[0, 10, 11, 13]]);
22293
22580
  }
22294
22581
  function loadMoreMembers(action) {
22295
- var payload, limit, channelId, membersQuery, _yield$call2, members, updateChannelData;
22582
+ var payload, limit, channelId, membersQuery, _yield$call2, members, hasNext, updateChannelData;
22296
22583
  return _regenerator().w(function (_context2) {
22297
22584
  while (1) switch (_context2.p = _context2.n) {
22298
22585
  case 0:
@@ -22312,27 +22599,34 @@ function loadMoreMembers(action) {
22312
22599
  case 2:
22313
22600
  _yield$call2 = _context2.v;
22314
22601
  members = _yield$call2.members;
22602
+ hasNext = _yield$call2.hasNext;
22315
22603
  _context2.n = 3;
22316
22604
  return effects.put(addMembersToListAC(members));
22317
22605
  case 3:
22318
22606
  _context2.n = 4;
22319
- return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22607
+ return effects.put(setMembersHasNextAC(hasNext));
22320
22608
  case 4:
22321
22609
  _context2.n = 5;
22322
22610
  return effects.call(updateActiveChannelMembersAdd, members) || {};
22323
22611
  case 5:
22324
22612
  updateChannelData = _context2.v;
22325
22613
  _context2.n = 6;
22326
- return effects.put(updateChannelDataAC(channelId, _extends({}, updateChannelData)));
22614
+ return effects.put(updateChannelDataAC(channelId, updateChannelData));
22327
22615
  case 6:
22328
22616
  _context2.n = 8;
22329
22617
  break;
22330
22618
  case 7:
22331
22619
  _context2.p = 7;
22332
22620
  case 8:
22621
+ _context2.p = 8;
22622
+ _context2.n = 9;
22623
+ return effects.put(setMembersLoadingStateAC(LOADING_STATE.LOADED));
22624
+ case 9:
22625
+ return _context2.f(8);
22626
+ case 10:
22333
22627
  return _context2.a(2);
22334
22628
  }
22335
- }, _marked2$3, null, [[0, 7]]);
22629
+ }, _marked2$3, null, [[0, 7, 8, 10]]);
22336
22630
  }
22337
22631
  function addMembers(action) {
22338
22632
  var payload, members, channelId, channel, membersToAdd, addedMembers, membersIds, messageToSend, updateChannelData, _t3;
@@ -23108,6 +23402,9 @@ var rolesMapSelector = function rolesMapSelector(store) {
23108
23402
  var membersLoadingStateSelector = function membersLoadingStateSelector(store) {
23109
23403
  return store.MembersReducer.membersLoadingState;
23110
23404
  };
23405
+ var membersHasNextSelector = function membersHasNextSelector(store) {
23406
+ return store.MembersReducer.membersHasNext;
23407
+ };
23111
23408
 
23112
23409
  var useDidUpdate = function useDidUpdate(callback, deps) {
23113
23410
  var hasMount = React.useRef(false);
@@ -37405,16 +37702,7 @@ var Message$1 = function Message(_ref) {
37405
37702
  setMessageActionsShow(false);
37406
37703
  };
37407
37704
  var handleResendMessage = function handleResendMessage() {
37408
- var messageToResend = _extends({}, message);
37409
- if (message.attachments && message.attachments.length) {
37410
- messageToResend.attachments = message.attachments.map(function (att) {
37411
- var pendingAttachment = getPendingAttachment(att.tid);
37412
- return _extends({}, att, {
37413
- data: new File([pendingAttachment.file], att.data.name)
37414
- });
37415
- });
37416
- }
37417
- dispatch(resendMessageAC(messageToResend, channel.id, connectionStatus));
37705
+ dispatch(resendMessageAC(message, channel.id, connectionStatus));
37418
37706
  setMessageActionsShow(false);
37419
37707
  };
37420
37708
  var handleCopyMessage = function handleCopyMessage() {
@@ -37472,12 +37760,12 @@ var Message$1 = function Message(_ref) {
37472
37760
  setFrequentlyEmojisOpen(false);
37473
37761
  };
37474
37762
  var handleSendReadMarker = function handleSendReadMarker() {
37475
- if (!message.userMarkers.find(function (marker) {
37763
+ if (message.incoming && !message.userMarkers.find(function (marker) {
37476
37764
  return marker.name === MESSAGE_DELIVERY_STATUS.DELIVERED;
37477
37765
  })) {
37478
37766
  if (message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
37479
37767
  return marker.name === MESSAGE_DELIVERY_STATUS.READ;
37480
- }) && message.incoming && !unreadScrollTo) {
37768
+ }) && !unreadScrollTo) {
37481
37769
  dispatch(markMessagesAsDeliveredAC(channel.id, [message.id]));
37482
37770
  }
37483
37771
  }
@@ -37635,7 +37923,8 @@ var Message$1 = function Message(_ref) {
37635
37923
  withAvatar: !(channel.type === DEFAULT_CHANNEL_TYPE.DIRECT && !showSenderNameOnDirectChannel) && !(!message.incoming && !showOwnAvatar),
37636
37924
  className: 'messageContent'
37637
37925
  }, message.state === MESSAGE_STATUS.FAILED && (/*#__PURE__*/React__default.createElement(FailedMessageIcon, {
37638
- rtl: ownMessageOnRightSide && !message.incoming
37926
+ rtl: ownMessageOnRightSide && !message.incoming,
37927
+ onClick: handleResendMessage
37639
37928
  }, /*#__PURE__*/React__default.createElement(ErrorIconWrapper, null))), CustomMessageItem ? (/*#__PURE__*/React__default.createElement(CustomMessageItem, {
37640
37929
  key: message.id || message.tid,
37641
37930
  channel: channel,
@@ -37940,7 +38229,7 @@ var MessageReaction = styled__default.span(_templateObject3$y || (_templateObjec
37940
38229
  var ThreadMessageCountContainer = styled__default.div(_templateObject4$t || (_templateObject4$t = _taggedTemplateLiteralLoose(["\n position: relative;\n color: ", ";\n font-weight: 500;\n font-size: 13px;\n line-height: 15px;\n margin: 12px;\n cursor: pointer;\n\n &::before {\n content: '';\n position: absolute;\n left: -25px;\n top: -21px;\n width: 16px;\n height: 26px;\n border-left: 2px solid #cdcdcf;\n border-bottom: 2px solid #cdcdcf;\n border-radius: 0 0 0 14px;\n }\n"])), function (props) {
37941
38230
  return props.color;
37942
38231
  });
37943
- var FailedMessageIcon = styled__default.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n"])), function (props) {
38232
+ var FailedMessageIcon = styled__default.div(_templateObject5$o || (_templateObject5$o = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: -6px;\n left: ", ";\n right: ", ";\n width: 20px;\n height: 20px;\n cursor: pointer;\n"])), function (props) {
37944
38233
  return !props.rtl && '-24px';
37945
38234
  }, function (props) {
37946
38235
  return props.rtl && '-24px';
@@ -38792,7 +39081,18 @@ var MessageList = function MessageList(_ref2) {
38792
39081
  scrollElement.style.scrollBehavior = 'inherit';
38793
39082
  }
38794
39083
  setScrollIntoView(true);
38795
- var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId);
39084
+ var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId) || null;
39085
+ var newLastDisplayedMessageId = channel.lastDisplayedMessageId;
39086
+ if (!lastReadMessageNode) {
39087
+ for (var index = 0; index < messages.length; index++) {
39088
+ var message = messages[index];
39089
+ if (channel.lastDisplayedMessageId >= message.id && (messages.length < index + 2 || channel.lastDisplayedMessageId <= messages[index + 1].id)) {
39090
+ newLastDisplayedMessageId = message.id;
39091
+ lastReadMessageNode = document.getElementById(newLastDisplayedMessageId);
39092
+ break;
39093
+ }
39094
+ }
39095
+ }
38796
39096
  if (lastReadMessageNode && scrollElement) {
38797
39097
  dispatch(scrollToNewMessageAC(false));
38798
39098
  scrollElement.scrollTo({
@@ -42513,7 +42813,13 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42513
42813
  nodes: [MentionNode],
42514
42814
  onError: onError
42515
42815
  };
42516
- var handleSendTypingState = function handleSendTypingState(typingState) {
42816
+ var handleSendTypingState = function handleSendTypingState(typingState, code) {
42817
+ if (code) {
42818
+ var isTypeKeyPressed = checkIsTypeKeyPressed(code);
42819
+ if (!isTypeKeyPressed) {
42820
+ return;
42821
+ }
42822
+ }
42517
42823
  if (typingState) {
42518
42824
  setInTypingStateTimout(setTimeout(function () {
42519
42825
  setInTypingStateTimout(0);
@@ -42650,11 +42956,11 @@ var SendMessageInput = function SendMessageInput(_ref3) {
42650
42956
  } else {
42651
42957
  if (typingTimout) {
42652
42958
  if (!inTypingStateTimout) {
42653
- handleSendTypingState(true);
42959
+ handleSendTypingState(true, code);
42654
42960
  }
42655
42961
  clearTimeout(typingTimout);
42656
42962
  } else {
42657
- handleSendTypingState(true);
42963
+ handleSendTypingState(true, code);
42658
42964
  }
42659
42965
  setTypingTimout(setTimeout(function () {
42660
42966
  setTypingTimout(0);
@@ -43329,7 +43635,9 @@ var SendMessageInput = function SendMessageInput(_ref3) {
43329
43635
  if (activeChannel.id) {
43330
43636
  prevActiveChannelId = activeChannel.id;
43331
43637
  }
43332
- dispatch(getMembersAC(activeChannel.id));
43638
+ if (activeChannel.id) {
43639
+ dispatch(getMembersAC(activeChannel.id));
43640
+ }
43333
43641
  setMentionedUsers([]);
43334
43642
  }, [activeChannel.id]);
43335
43643
  React.useEffect(function () {
@@ -44919,7 +45227,8 @@ var Actions = function Actions(_ref) {
44919
45227
  iconColor: iconPrimary,
44920
45228
  color: textPrimary,
44921
45229
  hoverColor: textPrimary,
44922
- fontSize: actionItemsFontSize
45230
+ fontSize: actionItemsFontSize,
45231
+ flexWrap: 'wrap'
44923
45232
  }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DefaultWatchIcon, {
44924
45233
  "$isLightMode": backgroundColor === '#FFFFFF'
44925
45234
  }), "Disappearing messages", /*#__PURE__*/React__default.createElement(DisappearingMessagesStatusWrapper, null, /*#__PURE__*/React__default.createElement(DisappearingMessagesStatus, {
@@ -45123,7 +45432,7 @@ var DefaultMarkAsReadIcon = styled__default(SvgLeave)(_templateObject15$3 || (_t
45123
45432
  var DefaultWatchIcon = styled__default(SvgWatch)(_templateObject16$3 || (_templateObject16$3 = _taggedTemplateLiteralLoose(["\n width: 24px;\n height: 24px;\n\n path.watch-ticks,\n path:nth-child(2) {\n fill: ", " !important;\n }\n"])), function (props) {
45124
45433
  return props.$isLightMode ? '#FFFFFF' : '#000000';
45125
45434
  });
45126
- var ActionItem = styled__default.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45435
+ var ActionItem = styled__default.li(_templateObject17$3 || (_templateObject17$3 = _taggedTemplateLiteralLoose(["\n position: relative;\n display: flex;\n align-items: center;\n padding: 10px 0;\n font-size: ", ";\n color: ", ";\n cursor: pointer;\n order: ", ";\n pointer-events: ", ";\n ", "\n & > div {\n margin-left: auto;\n }\n\n & > svg {\n margin-right: 16px;\n color: ", ";\n width: 24px;\n height: 24px;\n }\n\n &:hover {\n color: ", ";\n }\n\n &:last-child {\n //margin-bottom: 0;\n }\n"])), function (props) {
45127
45436
  return props.fontSize || '15px';
45128
45437
  }, function (props) {
45129
45438
  return props.color;
@@ -45131,6 +45440,8 @@ var ActionItem = styled__default.li(_templateObject17$3 || (_templateObject17$3
45131
45440
  return props.order;
45132
45441
  }, function (props) {
45133
45442
  return props.disableEvent && 'none';
45443
+ }, function (props) {
45444
+ return props.flexWrap && "flex-wrap: " + props.flexWrap + ";";
45134
45445
  }, function (props) {
45135
45446
  return props.iconColor;
45136
45447
  }, function (props) {
@@ -45939,19 +46250,11 @@ var Members = function Members(_ref) {
45939
46250
  setCloseMenu = _useState9[1];
45940
46251
  var members = useSelector(activeChannelMembersSelector) || [];
45941
46252
  var contactsMap = useSelector(contactsMapSelector) || {};
45942
- var membersLoading = useSelector(membersLoadingStateSelector) || {};
45943
46253
  var user = getClient().user;
45944
46254
  var memberDisplayText = getChannelTypesMemberDisplayTextMap();
45945
46255
  var channelTypeRoleMap = getDefaultRolesByChannelTypesMap();
45946
46256
  var displayMemberText = memberDisplayText && memberDisplayText[channel.type] ? memberDisplayText[channel.type] + "s" : channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? 'subscribers' : 'members';
45947
46257
  var noMemberEditPermissions = !checkActionPermission('changeMemberRole') && !checkActionPermission('kickAndBlockMember') && !checkActionPermission('kickMember');
45948
- var handleMembersListScroll = function handleMembersListScroll(event) {
45949
- if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
45950
- if (membersLoading === LOADING_STATE.LOADED) {
45951
- dispatch(loadMoreMembersAC(15, channel.id));
45952
- }
45953
- }
45954
- };
45955
46258
  var watchDropdownState = function watchDropdownState(state, memberId) {
45956
46259
  if (state) {
45957
46260
  setCloseMenu(memberId);
@@ -46049,16 +46352,16 @@ var Members = function Members(_ref) {
46049
46352
  if (getFromContacts) {
46050
46353
  dispatch(getContactsAC());
46051
46354
  }
46052
- dispatch(getMembersAC(channel.id));
46053
- }, [channel]);
46355
+ if (channel !== null && channel !== void 0 && channel.id) {
46356
+ dispatch(getMembersAC(channel.id));
46357
+ }
46358
+ }, [channel === null || channel === void 0 ? void 0 : channel.id]);
46054
46359
  var currentUserRole = (_members$find = members.find(function (member) {
46055
46360
  return member.id === user.id;
46056
46361
  })) === null || _members$find === void 0 ? void 0 : _members$find.role;
46057
46362
  return /*#__PURE__*/React__default.createElement(Container$o, {
46058
46363
  theme: theme
46059
- }, /*#__PURE__*/React__default.createElement(ActionsMenu$1, null, /*#__PURE__*/React__default.createElement(MembersList, {
46060
- onScroll: handleMembersListScroll
46061
- }, checkActionPermission('addMember') && (currentUserRole === 'owner' || currentUserRole === 'admin') && (/*#__PURE__*/React__default.createElement(MemberItem$1, {
46364
+ }, /*#__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, {
46062
46365
  key: 1,
46063
46366
  onClick: handleAddMemberPopup,
46064
46367
  color: textPrimary,
@@ -47463,6 +47766,7 @@ var Details = function Details(_ref) {
47463
47766
  var _usePermissions = usePermissions(activeChannel ? activeChannel.userRole : ''),
47464
47767
  checkActionPermission = _usePermissions[0];
47465
47768
  var membersLoading = useSelector(membersLoadingStateSelector);
47769
+ var membersHasNext = useSelector(membersHasNextSelector);
47466
47770
  var messagesLoading = useSelector(messagesLoadingState);
47467
47771
  var attachmentsHasNex = useSelector(activeTabAttachmentsHasNextSelector);
47468
47772
  var contactsMap = useSelector(contactsMapSelector);
@@ -47486,7 +47790,7 @@ var Details = function Details(_ref) {
47486
47790
  var handleMembersListScroll = function handleMembersListScroll(event) {
47487
47791
  if (event.target.scrollTop >= event.target.scrollHeight - event.target.offsetHeight - 100) {
47488
47792
  if (activeTab === channelDetailsTabs.member) {
47489
- if (membersLoading === LOADING_STATE.LOADED) {
47793
+ if (membersLoading === LOADING_STATE.LOADED && membersHasNext) {
47490
47794
  dispatch(loadMoreMembersAC(15, activeChannel.id));
47491
47795
  }
47492
47796
  } else if (messagesLoading === LOADING_STATE.LOADED && attachmentsHasNex) {