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

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 +314 -565
  2. package/index.modern.js +314 -565
  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 {
@@ -10839,7 +10752,8 @@ function updatePendingMessageAC(channelId, messageId, updatedMessage) {
10839
10752
  });
10840
10753
  }
10841
10754
 
10842
- var MESSAGES_MAX_LENGTH = 80;
10755
+ var MESSAGES_MAX_PAGE_COUNT = 80;
10756
+ var MESSAGES_MAX_LENGTH = 50;
10843
10757
  var LOAD_MAX_MESSAGE_COUNT = 30;
10844
10758
  var MESSAGE_LOAD_DIRECTION = {
10845
10759
  PREV: 'prev',
@@ -10905,12 +10819,12 @@ var setAllMessages = function setAllMessages(messages) {
10905
10819
  var addAllMessages = function addAllMessages(messages, direction) {
10906
10820
  if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
10907
10821
  activeChannelAllMessages = [].concat(messages, activeChannelAllMessages);
10908
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10822
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10909
10823
  setHasNextCached(true);
10910
10824
  }
10911
10825
  } else {
10912
10826
  activeChannelAllMessages = [].concat(activeChannelAllMessages, messages);
10913
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10827
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10914
10828
  setHasPrevCached(true);
10915
10829
  }
10916
10830
  }
@@ -10979,8 +10893,8 @@ var getHasNextCached = function getHasNextCached() {
10979
10893
  var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messageId, direction, getWithLastMessage) {
10980
10894
  var messagesForAdd = [];
10981
10895
  if (getWithLastMessage) {
10982
- messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_LENGTH));
10983
- setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_LENGTH);
10896
+ messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_PAGE_COUNT));
10897
+ setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT);
10984
10898
  setHasNextCached(false);
10985
10899
  } else {
10986
10900
  var fromMessageIndex = activeChannelAllMessages.findIndex(function (mes) {
@@ -11008,14 +10922,25 @@ var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messa
11008
10922
  }
11009
10923
  return messagesForAdd;
11010
10924
  };
11011
- function setMessagesToMap(channelId, messages) {
11012
- if (!messagesMap[channelId] || messages.length === 0) {
10925
+ function setMessagesToMap(channelId, messages, firstMessageId, lastMessageId) {
10926
+ if (firstMessageId === void 0) {
10927
+ firstMessageId = '0';
10928
+ }
10929
+ if (lastMessageId === void 0) {
10930
+ lastMessageId = '0';
10931
+ }
10932
+ if (!messagesMap[channelId]) {
11013
10933
  messagesMap[channelId] = {};
11014
10934
  }
11015
- messages.forEach(function (msg) {
11016
- if (msg.tid && messagesMap[channelId][msg.tid]) {
11017
- delete messagesMap[channelId][msg.tid];
10935
+ for (var key in messagesMap[channelId]) {
10936
+ if (Object.prototype.hasOwnProperty.call(messagesMap[channelId], key)) {
10937
+ var element = messagesMap[channelId][key];
10938
+ if (element.id >= firstMessageId && element.id <= lastMessageId) {
10939
+ delete messagesMap[channelId][key];
10940
+ }
11018
10941
  }
10942
+ }
10943
+ messages.forEach(function (msg) {
11019
10944
  messagesMap[channelId][msg.id || msg.tid] = msg;
11020
10945
  });
11021
10946
  }
@@ -11441,42 +11366,36 @@ var messageSlice = createSlice({
11441
11366
  });
11442
11367
  });
11443
11368
  if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
11444
- if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
11369
+ if (currentMessagesLength + newMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11445
11370
  var _state$activeChannelM;
11446
11371
  setHasNextCached(true);
11447
11372
  if (newMessagesLength > 0) {
11448
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11373
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11449
11374
  state.activeChannelMessages.splice(-newMessagesLength);
11450
11375
  } else {
11451
- state.activeChannelMessages.splice(-(newMessagesLength - (MESSAGES_MAX_LENGTH - currentMessagesLength)));
11376
+ state.activeChannelMessages.splice(-(currentMessagesLength - currentMessagesLength + newMessagesLength - MESSAGES_MAX_PAGE_COUNT));
11452
11377
  }
11453
11378
  }
11454
11379
  (_state$activeChannelM = state.activeChannelMessages).splice.apply(_state$activeChannelM, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11455
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11380
+ } else {
11456
11381
  var _state$activeChannelM2;
11457
- var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11458
- setHasNextCached(true);
11459
- state.activeChannelMessages.splice(-sliceElementCount);
11460
11382
  (_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
11383
  }
11465
- } else if (direction === 'next' && newMessagesLength > 0) {
11466
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11467
- var _state$activeChannelM4;
11384
+ } else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && newMessagesLength > 0) {
11385
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11386
+ var _state$activeChannelM3;
11468
11387
  setHasPrevCached(true);
11469
11388
  state.activeChannelMessages.splice(0, messagesIsNotIncludeInActiveChannelMessages.length);
11389
+ (_state$activeChannelM3 = state.activeChannelMessages).push.apply(_state$activeChannelM3, messagesIsNotIncludeInActiveChannelMessages);
11390
+ } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11391
+ var _state$activeChannelM4;
11392
+ var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_PAGE_COUNT;
11393
+ setHasPrevCached(true);
11394
+ state.activeChannelMessages.splice(0, sliceElementCount);
11470
11395
  (_state$activeChannelM4 = state.activeChannelMessages).push.apply(_state$activeChannelM4, messagesIsNotIncludeInActiveChannelMessages);
11471
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11396
+ } else {
11472
11397
  var _state$activeChannelM5;
11473
- var _sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11474
- setHasPrevCached(true);
11475
- state.activeChannelMessages.splice(0, _sliceElementCount);
11476
11398
  (_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
11399
  }
11481
11400
  }
11482
11401
  },
@@ -18970,111 +18889,6 @@ var getFrame = function getFrame(videoSrc, time) {
18970
18889
  }
18971
18890
  };
18972
18891
 
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
18892
  var SDKErrorTypeEnum = {
19079
18893
  BadRequest: {
19080
18894
  value: 'BadRequest',
@@ -19255,13 +19069,13 @@ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scr
19255
19069
  scrollToNewMessage = true;
19256
19070
  }
19257
19071
  return /*#__PURE__*/_regenerator().m(function _callee() {
19258
- var activeChannelId;
19072
+ var activeChannelId, channel, messages, _channel$lastMessage2, repliedMessage, scrollRef, _channel$lastMessage3;
19259
19073
  return _regenerator().w(function (_context) {
19260
19074
  while (1) switch (_context.n) {
19261
19075
  case 0:
19262
19076
  activeChannelId = getActiveChannelId();
19263
19077
  if (!(actionType !== RESEND_MESSAGE)) {
19264
- _context.n = 3;
19078
+ _context.n = 7;
19265
19079
  break;
19266
19080
  }
19267
19081
  if (activeChannelId === channelId) {
@@ -19278,12 +19092,43 @@ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scr
19278
19092
  return call(addPendingMessage, message, pending, channelId);
19279
19093
  case 2:
19280
19094
  if (!scrollToNewMessage) {
19281
- _context.n = 3;
19095
+ _context.n = 7;
19282
19096
  break;
19283
19097
  }
19284
19098
  _context.n = 3;
19285
- return put(scrollToNewMessageAC(true, true));
19099
+ return call(getChannelFromAllChannels, channelId);
19286
19100
  case 3:
19101
+ channel = _context.v;
19102
+ messages = store.getState().MessageReducer.activeChannelMessages;
19103
+ if (!(messages.findIndex(function (msg) {
19104
+ var _channel$lastMessage;
19105
+ return msg.id === (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id);
19106
+ }) >= 10)) {
19107
+ _context.n = 6;
19108
+ break;
19109
+ }
19110
+ _context.n = 4;
19111
+ return put(scrollToNewMessageAC(true, false, false));
19112
+ case 4:
19113
+ _context.n = 5;
19114
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19115
+ case 5:
19116
+ repliedMessage = document.getElementById(channel === null || channel === void 0 ? void 0 : (_channel$lastMessage2 = channel.lastMessage) === null || _channel$lastMessage2 === void 0 ? void 0 : _channel$lastMessage2.id);
19117
+ if (repliedMessage) {
19118
+ scrollRef = document.getElementById('scrollableDiv');
19119
+ if (scrollRef) {
19120
+ scrollRef.scrollTo({
19121
+ top: 1000,
19122
+ behavior: 'smooth'
19123
+ });
19124
+ }
19125
+ }
19126
+ _context.n = 7;
19127
+ break;
19128
+ case 6:
19129
+ _context.n = 7;
19130
+ 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, undefined, false, 'smooth', true));
19131
+ case 7:
19287
19132
  return _context.a(2);
19288
19133
  }
19289
19134
  }, _callee);
@@ -19435,7 +19280,7 @@ function sendMessage(action) {
19435
19280
  break;
19436
19281
  }
19437
19282
  _context2.n = 1;
19438
- return call(updateMessage$1, action.type, _pending, channel.id, false, message);
19283
+ return call(updateMessage$1, action.type, _pending, channel.id, true, message);
19439
19284
  case 1:
19440
19285
  _context2.n = 3;
19441
19286
  break;
@@ -19488,7 +19333,7 @@ function sendMessage(action) {
19488
19333
  break;
19489
19334
  }
19490
19335
  _context4.n = 11;
19491
- return call(updateMessage$1, action.type, pending, channel.id, false, message);
19336
+ return call(updateMessage$1, action.type, pending, channel.id, true, message);
19492
19337
  case 11:
19493
19338
  messageToSend = _extends({}, messageToSend, {
19494
19339
  attachments: attachmentsToSend
@@ -19533,7 +19378,7 @@ function sendMessage(action) {
19533
19378
  });
19534
19379
  }
19535
19380
  _context3.n = 4;
19536
- return call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19381
+ return call(channel.sendMessage, messageToSend);
19537
19382
  case 4:
19538
19383
  messageResponse = _context3.v;
19539
19384
  if (!customUploader) {
@@ -19790,7 +19635,7 @@ function sendTextMessage(action) {
19790
19635
  break;
19791
19636
  }
19792
19637
  _context5.n = 8;
19793
- return call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19638
+ return call(updateMessage$1, action.type, pendingMessage, channel.id, true, message);
19794
19639
  case 8:
19795
19640
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19796
19641
  _context5.n = 17;
@@ -19808,7 +19653,7 @@ function sendTextMessage(action) {
19808
19653
  break;
19809
19654
  case 10:
19810
19655
  _context5.n = 11;
19811
- return call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19656
+ return call(channel.sendMessage, messageToSend);
19812
19657
  case 11:
19813
19658
  messageResponse = _context5.v;
19814
19659
  case 12:
@@ -20041,7 +19886,7 @@ function forwardMessage(action) {
20041
19886
  break;
20042
19887
  }
20043
19888
  _context6.n = 10;
20044
- return call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19889
+ return call(channel.sendMessage, messageToSend);
20045
19890
  case 10:
20046
19891
  messageResponse = _context6.v;
20047
19892
  messageUpdateData = {
@@ -20230,7 +20075,7 @@ function deleteMessage(action) {
20230
20075
  }
20231
20076
  }
20232
20077
  _context8.n = 2;
20233
- return call(queuedChannelCall, channel.id, channel.deleteMessageById, messageId, deleteOption === 'forMe');
20078
+ return call(channel.deleteMessageById, messageId, deleteOption === 'forMe');
20234
20079
  case 2:
20235
20080
  deletedMessage = _context8.v;
20236
20081
  _context8.n = 3;
@@ -20295,7 +20140,7 @@ function editMessage(action) {
20295
20140
  message.attachments = [].concat(anotherAttachments, linkAttachmentsToSend);
20296
20141
  }
20297
20142
  _context9.n = 2;
20298
- return call(queuedChannelCall, channel.id, channel.editMessage, _extends({}, message, {
20143
+ return call(channel.editMessage, _extends({}, message, {
20299
20144
  metadata: isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata),
20300
20145
  attachments: message.attachments.map(function (att) {
20301
20146
  return _extends({}, att, {
@@ -20428,13 +20273,13 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20428
20273
  }
20429
20274
  }, _callee4, null, [[3, 9]]);
20430
20275
  });
20431
- var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20276
+ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages, firstMessageId, lastMessageId) {
20432
20277
  var messages;
20433
20278
  return _regenerator().w(function (_context1) {
20434
20279
  while (1) switch (_context1.n) {
20435
20280
  case 0:
20436
20281
  messages = [].concat(updatedMessages);
20437
- setMessagesToMap(channel.id, messages);
20282
+ setMessagesToMap(channel.id, messages, firstMessageId, lastMessageId);
20438
20283
  setAllMessages(messages);
20439
20284
  _context1.n = 1;
20440
20285
  return put(setMessagesAC(JSON.parse(JSON.stringify(messages))));
@@ -20459,7 +20304,7 @@ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20459
20304
  return filteredPendingMessages;
20460
20305
  };
20461
20306
  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;
20307
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, _result$messages$, _result$messages, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _result$messages$2, _result$messages2, _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;
20463
20308
  return _regenerator().w(function (_context10) {
20464
20309
  while (1) switch (_context10.p = _context10.n) {
20465
20310
  case 0:
@@ -20470,7 +20315,7 @@ function getMessagesQuery(action) {
20470
20315
  _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;
20471
20316
  connectionState = store.getState().UserReducer.connectionStatus;
20472
20317
  if (!(channel.id && !channel.isMockChannel)) {
20473
- _context10.n = 51;
20318
+ _context10.n = 59;
20474
20319
  break;
20475
20320
  }
20476
20321
  SceytChatClient = getClient();
@@ -20510,48 +20355,24 @@ function getMessagesQuery(action) {
20510
20355
  break;
20511
20356
  }
20512
20357
  setHasPrevCached(false);
20513
- setMessagesToMap(channel.id, []);
20514
20358
  setAllMessages([]);
20515
20359
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20516
20360
  _context10.n = 6;
20517
20361
  break;
20518
20362
  }
20519
20363
  _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
- });
20364
+ return call(messageQuery.loadPreviousMessageId, '0');
20545
20365
  case 5:
20546
- result = _context10.v;
20366
+ _t1 = _context10.v;
20547
20367
  _context10.n = 7;
20548
20368
  break;
20549
20369
  case 6:
20550
- result = {
20370
+ _t1 = {
20551
20371
  messages: [],
20552
20372
  hasNext: false
20553
20373
  };
20554
20374
  case 7:
20375
+ result = _t1;
20555
20376
  sentMessages = [];
20556
20377
  if (withDeliveredMessages) {
20557
20378
  sentMessages = getFromAllMessagesByMessageId('', '', true);
@@ -20567,7 +20388,7 @@ function getMessagesQuery(action) {
20567
20388
  _context10.n = 8;
20568
20389
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20569
20390
  case 8:
20570
- setMessagesToMap(channel.id, result.messages);
20391
+ 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);
20571
20392
  setAllMessages(result.messages);
20572
20393
  _context10.n = 9;
20573
20394
  return put(setMessagesHasPrevAC(true));
@@ -20593,11 +20414,11 @@ function getMessagesQuery(action) {
20593
20414
  _context10.n = 14;
20594
20415
  return put(setScrollToMessagesAC(messageId, highlight, behavior));
20595
20416
  case 14:
20596
- _context10.n = 44;
20417
+ _context10.n = 52;
20597
20418
  break;
20598
20419
  case 15:
20599
20420
  if (!messageId) {
20600
- _context10.n = 29;
20421
+ _context10.n = 27;
20601
20422
  break;
20602
20423
  }
20603
20424
  _allMessages = getAllMessages();
@@ -20618,246 +20439,175 @@ function getMessagesQuery(action) {
20618
20439
  _context10.n = 17;
20619
20440
  return put(setMessagesHasPrevAC(true));
20620
20441
  case 17:
20621
- _context10.n = 25;
20442
+ _context10.n = 23;
20622
20443
  break;
20623
20444
  case 18:
20624
20445
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20625
20446
  log.info('load by message id from server ...............', messageId);
20626
20447
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20627
- _context10.n = 22;
20448
+ _context10.n = 20;
20628
20449
  break;
20629
20450
  }
20630
20451
  _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
- });
20452
+ return call(messageQuery.loadNearMessageId, messageId);
20661
20453
  case 19:
20662
- queueResult = _context10.v;
20663
- result = queueResult;
20664
- if (!(result.messages.length === 50 && result.secondResultHasNext !== undefined)) {
20665
- _context10.n = 21;
20666
- break;
20667
- }
20668
- _context10.n = 20;
20669
- return put(setMessagesHasPrevAC(result.secondResultHasNext));
20670
- case 20:
20671
- result = {
20672
- messages: result.messages,
20673
- hasNext: result.hasNext
20674
- };
20675
- case 21:
20676
- _context10.n = 23;
20454
+ _t10 = _context10.v;
20455
+ _context10.n = 21;
20677
20456
  break;
20678
- case 22:
20679
- result = {
20457
+ case 20:
20458
+ _t10 = {
20680
20459
  messages: [],
20681
20460
  hasNext: false
20682
20461
  };
20683
- case 23:
20684
- _context10.n = 24;
20462
+ case 21:
20463
+ result = _t10;
20464
+ _context10.n = 22;
20685
20465
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20686
- case 24:
20687
- setMessagesToMap(channel.id, result.messages);
20466
+ case 22:
20467
+ 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
20468
  setAllMessages([].concat(result.messages));
20689
20469
  setHasPrevCached(false);
20690
20470
  setHasNextCached(false);
20691
- case 25:
20692
- _context10.n = 26;
20471
+ case 23:
20472
+ _context10.n = 24;
20693
20473
  return put(setMessagesHasNextAC(true));
20694
- case 26:
20474
+ case 24:
20695
20475
  if (!scrollToMessage) {
20696
- _context10.n = 27;
20476
+ _context10.n = 25;
20697
20477
  break;
20698
20478
  }
20699
- _context10.n = 27;
20700
- return put(setScrollToMessagesAC(messageId, true, behavior));
20701
- case 27:
20702
- _context10.n = 28;
20479
+ _context10.n = 25;
20480
+ return put(setScrollToMessagesAC(messageId, highlight, behavior));
20481
+ case 25:
20482
+ _context10.n = 26;
20703
20483
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20704
- case 28:
20705
- _context10.n = 44;
20484
+ case 26:
20485
+ _context10.n = 52;
20706
20486
  break;
20707
- case 29:
20487
+ case 27:
20708
20488
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20709
- _context10.n = 36;
20489
+ _context10.n = 39;
20710
20490
  break;
20711
20491
  }
20712
- setMessagesToMap(channel.id, []);
20713
20492
  setAllMessages([]);
20714
20493
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20715
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20494
+ if (!Number(channel.lastDisplayedMessageId)) {
20716
20495
  _context10.n = 31;
20717
20496
  break;
20718
20497
  }
20498
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20499
+ _context10.n = 29;
20500
+ break;
20501
+ }
20502
+ _context10.n = 28;
20503
+ return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20504
+ case 28:
20505
+ _t11 = _context10.v;
20719
20506
  _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
- });
20507
+ break;
20508
+ case 29:
20509
+ _t11 = {
20510
+ messages: [],
20511
+ hasNext: false
20512
+ };
20780
20513
  case 30:
20781
- result = _context10.v;
20782
- _context10.n = 32;
20514
+ result = _t11;
20515
+ _context10.n = 35;
20783
20516
  break;
20784
20517
  case 31:
20785
- result = {
20518
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20519
+ _context10.n = 33;
20520
+ break;
20521
+ }
20522
+ _context10.n = 32;
20523
+ return call(messageQuery.loadPrevious);
20524
+ case 32:
20525
+ _t12 = _context10.v;
20526
+ _context10.n = 34;
20527
+ break;
20528
+ case 33:
20529
+ _t12 = {
20786
20530
  messages: [],
20787
20531
  hasNext: false
20788
20532
  };
20789
- case 32:
20790
- _context10.n = 33;
20533
+ case 34:
20534
+ result = _t12;
20535
+ case 35:
20536
+ _context10.n = 36;
20791
20537
  return put(setMessagesHasPrevAC(true));
20792
- case 33:
20793
- _context10.n = 34;
20538
+ case 36:
20539
+ _context10.n = 37;
20794
20540
  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);
20541
+ case 37:
20542
+ 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
20543
  setAllMessages([].concat(result.messages));
20798
- _context10.n = 35;
20544
+ _context10.n = 38;
20799
20545
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20800
- case 35:
20801
- _context10.n = 44;
20546
+ case 38:
20547
+ _context10.n = 52;
20802
20548
  break;
20803
- case 36:
20804
- setMessagesToMap(channel.id, []);
20805
- setAllMessages([]);
20549
+ case 39:
20806
20550
  if (!(cachedMessages && cachedMessages.length)) {
20807
- _context10.n = 38;
20551
+ _context10.n = 41;
20808
20552
  break;
20809
20553
  }
20810
20554
  parsedMessages = JSON.parse(JSON.stringify(cachedMessages));
20811
- setMessagesToMap(channel.id, parsedMessages);
20555
+ 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);
20812
20556
  setAllMessages(parsedMessages);
20813
- _context10.n = 37;
20557
+ _context10.n = 40;
20814
20558
  return put(setMessagesAC(parsedMessages));
20815
- case 37:
20559
+ case 40:
20816
20560
  _filteredPendingMessages = getFilteredPendingMessages(parsedMessages);
20817
- _context10.n = 38;
20561
+ _context10.n = 41;
20818
20562
  return put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20819
- case 38:
20563
+ case 41:
20820
20564
  log.info('load message from server');
20565
+ result = {
20566
+ messages: [],
20567
+ hasNext: false
20568
+ };
20569
+ 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))) {
20570
+ _context10.n = 45;
20571
+ break;
20572
+ }
20821
20573
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20822
- _context10.n = 40;
20574
+ _context10.n = 43;
20823
20575
  break;
20824
20576
  }
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;
20577
+ _context10.n = 42;
20578
+ return call(messageQuery.loadPreviousMessageId, channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId);
20579
+ case 42:
20580
+ _t13 = _context10.v;
20581
+ _context10.n = 44;
20854
20582
  break;
20855
- case 40:
20856
- result = {
20583
+ case 43:
20584
+ _t13 = {
20857
20585
  messages: [],
20858
20586
  hasNext: false
20859
20587
  };
20860
- case 41:
20588
+ case 44:
20589
+ result = _t13;
20590
+ _context10.n = 49;
20591
+ break;
20592
+ case 45:
20593
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20594
+ _context10.n = 47;
20595
+ break;
20596
+ }
20597
+ _context10.n = 46;
20598
+ return call(messageQuery.loadPrevious);
20599
+ case 46:
20600
+ _t14 = _context10.v;
20601
+ _context10.n = 48;
20602
+ break;
20603
+ case 47:
20604
+ _t14 = {
20605
+ messages: [],
20606
+ hasNext: false
20607
+ };
20608
+ case 48:
20609
+ result = _t14;
20610
+ case 49:
20861
20611
  updatedMessages = [];
20862
20612
  result.messages.forEach(function (msg) {
20863
20613
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20867,72 +20617,73 @@ function getMessagesQuery(action) {
20867
20617
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20868
20618
  updatedMessages.push(updatedMessage || msg);
20869
20619
  });
20870
- _context10.n = 42;
20871
- return call(updateMessages, channel, updatedMessages);
20872
- case 42:
20873
- _context10.n = 43;
20620
+ 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';
20621
+ _context10.n = 50;
20622
+ return call(updateMessages, channel, updatedMessages, (_updatedMessages$ = updatedMessages[0]) === null || _updatedMessages$ === void 0 ? void 0 : _updatedMessages$.id, messageIdForLoad);
20623
+ case 50:
20624
+ _context10.n = 51;
20874
20625
  return put(setMessagesHasPrevAC(true));
20875
- case 43:
20876
- _context10.n = 44;
20626
+ case 51:
20627
+ _context10.n = 52;
20877
20628
  return put(setMessagesHasNextAC(false));
20878
- case 44:
20629
+ case 52:
20879
20630
  filteredPendingMessages = getFilteredPendingMessages(result.messages);
20880
- _context10.n = 45;
20631
+ _context10.n = 53;
20881
20632
  return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20882
- case 45:
20633
+ case 53:
20883
20634
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20884
20635
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20885
- _context10.n = 47;
20636
+ _context10.n = 55;
20886
20637
  break;
20887
20638
  }
20888
- _context10.n = 46;
20639
+ _context10.n = 54;
20889
20640
  return put(setWaitToSendPendingMessagesAC(false));
20890
- case 46:
20891
- _context10.n = 47;
20641
+ case 54:
20642
+ _context10.n = 55;
20892
20643
  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:
20644
+ case 55:
20645
+ _context10.n = 56;
20646
+ return call(SceytChatClient.getChannel, channel.id, true);
20647
+ case 56:
20897
20648
  updatedChannel = _context10.v;
20898
20649
  if (!updatedChannel) {
20899
- _context10.n = 50;
20650
+ _context10.n = 58;
20900
20651
  break;
20901
20652
  }
20902
- _context10.n = 49;
20653
+ _context10.n = 57;
20903
20654
  return put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
20904
- case 49:
20655
+ case 57:
20905
20656
  updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
20906
- case 50:
20907
- _context10.n = 52;
20657
+ case 58:
20658
+ _context10.n = 60;
20908
20659
  break;
20909
- case 51:
20660
+ case 59:
20910
20661
  if (!channel.isMockChannel) {
20911
- _context10.n = 52;
20662
+ _context10.n = 60;
20912
20663
  break;
20913
20664
  }
20914
- _context10.n = 52;
20665
+ _context10.n = 60;
20915
20666
  return put(setMessagesAC([]));
20916
- case 52:
20917
- _context10.n = 54;
20667
+ case 60:
20668
+ _context10.n = 62;
20918
20669
  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;
20670
+ case 61:
20671
+ _context10.p = 61;
20672
+ _t15 = _context10.v;
20673
+ log.error('error in message query', _t15);
20674
+ case 62:
20675
+ _context10.p = 62;
20676
+ _context10.n = 63;
20926
20677
  return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20927
- case 55:
20928
- return _context10.f(54);
20929
- case 56:
20678
+ case 63:
20679
+ return _context10.f(62);
20680
+ case 64:
20930
20681
  return _context10.a(2);
20931
20682
  }
20932
- }, _marked7$1, null, [[0, 53, 54, 56]]);
20683
+ }, _marked7$1, null, [[0, 61, 62, 64]]);
20933
20684
  }
20934
20685
  function getMessageQuery(action) {
20935
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t10;
20686
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t16;
20936
20687
  return _regenerator().w(function (_context11) {
20937
20688
  while (1) switch (_context11.p = _context11.n) {
20938
20689
  case 0:
@@ -20982,15 +20733,15 @@ function getMessageQuery(action) {
20982
20733
  break;
20983
20734
  case 7:
20984
20735
  _context11.p = 7;
20985
- _t10 = _context11.v;
20986
- log.error('error in message query', _t10);
20736
+ _t16 = _context11.v;
20737
+ log.error('error in message query', _t16);
20987
20738
  case 8:
20988
20739
  return _context11.a(2);
20989
20740
  }
20990
20741
  }, _marked8$1, null, [[0, 7]]);
20991
20742
  }
20992
20743
  function loadMoreMessages(action) {
20993
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t11;
20744
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _result$messages$4, _result$messages4, _result$messages$5, _result$messages5, _t17;
20994
20745
  return _regenerator().w(function (_context12) {
20995
20746
  while (1) switch (_context12.p = _context12.n) {
20996
20747
  case 0:
@@ -21029,12 +20780,12 @@ function loadMoreMessages(action) {
21029
20780
  break;
21030
20781
  }
21031
20782
  _context12.n = 4;
21032
- return call(queuedChannelCall, channelId, messageQuery.loadPreviousMessageId, messageId);
20783
+ return call(messageQuery.loadPreviousMessageId, messageId);
21033
20784
  case 4:
21034
20785
  result = _context12.v;
21035
20786
  if (result.messages.length) {
21036
20787
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.PREV);
21037
- setMessagesToMap(channelId, result.messages);
20788
+ 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
20789
  }
21039
20790
  _context12.n = 5;
21040
20791
  return put(setMessagesHasPrevAC(result.hasNext));
@@ -21057,12 +20808,12 @@ function loadMoreMessages(action) {
21057
20808
  log.info('saga load next from server ... ', messageId);
21058
20809
  messageQuery.reverse = false;
21059
20810
  _context12.n = 8;
21060
- return call(queuedChannelCall, channelId, messageQuery.loadNextMessageId, messageId);
20811
+ return call(messageQuery.loadNextMessageId, messageId);
21061
20812
  case 8:
21062
20813
  result = _context12.v;
21063
20814
  if (result.messages.length) {
21064
20815
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.NEXT);
21065
- setMessagesToMap(channelId, result.messages);
20816
+ 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
20817
  }
21067
20818
  _context12.n = 9;
21068
20819
  return put(setMessagesHasNextAC(result.hasNext));
@@ -21103,15 +20854,15 @@ function loadMoreMessages(action) {
21103
20854
  break;
21104
20855
  case 18:
21105
20856
  _context12.p = 18;
21106
- _t11 = _context12.v;
21107
- log.error('error in load more messages', _t11);
20857
+ _t17 = _context12.v;
20858
+ log.error('error in load more messages', _t17);
21108
20859
  case 19:
21109
20860
  return _context12.a(2);
21110
20861
  }
21111
20862
  }, _marked9$1, null, [[0, 18]]);
21112
20863
  }
21113
20864
  function addReaction(action) {
21114
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t12;
20865
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t18;
21115
20866
  return _regenerator().w(function (_context13) {
21116
20867
  while (1) switch (_context13.p = _context13.n) {
21117
20868
  case 0:
@@ -21130,7 +20881,7 @@ function addReaction(action) {
21130
20881
  }
21131
20882
  }
21132
20883
  _context13.n = 2;
21133
- return call(queuedChannelCall, channelId, channel.addReaction, messageId, key, score, reason, enforceUnique);
20884
+ return call(channel.addReaction, messageId, key, score, reason, enforceUnique);
21134
20885
  case 2:
21135
20886
  _yield$call = _context13.v;
21136
20887
  message = _yield$call.message;
@@ -21164,15 +20915,15 @@ function addReaction(action) {
21164
20915
  break;
21165
20916
  case 8:
21166
20917
  _context13.p = 8;
21167
- _t12 = _context13.v;
21168
- log.error('ERROR in add reaction', _t12.message);
20918
+ _t18 = _context13.v;
20919
+ log.error('ERROR in add reaction', _t18.message);
21169
20920
  case 9:
21170
20921
  return _context13.a(2);
21171
20922
  }
21172
20923
  }, _marked0$1, null, [[0, 8]]);
21173
20924
  }
21174
20925
  function deleteReaction(action) {
21175
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t13;
20926
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t19;
21176
20927
  return _regenerator().w(function (_context14) {
21177
20928
  while (1) switch (_context14.p = _context14.n) {
21178
20929
  case 0:
@@ -21190,7 +20941,7 @@ function deleteReaction(action) {
21190
20941
  }
21191
20942
  }
21192
20943
  _context14.n = 2;
21193
- return call(queuedChannelCall, channelId, channel.deleteReaction, messageId, key);
20944
+ return call(channel.deleteReaction, messageId, key);
21194
20945
  case 2:
21195
20946
  _yield$call2 = _context14.v;
21196
20947
  message = _yield$call2.message;
@@ -21220,15 +20971,15 @@ function deleteReaction(action) {
21220
20971
  break;
21221
20972
  case 7:
21222
20973
  _context14.p = 7;
21223
- _t13 = _context14.v;
21224
- log.error('ERROR in delete reaction', _t13.message);
20974
+ _t19 = _context14.v;
20975
+ log.error('ERROR in delete reaction', _t19.message);
21225
20976
  case 8:
21226
20977
  return _context14.a(2);
21227
20978
  }
21228
20979
  }, _marked1$1, null, [[0, 7]]);
21229
20980
  }
21230
20981
  function getReactions(action) {
21231
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t14;
20982
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t20;
21232
20983
  return _regenerator().w(function (_context15) {
21233
20984
  while (1) switch (_context15.p = _context15.n) {
21234
20985
  case 0:
@@ -21263,15 +21014,15 @@ function getReactions(action) {
21263
21014
  break;
21264
21015
  case 6:
21265
21016
  _context15.p = 6;
21266
- _t14 = _context15.v;
21267
- log.error('ERROR in get reactions', _t14.message);
21017
+ _t20 = _context15.v;
21018
+ log.error('ERROR in get reactions', _t20.message);
21268
21019
  case 7:
21269
21020
  return _context15.a(2);
21270
21021
  }
21271
21022
  }, _marked10$1, null, [[0, 6]]);
21272
21023
  }
21273
21024
  function loadMoreReactions(action) {
21274
- var payload, limit, ReactionQuery, result, _t15;
21025
+ var payload, limit, ReactionQuery, result, _t21;
21275
21026
  return _regenerator().w(function (_context16) {
21276
21027
  while (1) switch (_context16.p = _context16.n) {
21277
21028
  case 0:
@@ -21299,15 +21050,15 @@ function loadMoreReactions(action) {
21299
21050
  break;
21300
21051
  case 5:
21301
21052
  _context16.p = 5;
21302
- _t15 = _context16.v;
21303
- log.error('ERROR in load more reactions', _t15.message);
21053
+ _t21 = _context16.v;
21054
+ log.error('ERROR in load more reactions', _t21.message);
21304
21055
  case 6:
21305
21056
  return _context16.a(2);
21306
21057
  }
21307
21058
  }, _marked11$1, null, [[0, 5]]);
21308
21059
  }
21309
21060
  function getMessageAttachments(action) {
21310
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t16;
21061
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t22;
21311
21062
  return _regenerator().w(function (_context17) {
21312
21063
  while (1) switch (_context17.p = _context17.n) {
21313
21064
  case 0:
@@ -21385,15 +21136,15 @@ function getMessageAttachments(action) {
21385
21136
  break;
21386
21137
  case 13:
21387
21138
  _context17.p = 13;
21388
- _t16 = _context17.v;
21389
- log.error('error in message attachment query', _t16);
21139
+ _t22 = _context17.v;
21140
+ log.error('error in message attachment query', _t22);
21390
21141
  case 14:
21391
21142
  return _context17.a(2);
21392
21143
  }
21393
21144
  }, _marked12$1, null, [[0, 13]]);
21394
21145
  }
21395
21146
  function loadMoreMessageAttachments(action) {
21396
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t17;
21147
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t23;
21397
21148
  return _regenerator().w(function (_context18) {
21398
21149
  while (1) switch (_context18.p = _context18.n) {
21399
21150
  case 0:
@@ -21437,15 +21188,15 @@ function loadMoreMessageAttachments(action) {
21437
21188
  break;
21438
21189
  case 8:
21439
21190
  _context18.p = 8;
21440
- _t17 = _context18.v;
21441
- log.error('error in message attachment query', _t17);
21191
+ _t23 = _context18.v;
21192
+ log.error('error in message attachment query', _t23);
21442
21193
  case 9:
21443
21194
  return _context18.a(2);
21444
21195
  }
21445
21196
  }, _marked13$1, null, [[0, 8]]);
21446
21197
  }
21447
21198
  function pauseAttachmentUploading(action) {
21448
- var attachmentId, isPaused, _t18;
21199
+ var attachmentId, isPaused, _t24;
21449
21200
  return _regenerator().w(function (_context19) {
21450
21201
  while (1) switch (_context19.p = _context19.n) {
21451
21202
  case 0:
@@ -21467,15 +21218,15 @@ function pauseAttachmentUploading(action) {
21467
21218
  break;
21468
21219
  case 2:
21469
21220
  _context19.p = 2;
21470
- _t18 = _context19.v;
21471
- log.error('error in pause attachment uploading', _t18);
21221
+ _t24 = _context19.v;
21222
+ log.error('error in pause attachment uploading', _t24);
21472
21223
  case 3:
21473
21224
  return _context19.a(2);
21474
21225
  }
21475
21226
  }, _marked14$1, null, [[0, 2]]);
21476
21227
  }
21477
21228
  function resumeAttachmentUploading(action) {
21478
- var attachmentId, isResumed, _t19;
21229
+ var attachmentId, isResumed, _t25;
21479
21230
  return _regenerator().w(function (_context20) {
21480
21231
  while (1) switch (_context20.p = _context20.n) {
21481
21232
  case 0:
@@ -21498,15 +21249,15 @@ function resumeAttachmentUploading(action) {
21498
21249
  break;
21499
21250
  case 2:
21500
21251
  _context20.p = 2;
21501
- _t19 = _context20.v;
21502
- log.error('error in resume attachment uploading', _t19);
21252
+ _t25 = _context20.v;
21253
+ log.error('error in resume attachment uploading', _t25);
21503
21254
  case 3:
21504
21255
  return _context20.a(2);
21505
21256
  }
21506
21257
  }, _marked15$1, null, [[0, 2]]);
21507
21258
  }
21508
21259
  function getMessageMarkers(action) {
21509
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t20;
21260
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t26;
21510
21261
  return _regenerator().w(function (_context21) {
21511
21262
  while (1) switch (_context21.p = _context21.n) {
21512
21263
  case 0:
@@ -21536,8 +21287,8 @@ function getMessageMarkers(action) {
21536
21287
  break;
21537
21288
  case 5:
21538
21289
  _context21.p = 5;
21539
- _t20 = _context21.v;
21540
- log.error('error in get message markers', _t20);
21290
+ _t26 = _context21.v;
21291
+ log.error('error in get message markers', _t26);
21541
21292
  case 6:
21542
21293
  _context21.p = 6;
21543
21294
  _context21.n = 7;
@@ -21675,7 +21426,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21675
21426
  }, _marked18$1);
21676
21427
  }
21677
21428
  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;
21429
+ 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, _t27;
21679
21430
  return _regenerator().w(function (_context24) {
21680
21431
  while (1) switch (_context24.p = _context24.n) {
21681
21432
  case 0:
@@ -21774,8 +21525,8 @@ function addPollVote(action) {
21774
21525
  break;
21775
21526
  case 8:
21776
21527
  _context24.p = 8;
21777
- _t21 = _context24.v;
21778
- log.error('error in add poll vote', _t21);
21528
+ _t27 = _context24.v;
21529
+ log.error('error in add poll vote', _t27);
21779
21530
  case 9:
21780
21531
  return _context24.a(2);
21781
21532
  }
@@ -21876,7 +21627,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21876
21627
  }, _marked21$1);
21877
21628
  }
21878
21629
  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;
21630
+ 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, _t28;
21880
21631
  return _regenerator().w(function (_context27) {
21881
21632
  while (1) switch (_context27.p = _context27.n) {
21882
21633
  case 0:
@@ -21961,8 +21712,8 @@ function deletePollVote(action) {
21961
21712
  break;
21962
21713
  case 9:
21963
21714
  _context27.p = 9;
21964
- _t22 = _context27.v;
21965
- log.error('error in delete poll vote', _t22);
21715
+ _t28 = _context27.v;
21716
+ log.error('error in delete poll vote', _t28);
21966
21717
  case 10:
21967
21718
  return _context27.a(2);
21968
21719
  }
@@ -22040,7 +21791,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
22040
21791
  }, _marked24$1);
22041
21792
  }
22042
21793
  function closePoll(action) {
22043
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t23;
21794
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t29;
22044
21795
  return _regenerator().w(function (_context30) {
22045
21796
  while (1) switch (_context30.p = _context30.n) {
22046
21797
  case 0:
@@ -22073,8 +21824,8 @@ function closePoll(action) {
22073
21824
  break;
22074
21825
  case 4:
22075
21826
  _context30.p = 4;
22076
- _t23 = _context30.v;
22077
- log.error('error in close poll', _t23);
21827
+ _t29 = _context30.v;
21828
+ log.error('error in close poll', _t29);
22078
21829
  case 5:
22079
21830
  return _context30.a(2);
22080
21831
  }
@@ -22163,7 +21914,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
22163
21914
  }, _marked27$1);
22164
21915
  }
22165
21916
  function retractPollVote(action) {
22166
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t24;
21917
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t30;
22167
21918
  return _regenerator().w(function (_context33) {
22168
21919
  while (1) switch (_context33.p = _context33.n) {
22169
21920
  case 0:
@@ -22205,15 +21956,15 @@ function retractPollVote(action) {
22205
21956
  break;
22206
21957
  case 4:
22207
21958
  _context33.p = 4;
22208
- _t24 = _context33.v;
22209
- log.error('error in retract poll vote', _t24);
21959
+ _t30 = _context33.v;
21960
+ log.error('error in retract poll vote', _t30);
22210
21961
  case 5:
22211
21962
  return _context33.a(2);
22212
21963
  }
22213
21964
  }, _marked28$1, null, [[0, 4]]);
22214
21965
  }
22215
21966
  function resendPendingPollActions(action) {
22216
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t25;
21967
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t31;
22217
21968
  return _regenerator().w(function (_context34) {
22218
21969
  while (1) switch (_context34.p = _context34.n) {
22219
21970
  case 0:
@@ -22229,13 +21980,6 @@ function resendPendingPollActions(action) {
22229
21980
  case 1:
22230
21981
  pendingPollActionsMap = store.getState().MessageReducer.pendingPollActions;
22231
21982
  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
21983
  Object.keys(pendingPollActionsMapCopy).forEach(function (messageId) {
22240
21984
  pendingPollActionsMapCopy[messageId].forEach(function (pendingAction) {
22241
21985
  var type = pendingAction.type,
@@ -22265,19 +22009,19 @@ function resendPendingPollActions(action) {
22265
22009
  }
22266
22010
  });
22267
22011
  });
22268
- _context34.n = 4;
22012
+ _context34.n = 3;
22269
22013
  break;
22014
+ case 2:
22015
+ _context34.p = 2;
22016
+ _t31 = _context34.v;
22017
+ log.error('error in resend pending poll actions', _t31);
22270
22018
  case 3:
22271
- _context34.p = 3;
22272
- _t25 = _context34.v;
22273
- log.error('error in resend pending poll actions', _t25);
22274
- case 4:
22275
22019
  return _context34.a(2);
22276
22020
  }
22277
- }, _marked29$1, null, [[0, 3]]);
22021
+ }, _marked29$1, null, [[0, 2]]);
22278
22022
  }
22279
22023
  function getPollVotes(action) {
22280
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t26;
22024
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t32;
22281
22025
  return _regenerator().w(function (_context35) {
22282
22026
  while (1) switch (_context35.p = _context35.n) {
22283
22027
  case 0:
@@ -22343,8 +22087,8 @@ function getPollVotes(action) {
22343
22087
  break;
22344
22088
  case 7:
22345
22089
  _context35.p = 7;
22346
- _t26 = _context35.v;
22347
- log.error('ERROR in get poll votes', _t26);
22090
+ _t32 = _context35.v;
22091
+ log.error('ERROR in get poll votes', _t32);
22348
22092
  _context35.n = 8;
22349
22093
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22350
22094
  case 8:
@@ -22353,7 +22097,7 @@ function getPollVotes(action) {
22353
22097
  }, _marked30$1, null, [[0, 7]]);
22354
22098
  }
22355
22099
  function loadMorePollVotes(action) {
22356
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t27;
22100
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t33;
22357
22101
  return _regenerator().w(function (_context36) {
22358
22102
  while (1) switch (_context36.p = _context36.n) {
22359
22103
  case 0:
@@ -22411,8 +22155,8 @@ function loadMorePollVotes(action) {
22411
22155
  break;
22412
22156
  case 6:
22413
22157
  _context36.p = 6;
22414
- _t27 = _context36.v;
22415
- log.error('ERROR in load more poll votes', _t27);
22158
+ _t33 = _context36.v;
22159
+ log.error('ERROR in load more poll votes', _t33);
22416
22160
  _context36.n = 7;
22417
22161
  return put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22418
22162
  case 7:
@@ -38607,7 +38351,8 @@ var MessageList = function MessageList(_ref2) {
38607
38351
  var handleMessagesListScroll = useCallback(function () {
38608
38352
  try {
38609
38353
  var target = scrollRef.current;
38610
- if (!target) return Promise.resolve();
38354
+ var messageBox = document.getElementById('messageBox');
38355
+ if (!target || !messageBox) return Promise.resolve();
38611
38356
  if (scrollToMentionedMessage) {
38612
38357
  if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
38613
38358
  dispatch(showScrollToNewMessageButtonAC(true));
@@ -38620,9 +38365,12 @@ var MessageList = function MessageList(_ref2) {
38620
38365
  clearTimeout(hideTopDateTimeout.current);
38621
38366
  renderTopDate();
38622
38367
  var forceLoadPrevMessages = false;
38623
- if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
38368
+ if (-target.scrollTop + target.offsetHeight + 100 > messageBox.scrollHeight) {
38624
38369
  forceLoadPrevMessages = true;
38625
38370
  }
38371
+ if (unreadScrollTo) {
38372
+ return Promise.resolve();
38373
+ }
38626
38374
  if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING) {
38627
38375
  dispatch(getMessagesAC(channel, true));
38628
38376
  }
@@ -38637,7 +38385,7 @@ var MessageList = function MessageList(_ref2) {
38637
38385
  }
38638
38386
  var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
38639
38387
  var hasIndex = typeof currentIndex === 'number';
38640
- if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
38388
+ if (hasIndex && currentIndex < 10 || forceLoadPrevMessages) {
38641
38389
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
38642
38390
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
38643
38391
  shouldLoadMessagesRef.current = 'prev';
@@ -38654,7 +38402,7 @@ var MessageList = function MessageList(_ref2) {
38654
38402
  }
38655
38403
  }
38656
38404
  }
38657
- if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
38405
+ if (hasIndex && currentIndex >= messages.length - 10 || target.scrollTop > -100) {
38658
38406
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
38659
38407
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
38660
38408
  shouldLoadMessagesRef.current = 'next';
@@ -38713,7 +38461,7 @@ var MessageList = function MessageList(_ref2) {
38713
38461
  }, 1000 + positiveValue * 0.1);
38714
38462
  }
38715
38463
  } else {
38716
- dispatch(getMessagesAC(channel, undefined, messageId));
38464
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, true, 'smooth', true));
38717
38465
  }
38718
38466
  return Promise.resolve();
38719
38467
  } catch (e) {
@@ -39176,7 +38924,8 @@ var MessageList = function MessageList(_ref2) {
39176
38924
  enableResetScrollToCoords: false,
39177
38925
  replyMessage: messageForReply && messageForReply.id,
39178
38926
  attachmentsSelected: attachmentsSelected,
39179
- className: 'messageBox'
38927
+ className: 'messageBox',
38928
+ id: 'messageBox'
39180
38929
  }, messages.map(function (message, index) {
39181
38930
  var prevMessage = messages[index - 1];
39182
38931
  var nextMessage = messages[index + 1];