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

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 +549 -651
  2. package/index.modern.js +549 -651
  3. package/package.json +1 -1
package/index.modern.js CHANGED
@@ -2838,93 +2838,6 @@ function _forOf(target, body, check) {
2838
2838
 
2839
2839
  const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
2840
2840
 
2841
- // Asynchronously implement a generic for loop
2842
- function _for(test, update, body) {
2843
- var stage;
2844
- for (;;) {
2845
- var shouldContinue = test();
2846
- if (_isSettledPact(shouldContinue)) {
2847
- shouldContinue = shouldContinue.v;
2848
- }
2849
- if (!shouldContinue) {
2850
- return result;
2851
- }
2852
- if (shouldContinue.then) {
2853
- stage = 0;
2854
- break;
2855
- }
2856
- var result = body();
2857
- if (result && result.then) {
2858
- if (_isSettledPact(result)) {
2859
- result = result.s;
2860
- } else {
2861
- stage = 1;
2862
- break;
2863
- }
2864
- }
2865
- if (update) {
2866
- var updateValue = update();
2867
- if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
2868
- stage = 2;
2869
- break;
2870
- }
2871
- }
2872
- }
2873
- var pact = new _Pact();
2874
- var reject = _settle.bind(null, pact, 2);
2875
- (stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);
2876
- return pact;
2877
- function _resumeAfterBody(value) {
2878
- result = value;
2879
- do {
2880
- if (update) {
2881
- updateValue = update();
2882
- if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
2883
- updateValue.then(_resumeAfterUpdate).then(void 0, reject);
2884
- return;
2885
- }
2886
- }
2887
- shouldContinue = test();
2888
- if (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {
2889
- _settle(pact, 1, result);
2890
- return;
2891
- }
2892
- if (shouldContinue.then) {
2893
- shouldContinue.then(_resumeAfterTest).then(void 0, reject);
2894
- return;
2895
- }
2896
- result = body();
2897
- if (_isSettledPact(result)) {
2898
- result = result.v;
2899
- }
2900
- } while (!result || !result.then);
2901
- result.then(_resumeAfterBody).then(void 0, reject);
2902
- }
2903
- function _resumeAfterTest(shouldContinue) {
2904
- if (shouldContinue) {
2905
- result = body();
2906
- if (result && result.then) {
2907
- result.then(_resumeAfterBody).then(void 0, reject);
2908
- } else {
2909
- _resumeAfterBody(result);
2910
- }
2911
- } else {
2912
- _settle(pact, 1, result);
2913
- }
2914
- }
2915
- function _resumeAfterUpdate() {
2916
- if (shouldContinue = test()) {
2917
- if (shouldContinue.then) {
2918
- shouldContinue.then(_resumeAfterTest).then(void 0, reject);
2919
- } else {
2920
- _resumeAfterTest(shouldContinue);
2921
- }
2922
- } else {
2923
- _settle(pact, 1, result);
2924
- }
2925
- }
2926
- }
2927
-
2928
2841
  // Asynchronously call a function and send errors to recovery continuation
2929
2842
  function _catch(body, recover) {
2930
2843
  try {
@@ -9301,7 +9214,9 @@ function updateChannelLastMessageOnAllChannels(channelId, message) {
9301
9214
  if (updateChannel) {
9302
9215
  var updateMessage = message;
9303
9216
  if (updateChannel.lastMessage && updateChannel.lastMessage.id === message.id && updateChannel.lastMessage.deliveryStatus === MESSAGE_DELIVERY_STATUS.READ) {
9304
- updateMessage.deliveryStatus = MESSAGE_DELIVERY_STATUS.READ;
9217
+ updateMessage = _extends({}, message, {
9218
+ deliveryStatus: MESSAGE_DELIVERY_STATUS.READ
9219
+ });
9305
9220
  }
9306
9221
  updateChannel = _extends({}, updateChannel, {
9307
9222
  lastMessage: updateMessage
@@ -9318,7 +9233,9 @@ function updateChannelOnAllChannels(channelId, config, messageUpdateData) {
9318
9233
  if (messageUpdateData && channel.lastMessage && messageUpdateData.id === channel.lastMessage.id) {
9319
9234
  var updateMessage = messageUpdateData;
9320
9235
  if (channel.lastMessage.id === messageUpdateData.id && channel.lastMessage.deliveryStatus === MESSAGE_DELIVERY_STATUS.READ) {
9321
- updateMessage.deliveryStatus = MESSAGE_DELIVERY_STATUS.READ;
9236
+ updateMessage = _extends({}, messageUpdateData, {
9237
+ deliveryStatus: MESSAGE_DELIVERY_STATUS.READ
9238
+ });
9322
9239
  }
9323
9240
  channel.lastMessage = _extends({}, channel.lastMessage, updateMessage);
9324
9241
  }
@@ -10325,13 +10242,16 @@ function setMessageToEditAC(message) {
10325
10242
  message: message
10326
10243
  });
10327
10244
  }
10328
- function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage) {
10245
+ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged) {
10329
10246
  if (highlight === void 0) {
10330
10247
  highlight = true;
10331
10248
  }
10332
10249
  if (scrollToMessage === void 0) {
10333
10250
  scrollToMessage = true;
10334
10251
  }
10252
+ if (networkChanged === void 0) {
10253
+ networkChanged = false;
10254
+ }
10335
10255
  return {
10336
10256
  type: GET_MESSAGES,
10337
10257
  payload: {
@@ -10339,10 +10259,10 @@ function getMessagesAC(channel, loadWithLastMessage, messageId, limit, withDeliv
10339
10259
  loadWithLastMessage: loadWithLastMessage,
10340
10260
  messageId: messageId,
10341
10261
  limit: limit,
10342
- withDeliveredMessages: withDeliveredMessages,
10343
10262
  highlight: highlight,
10344
10263
  behavior: behavior,
10345
- scrollToMessage: scrollToMessage
10264
+ scrollToMessage: scrollToMessage,
10265
+ networkChanged: networkChanged
10346
10266
  }
10347
10267
  };
10348
10268
  }
@@ -10839,7 +10759,8 @@ function updatePendingMessageAC(channelId, messageId, updatedMessage) {
10839
10759
  });
10840
10760
  }
10841
10761
 
10842
- var MESSAGES_MAX_LENGTH = 80;
10762
+ var MESSAGES_MAX_PAGE_COUNT = 80;
10763
+ var MESSAGES_MAX_LENGTH = 50;
10843
10764
  var LOAD_MAX_MESSAGE_COUNT = 30;
10844
10765
  var MESSAGE_LOAD_DIRECTION = {
10845
10766
  PREV: 'prev',
@@ -10905,12 +10826,12 @@ var setAllMessages = function setAllMessages(messages) {
10905
10826
  var addAllMessages = function addAllMessages(messages, direction) {
10906
10827
  if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
10907
10828
  activeChannelAllMessages = [].concat(messages, activeChannelAllMessages);
10908
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10829
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10909
10830
  setHasNextCached(true);
10910
10831
  }
10911
10832
  } else {
10912
10833
  activeChannelAllMessages = [].concat(activeChannelAllMessages, messages);
10913
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10834
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10914
10835
  setHasPrevCached(true);
10915
10836
  }
10916
10837
  }
@@ -10979,8 +10900,8 @@ var getHasNextCached = function getHasNextCached() {
10979
10900
  var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messageId, direction, getWithLastMessage) {
10980
10901
  var messagesForAdd = [];
10981
10902
  if (getWithLastMessage) {
10982
- messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_LENGTH));
10983
- setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_LENGTH);
10903
+ messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_PAGE_COUNT));
10904
+ setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT);
10984
10905
  setHasNextCached(false);
10985
10906
  } else {
10986
10907
  var fromMessageIndex = activeChannelAllMessages.findIndex(function (mes) {
@@ -11008,14 +10929,25 @@ var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messa
11008
10929
  }
11009
10930
  return messagesForAdd;
11010
10931
  };
11011
- function setMessagesToMap(channelId, messages) {
11012
- if (!messagesMap[channelId] || messages.length === 0) {
10932
+ function setMessagesToMap(channelId, messages, firstMessageId, lastMessageId) {
10933
+ if (firstMessageId === void 0) {
10934
+ firstMessageId = '0';
10935
+ }
10936
+ if (lastMessageId === void 0) {
10937
+ lastMessageId = '0';
10938
+ }
10939
+ if (!messagesMap[channelId]) {
11013
10940
  messagesMap[channelId] = {};
11014
10941
  }
11015
- messages.forEach(function (msg) {
11016
- if (msg.tid && messagesMap[channelId][msg.tid]) {
11017
- delete messagesMap[channelId][msg.tid];
10942
+ for (var key in messagesMap[channelId]) {
10943
+ if (Object.prototype.hasOwnProperty.call(messagesMap[channelId], key)) {
10944
+ var element = messagesMap[channelId][key];
10945
+ if (element.id >= firstMessageId && element.id <= lastMessageId) {
10946
+ delete messagesMap[channelId][key];
10947
+ }
11018
10948
  }
10949
+ }
10950
+ messages.forEach(function (msg) {
11019
10951
  messagesMap[channelId][msg.id || msg.tid] = msg;
11020
10952
  });
11021
10953
  }
@@ -11441,42 +11373,36 @@ var messageSlice = createSlice({
11441
11373
  });
11442
11374
  });
11443
11375
  if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
11444
- if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
11376
+ if (currentMessagesLength + newMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11445
11377
  var _state$activeChannelM;
11446
11378
  setHasNextCached(true);
11447
11379
  if (newMessagesLength > 0) {
11448
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11380
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11449
11381
  state.activeChannelMessages.splice(-newMessagesLength);
11450
11382
  } else {
11451
- state.activeChannelMessages.splice(-(newMessagesLength - (MESSAGES_MAX_LENGTH - currentMessagesLength)));
11383
+ state.activeChannelMessages.splice(-(currentMessagesLength - currentMessagesLength + newMessagesLength - MESSAGES_MAX_PAGE_COUNT));
11452
11384
  }
11453
11385
  }
11454
11386
  (_state$activeChannelM = state.activeChannelMessages).splice.apply(_state$activeChannelM, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11455
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11387
+ } else {
11456
11388
  var _state$activeChannelM2;
11457
- var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11458
- setHasNextCached(true);
11459
- state.activeChannelMessages.splice(-sliceElementCount);
11460
11389
  (_state$activeChannelM2 = state.activeChannelMessages).splice.apply(_state$activeChannelM2, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11461
- } else {
11462
- var _state$activeChannelM3;
11463
- (_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11464
11390
  }
11465
- } else if (direction === 'next' && newMessagesLength > 0) {
11466
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11467
- var _state$activeChannelM4;
11391
+ } else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && newMessagesLength > 0) {
11392
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11393
+ var _state$activeChannelM3;
11468
11394
  setHasPrevCached(true);
11469
11395
  state.activeChannelMessages.splice(0, messagesIsNotIncludeInActiveChannelMessages.length);
11396
+ (_state$activeChannelM3 = state.activeChannelMessages).push.apply(_state$activeChannelM3, messagesIsNotIncludeInActiveChannelMessages);
11397
+ } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11398
+ var _state$activeChannelM4;
11399
+ var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_PAGE_COUNT;
11400
+ setHasPrevCached(true);
11401
+ state.activeChannelMessages.splice(0, sliceElementCount);
11470
11402
  (_state$activeChannelM4 = state.activeChannelMessages).push.apply(_state$activeChannelM4, messagesIsNotIncludeInActiveChannelMessages);
11471
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11403
+ } else {
11472
11404
  var _state$activeChannelM5;
11473
- var _sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11474
- setHasPrevCached(true);
11475
- state.activeChannelMessages.splice(0, _sliceElementCount);
11476
11405
  (_state$activeChannelM5 = state.activeChannelMessages).push.apply(_state$activeChannelM5, messagesIsNotIncludeInActiveChannelMessages);
11477
- } else {
11478
- var _state$activeChannelM6;
11479
- (_state$activeChannelM6 = state.activeChannelMessages).push.apply(_state$activeChannelM6, messagesIsNotIncludeInActiveChannelMessages);
11480
11406
  }
11481
11407
  }
11482
11408
  },
@@ -11500,6 +11426,9 @@ var messageSlice = createSlice({
11500
11426
  });
11501
11427
  }
11502
11428
  }
11429
+ state.activeChannelMessages.sort(function (a, b) {
11430
+ return !(a !== null && a !== void 0 && a.id) ? 1 : (a === null || a === void 0 ? void 0 : a.id) < (b === null || b === void 0 ? void 0 : b.id) ? -1 : 1;
11431
+ });
11503
11432
  },
11504
11433
  updateMessage: function updateMessage(state, action) {
11505
11434
  var _action$payload3 = action.payload,
@@ -11545,6 +11474,9 @@ var messageSlice = createSlice({
11545
11474
  if (!messageFound && addIfNotExists) {
11546
11475
  state.activeChannelMessages.push(params);
11547
11476
  }
11477
+ state.activeChannelMessages.sort(function (a, b) {
11478
+ return !(a !== null && a !== void 0 && a.id) ? 1 : (a === null || a === void 0 ? void 0 : a.id) < (b === null || b === void 0 ? void 0 : b.id) ? -1 : 1;
11479
+ });
11548
11480
  },
11549
11481
  updateMessageAttachment: function updateMessageAttachment(state, action) {
11550
11482
  var _action$payload4 = action.payload,
@@ -18970,111 +18902,6 @@ var getFrame = function getFrame(videoSrc, time) {
18970
18902
  }
18971
18903
  };
18972
18904
 
18973
- var processQueue = function processQueue(channelId) {
18974
- try {
18975
- var _temp4 = function _temp4() {
18976
- queue.processing = false;
18977
- log.info(new Date().toISOString() + " [ChannelQueue] Finished processing queue for channel: " + channelId);
18978
- };
18979
- var queue = getChannelQueue(channelId);
18980
- if (queue.processing || queue.queue.length === 0) {
18981
- return Promise.resolve();
18982
- }
18983
- queue.processing = true;
18984
- log.info("[ChannelQueue] Starting to process queue for channel: " + channelId + ", queue length: " + queue.queue.length);
18985
- var _temp3 = _for(function () {
18986
- return queue.queue.length > 0;
18987
- }, void 0, function () {
18988
- var queuedTask = queue.queue.shift();
18989
- var task = queuedTask.task,
18990
- resolve = queuedTask.resolve,
18991
- reject = queuedTask.reject,
18992
- functionName = queuedTask.functionName,
18993
- queuedAt = queuedTask.queuedAt;
18994
- var waitTime = queuedAt ? Date.now() - queuedAt : 0;
18995
- var functionInfo = functionName || 'unknown';
18996
- log.info("[ChannelQueue] Executing request for channel: " + channelId + ", function: " + functionInfo + ", queue position: " + (queue.queue.length + 1) + ", waited: " + waitTime + "ms");
18997
- var startTime = Date.now();
18998
- return _catch(function () {
18999
- var result = task();
19000
- var _temp2 = function () {
19001
- if (result && typeof result.then === 'function') {
19002
- return Promise.resolve(result).then(function (value) {
19003
- var duration = Date.now() - startTime;
19004
- log.info(new Date().toISOString() + " [ChannelQueue] Request completed for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, remaining: " + queue.queue.length);
19005
- resolve(value);
19006
- });
19007
- } else {
19008
- var duration = Date.now() - startTime;
19009
- log.info(new Date().toISOString() + " [ChannelQueue] Request completed (sync) for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, remaining: " + queue.queue.length);
19010
- resolve(result);
19011
- }
19012
- }();
19013
- if (_temp2 && _temp2.then) return _temp2.then(function () {});
19014
- }, function (error) {
19015
- var duration = Date.now() - startTime;
19016
- log.error(new Date().toISOString() + " [ChannelQueue] Request failed for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, error:", error);
19017
- reject(error);
19018
- });
19019
- });
19020
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
19021
- } catch (e) {
19022
- return Promise.reject(e);
19023
- }
19024
- };
19025
- var channelQueues = new Map();
19026
- function getChannelQueue(channelId) {
19027
- if (!channelQueues.has(channelId)) {
19028
- channelQueues.set(channelId, {
19029
- channelId: channelId,
19030
- queue: [],
19031
- processing: false
19032
- });
19033
- }
19034
- return channelQueues.get(channelId);
19035
- }
19036
- function queueChannelRequest(channelId, task, functionName) {
19037
- return new Promise(function (resolve, reject) {
19038
- var queue = getChannelQueue(channelId);
19039
- var queuedTask = {
19040
- task: task,
19041
- resolve: resolve,
19042
- reject: reject,
19043
- functionName: functionName,
19044
- queuedAt: Date.now()
19045
- };
19046
- queue.queue.push(queuedTask);
19047
- log.info(new Date().toISOString() + " [ChannelQueue] Request queued for channel: " + channelId + ", \n function: " + (functionName || 'unknown') + ", queue length: " + queue.queue.length + ", processing: " + queue.processing);
19048
- processQueue(channelId);
19049
- });
19050
- }
19051
- function queuedChannelCall(channelId, fn) {
19052
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
19053
- args[_key - 2] = arguments[_key];
19054
- }
19055
- var functionName = fn.name || fn.displayName || 'anonymous';
19056
- var functionInfo = functionName + "(" + args.length + " args)";
19057
- return queueChannelRequest(channelId, function () {
19058
- try {
19059
- var _exit = false;
19060
- var result = fn.apply(void 0, args);
19061
- var _temp = function () {
19062
- if (result && typeof result.then === 'function') {
19063
- return Promise.resolve(result).then(function (_await$result) {
19064
- _exit = true;
19065
- return _await$result;
19066
- });
19067
- }
19068
- }();
19069
- return Promise.resolve(_temp && _temp.then ? _temp.then(function (_result) {
19070
- return _exit ? _result : result;
19071
- }) : _exit ? _temp : result);
19072
- } catch (e) {
19073
- return Promise.reject(e);
19074
- }
19075
- }, functionInfo);
19076
- }
19077
-
19078
18905
  var SDKErrorTypeEnum = {
19079
18906
  BadRequest: {
19080
18907
  value: 'BadRequest',
@@ -19118,6 +18945,9 @@ var fromValue = function fromValue(value) {
19118
18945
  };
19119
18946
  var isResendableError = function isResendableError(value) {
19120
18947
  var _errorType$isResendab;
18948
+ if (!value) {
18949
+ return true;
18950
+ }
19121
18951
  var errorType = fromValue(value);
19122
18952
  return (_errorType$isResendab = errorType === null || errorType === void 0 ? void 0 : errorType.isResendable) != null ? _errorType$isResendab : true;
19123
18953
  };
@@ -19255,13 +19085,13 @@ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scr
19255
19085
  scrollToNewMessage = true;
19256
19086
  }
19257
19087
  return /*#__PURE__*/_regenerator().m(function _callee() {
19258
- var activeChannelId;
19088
+ var activeChannelId, channel, messages, _channel$lastMessage2, repliedMessage, scrollRef, _channel$lastMessage3;
19259
19089
  return _regenerator().w(function (_context) {
19260
19090
  while (1) switch (_context.n) {
19261
19091
  case 0:
19262
19092
  activeChannelId = getActiveChannelId();
19263
19093
  if (!(actionType !== RESEND_MESSAGE)) {
19264
- _context.n = 3;
19094
+ _context.n = 7;
19265
19095
  break;
19266
19096
  }
19267
19097
  if (activeChannelId === channelId) {
@@ -19278,12 +19108,43 @@ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scr
19278
19108
  return call(addPendingMessage, message, pending, channelId);
19279
19109
  case 2:
19280
19110
  if (!scrollToNewMessage) {
19281
- _context.n = 3;
19111
+ _context.n = 7;
19282
19112
  break;
19283
19113
  }
19284
19114
  _context.n = 3;
19285
- return put(scrollToNewMessageAC(true, true));
19115
+ return call(getChannelFromAllChannels, channelId);
19286
19116
  case 3:
19117
+ channel = _context.v;
19118
+ messages = store.getState().MessageReducer.activeChannelMessages;
19119
+ if (!(messages.findIndex(function (msg) {
19120
+ var _channel$lastMessage;
19121
+ return msg.id === (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id);
19122
+ }) >= 10)) {
19123
+ _context.n = 6;
19124
+ break;
19125
+ }
19126
+ _context.n = 4;
19127
+ return put(scrollToNewMessageAC(true, false, false));
19128
+ case 4:
19129
+ _context.n = 5;
19130
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19131
+ case 5:
19132
+ repliedMessage = document.getElementById(channel === null || channel === void 0 ? void 0 : (_channel$lastMessage2 = channel.lastMessage) === null || _channel$lastMessage2 === void 0 ? void 0 : _channel$lastMessage2.id);
19133
+ if (repliedMessage) {
19134
+ scrollRef = document.getElementById('scrollableDiv');
19135
+ if (scrollRef) {
19136
+ scrollRef.scrollTo({
19137
+ top: 1000,
19138
+ behavior: 'smooth'
19139
+ });
19140
+ }
19141
+ }
19142
+ _context.n = 7;
19143
+ break;
19144
+ case 6:
19145
+ _context.n = 7;
19146
+ return put(getMessagesAC(channel, false, channel === null || channel === void 0 ? void 0 : (_channel$lastMessage3 = channel.lastMessage) === null || _channel$lastMessage3 === void 0 ? void 0 : _channel$lastMessage3.id, undefined, false, 'smooth', true));
19147
+ case 7:
19287
19148
  return _context.a(2);
19288
19149
  }
19289
19150
  }, _callee);
@@ -19435,7 +19296,7 @@ function sendMessage(action) {
19435
19296
  break;
19436
19297
  }
19437
19298
  _context2.n = 1;
19438
- return call(updateMessage$1, action.type, _pending, channel.id, false, message);
19299
+ return call(updateMessage$1, action.type, _pending, channel.id, true, message);
19439
19300
  case 1:
19440
19301
  _context2.n = 3;
19441
19302
  break;
@@ -19488,7 +19349,7 @@ function sendMessage(action) {
19488
19349
  break;
19489
19350
  }
19490
19351
  _context4.n = 11;
19491
- return call(updateMessage$1, action.type, pending, channel.id, false, message);
19352
+ return call(updateMessage$1, action.type, pending, channel.id, true, message);
19492
19353
  case 11:
19493
19354
  messageToSend = _extends({}, messageToSend, {
19494
19355
  attachments: attachmentsToSend
@@ -19533,7 +19394,7 @@ function sendMessage(action) {
19533
19394
  });
19534
19395
  }
19535
19396
  _context3.n = 4;
19536
- return call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19397
+ return call(channel.sendMessage, messageToSend);
19537
19398
  case 4:
19538
19399
  messageResponse = _context3.v;
19539
19400
  if (!customUploader) {
@@ -19790,7 +19651,7 @@ function sendTextMessage(action) {
19790
19651
  break;
19791
19652
  }
19792
19653
  _context5.n = 8;
19793
- return call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19654
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, true, message);
19794
19655
  case 8:
19795
19656
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19796
19657
  _context5.n = 17;
@@ -19808,7 +19669,7 @@ function sendTextMessage(action) {
19808
19669
  break;
19809
19670
  case 10:
19810
19671
  _context5.n = 11;
19811
- return call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19672
+ return call(channel.sendMessage, messageToSend);
19812
19673
  case 11:
19813
19674
  messageResponse = _context5.v;
19814
19675
  case 12:
@@ -20041,7 +19902,7 @@ function forwardMessage(action) {
20041
19902
  break;
20042
19903
  }
20043
19904
  _context6.n = 10;
20044
- return call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19905
+ return call(channel.sendMessage, messageToSend);
20045
19906
  case 10:
20046
19907
  messageResponse = _context6.v;
20047
19908
  messageUpdateData = {
@@ -20230,7 +20091,7 @@ function deleteMessage(action) {
20230
20091
  }
20231
20092
  }
20232
20093
  _context8.n = 2;
20233
- return call(queuedChannelCall, channel.id, channel.deleteMessageById, messageId, deleteOption === 'forMe');
20094
+ return call(channel.deleteMessageById, messageId, deleteOption === 'forMe');
20234
20095
  case 2:
20235
20096
  deletedMessage = _context8.v;
20236
20097
  _context8.n = 3;
@@ -20295,7 +20156,7 @@ function editMessage(action) {
20295
20156
  message.attachments = [].concat(anotherAttachments, linkAttachmentsToSend);
20296
20157
  }
20297
20158
  _context9.n = 2;
20298
- return call(queuedChannelCall, channel.id, channel.editMessage, _extends({}, message, {
20159
+ return call(channel.editMessage, _extends({}, message, {
20299
20160
  metadata: isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata),
20300
20161
  attachments: message.attachments.map(function (att) {
20301
20162
  return _extends({}, att, {
@@ -20428,13 +20289,13 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20428
20289
  }
20429
20290
  }, _callee4, null, [[3, 9]]);
20430
20291
  });
20431
- var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20292
+ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages, firstMessageId, lastMessageId) {
20432
20293
  var messages;
20433
20294
  return _regenerator().w(function (_context1) {
20434
20295
  while (1) switch (_context1.n) {
20435
20296
  case 0:
20436
20297
  messages = [].concat(updatedMessages);
20437
- setMessagesToMap(channel.id, messages);
20298
+ setMessagesToMap(channel.id, messages, firstMessageId, lastMessageId);
20438
20299
  setAllMessages(messages);
20439
20300
  _context1.n = 1;
20440
20301
  return put(setMessagesAC(JSON.parse(JSON.stringify(messages))));
@@ -20459,7 +20320,7 @@ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20459
20320
  return filteredPendingMessages;
20460
20321
  };
20461
20322
  function getMessagesQuery(action) {
20462
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, queueResult, parsedMessages, _filteredPendingMessages, updatedMessages, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1;
20323
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, _result$messages$, _result$messages, _messages$Math$floor, messages, centerMessageId, loadWithMessageId, allMessages, messageIndex, maxLengthPart, _result$messages$2, _result$messages2, secondResult, thirdResult, fourthResult, _fourthResult, _result$messages$3, _result$messages3, _channel$lastMessage4, _channel$lastMessage5, _channel$lastMessage6, _updatedMessages$, _parsedMessages$, _parsedMessages, parsedMessages, _filteredPendingMessages, updatedMessages, messageIdForLoad, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
20463
20324
  return _regenerator().w(function (_context10) {
20464
20325
  while (1) switch (_context10.p = _context10.n) {
20465
20326
  case 0:
@@ -20467,10 +20328,10 @@ function getMessagesQuery(action) {
20467
20328
  _context10.n = 1;
20468
20329
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
20469
20330
  case 1:
20470
- _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage;
20331
+ _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, highlight = _action$payload.highlight, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage, networkChanged = _action$payload.networkChanged;
20471
20332
  connectionState = store.getState().UserReducer.connectionStatus;
20472
- if (!(channel.id && !channel.isMockChannel)) {
20473
- _context10.n = 51;
20333
+ if (!(channel !== null && channel !== void 0 && channel.id && !(channel !== null && channel !== void 0 && channel.isMockChannel))) {
20334
+ _context10.n = 84;
20474
20335
  break;
20475
20336
  }
20476
20337
  SceytChatClient = getClient();
@@ -20500,364 +20361,399 @@ function getMessagesQuery(action) {
20500
20361
  hasNext: false
20501
20362
  };
20502
20363
  if (!loadWithLastMessage) {
20503
- _context10.n = 15;
20364
+ _context10.n = 22;
20504
20365
  break;
20505
20366
  }
20506
- allMessages = getAllMessages();
20507
- havLastMessage = allMessages && allMessages.length && channel.lastMessage && allMessages[allMessages.length - 1] && allMessages[allMessages.length - 1].id === channel.lastMessage.id;
20508
- if (!(channel.newMessageCount && channel.newMessageCount > 0 || !havLastMessage)) {
20509
- _context10.n = 10;
20367
+ if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20368
+ _context10.n = 15;
20510
20369
  break;
20511
20370
  }
20512
20371
  setHasPrevCached(false);
20513
- setMessagesToMap(channel.id, []);
20514
20372
  setAllMessages([]);
20373
+ messageQuery.limit = MESSAGES_MAX_LENGTH;
20374
+ if (!Number(channel.lastDisplayedMessageId)) {
20375
+ _context10.n = 8;
20376
+ break;
20377
+ }
20515
20378
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20516
20379
  _context10.n = 6;
20517
20380
  break;
20518
20381
  }
20519
20382
  _context10.n = 5;
20520
- return call(queuedChannelCall, channel.id, function () {
20521
- try {
20522
- return Promise.resolve(messageQuery.loadPreviousMessageId('0')).then(function (firstResult) {
20523
- var _exit = false;
20524
- var _temp7 = function () {
20525
- if (firstResult.messages.length === 50) {
20526
- messageQuery.limit = 30;
20527
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20528
- var _messages$hasNext = {
20529
- messages: [].concat(secondResult.messages, firstResult.messages),
20530
- hasNext: secondResult.hasNext
20531
- };
20532
- _exit = true;
20533
- return _messages$hasNext;
20534
- });
20535
- }
20536
- }();
20537
- return _temp7 && _temp7.then ? _temp7.then(function (_result) {
20538
- return _exit ? _result : firstResult;
20539
- }) : _exit ? _temp7 : firstResult;
20540
- });
20541
- } catch (e) {
20542
- return Promise.reject(e);
20543
- }
20544
- });
20383
+ return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20545
20384
  case 5:
20546
- result = _context10.v;
20385
+ _t1 = _context10.v;
20547
20386
  _context10.n = 7;
20548
20387
  break;
20549
20388
  case 6:
20550
- result = {
20389
+ _t1 = {
20551
20390
  messages: [],
20552
20391
  hasNext: false
20553
20392
  };
20554
20393
  case 7:
20555
- sentMessages = [];
20556
- if (withDeliveredMessages) {
20557
- sentMessages = getFromAllMessagesByMessageId('', '', true);
20558
- }
20559
- messagesMap = {};
20560
- result.messages.forEach(function (msg) {
20561
- messagesMap[msg.tid || ''] = msg;
20562
- });
20563
- filteredSentMessages = sentMessages.filter(function (msg) {
20564
- return !messagesMap[msg.tid || ''];
20565
- });
20566
- result.messages = [].concat(result.messages, filteredSentMessages).slice(filteredSentMessages.length);
20567
- _context10.n = 8;
20568
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20394
+ result = _t1;
20395
+ _context10.n = 12;
20396
+ break;
20569
20397
  case 8:
20570
- setMessagesToMap(channel.id, result.messages);
20571
- setAllMessages(result.messages);
20398
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20399
+ _context10.n = 10;
20400
+ break;
20401
+ }
20572
20402
  _context10.n = 9;
20573
- return put(setMessagesHasPrevAC(true));
20403
+ return call(messageQuery.loadPrevious);
20574
20404
  case 9:
20575
- _context10.n = 12;
20405
+ _t10 = _context10.v;
20406
+ _context10.n = 11;
20576
20407
  break;
20577
20408
  case 10:
20578
- result.messages = getFromAllMessagesByMessageId('', '', true);
20579
- _context10.n = 11;
20580
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20409
+ _t10 = {
20410
+ messages: [],
20411
+ hasNext: false
20412
+ };
20581
20413
  case 11:
20582
- _context10.n = 12;
20583
- return put(setMessagesHasPrevAC(true));
20414
+ result = _t10;
20584
20415
  case 12:
20585
20416
  _context10.n = 13;
20586
- return put(setMessagesHasNextAC(false));
20417
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20587
20418
  case 13:
20419
+ setMessagesToMap(channel.id, result.messages, (_result$messages$ = result.messages[0]) === null || _result$messages$ === void 0 ? void 0 : _result$messages$.id, (_result$messages = result.messages[result.messages.length - 1]) === null || _result$messages === void 0 ? void 0 : _result$messages.id);
20420
+ setAllMessages(result.messages);
20421
+ _context10.n = 14;
20422
+ return put(setMessagesHasPrevAC(true));
20423
+ case 14:
20424
+ _context10.n = 17;
20425
+ break;
20426
+ case 15:
20427
+ result.messages = getFromAllMessagesByMessageId('', '', true);
20428
+ _context10.n = 16;
20429
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20430
+ case 16:
20431
+ _context10.n = 17;
20432
+ return put(setMessagesHasPrevAC(true));
20433
+ case 17:
20434
+ _context10.n = 18;
20435
+ return put(setMessagesHasNextAC(false));
20436
+ case 18:
20588
20437
  setHasNextCached(false);
20589
20438
  if (!(messageId && scrollToMessage)) {
20590
- _context10.n = 14;
20439
+ _context10.n = 21;
20591
20440
  break;
20592
20441
  }
20593
- _context10.n = 14;
20594
- return put(setScrollToMessagesAC(messageId, highlight, behavior));
20595
- case 14:
20596
- _context10.n = 44;
20442
+ if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20443
+ _context10.n = 20;
20444
+ break;
20445
+ }
20446
+ _context10.n = 19;
20447
+ return put(setScrollToMessagesAC(channel.lastDisplayedMessageId, highlight, behavior));
20448
+ case 19:
20449
+ _context10.n = 21;
20597
20450
  break;
20598
- case 15:
20451
+ case 20:
20452
+ _context10.n = 21;
20453
+ return put(scrollToNewMessageAC(true));
20454
+ case 21:
20455
+ _context10.n = 77;
20456
+ break;
20457
+ case 22:
20599
20458
  if (!messageId) {
20600
- _context10.n = 29;
20459
+ _context10.n = 52;
20601
20460
  break;
20602
20461
  }
20603
- _allMessages = getAllMessages();
20604
- messageIndex = _allMessages.findIndex(function (msg) {
20605
- return msg.id === messageId;
20462
+ messages = store.getState().MessageReducer.activeChannelMessages;
20463
+ centerMessageId = (_messages$Math$floor = messages[Math.floor(messages.length / 2)]) === null || _messages$Math$floor === void 0 ? void 0 : _messages$Math$floor.id;
20464
+ loadWithMessageId = networkChanged && (messages === null || messages === void 0 ? void 0 : messages.length) > 0 ? centerMessageId : messageId;
20465
+ allMessages = getAllMessages();
20466
+ messageIndex = allMessages.findIndex(function (msg) {
20467
+ return msg.id === loadWithMessageId;
20606
20468
  });
20607
20469
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
20608
20470
  if (!(messageIndex >= maxLengthPart)) {
20609
- _context10.n = 18;
20471
+ _context10.n = 25;
20610
20472
  break;
20611
20473
  }
20612
- result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20613
- _context10.n = 16;
20474
+ result.messages = allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
20475
+ _context10.n = 23;
20614
20476
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20615
- case 16:
20477
+ case 23:
20616
20478
  setHasPrevCached(messageIndex > maxLengthPart);
20617
- setHasNextCached(_allMessages.length > maxLengthPart);
20618
- _context10.n = 17;
20479
+ setHasNextCached(allMessages.length > maxLengthPart);
20480
+ _context10.n = 24;
20619
20481
  return put(setMessagesHasPrevAC(true));
20620
- case 17:
20621
- _context10.n = 25;
20482
+ case 24:
20483
+ _context10.n = 48;
20622
20484
  break;
20623
- case 18:
20485
+ case 25:
20624
20486
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20625
- log.info('load by message id from server ...............', messageId);
20487
+ log.info('load by message id from server ...............', loadWithMessageId);
20626
20488
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20627
- _context10.n = 22;
20489
+ _context10.n = 27;
20628
20490
  break;
20629
20491
  }
20630
- _context10.n = 19;
20631
- return call(queuedChannelCall, channel.id, function () {
20632
- try {
20633
- return Promise.resolve(messageQuery.loadNearMessageId(messageId)).then(function (firstResult) {
20634
- var _exit2 = false;
20635
- var _temp8 = function () {
20636
- if (firstResult.messages.length === 50) {
20637
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20638
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20639
- messageQuery.reverse = false;
20640
- return Promise.resolve(messageQuery.loadNextMessageId(firstResult.messages[firstResult.messages.length - 1].id)).then(function (thirdResult) {
20641
- messageQuery.reverse = true;
20642
- var _messages$hasNext$sec = {
20643
- messages: [].concat(secondResult.messages, firstResult.messages, thirdResult.messages),
20644
- hasNext: secondResult.hasNext,
20645
- secondResultHasNext: secondResult.hasNext
20646
- };
20647
- _exit2 = true;
20648
- return _messages$hasNext$sec;
20649
- });
20650
- });
20651
- }
20652
- }();
20653
- return _temp8 && _temp8.then ? _temp8.then(function (_result2) {
20654
- return _exit2 ? _result2 : firstResult;
20655
- }) : _exit2 ? _temp8 : firstResult;
20656
- });
20657
- } catch (e) {
20658
- return Promise.reject(e);
20659
- }
20660
- });
20661
- case 19:
20662
- queueResult = _context10.v;
20663
- result = queueResult;
20664
- if (!(result.messages.length === 50 && result.secondResultHasNext !== undefined)) {
20665
- _context10.n = 21;
20492
+ _context10.n = 26;
20493
+ return call(messageQuery.loadNearMessageId, loadWithMessageId);
20494
+ case 26:
20495
+ _t11 = _context10.v;
20496
+ _context10.n = 28;
20497
+ break;
20498
+ case 27:
20499
+ _t11 = {
20500
+ messages: [],
20501
+ hasNext: false
20502
+ };
20503
+ case 28:
20504
+ result = _t11;
20505
+ _context10.n = 29;
20506
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20507
+ case 29:
20508
+ if (!(result.messages.length === 50)) {
20509
+ _context10.n = 47;
20666
20510
  break;
20667
20511
  }
20668
- _context10.n = 20;
20669
- return put(setMessagesHasPrevAC(result.secondResultHasNext));
20670
- case 20:
20671
- result = {
20672
- messages: result.messages,
20673
- hasNext: result.hasNext
20512
+ messageQuery.limit = (MESSAGES_MAX_PAGE_COUNT - 50) / 2;
20513
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20514
+ _context10.n = 31;
20515
+ break;
20516
+ }
20517
+ _context10.n = 30;
20518
+ return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20519
+ case 30:
20520
+ _t12 = _context10.v;
20521
+ _context10.n = 32;
20522
+ break;
20523
+ case 31:
20524
+ _t12 = {
20525
+ messages: [],
20526
+ hasNext: false
20674
20527
  };
20675
- case 21:
20676
- _context10.n = 23;
20528
+ case 32:
20529
+ secondResult = _t12;
20530
+ result.messages = [].concat(secondResult.messages, result.messages);
20531
+ _context10.n = 33;
20532
+ return put(addMessagesAC(JSON.parse(JSON.stringify(secondResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
20533
+ case 33:
20534
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length;
20535
+ messageQuery.reverse = false;
20536
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20537
+ _context10.n = 35;
20538
+ break;
20539
+ }
20540
+ _context10.n = 34;
20541
+ return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20542
+ case 34:
20543
+ _t13 = _context10.v;
20544
+ _context10.n = 36;
20677
20545
  break;
20678
- case 22:
20679
- result = {
20546
+ case 35:
20547
+ _t13 = {
20680
20548
  messages: [],
20681
20549
  hasNext: false
20682
20550
  };
20683
- case 23:
20684
- _context10.n = 24;
20685
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20686
- case 24:
20687
- setMessagesToMap(channel.id, result.messages);
20551
+ case 36:
20552
+ thirdResult = _t13;
20553
+ result.messages = [].concat(result.messages, thirdResult.messages);
20554
+ _context10.n = 37;
20555
+ return put(addMessagesAC(JSON.parse(JSON.stringify(thirdResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
20556
+ case 37:
20557
+ if (!(secondResult.hasNext && !thirdResult.hasNext)) {
20558
+ _context10.n = 42;
20559
+ break;
20560
+ }
20561
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
20562
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20563
+ _context10.n = 39;
20564
+ break;
20565
+ }
20566
+ _context10.n = 38;
20567
+ return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
20568
+ case 38:
20569
+ _t14 = _context10.v;
20570
+ _context10.n = 40;
20571
+ break;
20572
+ case 39:
20573
+ _t14 = {
20574
+ messages: [],
20575
+ hasNext: false
20576
+ };
20577
+ case 40:
20578
+ fourthResult = _t14;
20579
+ result.messages = [].concat(fourthResult.messages, result.messages);
20580
+ _context10.n = 41;
20581
+ return put(addMessagesAC(JSON.parse(JSON.stringify(fourthResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
20582
+ case 41:
20583
+ _context10.n = 46;
20584
+ break;
20585
+ case 42:
20586
+ if (!(!secondResult.hasNext && thirdResult.hasNext)) {
20587
+ _context10.n = 46;
20588
+ break;
20589
+ }
20590
+ messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
20591
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20592
+ _context10.n = 44;
20593
+ break;
20594
+ }
20595
+ _context10.n = 43;
20596
+ return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
20597
+ case 43:
20598
+ _t15 = _context10.v;
20599
+ _context10.n = 45;
20600
+ break;
20601
+ case 44:
20602
+ _t15 = {
20603
+ messages: [],
20604
+ hasNext: false
20605
+ };
20606
+ case 45:
20607
+ _fourthResult = _t15;
20608
+ result.messages = [].concat(result.messages, _fourthResult.messages);
20609
+ _context10.n = 46;
20610
+ return put(addMessagesAC(JSON.parse(JSON.stringify(_fourthResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
20611
+ case 46:
20612
+ messageQuery.reverse = true;
20613
+ case 47:
20614
+ setMessagesToMap(channel.id, result.messages, (_result$messages$2 = result.messages[0]) === null || _result$messages$2 === void 0 ? void 0 : _result$messages$2.id, (_result$messages2 = result.messages[result.messages.length - 1]) === null || _result$messages2 === void 0 ? void 0 : _result$messages2.id);
20688
20615
  setAllMessages([].concat(result.messages));
20689
20616
  setHasPrevCached(false);
20690
20617
  setHasNextCached(false);
20691
- case 25:
20692
- _context10.n = 26;
20618
+ case 48:
20619
+ _context10.n = 49;
20693
20620
  return put(setMessagesHasNextAC(true));
20694
- case 26:
20621
+ case 49:
20695
20622
  if (!scrollToMessage) {
20696
- _context10.n = 27;
20623
+ _context10.n = 50;
20697
20624
  break;
20698
20625
  }
20699
- _context10.n = 27;
20700
- return put(setScrollToMessagesAC(messageId, true, behavior));
20701
- case 27:
20702
- _context10.n = 28;
20626
+ _context10.n = 50;
20627
+ return put(setScrollToMessagesAC(loadWithMessageId, highlight, behavior));
20628
+ case 50:
20629
+ _context10.n = 51;
20703
20630
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20704
- case 28:
20705
- _context10.n = 44;
20631
+ case 51:
20632
+ _context10.n = 77;
20706
20633
  break;
20707
- case 29:
20634
+ case 52:
20708
20635
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20709
- _context10.n = 36;
20636
+ _context10.n = 64;
20710
20637
  break;
20711
20638
  }
20712
- setMessagesToMap(channel.id, []);
20713
20639
  setAllMessages([]);
20714
20640
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20641
+ if (!Number(channel.lastDisplayedMessageId)) {
20642
+ _context10.n = 56;
20643
+ break;
20644
+ }
20715
20645
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20716
- _context10.n = 31;
20646
+ _context10.n = 54;
20717
20647
  break;
20718
20648
  }
20719
- _context10.n = 30;
20720
- return call(queuedChannelCall, channel.id, function () {
20721
- try {
20722
- if (Number(channel.lastDisplayedMessageId)) {
20723
- return Promise.resolve(messageQuery.loadNearMessageId(channel.lastDisplayedMessageId)).then(function (firstResult) {
20724
- var _exit3 = false;
20725
- var _temp9 = function () {
20726
- if (firstResult.messages.length === 50) {
20727
- messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20728
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20729
- if (channel.newMessageCount > 25) {
20730
- messageQuery.reverse = false;
20731
- return Promise.resolve(messageQuery.loadNextMessageId(firstResult.messages[firstResult.messages.length - 1].id)).then(function (thirdResult) {
20732
- messageQuery.reverse = true;
20733
- var _messages$hasNext2 = {
20734
- messages: [].concat(secondResult.messages, firstResult.messages, thirdResult.messages),
20735
- hasNext: secondResult.hasNext
20736
- };
20737
- _exit3 = true;
20738
- return _messages$hasNext2;
20739
- });
20740
- } else {
20741
- var _messages$hasNext3 = {
20742
- messages: [].concat(secondResult.messages, firstResult.messages),
20743
- hasNext: secondResult.hasNext
20744
- };
20745
- _exit3 = true;
20746
- return _messages$hasNext3;
20747
- }
20748
- });
20749
- }
20750
- }();
20751
- return _temp9 && _temp9.then ? _temp9.then(function (_result3) {
20752
- return _exit3 ? _result3 : firstResult;
20753
- }) : _exit3 ? _temp9 : firstResult;
20754
- });
20755
- } else {
20756
- return Promise.resolve(messageQuery.loadPrevious()).then(function (firstResult) {
20757
- var _exit4 = false;
20758
- var _temp0 = function () {
20759
- if (firstResult.messages.length === 50) {
20760
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20761
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20762
- var _messages$hasNext4 = {
20763
- messages: [].concat(secondResult.messages, firstResult.messages),
20764
- hasNext: secondResult.hasNext
20765
- };
20766
- _exit4 = true;
20767
- return _messages$hasNext4;
20768
- });
20769
- }
20770
- }();
20771
- return _temp0 && _temp0.then ? _temp0.then(function (_result4) {
20772
- return _exit4 ? _result4 : firstResult;
20773
- }) : _exit4 ? _temp0 : firstResult;
20774
- });
20775
- }
20776
- } catch (e) {
20777
- return Promise.reject(e);
20778
- }
20779
- });
20780
- case 30:
20781
- result = _context10.v;
20782
- _context10.n = 32;
20649
+ _context10.n = 53;
20650
+ return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20651
+ case 53:
20652
+ _t16 = _context10.v;
20653
+ _context10.n = 55;
20783
20654
  break;
20784
- case 31:
20785
- result = {
20655
+ case 54:
20656
+ _t16 = {
20786
20657
  messages: [],
20787
20658
  hasNext: false
20788
20659
  };
20789
- case 32:
20790
- _context10.n = 33;
20660
+ case 55:
20661
+ result = _t16;
20662
+ _context10.n = 60;
20663
+ break;
20664
+ case 56:
20665
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20666
+ _context10.n = 58;
20667
+ break;
20668
+ }
20669
+ _context10.n = 57;
20670
+ return call(messageQuery.loadPrevious);
20671
+ case 57:
20672
+ _t17 = _context10.v;
20673
+ _context10.n = 59;
20674
+ break;
20675
+ case 58:
20676
+ _t17 = {
20677
+ messages: [],
20678
+ hasNext: false
20679
+ };
20680
+ case 59:
20681
+ result = _t17;
20682
+ case 60:
20683
+ _context10.n = 61;
20791
20684
  return put(setMessagesHasPrevAC(true));
20792
- case 33:
20793
- _context10.n = 34;
20685
+ case 61:
20686
+ _context10.n = 62;
20794
20687
  return put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20795
- case 34:
20796
- setMessagesToMap(channel.id, result.messages);
20688
+ case 62:
20689
+ setMessagesToMap(channel.id, result.messages, (_result$messages$3 = result.messages[0]) === null || _result$messages$3 === void 0 ? void 0 : _result$messages$3.id, (_result$messages3 = result.messages[result.messages.length - 1]) === null || _result$messages3 === void 0 ? void 0 : _result$messages3.id);
20797
20690
  setAllMessages([].concat(result.messages));
20798
- _context10.n = 35;
20691
+ _context10.n = 63;
20799
20692
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20800
- case 35:
20801
- _context10.n = 44;
20693
+ case 63:
20694
+ _context10.n = 77;
20802
20695
  break;
20803
- case 36:
20804
- setMessagesToMap(channel.id, []);
20805
- setAllMessages([]);
20696
+ case 64:
20806
20697
  if (!(cachedMessages && cachedMessages.length)) {
20807
- _context10.n = 38;
20698
+ _context10.n = 66;
20808
20699
  break;
20809
20700
  }
20810
- parsedMessages = JSON.parse(JSON.stringify(cachedMessages));
20811
- setMessagesToMap(channel.id, parsedMessages);
20812
- setAllMessages(parsedMessages);
20813
- _context10.n = 37;
20814
- return put(setMessagesAC(parsedMessages));
20815
- case 37:
20701
+ parsedMessages = getFromAllMessagesByMessageId('', '', true);
20702
+ setMessagesToMap(channel.id, parsedMessages, (_parsedMessages$ = parsedMessages[0]) === null || _parsedMessages$ === void 0 ? void 0 : _parsedMessages$.id, (_parsedMessages = parsedMessages[parsedMessages.length - 1]) === null || _parsedMessages === void 0 ? void 0 : _parsedMessages.id);
20703
+ _context10.n = 65;
20704
+ return put(setMessagesAC(JSON.parse(JSON.stringify(parsedMessages))));
20705
+ case 65:
20816
20706
  _filteredPendingMessages = getFilteredPendingMessages(parsedMessages);
20817
- _context10.n = 38;
20707
+ _context10.n = 66;
20818
20708
  return put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20819
- case 38:
20709
+ case 66:
20820
20710
  log.info('load message from server');
20711
+ result = {
20712
+ messages: [],
20713
+ hasNext: false
20714
+ };
20715
+ if (!((channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId) > (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage4 = channel.lastMessage) === null || _channel$lastMessage4 === void 0 ? void 0 : _channel$lastMessage4.id))) {
20716
+ _context10.n = 70;
20717
+ break;
20718
+ }
20821
20719
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20822
- _context10.n = 40;
20720
+ _context10.n = 68;
20823
20721
  break;
20824
20722
  }
20825
- _context10.n = 39;
20826
- return call(queuedChannelCall, channel.id, function () {
20827
- try {
20828
- return Promise.resolve(messageQuery.loadPrevious()).then(function (firstResult) {
20829
- var _exit5 = false;
20830
- var _temp1 = function () {
20831
- if (firstResult.messages.length === 50) {
20832
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20833
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20834
- var _messages$hasNext5 = {
20835
- messages: [].concat(secondResult.messages, firstResult.messages),
20836
- hasNext: secondResult.hasNext
20837
- };
20838
- _exit5 = true;
20839
- return _messages$hasNext5;
20840
- });
20841
- }
20842
- }();
20843
- return _temp1 && _temp1.then ? _temp1.then(function (_result5) {
20844
- return _exit5 ? _result5 : firstResult;
20845
- }) : _exit5 ? _temp1 : firstResult;
20846
- });
20847
- } catch (e) {
20848
- return Promise.reject(e);
20849
- }
20850
- });
20851
- case 39:
20852
- result = _context10.v;
20853
- _context10.n = 41;
20723
+ _context10.n = 67;
20724
+ return call(messageQuery.loadPreviousMessageId, channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId);
20725
+ case 67:
20726
+ _t18 = _context10.v;
20727
+ _context10.n = 69;
20854
20728
  break;
20855
- case 40:
20856
- result = {
20729
+ case 68:
20730
+ _t18 = {
20857
20731
  messages: [],
20858
20732
  hasNext: false
20859
20733
  };
20860
- case 41:
20734
+ case 69:
20735
+ result = _t18;
20736
+ _context10.n = 74;
20737
+ break;
20738
+ case 70:
20739
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20740
+ _context10.n = 72;
20741
+ break;
20742
+ }
20743
+ _context10.n = 71;
20744
+ return call(messageQuery.loadPrevious);
20745
+ case 71:
20746
+ _t19 = _context10.v;
20747
+ _context10.n = 73;
20748
+ break;
20749
+ case 72:
20750
+ _t19 = {
20751
+ messages: [],
20752
+ hasNext: false
20753
+ };
20754
+ case 73:
20755
+ result = _t19;
20756
+ case 74:
20861
20757
  updatedMessages = [];
20862
20758
  result.messages.forEach(function (msg) {
20863
20759
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20867,72 +20763,73 @@ function getMessagesQuery(action) {
20867
20763
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20868
20764
  updatedMessages.push(updatedMessage || msg);
20869
20765
  });
20870
- _context10.n = 42;
20871
- return call(updateMessages, channel, updatedMessages);
20872
- case 42:
20873
- _context10.n = 43;
20766
+ messageIdForLoad = (channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId) > (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage5 = channel.lastMessage) === null || _channel$lastMessage5 === void 0 ? void 0 : _channel$lastMessage5.id) ? (channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId) || '0' : (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage6 = channel.lastMessage) === null || _channel$lastMessage6 === void 0 ? void 0 : _channel$lastMessage6.id) || '0';
20767
+ _context10.n = 75;
20768
+ return call(updateMessages, channel, updatedMessages, (_updatedMessages$ = updatedMessages[0]) === null || _updatedMessages$ === void 0 ? void 0 : _updatedMessages$.id, messageIdForLoad);
20769
+ case 75:
20770
+ _context10.n = 76;
20874
20771
  return put(setMessagesHasPrevAC(true));
20875
- case 43:
20876
- _context10.n = 44;
20772
+ case 76:
20773
+ _context10.n = 77;
20877
20774
  return put(setMessagesHasNextAC(false));
20878
- case 44:
20775
+ case 77:
20879
20776
  filteredPendingMessages = getFilteredPendingMessages(result.messages);
20880
- _context10.n = 45;
20777
+ _context10.n = 78;
20881
20778
  return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20882
- case 45:
20779
+ case 78:
20883
20780
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20884
20781
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20885
- _context10.n = 47;
20782
+ _context10.n = 80;
20886
20783
  break;
20887
20784
  }
20888
- _context10.n = 46;
20785
+ _context10.n = 79;
20889
20786
  return put(setWaitToSendPendingMessagesAC(false));
20890
- case 46:
20891
- _context10.n = 47;
20787
+ case 79:
20788
+ _context10.n = 80;
20892
20789
  return spawn(sendPendingMessages, connectionState);
20893
- case 47:
20894
- _context10.n = 48;
20895
- return call(queuedChannelCall, channel.id, SceytChatClient.getChannel, channel.id, true);
20896
- case 48:
20790
+ case 80:
20791
+ _context10.n = 81;
20792
+ return call(SceytChatClient.getChannel, channel.id, true);
20793
+ case 81:
20897
20794
  updatedChannel = _context10.v;
20898
20795
  if (!updatedChannel) {
20899
- _context10.n = 50;
20796
+ _context10.n = 83;
20900
20797
  break;
20901
20798
  }
20902
- _context10.n = 49;
20799
+ _context10.n = 82;
20903
20800
  return put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
20904
- case 49:
20801
+ case 82:
20905
20802
  updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
20906
- case 50:
20907
- _context10.n = 52;
20803
+ case 83:
20804
+ _context10.n = 85;
20908
20805
  break;
20909
- case 51:
20910
- if (!channel.isMockChannel) {
20911
- _context10.n = 52;
20806
+ case 84:
20807
+ if (!(channel !== null && channel !== void 0 && channel.isMockChannel)) {
20808
+ _context10.n = 85;
20912
20809
  break;
20913
20810
  }
20914
- _context10.n = 52;
20811
+ _context10.n = 85;
20915
20812
  return put(setMessagesAC([]));
20916
- case 52:
20917
- _context10.n = 54;
20813
+ case 85:
20814
+ _context10.n = 87;
20918
20815
  break;
20919
- case 53:
20920
- _context10.p = 53;
20921
- _t1 = _context10.v;
20922
- log.error('error in message query', _t1);
20923
- case 54:
20924
- _context10.p = 54;
20925
- _context10.n = 55;
20816
+ case 86:
20817
+ _context10.p = 86;
20818
+ _t20 = _context10.v;
20819
+ log.error('error in message query', _t20);
20820
+ case 87:
20821
+ _context10.p = 87;
20822
+ _context10.n = 88;
20926
20823
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20927
- case 55:
20928
- return _context10.f(54);
20929
- case 56:
20824
+ case 88:
20825
+ return _context10.f(87);
20826
+ case 89:
20930
20827
  return _context10.a(2);
20931
20828
  }
20932
- }, _marked7$1, null, [[0, 53, 54, 56]]);
20829
+ }, _marked7$1, null, [[0, 86, 87, 89]]);
20933
20830
  }
20934
20831
  function getMessageQuery(action) {
20935
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t10;
20832
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t21;
20936
20833
  return _regenerator().w(function (_context11) {
20937
20834
  while (1) switch (_context11.p = _context11.n) {
20938
20835
  case 0:
@@ -20982,15 +20879,15 @@ function getMessageQuery(action) {
20982
20879
  break;
20983
20880
  case 7:
20984
20881
  _context11.p = 7;
20985
- _t10 = _context11.v;
20986
- log.error('error in message query', _t10);
20882
+ _t21 = _context11.v;
20883
+ log.error('error in message query', _t21);
20987
20884
  case 8:
20988
20885
  return _context11.a(2);
20989
20886
  }
20990
20887
  }, _marked8$1, null, [[0, 7]]);
20991
20888
  }
20992
20889
  function loadMoreMessages(action) {
20993
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t11;
20890
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _result$messages$4, _result$messages4, _result$messages$5, _result$messages5, _t22;
20994
20891
  return _regenerator().w(function (_context12) {
20995
20892
  while (1) switch (_context12.p = _context12.n) {
20996
20893
  case 0:
@@ -21029,12 +20926,12 @@ function loadMoreMessages(action) {
21029
20926
  break;
21030
20927
  }
21031
20928
  _context12.n = 4;
21032
- return call(queuedChannelCall, channelId, messageQuery.loadPreviousMessageId, messageId);
20929
+ return call(messageQuery.loadPreviousMessageId, messageId);
21033
20930
  case 4:
21034
20931
  result = _context12.v;
21035
20932
  if (result.messages.length) {
21036
20933
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.PREV);
21037
- setMessagesToMap(channelId, result.messages);
20934
+ setMessagesToMap(channelId, result.messages, (_result$messages$4 = result.messages[0]) === null || _result$messages$4 === void 0 ? void 0 : _result$messages$4.id, (_result$messages4 = result.messages[result.messages.length - 1]) === null || _result$messages4 === void 0 ? void 0 : _result$messages4.id);
21038
20935
  }
21039
20936
  _context12.n = 5;
21040
20937
  return put(setMessagesHasPrevAC(result.hasNext));
@@ -21057,12 +20954,12 @@ function loadMoreMessages(action) {
21057
20954
  log.info('saga load next from server ... ', messageId);
21058
20955
  messageQuery.reverse = false;
21059
20956
  _context12.n = 8;
21060
- return call(queuedChannelCall, channelId, messageQuery.loadNextMessageId, messageId);
20957
+ return call(messageQuery.loadNextMessageId, messageId);
21061
20958
  case 8:
21062
20959
  result = _context12.v;
21063
20960
  if (result.messages.length) {
21064
20961
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.NEXT);
21065
- setMessagesToMap(channelId, result.messages);
20962
+ setMessagesToMap(channelId, result.messages, (_result$messages$5 = result.messages[0]) === null || _result$messages$5 === void 0 ? void 0 : _result$messages$5.id, (_result$messages5 = result.messages[result.messages.length - 1]) === null || _result$messages5 === void 0 ? void 0 : _result$messages5.id);
21066
20963
  }
21067
20964
  _context12.n = 9;
21068
20965
  return put(setMessagesHasNextAC(result.hasNext));
@@ -21103,15 +21000,15 @@ function loadMoreMessages(action) {
21103
21000
  break;
21104
21001
  case 18:
21105
21002
  _context12.p = 18;
21106
- _t11 = _context12.v;
21107
- log.error('error in load more messages', _t11);
21003
+ _t22 = _context12.v;
21004
+ log.error('error in load more messages', _t22);
21108
21005
  case 19:
21109
21006
  return _context12.a(2);
21110
21007
  }
21111
21008
  }, _marked9$1, null, [[0, 18]]);
21112
21009
  }
21113
21010
  function addReaction(action) {
21114
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t12;
21011
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t23;
21115
21012
  return _regenerator().w(function (_context13) {
21116
21013
  while (1) switch (_context13.p = _context13.n) {
21117
21014
  case 0:
@@ -21130,7 +21027,7 @@ function addReaction(action) {
21130
21027
  }
21131
21028
  }
21132
21029
  _context13.n = 2;
21133
- return call(queuedChannelCall, channelId, channel.addReaction, messageId, key, score, reason, enforceUnique);
21030
+ return call(channel.addReaction, messageId, key, score, reason, enforceUnique);
21134
21031
  case 2:
21135
21032
  _yield$call = _context13.v;
21136
21033
  message = _yield$call.message;
@@ -21164,15 +21061,15 @@ function addReaction(action) {
21164
21061
  break;
21165
21062
  case 8:
21166
21063
  _context13.p = 8;
21167
- _t12 = _context13.v;
21168
- log.error('ERROR in add reaction', _t12.message);
21064
+ _t23 = _context13.v;
21065
+ log.error('ERROR in add reaction', _t23.message);
21169
21066
  case 9:
21170
21067
  return _context13.a(2);
21171
21068
  }
21172
21069
  }, _marked0$1, null, [[0, 8]]);
21173
21070
  }
21174
21071
  function deleteReaction(action) {
21175
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t13;
21072
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t24;
21176
21073
  return _regenerator().w(function (_context14) {
21177
21074
  while (1) switch (_context14.p = _context14.n) {
21178
21075
  case 0:
@@ -21190,7 +21087,7 @@ function deleteReaction(action) {
21190
21087
  }
21191
21088
  }
21192
21089
  _context14.n = 2;
21193
- return call(queuedChannelCall, channelId, channel.deleteReaction, messageId, key);
21090
+ return call(channel.deleteReaction, messageId, key);
21194
21091
  case 2:
21195
21092
  _yield$call2 = _context14.v;
21196
21093
  message = _yield$call2.message;
@@ -21220,15 +21117,15 @@ function deleteReaction(action) {
21220
21117
  break;
21221
21118
  case 7:
21222
21119
  _context14.p = 7;
21223
- _t13 = _context14.v;
21224
- log.error('ERROR in delete reaction', _t13.message);
21120
+ _t24 = _context14.v;
21121
+ log.error('ERROR in delete reaction', _t24.message);
21225
21122
  case 8:
21226
21123
  return _context14.a(2);
21227
21124
  }
21228
21125
  }, _marked1$1, null, [[0, 7]]);
21229
21126
  }
21230
21127
  function getReactions(action) {
21231
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t14;
21128
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t25;
21232
21129
  return _regenerator().w(function (_context15) {
21233
21130
  while (1) switch (_context15.p = _context15.n) {
21234
21131
  case 0:
@@ -21263,15 +21160,15 @@ function getReactions(action) {
21263
21160
  break;
21264
21161
  case 6:
21265
21162
  _context15.p = 6;
21266
- _t14 = _context15.v;
21267
- log.error('ERROR in get reactions', _t14.message);
21163
+ _t25 = _context15.v;
21164
+ log.error('ERROR in get reactions', _t25.message);
21268
21165
  case 7:
21269
21166
  return _context15.a(2);
21270
21167
  }
21271
21168
  }, _marked10$1, null, [[0, 6]]);
21272
21169
  }
21273
21170
  function loadMoreReactions(action) {
21274
- var payload, limit, ReactionQuery, result, _t15;
21171
+ var payload, limit, ReactionQuery, result, _t26;
21275
21172
  return _regenerator().w(function (_context16) {
21276
21173
  while (1) switch (_context16.p = _context16.n) {
21277
21174
  case 0:
@@ -21299,15 +21196,15 @@ function loadMoreReactions(action) {
21299
21196
  break;
21300
21197
  case 5:
21301
21198
  _context16.p = 5;
21302
- _t15 = _context16.v;
21303
- log.error('ERROR in load more reactions', _t15.message);
21199
+ _t26 = _context16.v;
21200
+ log.error('ERROR in load more reactions', _t26.message);
21304
21201
  case 6:
21305
21202
  return _context16.a(2);
21306
21203
  }
21307
21204
  }, _marked11$1, null, [[0, 5]]);
21308
21205
  }
21309
21206
  function getMessageAttachments(action) {
21310
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t16;
21207
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t27;
21311
21208
  return _regenerator().w(function (_context17) {
21312
21209
  while (1) switch (_context17.p = _context17.n) {
21313
21210
  case 0:
@@ -21385,15 +21282,15 @@ function getMessageAttachments(action) {
21385
21282
  break;
21386
21283
  case 13:
21387
21284
  _context17.p = 13;
21388
- _t16 = _context17.v;
21389
- log.error('error in message attachment query', _t16);
21285
+ _t27 = _context17.v;
21286
+ log.error('error in message attachment query', _t27);
21390
21287
  case 14:
21391
21288
  return _context17.a(2);
21392
21289
  }
21393
21290
  }, _marked12$1, null, [[0, 13]]);
21394
21291
  }
21395
21292
  function loadMoreMessageAttachments(action) {
21396
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t17;
21293
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t28;
21397
21294
  return _regenerator().w(function (_context18) {
21398
21295
  while (1) switch (_context18.p = _context18.n) {
21399
21296
  case 0:
@@ -21437,15 +21334,15 @@ function loadMoreMessageAttachments(action) {
21437
21334
  break;
21438
21335
  case 8:
21439
21336
  _context18.p = 8;
21440
- _t17 = _context18.v;
21441
- log.error('error in message attachment query', _t17);
21337
+ _t28 = _context18.v;
21338
+ log.error('error in message attachment query', _t28);
21442
21339
  case 9:
21443
21340
  return _context18.a(2);
21444
21341
  }
21445
21342
  }, _marked13$1, null, [[0, 8]]);
21446
21343
  }
21447
21344
  function pauseAttachmentUploading(action) {
21448
- var attachmentId, isPaused, _t18;
21345
+ var attachmentId, isPaused, _t29;
21449
21346
  return _regenerator().w(function (_context19) {
21450
21347
  while (1) switch (_context19.p = _context19.n) {
21451
21348
  case 0:
@@ -21467,15 +21364,15 @@ function pauseAttachmentUploading(action) {
21467
21364
  break;
21468
21365
  case 2:
21469
21366
  _context19.p = 2;
21470
- _t18 = _context19.v;
21471
- log.error('error in pause attachment uploading', _t18);
21367
+ _t29 = _context19.v;
21368
+ log.error('error in pause attachment uploading', _t29);
21472
21369
  case 3:
21473
21370
  return _context19.a(2);
21474
21371
  }
21475
21372
  }, _marked14$1, null, [[0, 2]]);
21476
21373
  }
21477
21374
  function resumeAttachmentUploading(action) {
21478
- var attachmentId, isResumed, _t19;
21375
+ var attachmentId, isResumed, _t30;
21479
21376
  return _regenerator().w(function (_context20) {
21480
21377
  while (1) switch (_context20.p = _context20.n) {
21481
21378
  case 0:
@@ -21498,15 +21395,15 @@ function resumeAttachmentUploading(action) {
21498
21395
  break;
21499
21396
  case 2:
21500
21397
  _context20.p = 2;
21501
- _t19 = _context20.v;
21502
- log.error('error in resume attachment uploading', _t19);
21398
+ _t30 = _context20.v;
21399
+ log.error('error in resume attachment uploading', _t30);
21503
21400
  case 3:
21504
21401
  return _context20.a(2);
21505
21402
  }
21506
21403
  }, _marked15$1, null, [[0, 2]]);
21507
21404
  }
21508
21405
  function getMessageMarkers(action) {
21509
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t20;
21406
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t31;
21510
21407
  return _regenerator().w(function (_context21) {
21511
21408
  while (1) switch (_context21.p = _context21.n) {
21512
21409
  case 0:
@@ -21536,8 +21433,8 @@ function getMessageMarkers(action) {
21536
21433
  break;
21537
21434
  case 5:
21538
21435
  _context21.p = 5;
21539
- _t20 = _context21.v;
21540
- log.error('error in get message markers', _t20);
21436
+ _t31 = _context21.v;
21437
+ log.error('error in get message markers', _t31);
21541
21438
  case 6:
21542
21439
  _context21.p = 6;
21543
21440
  _context21.n = 7;
@@ -21675,7 +21572,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21675
21572
  }, _marked18$1);
21676
21573
  }
21677
21574
  function addPollVote(action) {
21678
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t21;
21575
+ 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, _t32;
21679
21576
  return _regenerator().w(function (_context24) {
21680
21577
  while (1) switch (_context24.p = _context24.n) {
21681
21578
  case 0:
@@ -21774,8 +21671,8 @@ function addPollVote(action) {
21774
21671
  break;
21775
21672
  case 8:
21776
21673
  _context24.p = 8;
21777
- _t21 = _context24.v;
21778
- log.error('error in add poll vote', _t21);
21674
+ _t32 = _context24.v;
21675
+ log.error('error in add poll vote', _t32);
21779
21676
  case 9:
21780
21677
  return _context24.a(2);
21781
21678
  }
@@ -21876,7 +21773,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21876
21773
  }, _marked21$1);
21877
21774
  }
21878
21775
  function deletePollVote(action) {
21879
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t22;
21776
+ 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, _t33;
21880
21777
  return _regenerator().w(function (_context27) {
21881
21778
  while (1) switch (_context27.p = _context27.n) {
21882
21779
  case 0:
@@ -21961,8 +21858,8 @@ function deletePollVote(action) {
21961
21858
  break;
21962
21859
  case 9:
21963
21860
  _context27.p = 9;
21964
- _t22 = _context27.v;
21965
- log.error('error in delete poll vote', _t22);
21861
+ _t33 = _context27.v;
21862
+ log.error('error in delete poll vote', _t33);
21966
21863
  case 10:
21967
21864
  return _context27.a(2);
21968
21865
  }
@@ -22040,7 +21937,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
22040
21937
  }, _marked24$1);
22041
21938
  }
22042
21939
  function closePoll(action) {
22043
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t23;
21940
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t34;
22044
21941
  return _regenerator().w(function (_context30) {
22045
21942
  while (1) switch (_context30.p = _context30.n) {
22046
21943
  case 0:
@@ -22073,8 +21970,8 @@ function closePoll(action) {
22073
21970
  break;
22074
21971
  case 4:
22075
21972
  _context30.p = 4;
22076
- _t23 = _context30.v;
22077
- log.error('error in close poll', _t23);
21973
+ _t34 = _context30.v;
21974
+ log.error('error in close poll', _t34);
22078
21975
  case 5:
22079
21976
  return _context30.a(2);
22080
21977
  }
@@ -22163,7 +22060,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
22163
22060
  }, _marked27$1);
22164
22061
  }
22165
22062
  function retractPollVote(action) {
22166
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t24;
22063
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t35;
22167
22064
  return _regenerator().w(function (_context33) {
22168
22065
  while (1) switch (_context33.p = _context33.n) {
22169
22066
  case 0:
@@ -22205,15 +22102,15 @@ function retractPollVote(action) {
22205
22102
  break;
22206
22103
  case 4:
22207
22104
  _context33.p = 4;
22208
- _t24 = _context33.v;
22209
- log.error('error in retract poll vote', _t24);
22105
+ _t35 = _context33.v;
22106
+ log.error('error in retract poll vote', _t35);
22210
22107
  case 5:
22211
22108
  return _context33.a(2);
22212
22109
  }
22213
22110
  }, _marked28$1, null, [[0, 4]]);
22214
22111
  }
22215
22112
  function resendPendingPollActions(action) {
22216
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t25;
22113
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t36;
22217
22114
  return _regenerator().w(function (_context34) {
22218
22115
  while (1) switch (_context34.p = _context34.n) {
22219
22116
  case 0:
@@ -22229,13 +22126,6 @@ function resendPendingPollActions(action) {
22229
22126
  case 1:
22230
22127
  pendingPollActionsMap = store.getState().MessageReducer.pendingPollActions;
22231
22128
  pendingPollActionsMapCopy = JSON.parse(JSON.stringify(pendingPollActionsMap));
22232
- _context34.n = 2;
22233
- return call(function () {
22234
- return new Promise(function (resolve) {
22235
- return setTimeout(resolve, 1000);
22236
- });
22237
- });
22238
- case 2:
22239
22129
  Object.keys(pendingPollActionsMapCopy).forEach(function (messageId) {
22240
22130
  pendingPollActionsMapCopy[messageId].forEach(function (pendingAction) {
22241
22131
  var type = pendingAction.type,
@@ -22265,19 +22155,19 @@ function resendPendingPollActions(action) {
22265
22155
  }
22266
22156
  });
22267
22157
  });
22268
- _context34.n = 4;
22158
+ _context34.n = 3;
22269
22159
  break;
22160
+ case 2:
22161
+ _context34.p = 2;
22162
+ _t36 = _context34.v;
22163
+ log.error('error in resend pending poll actions', _t36);
22270
22164
  case 3:
22271
- _context34.p = 3;
22272
- _t25 = _context34.v;
22273
- log.error('error in resend pending poll actions', _t25);
22274
- case 4:
22275
22165
  return _context34.a(2);
22276
22166
  }
22277
- }, _marked29$1, null, [[0, 3]]);
22167
+ }, _marked29$1, null, [[0, 2]]);
22278
22168
  }
22279
22169
  function getPollVotes(action) {
22280
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t26;
22170
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t37;
22281
22171
  return _regenerator().w(function (_context35) {
22282
22172
  while (1) switch (_context35.p = _context35.n) {
22283
22173
  case 0:
@@ -22343,8 +22233,8 @@ function getPollVotes(action) {
22343
22233
  break;
22344
22234
  case 7:
22345
22235
  _context35.p = 7;
22346
- _t26 = _context35.v;
22347
- log.error('ERROR in get poll votes', _t26);
22236
+ _t37 = _context35.v;
22237
+ log.error('ERROR in get poll votes', _t37);
22348
22238
  _context35.n = 8;
22349
22239
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22350
22240
  case 8:
@@ -22353,7 +22243,7 @@ function getPollVotes(action) {
22353
22243
  }, _marked30$1, null, [[0, 7]]);
22354
22244
  }
22355
22245
  function loadMorePollVotes(action) {
22356
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t27;
22246
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t38;
22357
22247
  return _regenerator().w(function (_context36) {
22358
22248
  while (1) switch (_context36.p = _context36.n) {
22359
22249
  case 0:
@@ -22411,8 +22301,8 @@ function loadMorePollVotes(action) {
22411
22301
  break;
22412
22302
  case 6:
22413
22303
  _context36.p = 6;
22414
- _t27 = _context36.v;
22415
- log.error('ERROR in load more poll votes', _t27);
22304
+ _t38 = _context36.v;
22305
+ log.error('ERROR in load more poll votes', _t38);
22416
22306
  _context36.n = 7;
22417
22307
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22418
22308
  case 7:
@@ -22933,6 +22823,10 @@ function getContacts() {
22933
22823
  case 0:
22934
22824
  _context.p = 0;
22935
22825
  SceytChatClient = getClient();
22826
+ if (!(SceytChatClient.connectionStatus === CONNECTION_STATUS.CONNECTED)) {
22827
+ _context.n = 3;
22828
+ break;
22829
+ }
22936
22830
  _context.n = 1;
22937
22831
  return call(SceytChatClient.getAllContacts);
22938
22832
  case 1:
@@ -23143,6 +23037,12 @@ function getUsers(action) {
23143
23037
  payload = action.payload;
23144
23038
  params = payload.params;
23145
23039
  SceytChatClient = getClient();
23040
+ if (!(SceytChatClient.connectionState !== CONNECTION_STATUS.CONNECTED)) {
23041
+ _context5.n = 1;
23042
+ break;
23043
+ }
23044
+ return _context5.a(2);
23045
+ case 1:
23146
23046
  usersQueryBuilder = new SceytChatClient.UserListQueryBuilder();
23147
23047
  if (params.query) {
23148
23048
  usersQueryBuilder.query(params.query);
@@ -23172,35 +23072,35 @@ function getUsers(action) {
23172
23072
  usersQueryBuilder.filterByUsername();
23173
23073
  }
23174
23074
  log.info('user query params ..... ', params);
23175
- _context5.n = 1;
23075
+ _context5.n = 2;
23176
23076
  return call(usersQueryBuilder.build);
23177
- case 1:
23077
+ case 2:
23178
23078
  usersQuery = _context5.v;
23179
23079
  query.usersQuery = usersQuery;
23180
- _context5.n = 2;
23181
- return put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
23182
- case 2:
23183
23080
  _context5.n = 3;
23184
- return call(usersQuery.loadNextPage);
23081
+ return put(setUsersLoadingStateAC(LOADING_STATE.LOADING));
23185
23082
  case 3:
23186
- _yield$call = _context5.v;
23187
- users = _yield$call.users;
23188
23083
  _context5.n = 4;
23189
- return put(setUsersAC(JSON.parse(JSON.stringify(users))));
23084
+ return call(usersQuery.loadNextPage);
23190
23085
  case 4:
23086
+ _yield$call = _context5.v;
23087
+ users = _yield$call.users;
23191
23088
  _context5.n = 5;
23192
- return put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
23089
+ return put(setUsersAC(JSON.parse(JSON.stringify(users))));
23193
23090
  case 5:
23194
- _context5.n = 7;
23195
- break;
23091
+ _context5.n = 6;
23092
+ return put(setUsersLoadingStateAC(LOADING_STATE.LOADED));
23196
23093
  case 6:
23197
- _context5.p = 6;
23094
+ _context5.n = 8;
23095
+ break;
23096
+ case 7:
23097
+ _context5.p = 7;
23198
23098
  _t5 = _context5.v;
23199
23099
  log.error('ERROR on get users', _t5.message);
23200
- case 7:
23100
+ case 8:
23201
23101
  return _context5.a(2);
23202
23102
  }
23203
- }, _marked5$3, null, [[0, 6]]);
23103
+ }, _marked5$3, null, [[0, 7]]);
23204
23104
  }
23205
23105
  function loadMoreUsers(action) {
23206
23106
  var payload, limit, usersQuery, _yield$call2, users, _t6;
@@ -38607,7 +38507,8 @@ var MessageList = function MessageList(_ref2) {
38607
38507
  var handleMessagesListScroll = useCallback(function () {
38608
38508
  try {
38609
38509
  var target = scrollRef.current;
38610
- if (!target) return Promise.resolve();
38510
+ var messageBox = document.getElementById('messageBox');
38511
+ if (!target || !messageBox) return Promise.resolve();
38611
38512
  if (scrollToMentionedMessage) {
38612
38513
  if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
38613
38514
  dispatch(showScrollToNewMessageButtonAC(true));
@@ -38620,9 +38521,12 @@ var MessageList = function MessageList(_ref2) {
38620
38521
  clearTimeout(hideTopDateTimeout.current);
38621
38522
  renderTopDate();
38622
38523
  var forceLoadPrevMessages = false;
38623
- if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
38524
+ if (-target.scrollTop + target.offsetHeight + 100 > messageBox.scrollHeight) {
38624
38525
  forceLoadPrevMessages = true;
38625
38526
  }
38527
+ if (unreadScrollTo) {
38528
+ return Promise.resolve();
38529
+ }
38626
38530
  if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING) {
38627
38531
  dispatch(getMessagesAC(channel, true));
38628
38532
  }
@@ -38637,7 +38541,7 @@ var MessageList = function MessageList(_ref2) {
38637
38541
  }
38638
38542
  var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
38639
38543
  var hasIndex = typeof currentIndex === 'number';
38640
- if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
38544
+ if (hasIndex && currentIndex < 10 || forceLoadPrevMessages) {
38641
38545
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
38642
38546
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
38643
38547
  shouldLoadMessagesRef.current = 'prev';
@@ -38654,7 +38558,7 @@ var MessageList = function MessageList(_ref2) {
38654
38558
  }
38655
38559
  }
38656
38560
  }
38657
- if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
38561
+ if (hasIndex && currentIndex >= messages.length - 10 || target.scrollTop > -100) {
38658
38562
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
38659
38563
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
38660
38564
  shouldLoadMessagesRef.current = 'next';
@@ -38713,7 +38617,7 @@ var MessageList = function MessageList(_ref2) {
38713
38617
  }, 1000 + positiveValue * 0.1);
38714
38618
  }
38715
38619
  } else {
38716
- dispatch(getMessagesAC(channel, undefined, messageId));
38620
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, true, 'smooth', true));
38717
38621
  }
38718
38622
  return Promise.resolve();
38719
38623
  } catch (e) {
@@ -38721,7 +38625,7 @@ var MessageList = function MessageList(_ref2) {
38721
38625
  }
38722
38626
  };
38723
38627
  var handleLoadMoreMessages = function handleLoadMoreMessages(direction, limit) {
38724
- if (scrollToMentionedMessage) {
38628
+ if (scrollToMentionedMessage || scrollToNewMessage.scrollToBottom) {
38725
38629
  return;
38726
38630
  }
38727
38631
  var lastMessageId = messages.length && messages[messages.length - 1].id;
@@ -38865,9 +38769,6 @@ var MessageList = function MessageList(_ref2) {
38865
38769
  behavior: 'smooth'
38866
38770
  });
38867
38771
  }
38868
- setTimeout(function () {
38869
- dispatch(scrollToNewMessageAC(false, false, false));
38870
- }, 800);
38871
38772
  } else {
38872
38773
  nextDisableRef.current = true;
38873
38774
  prevDisableRef.current = true;
@@ -38876,10 +38777,6 @@ var MessageList = function MessageList(_ref2) {
38876
38777
  behavior: 'smooth'
38877
38778
  });
38878
38779
  dispatch(showScrollToNewMessageButtonAC(false));
38879
- setTimeout(function () {
38880
- prevDisableRef.current = false;
38881
- dispatch(scrollToNewMessageAC(false, false, false));
38882
- }, 800);
38883
38780
  }
38884
38781
  }
38885
38782
  }, [scrollToNewMessage]);
@@ -38907,7 +38804,7 @@ var MessageList = function MessageList(_ref2) {
38907
38804
  var visibleMessages = getVisibleMessagesMap();
38908
38805
  var visibleMessagesIds = Object.keys(visibleMessages);
38909
38806
  var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
38910
- dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, undefined, 'instant'));
38807
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, 'instant'));
38911
38808
  setUnreadMessageId(messageId);
38912
38809
  } else {
38913
38810
  if (!channel.isLinkedChannel) {
@@ -39064,13 +38961,13 @@ var MessageList = function MessageList(_ref2) {
39064
38961
  }, [messagesLoading, messages, lastVisibleMessageId]);
39065
38962
  useEffect(function () {
39066
38963
  log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
39067
- if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
38964
+ if (connectionStatus === CONNECTION_STATUS.CONNECTED && channel !== null && channel !== void 0 && channel.id) {
39068
38965
  loadingRef.current = false;
39069
38966
  prevDisableRef.current = false;
39070
38967
  nextDisableRef.current = false;
39071
38968
  clearMessagesMap();
39072
38969
  removeAllMessages();
39073
- dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, false, 'instant', false));
38970
+ dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, 'instant', false, true));
39074
38971
  }
39075
38972
  }, [connectionStatus]);
39076
38973
  useEffect(function () {
@@ -39176,7 +39073,8 @@ var MessageList = function MessageList(_ref2) {
39176
39073
  enableResetScrollToCoords: false,
39177
39074
  replyMessage: messageForReply && messageForReply.id,
39178
39075
  attachmentsSelected: attachmentsSelected,
39179
- className: 'messageBox'
39076
+ className: 'messageBox',
39077
+ id: 'messageBox'
39180
39078
  }, messages.map(function (message, index) {
39181
39079
  var prevMessage = messages[index - 1];
39182
39080
  var nextMessage = messages[index + 1];
@@ -48403,7 +48301,7 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
48403
48301
  }
48404
48302
  }
48405
48303
  } else {
48406
- dispatch(getMessagesAC(channel, true, messageId, undefined, undefined, false));
48304
+ dispatch(getMessagesAC(channel, true, messageId, undefined, false, 'smooth', true));
48407
48305
  }
48408
48306
  return Promise.resolve();
48409
48307
  } catch (e) {