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.js CHANGED
@@ -2840,93 +2840,6 @@ function _forOf(target, body, check) {
2840
2840
 
2841
2841
  const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
2842
2842
 
2843
- // Asynchronously implement a generic for loop
2844
- function _for(test, update, body) {
2845
- var stage;
2846
- for (;;) {
2847
- var shouldContinue = test();
2848
- if (_isSettledPact(shouldContinue)) {
2849
- shouldContinue = shouldContinue.v;
2850
- }
2851
- if (!shouldContinue) {
2852
- return result;
2853
- }
2854
- if (shouldContinue.then) {
2855
- stage = 0;
2856
- break;
2857
- }
2858
- var result = body();
2859
- if (result && result.then) {
2860
- if (_isSettledPact(result)) {
2861
- result = result.s;
2862
- } else {
2863
- stage = 1;
2864
- break;
2865
- }
2866
- }
2867
- if (update) {
2868
- var updateValue = update();
2869
- if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
2870
- stage = 2;
2871
- break;
2872
- }
2873
- }
2874
- }
2875
- var pact = new _Pact();
2876
- var reject = _settle.bind(null, pact, 2);
2877
- (stage === 0 ? shouldContinue.then(_resumeAfterTest) : stage === 1 ? result.then(_resumeAfterBody) : updateValue.then(_resumeAfterUpdate)).then(void 0, reject);
2878
- return pact;
2879
- function _resumeAfterBody(value) {
2880
- result = value;
2881
- do {
2882
- if (update) {
2883
- updateValue = update();
2884
- if (updateValue && updateValue.then && !_isSettledPact(updateValue)) {
2885
- updateValue.then(_resumeAfterUpdate).then(void 0, reject);
2886
- return;
2887
- }
2888
- }
2889
- shouldContinue = test();
2890
- if (!shouldContinue || (_isSettledPact(shouldContinue) && !shouldContinue.v)) {
2891
- _settle(pact, 1, result);
2892
- return;
2893
- }
2894
- if (shouldContinue.then) {
2895
- shouldContinue.then(_resumeAfterTest).then(void 0, reject);
2896
- return;
2897
- }
2898
- result = body();
2899
- if (_isSettledPact(result)) {
2900
- result = result.v;
2901
- }
2902
- } while (!result || !result.then);
2903
- result.then(_resumeAfterBody).then(void 0, reject);
2904
- }
2905
- function _resumeAfterTest(shouldContinue) {
2906
- if (shouldContinue) {
2907
- result = body();
2908
- if (result && result.then) {
2909
- result.then(_resumeAfterBody).then(void 0, reject);
2910
- } else {
2911
- _resumeAfterBody(result);
2912
- }
2913
- } else {
2914
- _settle(pact, 1, result);
2915
- }
2916
- }
2917
- function _resumeAfterUpdate() {
2918
- if (shouldContinue = test()) {
2919
- if (shouldContinue.then) {
2920
- shouldContinue.then(_resumeAfterTest).then(void 0, reject);
2921
- } else {
2922
- _resumeAfterTest(shouldContinue);
2923
- }
2924
- } else {
2925
- _settle(pact, 1, result);
2926
- }
2927
- }
2928
- }
2929
-
2930
2843
  // Asynchronously call a function and send errors to recovery continuation
2931
2844
  function _catch(body, recover) {
2932
2845
  try {
@@ -10840,7 +10753,8 @@ function updatePendingMessageAC(channelId, messageId, updatedMessage) {
10840
10753
  });
10841
10754
  }
10842
10755
 
10843
- var MESSAGES_MAX_LENGTH = 80;
10756
+ var MESSAGES_MAX_PAGE_COUNT = 80;
10757
+ var MESSAGES_MAX_LENGTH = 50;
10844
10758
  var LOAD_MAX_MESSAGE_COUNT = 30;
10845
10759
  var MESSAGE_LOAD_DIRECTION = {
10846
10760
  PREV: 'prev',
@@ -10906,12 +10820,12 @@ var setAllMessages = function setAllMessages(messages) {
10906
10820
  var addAllMessages = function addAllMessages(messages, direction) {
10907
10821
  if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
10908
10822
  activeChannelAllMessages = [].concat(messages, activeChannelAllMessages);
10909
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10823
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10910
10824
  setHasNextCached(true);
10911
10825
  }
10912
10826
  } else {
10913
10827
  activeChannelAllMessages = [].concat(activeChannelAllMessages, messages);
10914
- if (activeChannelAllMessages.length > MESSAGES_MAX_LENGTH) {
10828
+ if (activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT) {
10915
10829
  setHasPrevCached(true);
10916
10830
  }
10917
10831
  }
@@ -10980,8 +10894,8 @@ var getHasNextCached = function getHasNextCached() {
10980
10894
  var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messageId, direction, getWithLastMessage) {
10981
10895
  var messagesForAdd = [];
10982
10896
  if (getWithLastMessage) {
10983
- messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_LENGTH));
10984
- setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_LENGTH);
10897
+ messagesForAdd = [].concat(activeChannelAllMessages.slice(-MESSAGES_MAX_PAGE_COUNT));
10898
+ setHasPrevCached(activeChannelAllMessages.length > MESSAGES_MAX_PAGE_COUNT);
10985
10899
  setHasNextCached(false);
10986
10900
  } else {
10987
10901
  var fromMessageIndex = activeChannelAllMessages.findIndex(function (mes) {
@@ -11009,14 +10923,25 @@ var getFromAllMessagesByMessageId = function getFromAllMessagesByMessageId(messa
11009
10923
  }
11010
10924
  return messagesForAdd;
11011
10925
  };
11012
- function setMessagesToMap(channelId, messages) {
11013
- if (!messagesMap[channelId] || messages.length === 0) {
10926
+ function setMessagesToMap(channelId, messages, firstMessageId, lastMessageId) {
10927
+ if (firstMessageId === void 0) {
10928
+ firstMessageId = '0';
10929
+ }
10930
+ if (lastMessageId === void 0) {
10931
+ lastMessageId = '0';
10932
+ }
10933
+ if (!messagesMap[channelId]) {
11014
10934
  messagesMap[channelId] = {};
11015
10935
  }
11016
- messages.forEach(function (msg) {
11017
- if (msg.tid && messagesMap[channelId][msg.tid]) {
11018
- delete messagesMap[channelId][msg.tid];
10936
+ for (var key in messagesMap[channelId]) {
10937
+ if (Object.prototype.hasOwnProperty.call(messagesMap[channelId], key)) {
10938
+ var element = messagesMap[channelId][key];
10939
+ if (element.id >= firstMessageId && element.id <= lastMessageId) {
10940
+ delete messagesMap[channelId][key];
10941
+ }
11019
10942
  }
10943
+ }
10944
+ messages.forEach(function (msg) {
11020
10945
  messagesMap[channelId][msg.id || msg.tid] = msg;
11021
10946
  });
11022
10947
  }
@@ -11442,42 +11367,36 @@ var messageSlice = createSlice({
11442
11367
  });
11443
11368
  });
11444
11369
  if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
11445
- if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
11370
+ if (currentMessagesLength + newMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11446
11371
  var _state$activeChannelM;
11447
11372
  setHasNextCached(true);
11448
11373
  if (newMessagesLength > 0) {
11449
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11374
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11450
11375
  state.activeChannelMessages.splice(-newMessagesLength);
11451
11376
  } else {
11452
- state.activeChannelMessages.splice(-(newMessagesLength - (MESSAGES_MAX_LENGTH - currentMessagesLength)));
11377
+ state.activeChannelMessages.splice(-(currentMessagesLength - currentMessagesLength + newMessagesLength - MESSAGES_MAX_PAGE_COUNT));
11453
11378
  }
11454
11379
  }
11455
11380
  (_state$activeChannelM = state.activeChannelMessages).splice.apply(_state$activeChannelM, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11456
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11381
+ } else {
11457
11382
  var _state$activeChannelM2;
11458
- var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11459
- setHasNextCached(true);
11460
- state.activeChannelMessages.splice(-sliceElementCount);
11461
11383
  (_state$activeChannelM2 = state.activeChannelMessages).splice.apply(_state$activeChannelM2, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11462
- } else {
11463
- var _state$activeChannelM3;
11464
- (_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
11465
11384
  }
11466
- } else if (direction === 'next' && newMessagesLength > 0) {
11467
- if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
11468
- var _state$activeChannelM4;
11385
+ } else if (direction === MESSAGE_LOAD_DIRECTION.NEXT && newMessagesLength > 0) {
11386
+ if (currentMessagesLength >= MESSAGES_MAX_PAGE_COUNT) {
11387
+ var _state$activeChannelM3;
11469
11388
  setHasPrevCached(true);
11470
11389
  state.activeChannelMessages.splice(0, messagesIsNotIncludeInActiveChannelMessages.length);
11390
+ (_state$activeChannelM3 = state.activeChannelMessages).push.apply(_state$activeChannelM3, messagesIsNotIncludeInActiveChannelMessages);
11391
+ } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_PAGE_COUNT) {
11392
+ var _state$activeChannelM4;
11393
+ var sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_PAGE_COUNT;
11394
+ setHasPrevCached(true);
11395
+ state.activeChannelMessages.splice(0, sliceElementCount);
11471
11396
  (_state$activeChannelM4 = state.activeChannelMessages).push.apply(_state$activeChannelM4, messagesIsNotIncludeInActiveChannelMessages);
11472
- } else if (newMessagesLength + currentMessagesLength > MESSAGES_MAX_LENGTH) {
11397
+ } else {
11473
11398
  var _state$activeChannelM5;
11474
- var _sliceElementCount = newMessagesLength + currentMessagesLength - MESSAGES_MAX_LENGTH;
11475
- setHasPrevCached(true);
11476
- state.activeChannelMessages.splice(0, _sliceElementCount);
11477
11399
  (_state$activeChannelM5 = state.activeChannelMessages).push.apply(_state$activeChannelM5, messagesIsNotIncludeInActiveChannelMessages);
11478
- } else {
11479
- var _state$activeChannelM6;
11480
- (_state$activeChannelM6 = state.activeChannelMessages).push.apply(_state$activeChannelM6, messagesIsNotIncludeInActiveChannelMessages);
11481
11400
  }
11482
11401
  }
11483
11402
  },
@@ -18971,111 +18890,6 @@ var getFrame = function getFrame(videoSrc, time) {
18971
18890
  }
18972
18891
  };
18973
18892
 
18974
- var processQueue = function processQueue(channelId) {
18975
- try {
18976
- var _temp4 = function _temp4() {
18977
- queue.processing = false;
18978
- log.info(new Date().toISOString() + " [ChannelQueue] Finished processing queue for channel: " + channelId);
18979
- };
18980
- var queue = getChannelQueue(channelId);
18981
- if (queue.processing || queue.queue.length === 0) {
18982
- return Promise.resolve();
18983
- }
18984
- queue.processing = true;
18985
- log.info("[ChannelQueue] Starting to process queue for channel: " + channelId + ", queue length: " + queue.queue.length);
18986
- var _temp3 = _for(function () {
18987
- return queue.queue.length > 0;
18988
- }, void 0, function () {
18989
- var queuedTask = queue.queue.shift();
18990
- var task = queuedTask.task,
18991
- resolve = queuedTask.resolve,
18992
- reject = queuedTask.reject,
18993
- functionName = queuedTask.functionName,
18994
- queuedAt = queuedTask.queuedAt;
18995
- var waitTime = queuedAt ? Date.now() - queuedAt : 0;
18996
- var functionInfo = functionName || 'unknown';
18997
- log.info("[ChannelQueue] Executing request for channel: " + channelId + ", function: " + functionInfo + ", queue position: " + (queue.queue.length + 1) + ", waited: " + waitTime + "ms");
18998
- var startTime = Date.now();
18999
- return _catch(function () {
19000
- var result = task();
19001
- var _temp2 = function () {
19002
- if (result && typeof result.then === 'function') {
19003
- return Promise.resolve(result).then(function (value) {
19004
- var duration = Date.now() - startTime;
19005
- log.info(new Date().toISOString() + " [ChannelQueue] Request completed for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, remaining: " + queue.queue.length);
19006
- resolve(value);
19007
- });
19008
- } else {
19009
- var duration = Date.now() - startTime;
19010
- log.info(new Date().toISOString() + " [ChannelQueue] Request completed (sync) for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, remaining: " + queue.queue.length);
19011
- resolve(result);
19012
- }
19013
- }();
19014
- if (_temp2 && _temp2.then) return _temp2.then(function () {});
19015
- }, function (error) {
19016
- var duration = Date.now() - startTime;
19017
- log.error(new Date().toISOString() + " [ChannelQueue] Request failed for channel: " + channelId + ", \n function: " + functionInfo + ", duration: " + duration + "ms, error:", error);
19018
- reject(error);
19019
- });
19020
- });
19021
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
19022
- } catch (e) {
19023
- return Promise.reject(e);
19024
- }
19025
- };
19026
- var channelQueues = new Map();
19027
- function getChannelQueue(channelId) {
19028
- if (!channelQueues.has(channelId)) {
19029
- channelQueues.set(channelId, {
19030
- channelId: channelId,
19031
- queue: [],
19032
- processing: false
19033
- });
19034
- }
19035
- return channelQueues.get(channelId);
19036
- }
19037
- function queueChannelRequest(channelId, task, functionName) {
19038
- return new Promise(function (resolve, reject) {
19039
- var queue = getChannelQueue(channelId);
19040
- var queuedTask = {
19041
- task: task,
19042
- resolve: resolve,
19043
- reject: reject,
19044
- functionName: functionName,
19045
- queuedAt: Date.now()
19046
- };
19047
- queue.queue.push(queuedTask);
19048
- log.info(new Date().toISOString() + " [ChannelQueue] Request queued for channel: " + channelId + ", \n function: " + (functionName || 'unknown') + ", queue length: " + queue.queue.length + ", processing: " + queue.processing);
19049
- processQueue(channelId);
19050
- });
19051
- }
19052
- function queuedChannelCall(channelId, fn) {
19053
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
19054
- args[_key - 2] = arguments[_key];
19055
- }
19056
- var functionName = fn.name || fn.displayName || 'anonymous';
19057
- var functionInfo = functionName + "(" + args.length + " args)";
19058
- return queueChannelRequest(channelId, function () {
19059
- try {
19060
- var _exit = false;
19061
- var result = fn.apply(void 0, args);
19062
- var _temp = function () {
19063
- if (result && typeof result.then === 'function') {
19064
- return Promise.resolve(result).then(function (_await$result) {
19065
- _exit = true;
19066
- return _await$result;
19067
- });
19068
- }
19069
- }();
19070
- return Promise.resolve(_temp && _temp.then ? _temp.then(function (_result) {
19071
- return _exit ? _result : result;
19072
- }) : _exit ? _temp : result);
19073
- } catch (e) {
19074
- return Promise.reject(e);
19075
- }
19076
- }, functionInfo);
19077
- }
19078
-
19079
18893
  var SDKErrorTypeEnum = {
19080
18894
  BadRequest: {
19081
18895
  value: 'BadRequest',
@@ -19256,13 +19070,13 @@ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scr
19256
19070
  scrollToNewMessage = true;
19257
19071
  }
19258
19072
  return /*#__PURE__*/_regenerator().m(function _callee() {
19259
- var activeChannelId;
19073
+ var activeChannelId, channel, messages, _channel$lastMessage2, repliedMessage, scrollRef, _channel$lastMessage3;
19260
19074
  return _regenerator().w(function (_context) {
19261
19075
  while (1) switch (_context.n) {
19262
19076
  case 0:
19263
19077
  activeChannelId = getActiveChannelId();
19264
19078
  if (!(actionType !== RESEND_MESSAGE)) {
19265
- _context.n = 3;
19079
+ _context.n = 7;
19266
19080
  break;
19267
19081
  }
19268
19082
  if (activeChannelId === channelId) {
@@ -19279,12 +19093,43 @@ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scr
19279
19093
  return effects.call(addPendingMessage, message, pending, channelId);
19280
19094
  case 2:
19281
19095
  if (!scrollToNewMessage) {
19282
- _context.n = 3;
19096
+ _context.n = 7;
19283
19097
  break;
19284
19098
  }
19285
19099
  _context.n = 3;
19286
- return effects.put(scrollToNewMessageAC(true, true));
19100
+ return effects.call(getChannelFromAllChannels, channelId);
19287
19101
  case 3:
19102
+ channel = _context.v;
19103
+ messages = store.getState().MessageReducer.activeChannelMessages;
19104
+ if (!(messages.findIndex(function (msg) {
19105
+ var _channel$lastMessage;
19106
+ return msg.id === (channel === null || channel === void 0 ? void 0 : (_channel$lastMessage = channel.lastMessage) === null || _channel$lastMessage === void 0 ? void 0 : _channel$lastMessage.id);
19107
+ }) >= 10)) {
19108
+ _context.n = 6;
19109
+ break;
19110
+ }
19111
+ _context.n = 4;
19112
+ return effects.put(scrollToNewMessageAC(true, false, false));
19113
+ case 4:
19114
+ _context.n = 5;
19115
+ return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
19116
+ case 5:
19117
+ repliedMessage = document.getElementById(channel === null || channel === void 0 ? void 0 : (_channel$lastMessage2 = channel.lastMessage) === null || _channel$lastMessage2 === void 0 ? void 0 : _channel$lastMessage2.id);
19118
+ if (repliedMessage) {
19119
+ scrollRef = document.getElementById('scrollableDiv');
19120
+ if (scrollRef) {
19121
+ scrollRef.scrollTo({
19122
+ top: 1000,
19123
+ behavior: 'smooth'
19124
+ });
19125
+ }
19126
+ }
19127
+ _context.n = 7;
19128
+ break;
19129
+ case 6:
19130
+ _context.n = 7;
19131
+ return effects.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));
19132
+ case 7:
19288
19133
  return _context.a(2);
19289
19134
  }
19290
19135
  }, _callee);
@@ -19436,7 +19281,7 @@ function sendMessage(action) {
19436
19281
  break;
19437
19282
  }
19438
19283
  _context2.n = 1;
19439
- return effects.call(updateMessage$1, action.type, _pending, channel.id, false, message);
19284
+ return effects.call(updateMessage$1, action.type, _pending, channel.id, true, message);
19440
19285
  case 1:
19441
19286
  _context2.n = 3;
19442
19287
  break;
@@ -19489,7 +19334,7 @@ function sendMessage(action) {
19489
19334
  break;
19490
19335
  }
19491
19336
  _context4.n = 11;
19492
- return effects.call(updateMessage$1, action.type, pending, channel.id, false, message);
19337
+ return effects.call(updateMessage$1, action.type, pending, channel.id, true, message);
19493
19338
  case 11:
19494
19339
  messageToSend = _extends({}, messageToSend, {
19495
19340
  attachments: attachmentsToSend
@@ -19534,7 +19379,7 @@ function sendMessage(action) {
19534
19379
  });
19535
19380
  }
19536
19381
  _context3.n = 4;
19537
- return effects.call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19382
+ return effects.call(channel.sendMessage, messageToSend);
19538
19383
  case 4:
19539
19384
  messageResponse = _context3.v;
19540
19385
  if (!customUploader) {
@@ -19791,7 +19636,7 @@ function sendTextMessage(action) {
19791
19636
  break;
19792
19637
  }
19793
19638
  _context5.n = 8;
19794
- return effects.call(updateMessage$1, action.type, pendingMessage, channel.id, false, message);
19639
+ return effects.call(updateMessage$1, action.type, pendingMessage, channel.id, true, message);
19795
19640
  case 8:
19796
19641
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
19797
19642
  _context5.n = 17;
@@ -19809,7 +19654,7 @@ function sendTextMessage(action) {
19809
19654
  break;
19810
19655
  case 10:
19811
19656
  _context5.n = 11;
19812
- return effects.call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19657
+ return effects.call(channel.sendMessage, messageToSend);
19813
19658
  case 11:
19814
19659
  messageResponse = _context5.v;
19815
19660
  case 12:
@@ -20042,7 +19887,7 @@ function forwardMessage(action) {
20042
19887
  break;
20043
19888
  }
20044
19889
  _context6.n = 10;
20045
- return effects.call(queuedChannelCall, channel.id, channel.sendMessage, messageToSend);
19890
+ return effects.call(channel.sendMessage, messageToSend);
20046
19891
  case 10:
20047
19892
  messageResponse = _context6.v;
20048
19893
  messageUpdateData = {
@@ -20231,7 +20076,7 @@ function deleteMessage(action) {
20231
20076
  }
20232
20077
  }
20233
20078
  _context8.n = 2;
20234
- return effects.call(queuedChannelCall, channel.id, channel.deleteMessageById, messageId, deleteOption === 'forMe');
20079
+ return effects.call(channel.deleteMessageById, messageId, deleteOption === 'forMe');
20235
20080
  case 2:
20236
20081
  deletedMessage = _context8.v;
20237
20082
  _context8.n = 3;
@@ -20296,7 +20141,7 @@ function editMessage(action) {
20296
20141
  message.attachments = [].concat(anotherAttachments, linkAttachmentsToSend);
20297
20142
  }
20298
20143
  _context9.n = 2;
20299
- return effects.call(queuedChannelCall, channel.id, channel.editMessage, _extends({}, message, {
20144
+ return effects.call(channel.editMessage, _extends({}, message, {
20300
20145
  metadata: isJSON(message.metadata) ? message.metadata : JSON.stringify(message.metadata),
20301
20146
  attachments: message.attachments.map(function (att) {
20302
20147
  return _extends({}, att, {
@@ -20429,13 +20274,13 @@ var sendPendingMessages = /*#__PURE__*/_regenerator().m(function _callee4(connec
20429
20274
  }
20430
20275
  }, _callee4, null, [[3, 9]]);
20431
20276
  });
20432
- var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages) {
20277
+ var updateMessages = /*#__PURE__*/_regenerator().m(function _callee5(channel, updatedMessages, firstMessageId, lastMessageId) {
20433
20278
  var messages;
20434
20279
  return _regenerator().w(function (_context1) {
20435
20280
  while (1) switch (_context1.n) {
20436
20281
  case 0:
20437
20282
  messages = [].concat(updatedMessages);
20438
- setMessagesToMap(channel.id, messages);
20283
+ setMessagesToMap(channel.id, messages, firstMessageId, lastMessageId);
20439
20284
  setAllMessages(messages);
20440
20285
  _context1.n = 1;
20441
20286
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(messages))));
@@ -20460,7 +20305,7 @@ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20460
20305
  return filteredPendingMessages;
20461
20306
  };
20462
20307
  function getMessagesQuery(action) {
20463
- var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, scrollToMessage, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, queueResult, parsedMessages, _filteredPendingMessages, updatedMessages, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1;
20308
+ 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;
20464
20309
  return _regenerator().w(function (_context10) {
20465
20310
  while (1) switch (_context10.p = _context10.n) {
20466
20311
  case 0:
@@ -20471,7 +20316,7 @@ function getMessagesQuery(action) {
20471
20316
  _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;
20472
20317
  connectionState = store.getState().UserReducer.connectionStatus;
20473
20318
  if (!(channel.id && !channel.isMockChannel)) {
20474
- _context10.n = 51;
20319
+ _context10.n = 59;
20475
20320
  break;
20476
20321
  }
20477
20322
  SceytChatClient = getClient();
@@ -20511,48 +20356,24 @@ function getMessagesQuery(action) {
20511
20356
  break;
20512
20357
  }
20513
20358
  setHasPrevCached(false);
20514
- setMessagesToMap(channel.id, []);
20515
20359
  setAllMessages([]);
20516
20360
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20517
20361
  _context10.n = 6;
20518
20362
  break;
20519
20363
  }
20520
20364
  _context10.n = 5;
20521
- return effects.call(queuedChannelCall, channel.id, function () {
20522
- try {
20523
- return Promise.resolve(messageQuery.loadPreviousMessageId('0')).then(function (firstResult) {
20524
- var _exit = false;
20525
- var _temp7 = function () {
20526
- if (firstResult.messages.length === 50) {
20527
- messageQuery.limit = 30;
20528
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20529
- var _messages$hasNext = {
20530
- messages: [].concat(secondResult.messages, firstResult.messages),
20531
- hasNext: secondResult.hasNext
20532
- };
20533
- _exit = true;
20534
- return _messages$hasNext;
20535
- });
20536
- }
20537
- }();
20538
- return _temp7 && _temp7.then ? _temp7.then(function (_result) {
20539
- return _exit ? _result : firstResult;
20540
- }) : _exit ? _temp7 : firstResult;
20541
- });
20542
- } catch (e) {
20543
- return Promise.reject(e);
20544
- }
20545
- });
20365
+ return effects.call(messageQuery.loadPreviousMessageId, '0');
20546
20366
  case 5:
20547
- result = _context10.v;
20367
+ _t1 = _context10.v;
20548
20368
  _context10.n = 7;
20549
20369
  break;
20550
20370
  case 6:
20551
- result = {
20371
+ _t1 = {
20552
20372
  messages: [],
20553
20373
  hasNext: false
20554
20374
  };
20555
20375
  case 7:
20376
+ result = _t1;
20556
20377
  sentMessages = [];
20557
20378
  if (withDeliveredMessages) {
20558
20379
  sentMessages = getFromAllMessagesByMessageId('', '', true);
@@ -20568,7 +20389,7 @@ function getMessagesQuery(action) {
20568
20389
  _context10.n = 8;
20569
20390
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20570
20391
  case 8:
20571
- setMessagesToMap(channel.id, result.messages);
20392
+ 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);
20572
20393
  setAllMessages(result.messages);
20573
20394
  _context10.n = 9;
20574
20395
  return effects.put(setMessagesHasPrevAC(true));
@@ -20594,11 +20415,11 @@ function getMessagesQuery(action) {
20594
20415
  _context10.n = 14;
20595
20416
  return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
20596
20417
  case 14:
20597
- _context10.n = 44;
20418
+ _context10.n = 52;
20598
20419
  break;
20599
20420
  case 15:
20600
20421
  if (!messageId) {
20601
- _context10.n = 29;
20422
+ _context10.n = 27;
20602
20423
  break;
20603
20424
  }
20604
20425
  _allMessages = getAllMessages();
@@ -20619,246 +20440,175 @@ function getMessagesQuery(action) {
20619
20440
  _context10.n = 17;
20620
20441
  return effects.put(setMessagesHasPrevAC(true));
20621
20442
  case 17:
20622
- _context10.n = 25;
20443
+ _context10.n = 23;
20623
20444
  break;
20624
20445
  case 18:
20625
20446
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20626
20447
  log.info('load by message id from server ...............', messageId);
20627
20448
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20628
- _context10.n = 22;
20449
+ _context10.n = 20;
20629
20450
  break;
20630
20451
  }
20631
20452
  _context10.n = 19;
20632
- return effects.call(queuedChannelCall, channel.id, function () {
20633
- try {
20634
- return Promise.resolve(messageQuery.loadNearMessageId(messageId)).then(function (firstResult) {
20635
- var _exit2 = false;
20636
- var _temp8 = function () {
20637
- if (firstResult.messages.length === 50) {
20638
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20639
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20640
- messageQuery.reverse = false;
20641
- return Promise.resolve(messageQuery.loadNextMessageId(firstResult.messages[firstResult.messages.length - 1].id)).then(function (thirdResult) {
20642
- messageQuery.reverse = true;
20643
- var _messages$hasNext$sec = {
20644
- messages: [].concat(secondResult.messages, firstResult.messages, thirdResult.messages),
20645
- hasNext: secondResult.hasNext,
20646
- secondResultHasNext: secondResult.hasNext
20647
- };
20648
- _exit2 = true;
20649
- return _messages$hasNext$sec;
20650
- });
20651
- });
20652
- }
20653
- }();
20654
- return _temp8 && _temp8.then ? _temp8.then(function (_result2) {
20655
- return _exit2 ? _result2 : firstResult;
20656
- }) : _exit2 ? _temp8 : firstResult;
20657
- });
20658
- } catch (e) {
20659
- return Promise.reject(e);
20660
- }
20661
- });
20453
+ return effects.call(messageQuery.loadNearMessageId, messageId);
20662
20454
  case 19:
20663
- queueResult = _context10.v;
20664
- result = queueResult;
20665
- if (!(result.messages.length === 50 && result.secondResultHasNext !== undefined)) {
20666
- _context10.n = 21;
20667
- break;
20668
- }
20669
- _context10.n = 20;
20670
- return effects.put(setMessagesHasPrevAC(result.secondResultHasNext));
20671
- case 20:
20672
- result = {
20673
- messages: result.messages,
20674
- hasNext: result.hasNext
20675
- };
20676
- case 21:
20677
- _context10.n = 23;
20455
+ _t10 = _context10.v;
20456
+ _context10.n = 21;
20678
20457
  break;
20679
- case 22:
20680
- result = {
20458
+ case 20:
20459
+ _t10 = {
20681
20460
  messages: [],
20682
20461
  hasNext: false
20683
20462
  };
20684
- case 23:
20685
- _context10.n = 24;
20463
+ case 21:
20464
+ result = _t10;
20465
+ _context10.n = 22;
20686
20466
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20687
- case 24:
20688
- setMessagesToMap(channel.id, result.messages);
20467
+ case 22:
20468
+ 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);
20689
20469
  setAllMessages([].concat(result.messages));
20690
20470
  setHasPrevCached(false);
20691
20471
  setHasNextCached(false);
20692
- case 25:
20693
- _context10.n = 26;
20472
+ case 23:
20473
+ _context10.n = 24;
20694
20474
  return effects.put(setMessagesHasNextAC(true));
20695
- case 26:
20475
+ case 24:
20696
20476
  if (!scrollToMessage) {
20697
- _context10.n = 27;
20477
+ _context10.n = 25;
20698
20478
  break;
20699
20479
  }
20700
- _context10.n = 27;
20701
- return effects.put(setScrollToMessagesAC(messageId, true, behavior));
20702
- case 27:
20703
- _context10.n = 28;
20480
+ _context10.n = 25;
20481
+ return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
20482
+ case 25:
20483
+ _context10.n = 26;
20704
20484
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20705
- case 28:
20706
- _context10.n = 44;
20485
+ case 26:
20486
+ _context10.n = 52;
20707
20487
  break;
20708
- case 29:
20488
+ case 27:
20709
20489
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
20710
- _context10.n = 36;
20490
+ _context10.n = 39;
20711
20491
  break;
20712
20492
  }
20713
- setMessagesToMap(channel.id, []);
20714
20493
  setAllMessages([]);
20715
20494
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20716
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20495
+ if (!Number(channel.lastDisplayedMessageId)) {
20717
20496
  _context10.n = 31;
20718
20497
  break;
20719
20498
  }
20499
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20500
+ _context10.n = 29;
20501
+ break;
20502
+ }
20503
+ _context10.n = 28;
20504
+ return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20505
+ case 28:
20506
+ _t11 = _context10.v;
20720
20507
  _context10.n = 30;
20721
- return effects.call(queuedChannelCall, channel.id, function () {
20722
- try {
20723
- if (Number(channel.lastDisplayedMessageId)) {
20724
- return Promise.resolve(messageQuery.loadNearMessageId(channel.lastDisplayedMessageId)).then(function (firstResult) {
20725
- var _exit3 = false;
20726
- var _temp9 = function () {
20727
- if (firstResult.messages.length === 50) {
20728
- messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
20729
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20730
- if (channel.newMessageCount > 25) {
20731
- messageQuery.reverse = false;
20732
- return Promise.resolve(messageQuery.loadNextMessageId(firstResult.messages[firstResult.messages.length - 1].id)).then(function (thirdResult) {
20733
- messageQuery.reverse = true;
20734
- var _messages$hasNext2 = {
20735
- messages: [].concat(secondResult.messages, firstResult.messages, thirdResult.messages),
20736
- hasNext: secondResult.hasNext
20737
- };
20738
- _exit3 = true;
20739
- return _messages$hasNext2;
20740
- });
20741
- } else {
20742
- var _messages$hasNext3 = {
20743
- messages: [].concat(secondResult.messages, firstResult.messages),
20744
- hasNext: secondResult.hasNext
20745
- };
20746
- _exit3 = true;
20747
- return _messages$hasNext3;
20748
- }
20749
- });
20750
- }
20751
- }();
20752
- return _temp9 && _temp9.then ? _temp9.then(function (_result3) {
20753
- return _exit3 ? _result3 : firstResult;
20754
- }) : _exit3 ? _temp9 : firstResult;
20755
- });
20756
- } else {
20757
- return Promise.resolve(messageQuery.loadPrevious()).then(function (firstResult) {
20758
- var _exit4 = false;
20759
- var _temp0 = function () {
20760
- if (firstResult.messages.length === 50) {
20761
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20762
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20763
- var _messages$hasNext4 = {
20764
- messages: [].concat(secondResult.messages, firstResult.messages),
20765
- hasNext: secondResult.hasNext
20766
- };
20767
- _exit4 = true;
20768
- return _messages$hasNext4;
20769
- });
20770
- }
20771
- }();
20772
- return _temp0 && _temp0.then ? _temp0.then(function (_result4) {
20773
- return _exit4 ? _result4 : firstResult;
20774
- }) : _exit4 ? _temp0 : firstResult;
20775
- });
20776
- }
20777
- } catch (e) {
20778
- return Promise.reject(e);
20779
- }
20780
- });
20508
+ break;
20509
+ case 29:
20510
+ _t11 = {
20511
+ messages: [],
20512
+ hasNext: false
20513
+ };
20781
20514
  case 30:
20782
- result = _context10.v;
20783
- _context10.n = 32;
20515
+ result = _t11;
20516
+ _context10.n = 35;
20784
20517
  break;
20785
20518
  case 31:
20786
- result = {
20519
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20520
+ _context10.n = 33;
20521
+ break;
20522
+ }
20523
+ _context10.n = 32;
20524
+ return effects.call(messageQuery.loadPrevious);
20525
+ case 32:
20526
+ _t12 = _context10.v;
20527
+ _context10.n = 34;
20528
+ break;
20529
+ case 33:
20530
+ _t12 = {
20787
20531
  messages: [],
20788
20532
  hasNext: false
20789
20533
  };
20790
- case 32:
20791
- _context10.n = 33;
20534
+ case 34:
20535
+ result = _t12;
20536
+ case 35:
20537
+ _context10.n = 36;
20792
20538
  return effects.put(setMessagesHasPrevAC(true));
20793
- case 33:
20794
- _context10.n = 34;
20539
+ case 36:
20540
+ _context10.n = 37;
20795
20541
  return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
20796
- case 34:
20797
- setMessagesToMap(channel.id, result.messages);
20542
+ case 37:
20543
+ 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);
20798
20544
  setAllMessages([].concat(result.messages));
20799
- _context10.n = 35;
20545
+ _context10.n = 38;
20800
20546
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20801
- case 35:
20802
- _context10.n = 44;
20547
+ case 38:
20548
+ _context10.n = 52;
20803
20549
  break;
20804
- case 36:
20805
- setMessagesToMap(channel.id, []);
20806
- setAllMessages([]);
20550
+ case 39:
20807
20551
  if (!(cachedMessages && cachedMessages.length)) {
20808
- _context10.n = 38;
20552
+ _context10.n = 41;
20809
20553
  break;
20810
20554
  }
20811
20555
  parsedMessages = JSON.parse(JSON.stringify(cachedMessages));
20812
- setMessagesToMap(channel.id, parsedMessages);
20556
+ 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);
20813
20557
  setAllMessages(parsedMessages);
20814
- _context10.n = 37;
20558
+ _context10.n = 40;
20815
20559
  return effects.put(setMessagesAC(parsedMessages));
20816
- case 37:
20560
+ case 40:
20817
20561
  _filteredPendingMessages = getFilteredPendingMessages(parsedMessages);
20818
- _context10.n = 38;
20562
+ _context10.n = 41;
20819
20563
  return effects.put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20820
- case 38:
20564
+ case 41:
20821
20565
  log.info('load message from server');
20566
+ result = {
20567
+ messages: [],
20568
+ hasNext: false
20569
+ };
20570
+ 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))) {
20571
+ _context10.n = 45;
20572
+ break;
20573
+ }
20822
20574
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20823
- _context10.n = 40;
20575
+ _context10.n = 43;
20824
20576
  break;
20825
20577
  }
20826
- _context10.n = 39;
20827
- return effects.call(queuedChannelCall, channel.id, function () {
20828
- try {
20829
- return Promise.resolve(messageQuery.loadPrevious()).then(function (firstResult) {
20830
- var _exit5 = false;
20831
- var _temp1 = function () {
20832
- if (firstResult.messages.length === 50) {
20833
- messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
20834
- return Promise.resolve(messageQuery.loadPreviousMessageId(firstResult.messages[0].id)).then(function (secondResult) {
20835
- var _messages$hasNext5 = {
20836
- messages: [].concat(secondResult.messages, firstResult.messages),
20837
- hasNext: secondResult.hasNext
20838
- };
20839
- _exit5 = true;
20840
- return _messages$hasNext5;
20841
- });
20842
- }
20843
- }();
20844
- return _temp1 && _temp1.then ? _temp1.then(function (_result5) {
20845
- return _exit5 ? _result5 : firstResult;
20846
- }) : _exit5 ? _temp1 : firstResult;
20847
- });
20848
- } catch (e) {
20849
- return Promise.reject(e);
20850
- }
20851
- });
20852
- case 39:
20853
- result = _context10.v;
20854
- _context10.n = 41;
20578
+ _context10.n = 42;
20579
+ return effects.call(messageQuery.loadPreviousMessageId, channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId);
20580
+ case 42:
20581
+ _t13 = _context10.v;
20582
+ _context10.n = 44;
20855
20583
  break;
20856
- case 40:
20857
- result = {
20584
+ case 43:
20585
+ _t13 = {
20858
20586
  messages: [],
20859
20587
  hasNext: false
20860
20588
  };
20861
- case 41:
20589
+ case 44:
20590
+ result = _t13;
20591
+ _context10.n = 49;
20592
+ break;
20593
+ case 45:
20594
+ if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20595
+ _context10.n = 47;
20596
+ break;
20597
+ }
20598
+ _context10.n = 46;
20599
+ return effects.call(messageQuery.loadPrevious);
20600
+ case 46:
20601
+ _t14 = _context10.v;
20602
+ _context10.n = 48;
20603
+ break;
20604
+ case 47:
20605
+ _t14 = {
20606
+ messages: [],
20607
+ hasNext: false
20608
+ };
20609
+ case 48:
20610
+ result = _t14;
20611
+ case 49:
20862
20612
  updatedMessages = [];
20863
20613
  result.messages.forEach(function (msg) {
20864
20614
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -20868,72 +20618,73 @@ function getMessagesQuery(action) {
20868
20618
  updateMessageOnAllMessages(msg.id, updatedMessage || msg);
20869
20619
  updatedMessages.push(updatedMessage || msg);
20870
20620
  });
20871
- _context10.n = 42;
20872
- return effects.call(updateMessages, channel, updatedMessages);
20873
- case 42:
20874
- _context10.n = 43;
20621
+ 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';
20622
+ _context10.n = 50;
20623
+ return effects.call(updateMessages, channel, updatedMessages, (_updatedMessages$ = updatedMessages[0]) === null || _updatedMessages$ === void 0 ? void 0 : _updatedMessages$.id, messageIdForLoad);
20624
+ case 50:
20625
+ _context10.n = 51;
20875
20626
  return effects.put(setMessagesHasPrevAC(true));
20876
- case 43:
20877
- _context10.n = 44;
20627
+ case 51:
20628
+ _context10.n = 52;
20878
20629
  return effects.put(setMessagesHasNextAC(false));
20879
- case 44:
20630
+ case 52:
20880
20631
  filteredPendingMessages = getFilteredPendingMessages(result.messages);
20881
- _context10.n = 45;
20632
+ _context10.n = 53;
20882
20633
  return effects.put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
20883
- case 45:
20634
+ case 53:
20884
20635
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
20885
20636
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
20886
- _context10.n = 47;
20637
+ _context10.n = 55;
20887
20638
  break;
20888
20639
  }
20889
- _context10.n = 46;
20640
+ _context10.n = 54;
20890
20641
  return effects.put(setWaitToSendPendingMessagesAC(false));
20891
- case 46:
20892
- _context10.n = 47;
20642
+ case 54:
20643
+ _context10.n = 55;
20893
20644
  return effects.spawn(sendPendingMessages, connectionState);
20894
- case 47:
20895
- _context10.n = 48;
20896
- return effects.call(queuedChannelCall, channel.id, SceytChatClient.getChannel, channel.id, true);
20897
- case 48:
20645
+ case 55:
20646
+ _context10.n = 56;
20647
+ return effects.call(SceytChatClient.getChannel, channel.id, true);
20648
+ case 56:
20898
20649
  updatedChannel = _context10.v;
20899
20650
  if (!updatedChannel) {
20900
- _context10.n = 50;
20651
+ _context10.n = 58;
20901
20652
  break;
20902
20653
  }
20903
- _context10.n = 49;
20654
+ _context10.n = 57;
20904
20655
  return effects.put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
20905
- case 49:
20656
+ case 57:
20906
20657
  updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
20907
- case 50:
20908
- _context10.n = 52;
20658
+ case 58:
20659
+ _context10.n = 60;
20909
20660
  break;
20910
- case 51:
20661
+ case 59:
20911
20662
  if (!channel.isMockChannel) {
20912
- _context10.n = 52;
20663
+ _context10.n = 60;
20913
20664
  break;
20914
20665
  }
20915
- _context10.n = 52;
20666
+ _context10.n = 60;
20916
20667
  return effects.put(setMessagesAC([]));
20917
- case 52:
20918
- _context10.n = 54;
20668
+ case 60:
20669
+ _context10.n = 62;
20919
20670
  break;
20920
- case 53:
20921
- _context10.p = 53;
20922
- _t1 = _context10.v;
20923
- log.error('error in message query', _t1);
20924
- case 54:
20925
- _context10.p = 54;
20926
- _context10.n = 55;
20671
+ case 61:
20672
+ _context10.p = 61;
20673
+ _t15 = _context10.v;
20674
+ log.error('error in message query', _t15);
20675
+ case 62:
20676
+ _context10.p = 62;
20677
+ _context10.n = 63;
20927
20678
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
20928
- case 55:
20929
- return _context10.f(54);
20930
- case 56:
20679
+ case 63:
20680
+ return _context10.f(62);
20681
+ case 64:
20931
20682
  return _context10.a(2);
20932
20683
  }
20933
- }, _marked7$1, null, [[0, 53, 54, 56]]);
20684
+ }, _marked7$1, null, [[0, 61, 62, 64]]);
20934
20685
  }
20935
20686
  function getMessageQuery(action) {
20936
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t10;
20687
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t16;
20937
20688
  return _regenerator().w(function (_context11) {
20938
20689
  while (1) switch (_context11.p = _context11.n) {
20939
20690
  case 0:
@@ -20983,15 +20734,15 @@ function getMessageQuery(action) {
20983
20734
  break;
20984
20735
  case 7:
20985
20736
  _context11.p = 7;
20986
- _t10 = _context11.v;
20987
- log.error('error in message query', _t10);
20737
+ _t16 = _context11.v;
20738
+ log.error('error in message query', _t16);
20988
20739
  case 8:
20989
20740
  return _context11.a(2);
20990
20741
  }
20991
20742
  }, _marked8$1, null, [[0, 7]]);
20992
20743
  }
20993
20744
  function loadMoreMessages(action) {
20994
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _t11;
20745
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _result$messages$4, _result$messages4, _result$messages$5, _result$messages5, _t17;
20995
20746
  return _regenerator().w(function (_context12) {
20996
20747
  while (1) switch (_context12.p = _context12.n) {
20997
20748
  case 0:
@@ -21030,12 +20781,12 @@ function loadMoreMessages(action) {
21030
20781
  break;
21031
20782
  }
21032
20783
  _context12.n = 4;
21033
- return effects.call(queuedChannelCall, channelId, messageQuery.loadPreviousMessageId, messageId);
20784
+ return effects.call(messageQuery.loadPreviousMessageId, messageId);
21034
20785
  case 4:
21035
20786
  result = _context12.v;
21036
20787
  if (result.messages.length) {
21037
20788
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.PREV);
21038
- setMessagesToMap(channelId, result.messages);
20789
+ 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);
21039
20790
  }
21040
20791
  _context12.n = 5;
21041
20792
  return effects.put(setMessagesHasPrevAC(result.hasNext));
@@ -21058,12 +20809,12 @@ function loadMoreMessages(action) {
21058
20809
  log.info('saga load next from server ... ', messageId);
21059
20810
  messageQuery.reverse = false;
21060
20811
  _context12.n = 8;
21061
- return effects.call(queuedChannelCall, channelId, messageQuery.loadNextMessageId, messageId);
20812
+ return effects.call(messageQuery.loadNextMessageId, messageId);
21062
20813
  case 8:
21063
20814
  result = _context12.v;
21064
20815
  if (result.messages.length) {
21065
20816
  addAllMessages(result.messages, MESSAGE_LOAD_DIRECTION.NEXT);
21066
- setMessagesToMap(channelId, result.messages);
20817
+ 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);
21067
20818
  }
21068
20819
  _context12.n = 9;
21069
20820
  return effects.put(setMessagesHasNextAC(result.hasNext));
@@ -21104,15 +20855,15 @@ function loadMoreMessages(action) {
21104
20855
  break;
21105
20856
  case 18:
21106
20857
  _context12.p = 18;
21107
- _t11 = _context12.v;
21108
- log.error('error in load more messages', _t11);
20858
+ _t17 = _context12.v;
20859
+ log.error('error in load more messages', _t17);
21109
20860
  case 19:
21110
20861
  return _context12.a(2);
21111
20862
  }
21112
20863
  }, _marked9$1, null, [[0, 18]]);
21113
20864
  }
21114
20865
  function addReaction(action) {
21115
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t12;
20866
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t18;
21116
20867
  return _regenerator().w(function (_context13) {
21117
20868
  while (1) switch (_context13.p = _context13.n) {
21118
20869
  case 0:
@@ -21131,7 +20882,7 @@ function addReaction(action) {
21131
20882
  }
21132
20883
  }
21133
20884
  _context13.n = 2;
21134
- return effects.call(queuedChannelCall, channelId, channel.addReaction, messageId, key, score, reason, enforceUnique);
20885
+ return effects.call(channel.addReaction, messageId, key, score, reason, enforceUnique);
21135
20886
  case 2:
21136
20887
  _yield$call = _context13.v;
21137
20888
  message = _yield$call.message;
@@ -21165,15 +20916,15 @@ function addReaction(action) {
21165
20916
  break;
21166
20917
  case 8:
21167
20918
  _context13.p = 8;
21168
- _t12 = _context13.v;
21169
- log.error('ERROR in add reaction', _t12.message);
20919
+ _t18 = _context13.v;
20920
+ log.error('ERROR in add reaction', _t18.message);
21170
20921
  case 9:
21171
20922
  return _context13.a(2);
21172
20923
  }
21173
20924
  }, _marked0$1, null, [[0, 8]]);
21174
20925
  }
21175
20926
  function deleteReaction(action) {
21176
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t13;
20927
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t19;
21177
20928
  return _regenerator().w(function (_context14) {
21178
20929
  while (1) switch (_context14.p = _context14.n) {
21179
20930
  case 0:
@@ -21191,7 +20942,7 @@ function deleteReaction(action) {
21191
20942
  }
21192
20943
  }
21193
20944
  _context14.n = 2;
21194
- return effects.call(queuedChannelCall, channelId, channel.deleteReaction, messageId, key);
20945
+ return effects.call(channel.deleteReaction, messageId, key);
21195
20946
  case 2:
21196
20947
  _yield$call2 = _context14.v;
21197
20948
  message = _yield$call2.message;
@@ -21221,15 +20972,15 @@ function deleteReaction(action) {
21221
20972
  break;
21222
20973
  case 7:
21223
20974
  _context14.p = 7;
21224
- _t13 = _context14.v;
21225
- log.error('ERROR in delete reaction', _t13.message);
20975
+ _t19 = _context14.v;
20976
+ log.error('ERROR in delete reaction', _t19.message);
21226
20977
  case 8:
21227
20978
  return _context14.a(2);
21228
20979
  }
21229
20980
  }, _marked1$1, null, [[0, 7]]);
21230
20981
  }
21231
20982
  function getReactions(action) {
21232
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t14;
20983
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t20;
21233
20984
  return _regenerator().w(function (_context15) {
21234
20985
  while (1) switch (_context15.p = _context15.n) {
21235
20986
  case 0:
@@ -21264,15 +21015,15 @@ function getReactions(action) {
21264
21015
  break;
21265
21016
  case 6:
21266
21017
  _context15.p = 6;
21267
- _t14 = _context15.v;
21268
- log.error('ERROR in get reactions', _t14.message);
21018
+ _t20 = _context15.v;
21019
+ log.error('ERROR in get reactions', _t20.message);
21269
21020
  case 7:
21270
21021
  return _context15.a(2);
21271
21022
  }
21272
21023
  }, _marked10$1, null, [[0, 6]]);
21273
21024
  }
21274
21025
  function loadMoreReactions(action) {
21275
- var payload, limit, ReactionQuery, result, _t15;
21026
+ var payload, limit, ReactionQuery, result, _t21;
21276
21027
  return _regenerator().w(function (_context16) {
21277
21028
  while (1) switch (_context16.p = _context16.n) {
21278
21029
  case 0:
@@ -21300,15 +21051,15 @@ function loadMoreReactions(action) {
21300
21051
  break;
21301
21052
  case 5:
21302
21053
  _context16.p = 5;
21303
- _t15 = _context16.v;
21304
- log.error('ERROR in load more reactions', _t15.message);
21054
+ _t21 = _context16.v;
21055
+ log.error('ERROR in load more reactions', _t21.message);
21305
21056
  case 6:
21306
21057
  return _context16.a(2);
21307
21058
  }
21308
21059
  }, _marked11$1, null, [[0, 5]]);
21309
21060
  }
21310
21061
  function getMessageAttachments(action) {
21311
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t16;
21062
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t22;
21312
21063
  return _regenerator().w(function (_context17) {
21313
21064
  while (1) switch (_context17.p = _context17.n) {
21314
21065
  case 0:
@@ -21386,15 +21137,15 @@ function getMessageAttachments(action) {
21386
21137
  break;
21387
21138
  case 13:
21388
21139
  _context17.p = 13;
21389
- _t16 = _context17.v;
21390
- log.error('error in message attachment query', _t16);
21140
+ _t22 = _context17.v;
21141
+ log.error('error in message attachment query', _t22);
21391
21142
  case 14:
21392
21143
  return _context17.a(2);
21393
21144
  }
21394
21145
  }, _marked12$1, null, [[0, 13]]);
21395
21146
  }
21396
21147
  function loadMoreMessageAttachments(action) {
21397
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t17;
21148
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t23;
21398
21149
  return _regenerator().w(function (_context18) {
21399
21150
  while (1) switch (_context18.p = _context18.n) {
21400
21151
  case 0:
@@ -21438,15 +21189,15 @@ function loadMoreMessageAttachments(action) {
21438
21189
  break;
21439
21190
  case 8:
21440
21191
  _context18.p = 8;
21441
- _t17 = _context18.v;
21442
- log.error('error in message attachment query', _t17);
21192
+ _t23 = _context18.v;
21193
+ log.error('error in message attachment query', _t23);
21443
21194
  case 9:
21444
21195
  return _context18.a(2);
21445
21196
  }
21446
21197
  }, _marked13$1, null, [[0, 8]]);
21447
21198
  }
21448
21199
  function pauseAttachmentUploading(action) {
21449
- var attachmentId, isPaused, _t18;
21200
+ var attachmentId, isPaused, _t24;
21450
21201
  return _regenerator().w(function (_context19) {
21451
21202
  while (1) switch (_context19.p = _context19.n) {
21452
21203
  case 0:
@@ -21468,15 +21219,15 @@ function pauseAttachmentUploading(action) {
21468
21219
  break;
21469
21220
  case 2:
21470
21221
  _context19.p = 2;
21471
- _t18 = _context19.v;
21472
- log.error('error in pause attachment uploading', _t18);
21222
+ _t24 = _context19.v;
21223
+ log.error('error in pause attachment uploading', _t24);
21473
21224
  case 3:
21474
21225
  return _context19.a(2);
21475
21226
  }
21476
21227
  }, _marked14$1, null, [[0, 2]]);
21477
21228
  }
21478
21229
  function resumeAttachmentUploading(action) {
21479
- var attachmentId, isResumed, _t19;
21230
+ var attachmentId, isResumed, _t25;
21480
21231
  return _regenerator().w(function (_context20) {
21481
21232
  while (1) switch (_context20.p = _context20.n) {
21482
21233
  case 0:
@@ -21499,15 +21250,15 @@ function resumeAttachmentUploading(action) {
21499
21250
  break;
21500
21251
  case 2:
21501
21252
  _context20.p = 2;
21502
- _t19 = _context20.v;
21503
- log.error('error in resume attachment uploading', _t19);
21253
+ _t25 = _context20.v;
21254
+ log.error('error in resume attachment uploading', _t25);
21504
21255
  case 3:
21505
21256
  return _context20.a(2);
21506
21257
  }
21507
21258
  }, _marked15$1, null, [[0, 2]]);
21508
21259
  }
21509
21260
  function getMessageMarkers(action) {
21510
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t20;
21261
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t26;
21511
21262
  return _regenerator().w(function (_context21) {
21512
21263
  while (1) switch (_context21.p = _context21.n) {
21513
21264
  case 0:
@@ -21537,8 +21288,8 @@ function getMessageMarkers(action) {
21537
21288
  break;
21538
21289
  case 5:
21539
21290
  _context21.p = 5;
21540
- _t20 = _context21.v;
21541
- log.error('error in get message markers', _t20);
21291
+ _t26 = _context21.v;
21292
+ log.error('error in get message markers', _t26);
21542
21293
  case 6:
21543
21294
  _context21.p = 6;
21544
21295
  _context21.n = 7;
@@ -21676,7 +21427,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
21676
21427
  }, _marked18$1);
21677
21428
  }
21678
21429
  function addPollVote(action) {
21679
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, connectionState, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t21;
21430
+ 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;
21680
21431
  return _regenerator().w(function (_context24) {
21681
21432
  while (1) switch (_context24.p = _context24.n) {
21682
21433
  case 0:
@@ -21775,8 +21526,8 @@ function addPollVote(action) {
21775
21526
  break;
21776
21527
  case 8:
21777
21528
  _context24.p = 8;
21778
- _t21 = _context24.v;
21779
- log.error('error in add poll vote', _t21);
21529
+ _t27 = _context24.v;
21530
+ log.error('error in add poll vote', _t27);
21780
21531
  case 9:
21781
21532
  return _context24.a(2);
21782
21533
  }
@@ -21877,7 +21628,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
21877
21628
  }, _marked21$1);
21878
21629
  }
21879
21630
  function deletePollVote(action) {
21880
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, connectionState, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t22;
21631
+ 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;
21881
21632
  return _regenerator().w(function (_context27) {
21882
21633
  while (1) switch (_context27.p = _context27.n) {
21883
21634
  case 0:
@@ -21962,8 +21713,8 @@ function deletePollVote(action) {
21962
21713
  break;
21963
21714
  case 9:
21964
21715
  _context27.p = 9;
21965
- _t22 = _context27.v;
21966
- log.error('error in delete poll vote', _t22);
21716
+ _t28 = _context27.v;
21717
+ log.error('error in delete poll vote', _t28);
21967
21718
  case 10:
21968
21719
  return _context27.a(2);
21969
21720
  }
@@ -22041,7 +21792,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
22041
21792
  }, _marked24$1);
22042
21793
  }
22043
21794
  function closePoll(action) {
22044
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t23;
21795
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t29;
22045
21796
  return _regenerator().w(function (_context30) {
22046
21797
  while (1) switch (_context30.p = _context30.n) {
22047
21798
  case 0:
@@ -22074,8 +21825,8 @@ function closePoll(action) {
22074
21825
  break;
22075
21826
  case 4:
22076
21827
  _context30.p = 4;
22077
- _t23 = _context30.v;
22078
- log.error('error in close poll', _t23);
21828
+ _t29 = _context30.v;
21829
+ log.error('error in close poll', _t29);
22079
21830
  case 5:
22080
21831
  return _context30.a(2);
22081
21832
  }
@@ -22164,7 +21915,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
22164
21915
  }, _marked27$1);
22165
21916
  }
22166
21917
  function retractPollVote(action) {
22167
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t24;
21918
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator5, _step5, _message$pollDetails12, _message$pollDetails13, vote, _t30;
22168
21919
  return _regenerator().w(function (_context33) {
22169
21920
  while (1) switch (_context33.p = _context33.n) {
22170
21921
  case 0:
@@ -22206,15 +21957,15 @@ function retractPollVote(action) {
22206
21957
  break;
22207
21958
  case 4:
22208
21959
  _context33.p = 4;
22209
- _t24 = _context33.v;
22210
- log.error('error in retract poll vote', _t24);
21960
+ _t30 = _context33.v;
21961
+ log.error('error in retract poll vote', _t30);
22211
21962
  case 5:
22212
21963
  return _context33.a(2);
22213
21964
  }
22214
21965
  }, _marked28$1, null, [[0, 4]]);
22215
21966
  }
22216
21967
  function resendPendingPollActions(action) {
22217
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t25;
21968
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t31;
22218
21969
  return _regenerator().w(function (_context34) {
22219
21970
  while (1) switch (_context34.p = _context34.n) {
22220
21971
  case 0:
@@ -22230,13 +21981,6 @@ function resendPendingPollActions(action) {
22230
21981
  case 1:
22231
21982
  pendingPollActionsMap = store.getState().MessageReducer.pendingPollActions;
22232
21983
  pendingPollActionsMapCopy = JSON.parse(JSON.stringify(pendingPollActionsMap));
22233
- _context34.n = 2;
22234
- return effects.call(function () {
22235
- return new Promise(function (resolve) {
22236
- return setTimeout(resolve, 1000);
22237
- });
22238
- });
22239
- case 2:
22240
21984
  Object.keys(pendingPollActionsMapCopy).forEach(function (messageId) {
22241
21985
  pendingPollActionsMapCopy[messageId].forEach(function (pendingAction) {
22242
21986
  var type = pendingAction.type,
@@ -22266,19 +22010,19 @@ function resendPendingPollActions(action) {
22266
22010
  }
22267
22011
  });
22268
22012
  });
22269
- _context34.n = 4;
22013
+ _context34.n = 3;
22270
22014
  break;
22015
+ case 2:
22016
+ _context34.p = 2;
22017
+ _t31 = _context34.v;
22018
+ log.error('error in resend pending poll actions', _t31);
22271
22019
  case 3:
22272
- _context34.p = 3;
22273
- _t25 = _context34.v;
22274
- log.error('error in resend pending poll actions', _t25);
22275
- case 4:
22276
22020
  return _context34.a(2);
22277
22021
  }
22278
- }, _marked29$1, null, [[0, 3]]);
22022
+ }, _marked29$1, null, [[0, 2]]);
22279
22023
  }
22280
22024
  function getPollVotes(action) {
22281
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t26;
22025
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t32;
22282
22026
  return _regenerator().w(function (_context35) {
22283
22027
  while (1) switch (_context35.p = _context35.n) {
22284
22028
  case 0:
@@ -22344,8 +22088,8 @@ function getPollVotes(action) {
22344
22088
  break;
22345
22089
  case 7:
22346
22090
  _context35.p = 7;
22347
- _t26 = _context35.v;
22348
- log.error('ERROR in get poll votes', _t26);
22091
+ _t32 = _context35.v;
22092
+ log.error('ERROR in get poll votes', _t32);
22349
22093
  _context35.n = 8;
22350
22094
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22351
22095
  case 8:
@@ -22354,7 +22098,7 @@ function getPollVotes(action) {
22354
22098
  }, _marked30$1, null, [[0, 7]]);
22355
22099
  }
22356
22100
  function loadMorePollVotes(action) {
22357
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t27;
22101
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t33;
22358
22102
  return _regenerator().w(function (_context36) {
22359
22103
  while (1) switch (_context36.p = _context36.n) {
22360
22104
  case 0:
@@ -22412,8 +22156,8 @@ function loadMorePollVotes(action) {
22412
22156
  break;
22413
22157
  case 6:
22414
22158
  _context36.p = 6;
22415
- _t27 = _context36.v;
22416
- log.error('ERROR in load more poll votes', _t27);
22159
+ _t33 = _context36.v;
22160
+ log.error('ERROR in load more poll votes', _t33);
22417
22161
  _context36.n = 7;
22418
22162
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22419
22163
  case 7:
@@ -38608,7 +38352,8 @@ var MessageList = function MessageList(_ref2) {
38608
38352
  var handleMessagesListScroll = React.useCallback(function () {
38609
38353
  try {
38610
38354
  var target = scrollRef.current;
38611
- if (!target) return Promise.resolve();
38355
+ var messageBox = document.getElementById('messageBox');
38356
+ if (!target || !messageBox) return Promise.resolve();
38612
38357
  if (scrollToMentionedMessage) {
38613
38358
  if (target.scrollTop <= -50 || channel.lastMessage.id !== messages[messages.length - 1].id) {
38614
38359
  dispatch(showScrollToNewMessageButtonAC(true));
@@ -38621,9 +38366,12 @@ var MessageList = function MessageList(_ref2) {
38621
38366
  clearTimeout(hideTopDateTimeout.current);
38622
38367
  renderTopDate();
38623
38368
  var forceLoadPrevMessages = false;
38624
- if (-target.scrollTop + target.offsetHeight + 30 > target.scrollHeight) {
38369
+ if (-target.scrollTop + target.offsetHeight + 100 > messageBox.scrollHeight) {
38625
38370
  forceLoadPrevMessages = true;
38626
38371
  }
38372
+ if (unreadScrollTo) {
38373
+ return Promise.resolve();
38374
+ }
38627
38375
  if (target.scrollTop === 0 && scrollToNewMessage.scrollToBottom && scrollToNewMessage.updateMessageList && messagesLoading !== LOADING_STATE.LOADING) {
38628
38376
  dispatch(getMessagesAC(channel, true));
38629
38377
  }
@@ -38638,7 +38386,7 @@ var MessageList = function MessageList(_ref2) {
38638
38386
  }
38639
38387
  var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
38640
38388
  var hasIndex = typeof currentIndex === 'number';
38641
- if (hasIndex && currentIndex < 15 || forceLoadPrevMessages) {
38389
+ if (hasIndex && currentIndex < 10 || forceLoadPrevMessages) {
38642
38390
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && hasPrevMessages) {
38643
38391
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || prevDisableRef.current) {
38644
38392
  shouldLoadMessagesRef.current = 'prev';
@@ -38655,7 +38403,7 @@ var MessageList = function MessageList(_ref2) {
38655
38403
  }
38656
38404
  }
38657
38405
  }
38658
- if (hasIndex && currentIndex >= messages.length - 15 || target.scrollTop === 0) {
38406
+ if (hasIndex && currentIndex >= messages.length - 10 || target.scrollTop > -100) {
38659
38407
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && !scrollToNewMessage.scrollToBottom && (hasNextMessages || getHasNextCached())) {
38660
38408
  if (loadingRef.current || messagesLoading === LOADING_STATE.LOADING || nextDisableRef.current) {
38661
38409
  shouldLoadMessagesRef.current = 'next';
@@ -38714,7 +38462,7 @@ var MessageList = function MessageList(_ref2) {
38714
38462
  }, 1000 + positiveValue * 0.1);
38715
38463
  }
38716
38464
  } else {
38717
- dispatch(getMessagesAC(channel, undefined, messageId));
38465
+ dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, true, 'smooth', true));
38718
38466
  }
38719
38467
  return Promise.resolve();
38720
38468
  } catch (e) {
@@ -39177,7 +38925,8 @@ var MessageList = function MessageList(_ref2) {
39177
38925
  enableResetScrollToCoords: false,
39178
38926
  replyMessage: messageForReply && messageForReply.id,
39179
38927
  attachmentsSelected: attachmentsSelected,
39180
- className: 'messageBox'
38928
+ className: 'messageBox',
38929
+ id: 'messageBox'
39181
38930
  }, messages.map(function (message, index) {
39182
38931
  var prevMessage = messages[index - 1];
39183
38932
  var nextMessage = messages[index + 1];