sceyt-chat-react-uikit 1.7.9-beta.7 → 1.7.9-beta.8

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 +465 -451
  2. package/index.modern.js +465 -451
  3. package/package.json +1 -1
package/index.js CHANGED
@@ -10847,6 +10847,11 @@ function updatePendingMessageAC(channelId, messageId, updatedMessage) {
10847
10847
  updatedMessage: updatedMessage
10848
10848
  });
10849
10849
  }
10850
+ function setUnreadMessageIdAC(messageId) {
10851
+ return setUnreadMessageId({
10852
+ messageId: messageId
10853
+ });
10854
+ }
10850
10855
 
10851
10856
  var MESSAGES_MAX_PAGE_COUNT = 80;
10852
10857
  var MESSAGES_MAX_LENGTH = 50;
@@ -11367,6 +11372,31 @@ var setPendingPollAction = function setPendingPollAction(action) {
11367
11372
  }
11368
11373
  store.dispatch(setPendingPollActionsMapAC(messageId, action));
11369
11374
  };
11375
+ var getCenterTwoMessages = function getCenterTwoMessages(messages) {
11376
+ var mid = Math.floor(messages.length / 2);
11377
+ if (messages.length % 2 === 0) {
11378
+ return {
11379
+ mid1: {
11380
+ messageId: messages[mid - 1].id,
11381
+ index: mid - 1
11382
+ },
11383
+ mid2: {
11384
+ messageId: messages[mid].id,
11385
+ index: mid
11386
+ }
11387
+ };
11388
+ }
11389
+ return {
11390
+ mid1: {
11391
+ messageId: messages[mid - 1].id,
11392
+ index: mid - 1
11393
+ },
11394
+ mid2: {
11395
+ messageId: messages[mid + 1].id,
11396
+ index: mid + 1
11397
+ }
11398
+ };
11399
+ };
11370
11400
 
11371
11401
  var initialState$1 = {
11372
11402
  messagesLoadingState: null,
@@ -11413,7 +11443,8 @@ var initialState$1 = {
11413
11443
  pollVotesInitialCount: null,
11414
11444
  pendingPollActions: {},
11415
11445
  pendingMessagesMap: {},
11416
- unreadScrollTo: true
11446
+ unreadScrollTo: true,
11447
+ unreadMessageId: ''
11417
11448
  };
11418
11449
  var messageSlice = createSlice({
11419
11450
  name: 'messages',
@@ -11989,6 +12020,9 @@ var messageSlice = createSlice({
11989
12020
  },
11990
12021
  clearPendingMessagesMap: function clearPendingMessagesMap(state) {
11991
12022
  state.pendingMessagesMap = {};
12023
+ },
12024
+ setUnreadMessageId: function setUnreadMessageId(state, action) {
12025
+ state.unreadMessageId = action.payload.messageId;
11992
12026
  }
11993
12027
  },
11994
12028
  extraReducers: function extraReducers(builder) {
@@ -12053,7 +12087,8 @@ var _messageSlice$actions = messageSlice.actions,
12053
12087
  setPendingMessage$1 = _messageSlice$actions.setPendingMessage,
12054
12088
  removePendingMessage = _messageSlice$actions.removePendingMessage,
12055
12089
  updatePendingMessage = _messageSlice$actions.updatePendingMessage,
12056
- updatePendingPollAction = _messageSlice$actions.updatePendingPollAction;
12090
+ updatePendingPollAction = _messageSlice$actions.updatePendingPollAction,
12091
+ setUnreadMessageId = _messageSlice$actions.setUnreadMessageId;
12057
12092
  var MessageReducer = messageSlice.reducer;
12058
12093
 
12059
12094
  var initialState$2 = {
@@ -17491,7 +17526,7 @@ function markMessagesRead(action) {
17491
17526
  }, _marked9, null, [[2, 9]]);
17492
17527
  }
17493
17528
  function markVoiceMessageAsPlayed(action) {
17494
- var payload, channelId, messageIds, channel, _t10;
17529
+ var payload, channelId, messageIds, channel, messageListMarker, _iterator6, _step6, messageId, updateParams, _t10;
17495
17530
  return _regenerator().w(function (_context0) {
17496
17531
  while (1) switch (_context0.p = _context0.n) {
17497
17532
  case 0:
@@ -17509,25 +17544,54 @@ function markVoiceMessageAsPlayed(action) {
17509
17544
  }
17510
17545
  }
17511
17546
  if (!channel) {
17512
- _context0.n = 3;
17547
+ _context0.n = 7;
17513
17548
  break;
17514
17549
  }
17515
17550
  _context0.n = 3;
17516
17551
  return effects.call(channel.markVoiceMessagesAsPlayed, messageIds);
17517
17552
  case 3:
17553
+ messageListMarker = _context0.v;
17554
+ _iterator6 = _createForOfIteratorHelperLoose(messageListMarker.messageIds);
17555
+ case 4:
17556
+ if ((_step6 = _iterator6()).done) {
17557
+ _context0.n = 7;
17558
+ break;
17559
+ }
17560
+ messageId = _step6.value;
17561
+ updateParams = {
17562
+ deliveryStatus: MESSAGE_DELIVERY_STATUS.PLAYED,
17563
+ userMarkers: [{
17564
+ user: messageListMarker.user,
17565
+ createdAt: messageListMarker.createdAt,
17566
+ messageId: messageId,
17567
+ name: MESSAGE_DELIVERY_STATUS.READ
17568
+ }]
17569
+ };
17518
17570
  _context0.n = 5;
17571
+ return effects.put(updateMessageAC(messageId, updateParams));
17572
+ case 5:
17573
+ updateMessageOnMap(channel.id, {
17574
+ messageId: messageId,
17575
+ params: updateParams
17576
+ });
17577
+ updateMessageOnAllMessages(messageId, updateParams);
17578
+ case 6:
17579
+ _context0.n = 4;
17519
17580
  break;
17520
- case 4:
17521
- _context0.p = 4;
17581
+ case 7:
17582
+ _context0.n = 9;
17583
+ break;
17584
+ case 8:
17585
+ _context0.p = 8;
17522
17586
  _t10 = _context0.v;
17523
17587
  log.error(_t10, 'Error on mark voice messages read');
17524
- case 5:
17588
+ case 9:
17525
17589
  return _context0.a(2);
17526
17590
  }
17527
- }, _marked0, null, [[1, 4]]);
17591
+ }, _marked0, null, [[1, 8]]);
17528
17592
  }
17529
17593
  function markMessagesDelivered(action) {
17530
- var payload, channelId, messageIds, channel, _t11;
17594
+ var payload, channelId, messageIds, channel, messageListMarker, _iterator7, _step7, messageId, updateParams, _t11;
17531
17595
  return _regenerator().w(function (_context1) {
17532
17596
  while (1) switch (_context1.p = _context1.n) {
17533
17597
  case 0:
@@ -17545,23 +17609,52 @@ function markMessagesDelivered(action) {
17545
17609
  }
17546
17610
  }
17547
17611
  if (!channel) {
17548
- _context1.n = 3;
17612
+ _context1.n = 7;
17549
17613
  break;
17550
17614
  }
17551
17615
  log.info('send delivered marker ', messageIds);
17552
17616
  _context1.n = 3;
17553
17617
  return effects.call(channel.markMessagesAsReceived, messageIds);
17554
17618
  case 3:
17619
+ messageListMarker = _context1.v;
17620
+ _iterator7 = _createForOfIteratorHelperLoose(messageListMarker.messageIds);
17621
+ case 4:
17622
+ if ((_step7 = _iterator7()).done) {
17623
+ _context1.n = 7;
17624
+ break;
17625
+ }
17626
+ messageId = _step7.value;
17627
+ updateParams = {
17628
+ deliveryStatus: MESSAGE_DELIVERY_STATUS.DELIVERED,
17629
+ userMarkers: [{
17630
+ user: messageListMarker.user,
17631
+ createdAt: messageListMarker.createdAt,
17632
+ messageId: messageId,
17633
+ name: MESSAGE_DELIVERY_STATUS.DELIVERED
17634
+ }]
17635
+ };
17555
17636
  _context1.n = 5;
17637
+ return effects.put(updateMessageAC(messageId, updateParams));
17638
+ case 5:
17639
+ updateMessageOnMap(channel.id, {
17640
+ messageId: messageId,
17641
+ params: updateParams
17642
+ });
17643
+ updateMessageOnAllMessages(messageId, updateParams);
17644
+ case 6:
17645
+ _context1.n = 4;
17556
17646
  break;
17557
- case 4:
17558
- _context1.p = 4;
17647
+ case 7:
17648
+ _context1.n = 9;
17649
+ break;
17650
+ case 8:
17651
+ _context1.p = 8;
17559
17652
  _t11 = _context1.v;
17560
17653
  log.error(_t11, 'Error on mark messages delivered');
17561
- case 5:
17654
+ case 9:
17562
17655
  return _context1.a(2);
17563
17656
  }
17564
- }, _marked1, null, [[1, 4]]);
17657
+ }, _marked1, null, [[1, 8]]);
17565
17658
  }
17566
17659
  function switchChannel(action) {
17567
17660
  var payload, channel, updateActiveChannel, channelToSwitch, existingChannel, addChannel, _SceytChatClient5, fetchedChannel, channelFromMap, currentActiveChannel, _t12;
@@ -17959,18 +18052,18 @@ function leaveChannel(action) {
17959
18052
  }, _marked18, null, [[0, 6]]);
17960
18053
  }
17961
18054
  function deletePendingDeleteChannels() {
17962
- var pendingDeleteChannels, _iterator6, _step6, channel, resendableError, _t20;
18055
+ var pendingDeleteChannels, _iterator8, _step8, channel, resendableError, _t20;
17963
18056
  return _regenerator().w(function (_context19) {
17964
18057
  while (1) switch (_context19.p = _context19.n) {
17965
18058
  case 0:
17966
18059
  pendingDeleteChannels = getPendingDeleteChannels();
17967
- _iterator6 = _createForOfIteratorHelperLoose(pendingDeleteChannels);
18060
+ _iterator8 = _createForOfIteratorHelperLoose(pendingDeleteChannels);
17968
18061
  case 1:
17969
- if ((_step6 = _iterator6()).done) {
18062
+ if ((_step8 = _iterator8()).done) {
17970
18063
  _context19.n = 9;
17971
18064
  break;
17972
18065
  }
17973
- channel = _step6.value;
18066
+ channel = _step8.value;
17974
18067
  _context19.p = 2;
17975
18068
  _context19.n = 3;
17976
18069
  return effects.call(channel["delete"]);
@@ -19699,7 +19792,7 @@ var updateMessage$1 = function updateMessage(actionType, pending, channelId, scr
19699
19792
  break;
19700
19793
  }
19701
19794
  _context.n = 7;
19702
- 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, false, 'smooth', true));
19795
+ return effects.put(getMessagesAC(channel, true, channel === null || channel === void 0 ? void 0 : (_channel$lastMessage3 = channel.lastMessage) === null || _channel$lastMessage3 === void 0 ? void 0 : _channel$lastMessage3.id, undefined, false, 'smooth', true));
19703
19796
  case 7:
19704
19797
  return _context.a(2);
19705
19798
  }
@@ -20002,22 +20095,10 @@ function sendMessage(action) {
20002
20095
  return attachment;
20003
20096
  });
20004
20097
  }
20005
- messageUpdateData = {
20006
- id: messageResponse.id,
20007
- body: messageResponse.body,
20008
- type: messageResponse.type,
20009
- state: messageResponse.state,
20010
- displayCount: messageResponse.displayCount,
20011
- deliveryStatus: messageResponse.deliveryStatus,
20098
+ messageUpdateData = _extends({}, messageResponse, {
20012
20099
  attachments: attachmentsToUpdate,
20013
- mentionedUsers: messageResponse.mentionedUsers,
20014
- bodyAttributes: messageResponse.bodyAttributes,
20015
- metadata: messageResponse.metadata,
20016
- parentMessage: messageResponse.parentMessage,
20017
- repliedInThread: messageResponse.repliedInThread,
20018
- createdAt: messageResponse.createdAt,
20019
20100
  channelId: channel.id
20020
- };
20101
+ });
20021
20102
  stringifiedMessageUpdateData = JSON.parse(JSON.stringify(messageResponse));
20022
20103
  activeChannelId = getActiveChannelId();
20023
20104
  if (!(activeChannelId === channel.id)) {
@@ -20130,7 +20211,7 @@ function sendMessage(action) {
20130
20211
  }, _marked$3, null, [[1, 16, 17, 19]]);
20131
20212
  }
20132
20213
  function sendTextMessage(action) {
20133
- var payload, message, connectionState, channelId, channel, sendMessageTid, pendingMessage, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, _messageResponse, messageResponse, messageUpdateData, activeChannelId, stringifiedMessageUpdateData, messageToUpdate, channelUpdateParam, _channel3, _channel4, isErrorResendable, _activeChannelId, _t3;
20214
+ var payload, message, connectionState, channelId, channel, sendMessageTid, pendingMessage, SceytChatClient, createChannelData, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, createdMessage, messageToSend, messageResponse, messageUpdateData, activeChannelId, stringifiedMessageUpdateData, messageToUpdate, channelUpdateParam, _channel3, _channel4, isErrorResendable, _activeChannelId, _t3;
20134
20215
  return _regenerator().w(function (_context5) {
20135
20216
  while (1) switch (_context5.p = _context5.n) {
20136
20217
  case 0:
@@ -20240,23 +20321,9 @@ function sendTextMessage(action) {
20240
20321
  case 11:
20241
20322
  messageResponse = _context5.v;
20242
20323
  case 12:
20243
- messageUpdateData = {
20244
- id: messageResponse.id,
20245
- body: messageResponse.body,
20246
- type: messageResponse.type,
20247
- state: messageResponse.state,
20248
- bodyAttributes: messageResponse.bodyAttributes,
20249
- displayCount: messageResponse.displayCount,
20250
- deliveryStatus: messageResponse.deliveryStatus,
20251
- attachments: messageResponse.attachments,
20252
- mentionedUsers: messageResponse.mentionedUsers,
20253
- metadata: messageResponse.metadata,
20254
- parentMessage: messageResponse.parentMessage,
20255
- repliedInThread: messageResponse.repliedInThread,
20256
- createdAt: messageResponse.createdAt,
20257
- pollDetails: (_messageResponse = messageResponse) === null || _messageResponse === void 0 ? void 0 : _messageResponse.pollDetails,
20324
+ messageUpdateData = _extends({}, messageResponse, {
20258
20325
  channelId: channel.id
20259
- };
20326
+ });
20260
20327
  activeChannelId = getActiveChannelId();
20261
20328
  if (!(activeChannelId === channel.id)) {
20262
20329
  _context5.n = 13;
@@ -20479,20 +20546,9 @@ function forwardMessage(action) {
20479
20546
  return effects.call(channel.sendMessage, messageToSend);
20480
20547
  case 10:
20481
20548
  messageResponse = _context6.v;
20482
- messageUpdateData = {
20483
- id: messageResponse.id,
20484
- type: messageResponse.type,
20485
- state: messageResponse.state,
20486
- displayCount: messageResponse.displayCount,
20487
- deliveryStatus: messageResponse.deliveryStatus,
20488
- attachments: messageResponse.attachments,
20489
- mentionedUsers: messageResponse.mentionedUsers,
20490
- metadata: messageResponse.metadata,
20491
- parentMessage: messageResponse.parentMessage,
20492
- repliedInThread: messageResponse.repliedInThread,
20493
- createdAt: messageResponse.createdAt,
20549
+ messageUpdateData = _extends({}, messageResponse, {
20494
20550
  channelId: channel.id
20495
- };
20551
+ });
20496
20552
  if (!(channelId === activeChannelId)) {
20497
20553
  _context6.n = 12;
20498
20554
  break;
@@ -20894,7 +20950,7 @@ var getFilteredPendingMessages = function getFilteredPendingMessages(messages) {
20894
20950
  return filteredPendingMessages;
20895
20951
  };
20896
20952
  function getMessagesQuery(action) {
20897
- var _action$payload, channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged, connectionState, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, _result$messages$, _result$messages, _messages$Math$floor, messages, centerMessageId, loadWithMessageId, allMessages, messageIndex, maxLengthPart, _result$messages$2, _result$messages2, secondResult, thirdResult, fourthResult, _fourthResult, _result$messages$3, _result$messages3, _channel$lastMessage4, _channel$lastMessage5, _channel$lastMessage6, _result$messages4, _filteredPendingMessages, updatedMessages, messageIdForLoad, _updatedMessages$, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20;
20953
+ var _action$payload, channel, loadWithLastMessage, messageId, limit, highlight, behavior, scrollToMessage, networkChanged, channelNewMessageCount, connectionState, SceytChatClient, _updatedChannel, messageQueryBuilder, messageQuery, cachedMessages, result, _result$messages$, _result$messages, _result$messages$2, _result$messages2, messages, loadNextMessageId, loadPreviousMessageId, nextLoadLimit, previousLoadLimit, centerMessageIndex, firstResult, secondResult, _result$messages$3, _result$messages3, _channel$lastMessage4, _channel$lastMessage5, _channel$lastMessage6, _result$messages4, _messages, _filteredPendingMessages, updatedMessages, messageIdForLoad, _updatedMessages$, filteredPendingMessages, waitToSendPendingMessages, updatedChannel, _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
20898
20954
  return _regenerator().w(function (_context10) {
20899
20955
  while (1) switch (_context10.p = _context10.n) {
20900
20956
  case 0:
@@ -20903,29 +20959,69 @@ function getMessagesQuery(action) {
20903
20959
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
20904
20960
  case 1:
20905
20961
  _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, highlight = _action$payload.highlight, behavior = _action$payload.behavior, scrollToMessage = _action$payload.scrollToMessage, networkChanged = _action$payload.networkChanged;
20962
+ channelNewMessageCount = (channel === null || channel === void 0 ? void 0 : channel.newMessageCount) || 0;
20906
20963
  connectionState = store.getState().UserReducer.connectionStatus;
20907
20964
  if (!(channel !== null && channel !== void 0 && channel.id && !(channel !== null && channel !== void 0 && channel.isMockChannel))) {
20908
- _context10.n = 87;
20965
+ _context10.n = 77;
20909
20966
  break;
20910
20967
  }
20911
20968
  SceytChatClient = getClient();
20969
+ if (!networkChanged) {
20970
+ _context10.n = 8;
20971
+ break;
20972
+ }
20973
+ _context10.p = 2;
20974
+ _context10.n = 3;
20975
+ return effects.call(SceytChatClient.getChannel, channel.id, true);
20976
+ case 3:
20977
+ _updatedChannel = _context10.v;
20978
+ if (!(_updatedChannel && _updatedChannel !== null && _updatedChannel !== void 0 && _updatedChannel.id)) {
20979
+ _context10.n = 6;
20980
+ break;
20981
+ }
20982
+ _context10.n = 4;
20983
+ return effects.put(updateChannelDataAC(channel.id, _extends({}, _updatedChannel)));
20984
+ case 4:
20985
+ channelNewMessageCount = (_updatedChannel === null || _updatedChannel === void 0 ? void 0 : _updatedChannel.newMessageCount) || 0;
20986
+ if (!(channelNewMessageCount !== channel.newMessageCount)) {
20987
+ _context10.n = 6;
20988
+ break;
20989
+ }
20990
+ _context10.n = 5;
20991
+ return effects.put(updateChannelDataAC(channel.id, {
20992
+ newMessageCount: channelNewMessageCount
20993
+ }));
20994
+ case 5:
20995
+ updateChannelOnAllChannels(channel.id, {
20996
+ newMessageCount: channelNewMessageCount
20997
+ });
20998
+ _context10.n = 6;
20999
+ return effects.put(setUnreadMessageIdAC(channel.lastDisplayedMessageId));
21000
+ case 6:
21001
+ _context10.n = 8;
21002
+ break;
21003
+ case 7:
21004
+ _context10.p = 7;
21005
+ _t0 = _context10.v;
21006
+ log.error('error to get updated channel in get messages query', _t0);
21007
+ case 8:
20912
21008
  messageQueryBuilder = new SceytChatClient.MessageListQueryBuilder(channel.id);
20913
21009
  messageQueryBuilder.limit(limit || MESSAGES_MAX_LENGTH);
20914
21010
  messageQueryBuilder.reverse(true);
20915
21011
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20916
- _context10.n = 3;
21012
+ _context10.n = 10;
20917
21013
  break;
20918
21014
  }
20919
- _context10.n = 2;
21015
+ _context10.n = 9;
20920
21016
  return effects.call(messageQueryBuilder.build);
20921
- case 2:
20922
- _t0 = _context10.v;
20923
- _context10.n = 4;
21017
+ case 9:
21018
+ _t1 = _context10.v;
21019
+ _context10.n = 11;
20924
21020
  break;
20925
- case 3:
20926
- _t0 = null;
20927
- case 4:
20928
- messageQuery = _t0;
21021
+ case 10:
21022
+ _t1 = null;
21023
+ case 11:
21024
+ messageQuery = _t1;
20929
21025
  query.messageQuery = messageQuery;
20930
21026
  cachedMessages = Object.values(getMessagesFromMap(channel.id) || {}).sort(function (a, b) {
20931
21027
  return Number(a.id) - Number(b.id);
@@ -20935,161 +21031,126 @@ function getMessagesQuery(action) {
20935
21031
  hasNext: false
20936
21032
  };
20937
21033
  if (!loadWithLastMessage) {
20938
- _context10.n = 22;
21034
+ _context10.n = 29;
20939
21035
  break;
20940
21036
  }
20941
- if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
20942
- _context10.n = 15;
21037
+ if (!(channelNewMessageCount && channelNewMessageCount > 0)) {
21038
+ _context10.n = 22;
20943
21039
  break;
20944
21040
  }
20945
21041
  setHasPrevCached(false);
20946
21042
  setAllMessages([]);
20947
21043
  messageQuery.limit = MESSAGES_MAX_LENGTH;
20948
21044
  if (!Number(channel.lastDisplayedMessageId)) {
20949
- _context10.n = 8;
21045
+ _context10.n = 15;
20950
21046
  break;
20951
21047
  }
20952
21048
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20953
- _context10.n = 6;
21049
+ _context10.n = 13;
20954
21050
  break;
20955
21051
  }
20956
- _context10.n = 5;
21052
+ _context10.n = 12;
20957
21053
  return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
20958
- case 5:
20959
- _t1 = _context10.v;
20960
- _context10.n = 7;
21054
+ case 12:
21055
+ _t10 = _context10.v;
21056
+ _context10.n = 14;
20961
21057
  break;
20962
- case 6:
20963
- _t1 = {
21058
+ case 13:
21059
+ _t10 = {
20964
21060
  messages: [],
20965
21061
  hasNext: false
20966
21062
  };
20967
- case 7:
20968
- result = _t1;
20969
- _context10.n = 12;
21063
+ case 14:
21064
+ result = _t10;
21065
+ _context10.n = 19;
20970
21066
  break;
20971
- case 8:
21067
+ case 15:
20972
21068
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
20973
- _context10.n = 10;
21069
+ _context10.n = 17;
20974
21070
  break;
20975
21071
  }
20976
- _context10.n = 9;
21072
+ _context10.n = 16;
20977
21073
  return effects.call(messageQuery.loadPrevious);
20978
- case 9:
20979
- _t10 = _context10.v;
20980
- _context10.n = 11;
21074
+ case 16:
21075
+ _t11 = _context10.v;
21076
+ _context10.n = 18;
20981
21077
  break;
20982
- case 10:
20983
- _t10 = {
21078
+ case 17:
21079
+ _t11 = {
20984
21080
  messages: [],
20985
21081
  hasNext: false
20986
21082
  };
20987
- case 11:
20988
- result = _t10;
20989
- case 12:
20990
- _context10.n = 13;
20991
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
20992
- case 13:
20993
- 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);
20994
- setAllMessages(result.messages);
20995
- _context10.n = 14;
20996
- return effects.put(setMessagesHasPrevAC(true));
20997
- case 14:
20998
- _context10.n = 17;
20999
- break;
21000
- case 15:
21001
- result.messages = getFromAllMessagesByMessageId('', '', true);
21002
- _context10.n = 16;
21003
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
21004
- case 16:
21005
- _context10.n = 17;
21006
- return effects.put(setMessagesHasPrevAC(true));
21007
- case 17:
21008
- _context10.n = 18;
21009
- return effects.put(setMessagesHasNextAC(false));
21010
21083
  case 18:
21011
- setHasNextCached(false);
21012
- if (!(messageId && scrollToMessage)) {
21013
- _context10.n = 21;
21014
- break;
21015
- }
21016
- if (!(channel.newMessageCount && channel.newMessageCount > 0)) {
21017
- _context10.n = 20;
21018
- break;
21019
- }
21020
- _context10.n = 19;
21021
- return effects.put(setScrollToMessagesAC(channel.lastDisplayedMessageId, highlight, behavior));
21084
+ result = _t11;
21022
21085
  case 19:
21023
- _context10.n = 21;
21024
- break;
21086
+ _context10.n = 20;
21087
+ return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
21025
21088
  case 20:
21089
+ 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);
21090
+ setAllMessages(result.messages);
21026
21091
  _context10.n = 21;
21027
- return effects.put(scrollToNewMessageAC(true));
21092
+ return effects.put(setMessagesHasPrevAC(true));
21028
21093
  case 21:
21029
- _context10.n = 80;
21094
+ _context10.n = 24;
21030
21095
  break;
21031
21096
  case 22:
21032
- if (!messageId) {
21033
- _context10.n = 52;
21034
- break;
21035
- }
21036
- messages = store.getState().MessageReducer.activeChannelMessages;
21037
- centerMessageId = (_messages$Math$floor = messages[Math.floor(messages.length / 2)]) === null || _messages$Math$floor === void 0 ? void 0 : _messages$Math$floor.id;
21038
- loadWithMessageId = networkChanged && (messages === null || messages === void 0 ? void 0 : messages.length) > 0 ? centerMessageId : messageId;
21039
- allMessages = getAllMessages();
21040
- messageIndex = allMessages.findIndex(function (msg) {
21041
- return msg.id === loadWithMessageId;
21042
- });
21043
- maxLengthPart = MESSAGES_MAX_LENGTH / 2;
21044
- if (!(messageIndex >= maxLengthPart)) {
21045
- _context10.n = 25;
21046
- break;
21047
- }
21048
- result.messages = allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
21097
+ result.messages = getFromAllMessagesByMessageId('', '', true);
21049
21098
  _context10.n = 23;
21050
21099
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
21051
21100
  case 23:
21052
- setHasPrevCached(messageIndex > maxLengthPart);
21053
- setHasNextCached(allMessages.length > maxLengthPart);
21054
21101
  _context10.n = 24;
21055
21102
  return effects.put(setMessagesHasPrevAC(true));
21056
21103
  case 24:
21057
- _context10.n = 48;
21058
- break;
21104
+ _context10.n = 25;
21105
+ return effects.put(setMessagesHasNextAC(false));
21059
21106
  case 25:
21060
- messageQuery.limit = MESSAGES_MAX_LENGTH;
21061
- log.info('load by message id from server ...............', loadWithMessageId);
21062
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
21107
+ setHasNextCached(false);
21108
+ if (!(messageId && scrollToMessage)) {
21109
+ _context10.n = 28;
21110
+ break;
21111
+ }
21112
+ if (!(channelNewMessageCount && channelNewMessageCount > 0)) {
21063
21113
  _context10.n = 27;
21064
21114
  break;
21065
21115
  }
21066
21116
  _context10.n = 26;
21067
- return effects.call(messageQuery.loadNearMessageId, loadWithMessageId);
21117
+ return effects.put(setScrollToMessagesAC(channel.lastDisplayedMessageId, highlight, behavior));
21068
21118
  case 26:
21069
- _t11 = _context10.v;
21070
21119
  _context10.n = 28;
21071
21120
  break;
21072
21121
  case 27:
21073
- _t11 = {
21074
- messages: [],
21075
- hasNext: false
21076
- };
21122
+ _context10.n = 28;
21123
+ return effects.put(scrollToNewMessageAC(true));
21077
21124
  case 28:
21078
- result = _t11;
21079
- _context10.n = 29;
21080
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
21125
+ _context10.n = 70;
21126
+ break;
21081
21127
  case 29:
21082
- if (!(result.messages.length === 50)) {
21083
- _context10.n = 47;
21128
+ if (!messageId) {
21129
+ _context10.n = 40;
21084
21130
  break;
21085
21131
  }
21086
- messageQuery.limit = (MESSAGES_MAX_PAGE_COUNT - 50) / 2;
21132
+ messages = store.getState().MessageReducer.activeChannelMessages;
21133
+ loadNextMessageId = '';
21134
+ loadPreviousMessageId = '';
21135
+ nextLoadLimit = MESSAGES_MAX_PAGE_COUNT / 2;
21136
+ previousLoadLimit = MESSAGES_MAX_PAGE_COUNT / 2;
21137
+ if (networkChanged) {
21138
+ centerMessageIndex = getCenterTwoMessages(messages);
21139
+ loadPreviousMessageId = centerMessageIndex.mid2.messageId;
21140
+ loadNextMessageId = centerMessageIndex.mid1.messageId;
21141
+ previousLoadLimit = centerMessageIndex.mid2.index;
21142
+ nextLoadLimit = messages.length - centerMessageIndex.mid1.index - 1;
21143
+ } else if (messageId) {
21144
+ loadPreviousMessageId = messageId;
21145
+ }
21146
+ messageQuery.limit = previousLoadLimit;
21147
+ log.info('load by message id from server ...............', messageId);
21087
21148
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
21088
21149
  _context10.n = 31;
21089
21150
  break;
21090
21151
  }
21091
21152
  _context10.n = 30;
21092
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
21153
+ return effects.call(messageQuery.loadPreviousMessageId, loadPreviousMessageId);
21093
21154
  case 30:
21094
21155
  _t12 = _context10.v;
21095
21156
  _context10.n = 32;
@@ -21100,235 +21161,185 @@ function getMessagesQuery(action) {
21100
21161
  hasNext: false
21101
21162
  };
21102
21163
  case 32:
21103
- secondResult = _t12;
21104
- result.messages = [].concat(secondResult.messages, result.messages);
21105
- _context10.n = 33;
21106
- return effects.put(addMessagesAC(JSON.parse(JSON.stringify(secondResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
21107
- case 33:
21108
- messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length;
21164
+ firstResult = _t12;
21165
+ if (!networkChanged && firstResult.messages.length > 0) {
21166
+ loadNextMessageId = firstResult.messages[firstResult.messages.length - 1].id;
21167
+ } else if (!networkChanged && !firstResult.messages.length) {
21168
+ loadNextMessageId = '0';
21169
+ }
21109
21170
  messageQuery.reverse = false;
21171
+ messageQuery.limit = nextLoadLimit;
21110
21172
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
21111
- _context10.n = 35;
21173
+ _context10.n = 34;
21112
21174
  break;
21113
21175
  }
21114
- _context10.n = 34;
21115
- return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
21116
- case 34:
21176
+ _context10.n = 33;
21177
+ return effects.call(messageQuery.loadNextMessageId, loadNextMessageId);
21178
+ case 33:
21117
21179
  _t13 = _context10.v;
21118
- _context10.n = 36;
21180
+ _context10.n = 35;
21119
21181
  break;
21120
- case 35:
21182
+ case 34:
21121
21183
  _t13 = {
21122
21184
  messages: [],
21123
21185
  hasNext: false
21124
21186
  };
21187
+ case 35:
21188
+ secondResult = _t13;
21189
+ result.messages = [].concat(firstResult.messages, secondResult.messages);
21190
+ _context10.n = 36;
21191
+ return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
21125
21192
  case 36:
21126
- thirdResult = _t13;
21127
- result.messages = [].concat(result.messages, thirdResult.messages);
21128
- _context10.n = 37;
21129
- return effects.put(addMessagesAC(JSON.parse(JSON.stringify(thirdResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
21130
- case 37:
21131
- if (!(secondResult.hasNext && !thirdResult.hasNext)) {
21132
- _context10.n = 42;
21133
- break;
21134
- }
21135
- messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
21136
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
21137
- _context10.n = 39;
21138
- break;
21139
- }
21140
- _context10.n = 38;
21141
- return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
21142
- case 38:
21143
- _t14 = _context10.v;
21144
- _context10.n = 40;
21145
- break;
21146
- case 39:
21147
- _t14 = {
21148
- messages: [],
21149
- hasNext: false
21150
- };
21151
- case 40:
21152
- fourthResult = _t14;
21153
- result.messages = [].concat(fourthResult.messages, result.messages);
21154
- _context10.n = 41;
21155
- return effects.put(addMessagesAC(JSON.parse(JSON.stringify(fourthResult.messages)), MESSAGE_LOAD_DIRECTION.PREV));
21156
- case 41:
21157
- _context10.n = 46;
21158
- break;
21159
- case 42:
21160
- if (!(!secondResult.hasNext && thirdResult.hasNext)) {
21161
- _context10.n = 46;
21162
- break;
21163
- }
21164
- messageQuery.limit = MESSAGES_MAX_PAGE_COUNT - 50 - secondResult.messages.length - result.messages.length;
21165
- if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
21166
- _context10.n = 44;
21167
- break;
21168
- }
21169
- _context10.n = 43;
21170
- return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
21171
- case 43:
21172
- _t15 = _context10.v;
21173
- _context10.n = 45;
21174
- break;
21175
- case 44:
21176
- _t15 = {
21177
- messages: [],
21178
- hasNext: false
21179
- };
21180
- case 45:
21181
- _fourthResult = _t15;
21182
- result.messages = [].concat(result.messages, _fourthResult.messages);
21183
- _context10.n = 46;
21184
- return effects.put(addMessagesAC(JSON.parse(JSON.stringify(_fourthResult.messages)), MESSAGE_LOAD_DIRECTION.NEXT));
21185
- case 46:
21186
- messageQuery.reverse = true;
21187
- case 47:
21188
21193
  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);
21189
21194
  setAllMessages([].concat(result.messages));
21190
21195
  setHasPrevCached(false);
21191
21196
  setHasNextCached(false);
21192
- case 48:
21193
- _context10.n = 49;
21197
+ _context10.n = 37;
21194
21198
  return effects.put(setMessagesHasNextAC(true));
21195
- case 49:
21196
- if (!scrollToMessage) {
21197
- _context10.n = 50;
21199
+ case 37:
21200
+ if (!(scrollToMessage && !networkChanged)) {
21201
+ _context10.n = 38;
21198
21202
  break;
21199
21203
  }
21200
- _context10.n = 50;
21201
- return effects.put(setScrollToMessagesAC(loadWithMessageId, highlight, behavior));
21202
- case 50:
21203
- _context10.n = 51;
21204
+ _context10.n = 38;
21205
+ return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
21206
+ case 38:
21207
+ _context10.n = 39;
21204
21208
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
21205
- case 51:
21206
- _context10.n = 80;
21209
+ case 39:
21210
+ _context10.n = 70;
21207
21211
  break;
21208
- case 52:
21209
- if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
21210
- _context10.n = 64;
21212
+ case 40:
21213
+ if (!(channelNewMessageCount && channel.lastDisplayedMessageId)) {
21214
+ _context10.n = 54;
21211
21215
  break;
21212
21216
  }
21213
21217
  setAllMessages([]);
21214
21218
  messageQuery.limit = MESSAGES_MAX_LENGTH;
21215
21219
  if (!Number(channel.lastDisplayedMessageId)) {
21216
- _context10.n = 56;
21220
+ _context10.n = 44;
21217
21221
  break;
21218
21222
  }
21219
21223
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
21220
- _context10.n = 54;
21224
+ _context10.n = 42;
21221
21225
  break;
21222
21226
  }
21223
- _context10.n = 53;
21227
+ _context10.n = 41;
21224
21228
  return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
21225
- case 53:
21226
- _t16 = _context10.v;
21227
- _context10.n = 55;
21229
+ case 41:
21230
+ _t14 = _context10.v;
21231
+ _context10.n = 43;
21228
21232
  break;
21229
- case 54:
21230
- _t16 = {
21233
+ case 42:
21234
+ _t14 = {
21231
21235
  messages: [],
21232
21236
  hasNext: false
21233
21237
  };
21234
- case 55:
21235
- result = _t16;
21236
- _context10.n = 60;
21238
+ case 43:
21239
+ result = _t14;
21240
+ _context10.n = 48;
21237
21241
  break;
21238
- case 56:
21242
+ case 44:
21239
21243
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
21240
- _context10.n = 58;
21244
+ _context10.n = 46;
21241
21245
  break;
21242
21246
  }
21243
- _context10.n = 57;
21247
+ _context10.n = 45;
21244
21248
  return effects.call(messageQuery.loadPrevious);
21245
- case 57:
21246
- _t17 = _context10.v;
21247
- _context10.n = 59;
21249
+ case 45:
21250
+ _t15 = _context10.v;
21251
+ _context10.n = 47;
21248
21252
  break;
21249
- case 58:
21250
- _t17 = {
21253
+ case 46:
21254
+ _t15 = {
21251
21255
  messages: [],
21252
21256
  hasNext: false
21253
21257
  };
21254
- case 59:
21255
- result = _t17;
21256
- case 60:
21257
- _context10.n = 61;
21258
+ case 47:
21259
+ result = _t15;
21260
+ case 48:
21261
+ _context10.n = 49;
21258
21262
  return effects.put(setMessagesHasPrevAC(true));
21259
- case 61:
21260
- _context10.n = 62;
21263
+ case 49:
21264
+ _context10.n = 50;
21261
21265
  return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
21262
- case 62:
21266
+ case 50:
21263
21267
  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);
21264
21268
  setAllMessages([].concat(result.messages));
21265
- _context10.n = 63;
21269
+ _context10.n = 51;
21266
21270
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
21267
- case 63:
21268
- _context10.n = 80;
21271
+ case 51:
21272
+ _context10.n = 52;
21273
+ return effects.put(scrollToNewMessageAC(false));
21274
+ case 52:
21275
+ _context10.n = 53;
21276
+ return effects.put(setUnreadScrollToAC(true));
21277
+ case 53:
21278
+ _context10.n = 70;
21269
21279
  break;
21270
- case 64:
21280
+ case 54:
21271
21281
  if (!(cachedMessages && cachedMessages.length)) {
21272
- _context10.n = 67;
21282
+ _context10.n = 57;
21273
21283
  break;
21274
21284
  }
21275
- _context10.n = 65;
21276
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
21277
- case 65:
21278
- _context10.n = 66;
21285
+ _messages = getFromAllMessagesByMessageId('', '', true);
21286
+ _context10.n = 55;
21287
+ return effects.put(setMessagesAC(JSON.parse(JSON.stringify(_messages))));
21288
+ case 55:
21289
+ _context10.n = 56;
21279
21290
  return effects.delay(0);
21280
- case 66:
21281
- _filteredPendingMessages = getFilteredPendingMessages(cachedMessages);
21282
- _context10.n = 67;
21291
+ case 56:
21292
+ _filteredPendingMessages = getFilteredPendingMessages(_messages);
21293
+ _context10.n = 57;
21283
21294
  return effects.put(addMessagesAC(_filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
21284
- case 67:
21295
+ case 57:
21285
21296
  log.info('load message from server');
21286
21297
  result = {
21287
21298
  messages: [],
21288
21299
  hasNext: false
21289
21300
  };
21290
21301
  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))) {
21291
- _context10.n = 71;
21302
+ _context10.n = 61;
21292
21303
  break;
21293
21304
  }
21294
21305
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
21295
- _context10.n = 69;
21306
+ _context10.n = 59;
21296
21307
  break;
21297
21308
  }
21298
- _context10.n = 68;
21309
+ _context10.n = 58;
21299
21310
  return effects.call(messageQuery.loadPreviousMessageId, channel === null || channel === void 0 ? void 0 : channel.lastDisplayedMessageId);
21300
- case 68:
21301
- _t18 = _context10.v;
21302
- _context10.n = 70;
21311
+ case 58:
21312
+ _t16 = _context10.v;
21313
+ _context10.n = 60;
21303
21314
  break;
21304
- case 69:
21305
- _t18 = {
21315
+ case 59:
21316
+ _t16 = {
21306
21317
  messages: [],
21307
21318
  hasNext: false
21308
21319
  };
21309
- case 70:
21310
- result = _t18;
21311
- _context10.n = 75;
21320
+ case 60:
21321
+ result = _t16;
21322
+ _context10.n = 65;
21312
21323
  break;
21313
- case 71:
21324
+ case 61:
21314
21325
  if (!(connectionState === CONNECTION_STATUS.CONNECTED)) {
21315
- _context10.n = 73;
21326
+ _context10.n = 63;
21316
21327
  break;
21317
21328
  }
21318
- _context10.n = 72;
21329
+ _context10.n = 62;
21319
21330
  return effects.call(messageQuery.loadPrevious);
21320
- case 72:
21321
- _t19 = _context10.v;
21322
- _context10.n = 74;
21331
+ case 62:
21332
+ _t17 = _context10.v;
21333
+ _context10.n = 64;
21323
21334
  break;
21324
- case 73:
21325
- _t19 = {
21335
+ case 63:
21336
+ _t17 = {
21326
21337
  messages: [],
21327
21338
  hasNext: false
21328
21339
  };
21329
- case 74:
21330
- result = _t19;
21331
- case 75:
21340
+ case 64:
21341
+ result = _t17;
21342
+ case 65:
21332
21343
  updatedMessages = [];
21333
21344
  result.messages.forEach(function (msg) {
21334
21345
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -21340,85 +21351,85 @@ function getMessagesQuery(action) {
21340
21351
  });
21341
21352
  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';
21342
21353
  if (!updatedMessages.length) {
21343
- _context10.n = 79;
21354
+ _context10.n = 69;
21344
21355
  break;
21345
21356
  }
21346
- _context10.n = 76;
21357
+ _context10.n = 66;
21347
21358
  return effects.call(updateMessages, channel, updatedMessages, (_updatedMessages$ = updatedMessages[0]) === null || _updatedMessages$ === void 0 ? void 0 : _updatedMessages$.id, messageIdForLoad);
21348
- case 76:
21349
- _context10.n = 77;
21359
+ case 66:
21360
+ _context10.n = 67;
21350
21361
  return effects.put(setMessagesHasPrevAC(true));
21351
- case 77:
21352
- _context10.n = 78;
21362
+ case 67:
21363
+ _context10.n = 68;
21353
21364
  return effects.put(setMessagesHasNextAC(false));
21354
- case 78:
21355
- _context10.n = 80;
21365
+ case 68:
21366
+ _context10.n = 70;
21356
21367
  break;
21357
- case 79:
21368
+ case 69:
21358
21369
  if (!(!(cachedMessages !== null && cachedMessages !== void 0 && cachedMessages.length) && !((_result$messages4 = result.messages) !== null && _result$messages4 !== void 0 && _result$messages4.length))) {
21359
- _context10.n = 80;
21370
+ _context10.n = 70;
21360
21371
  break;
21361
21372
  }
21362
- _context10.n = 80;
21373
+ _context10.n = 70;
21363
21374
  return effects.put(setMessagesAC([]));
21364
- case 80:
21375
+ case 70:
21365
21376
  filteredPendingMessages = getFilteredPendingMessages(result.messages);
21366
- _context10.n = 81;
21377
+ _context10.n = 71;
21367
21378
  return effects.put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
21368
- case 81:
21379
+ case 71:
21369
21380
  waitToSendPendingMessages = store.getState().UserReducer.waitToSendPendingMessages;
21370
21381
  if (!(connectionState === CONNECTION_STATUS.CONNECTED && waitToSendPendingMessages)) {
21371
- _context10.n = 83;
21382
+ _context10.n = 73;
21372
21383
  break;
21373
21384
  }
21374
- _context10.n = 82;
21385
+ _context10.n = 72;
21375
21386
  return effects.put(setWaitToSendPendingMessagesAC(false));
21376
- case 82:
21377
- _context10.n = 83;
21387
+ case 72:
21388
+ _context10.n = 73;
21378
21389
  return effects.spawn(sendPendingMessages, connectionState);
21379
- case 83:
21380
- _context10.n = 84;
21390
+ case 73:
21391
+ _context10.n = 74;
21381
21392
  return effects.call(SceytChatClient.getChannel, channel.id, true);
21382
- case 84:
21393
+ case 74:
21383
21394
  updatedChannel = _context10.v;
21384
21395
  if (!(updatedChannel && updatedChannel !== null && updatedChannel !== void 0 && updatedChannel.lastMessage)) {
21385
- _context10.n = 86;
21396
+ _context10.n = 76;
21386
21397
  break;
21387
21398
  }
21388
- _context10.n = 85;
21399
+ _context10.n = 75;
21389
21400
  return effects.put(updateChannelLastMessageAC(updatedChannel.lastMessage, updatedChannel));
21390
- case 85:
21401
+ case 75:
21391
21402
  updateChannelLastMessageOnAllChannels(channel.id, updatedChannel.lastMessage);
21392
- case 86:
21393
- _context10.n = 88;
21403
+ case 76:
21404
+ _context10.n = 78;
21394
21405
  break;
21395
- case 87:
21406
+ case 77:
21396
21407
  if (!(channel !== null && channel !== void 0 && channel.isMockChannel)) {
21397
- _context10.n = 88;
21408
+ _context10.n = 78;
21398
21409
  break;
21399
21410
  }
21400
- _context10.n = 88;
21411
+ _context10.n = 78;
21401
21412
  return effects.put(setMessagesAC([]));
21402
- case 88:
21403
- _context10.n = 90;
21413
+ case 78:
21414
+ _context10.n = 80;
21404
21415
  break;
21405
- case 89:
21406
- _context10.p = 89;
21407
- _t20 = _context10.v;
21408
- log.error('error in message query', _t20);
21409
- case 90:
21410
- _context10.p = 90;
21411
- _context10.n = 91;
21416
+ case 79:
21417
+ _context10.p = 79;
21418
+ _t18 = _context10.v;
21419
+ log.error('error in message query', _t18);
21420
+ case 80:
21421
+ _context10.p = 80;
21422
+ _context10.n = 81;
21412
21423
  return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
21413
- case 91:
21414
- return _context10.f(90);
21415
- case 92:
21424
+ case 81:
21425
+ return _context10.f(80);
21426
+ case 82:
21416
21427
  return _context10.a(2);
21417
21428
  }
21418
- }, _marked7$1, null, [[0, 89, 90, 92]]);
21429
+ }, _marked7$1, null, [[2, 7], [0, 79, 80, 82]]);
21419
21430
  }
21420
21431
  function getMessageQuery(action) {
21421
- var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t21;
21432
+ var payload, channelId, messageId, channel, connectionState, messages, fetchedMessage, _t19;
21422
21433
  return _regenerator().w(function (_context11) {
21423
21434
  while (1) switch (_context11.p = _context11.n) {
21424
21435
  case 0:
@@ -21468,15 +21479,15 @@ function getMessageQuery(action) {
21468
21479
  break;
21469
21480
  case 7:
21470
21481
  _context11.p = 7;
21471
- _t21 = _context11.v;
21472
- log.error('error in message query', _t21);
21482
+ _t19 = _context11.v;
21483
+ log.error('error in message query', _t19);
21473
21484
  case 8:
21474
21485
  return _context11.a(2);
21475
21486
  }
21476
21487
  }, _marked8$1, null, [[0, 7]]);
21477
21488
  }
21478
21489
  function loadMoreMessages(action) {
21479
- var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _result$messages$4, _result$messages5, _result$messages$5, _result$messages6, _t22;
21490
+ var payload, limit, direction, channelId, messageId, hasNext, SceytChatClient, messageQueryBuilder, messageQuery, result, _result$messages$4, _result$messages5, _result$messages$5, _result$messages6, _t20;
21480
21491
  return _regenerator().w(function (_context12) {
21481
21492
  while (1) switch (_context12.p = _context12.n) {
21482
21493
  case 0:
@@ -21589,15 +21600,15 @@ function loadMoreMessages(action) {
21589
21600
  break;
21590
21601
  case 18:
21591
21602
  _context12.p = 18;
21592
- _t22 = _context12.v;
21593
- log.error('error in load more messages', _t22);
21603
+ _t20 = _context12.v;
21604
+ log.error('error in load more messages', _t20);
21594
21605
  case 19:
21595
21606
  return _context12.a(2);
21596
21607
  }
21597
21608
  }, _marked9$1, null, [[0, 18]]);
21598
21609
  }
21599
21610
  function addReaction(action) {
21600
- var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t23;
21611
+ var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, message, reaction, channelUpdateParam, _t21;
21601
21612
  return _regenerator().w(function (_context13) {
21602
21613
  while (1) switch (_context13.p = _context13.n) {
21603
21614
  case 0:
@@ -21650,15 +21661,15 @@ function addReaction(action) {
21650
21661
  break;
21651
21662
  case 8:
21652
21663
  _context13.p = 8;
21653
- _t23 = _context13.v;
21654
- log.error('ERROR in add reaction', _t23.message);
21664
+ _t21 = _context13.v;
21665
+ log.error('ERROR in add reaction', _t21.message);
21655
21666
  case 9:
21656
21667
  return _context13.a(2);
21657
21668
  }
21658
21669
  }, _marked0$1, null, [[0, 8]]);
21659
21670
  }
21660
21671
  function deleteReaction(action) {
21661
- var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t24;
21672
+ var payload, channelId, messageId, key, isLastReaction, channel, _yield$call2, message, reaction, channelUpdateParam, _t22;
21662
21673
  return _regenerator().w(function (_context14) {
21663
21674
  while (1) switch (_context14.p = _context14.n) {
21664
21675
  case 0:
@@ -21706,15 +21717,15 @@ function deleteReaction(action) {
21706
21717
  break;
21707
21718
  case 7:
21708
21719
  _context14.p = 7;
21709
- _t24 = _context14.v;
21710
- log.error('ERROR in delete reaction', _t24.message);
21720
+ _t22 = _context14.v;
21721
+ log.error('ERROR in delete reaction', _t22.message);
21711
21722
  case 8:
21712
21723
  return _context14.a(2);
21713
21724
  }
21714
21725
  }, _marked1$1, null, [[0, 7]]);
21715
21726
  }
21716
21727
  function getReactions(action) {
21717
- var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t25;
21728
+ var payload, messageId, key, limit, SceytChatClient, reactionQueryBuilder, reactionQuery, result, _t23;
21718
21729
  return _regenerator().w(function (_context15) {
21719
21730
  while (1) switch (_context15.p = _context15.n) {
21720
21731
  case 0:
@@ -21749,15 +21760,15 @@ function getReactions(action) {
21749
21760
  break;
21750
21761
  case 6:
21751
21762
  _context15.p = 6;
21752
- _t25 = _context15.v;
21753
- log.error('ERROR in get reactions', _t25.message);
21763
+ _t23 = _context15.v;
21764
+ log.error('ERROR in get reactions', _t23.message);
21754
21765
  case 7:
21755
21766
  return _context15.a(2);
21756
21767
  }
21757
21768
  }, _marked10$1, null, [[0, 6]]);
21758
21769
  }
21759
21770
  function loadMoreReactions(action) {
21760
- var payload, limit, ReactionQuery, result, _t26;
21771
+ var payload, limit, ReactionQuery, result, _t24;
21761
21772
  return _regenerator().w(function (_context16) {
21762
21773
  while (1) switch (_context16.p = _context16.n) {
21763
21774
  case 0:
@@ -21785,15 +21796,15 @@ function loadMoreReactions(action) {
21785
21796
  break;
21786
21797
  case 5:
21787
21798
  _context16.p = 5;
21788
- _t26 = _context16.v;
21789
- log.error('ERROR in load more reactions', _t26.message);
21799
+ _t24 = _context16.v;
21800
+ log.error('ERROR in load more reactions', _t24.message);
21790
21801
  case 6:
21791
21802
  return _context16.a(2);
21792
21803
  }
21793
21804
  }, _marked11$1, null, [[0, 5]]);
21794
21805
  }
21795
21806
  function getMessageAttachments(action) {
21796
- var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t27;
21807
+ var _action$payload2, channelId, attachmentType, limit, direction, attachmentId, forPopup, SceytChatClient, typeList, AttachmentByTypeQueryBuilder, AttachmentByTypeQuery, result, _t25;
21797
21808
  return _regenerator().w(function (_context17) {
21798
21809
  while (1) switch (_context17.p = _context17.n) {
21799
21810
  case 0:
@@ -21871,15 +21882,15 @@ function getMessageAttachments(action) {
21871
21882
  break;
21872
21883
  case 13:
21873
21884
  _context17.p = 13;
21874
- _t27 = _context17.v;
21875
- log.error('error in message attachment query', _t27);
21885
+ _t25 = _context17.v;
21886
+ log.error('error in message attachment query', _t25);
21876
21887
  case 14:
21877
21888
  return _context17.a(2);
21878
21889
  }
21879
21890
  }, _marked12$1, null, [[0, 13]]);
21880
21891
  }
21881
21892
  function loadMoreMessageAttachments(action) {
21882
- var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t28;
21893
+ var _action$payload3, limit, direction, forPopup, AttachmentQuery, _yield$call3, attachments, hasNext, _t26;
21883
21894
  return _regenerator().w(function (_context18) {
21884
21895
  while (1) switch (_context18.p = _context18.n) {
21885
21896
  case 0:
@@ -21923,15 +21934,15 @@ function loadMoreMessageAttachments(action) {
21923
21934
  break;
21924
21935
  case 8:
21925
21936
  _context18.p = 8;
21926
- _t28 = _context18.v;
21927
- log.error('error in message attachment query', _t28);
21937
+ _t26 = _context18.v;
21938
+ log.error('error in message attachment query', _t26);
21928
21939
  case 9:
21929
21940
  return _context18.a(2);
21930
21941
  }
21931
21942
  }, _marked13$1, null, [[0, 8]]);
21932
21943
  }
21933
21944
  function pauseAttachmentUploading(action) {
21934
- var attachmentId, isPaused, _t29;
21945
+ var attachmentId, isPaused, _t27;
21935
21946
  return _regenerator().w(function (_context19) {
21936
21947
  while (1) switch (_context19.p = _context19.n) {
21937
21948
  case 0:
@@ -21953,15 +21964,15 @@ function pauseAttachmentUploading(action) {
21953
21964
  break;
21954
21965
  case 2:
21955
21966
  _context19.p = 2;
21956
- _t29 = _context19.v;
21957
- log.error('error in pause attachment uploading', _t29);
21967
+ _t27 = _context19.v;
21968
+ log.error('error in pause attachment uploading', _t27);
21958
21969
  case 3:
21959
21970
  return _context19.a(2);
21960
21971
  }
21961
21972
  }, _marked14$1, null, [[0, 2]]);
21962
21973
  }
21963
21974
  function resumeAttachmentUploading(action) {
21964
- var attachmentId, isResumed, _t30;
21975
+ var attachmentId, isResumed, _t28;
21965
21976
  return _regenerator().w(function (_context20) {
21966
21977
  while (1) switch (_context20.p = _context20.n) {
21967
21978
  case 0:
@@ -21984,15 +21995,15 @@ function resumeAttachmentUploading(action) {
21984
21995
  break;
21985
21996
  case 2:
21986
21997
  _context20.p = 2;
21987
- _t30 = _context20.v;
21988
- log.error('error in resume attachment uploading', _t30);
21998
+ _t28 = _context20.v;
21999
+ log.error('error in resume attachment uploading', _t28);
21989
22000
  case 3:
21990
22001
  return _context20.a(2);
21991
22002
  }
21992
22003
  }, _marked15$1, null, [[0, 2]]);
21993
22004
  }
21994
22005
  function getMessageMarkers(action) {
21995
- var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t31;
22006
+ var _action$payload4, messageId, channelId, deliveryStatus, sceytChatClient, messageMarkerListQueryBuilder, messageMarkerListQuery, messageMarkers, _t29;
21996
22007
  return _regenerator().w(function (_context21) {
21997
22008
  while (1) switch (_context21.p = _context21.n) {
21998
22009
  case 0:
@@ -22022,8 +22033,8 @@ function getMessageMarkers(action) {
22022
22033
  break;
22023
22034
  case 5:
22024
22035
  _context21.p = 5;
22025
- _t31 = _context21.v;
22026
- log.error('error in get message markers', _t31);
22036
+ _t29 = _context21.v;
22037
+ log.error('error in get message markers', _t29);
22027
22038
  case 6:
22028
22039
  _context21.p = 6;
22029
22040
  _context21.n = 7;
@@ -22139,7 +22150,7 @@ function updateMessageOptimisticallyForAddPollVote(channelId, message, vote) {
22139
22150
  }, _marked18$1);
22140
22151
  }
22141
22152
  function addPollVote(action) {
22142
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t32;
22153
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _user$presence2, user, vote, pendingAction, conflictCheck, channel, _Object$values, _store$getState$Messa, _currentMessage$pollD, _currentMessage$pollD2, _currentMessage$pollD3, currentMessage, hasNext, obj, _t30;
22143
22154
  return _regenerator().w(function (_context24) {
22144
22155
  while (1) switch (_context24.p = _context24.n) {
22145
22156
  case 0:
@@ -22231,8 +22242,8 @@ function addPollVote(action) {
22231
22242
  break;
22232
22243
  case 7:
22233
22244
  _context24.p = 7;
22234
- _t32 = _context24.v;
22235
- log.error('error in add poll vote', _t32);
22245
+ _t30 = _context24.v;
22246
+ log.error('error in add poll vote', _t30);
22236
22247
  case 8:
22237
22248
  return _context24.a(2);
22238
22249
  }
@@ -22316,7 +22327,7 @@ function updateMessageOptimisticallyForDeletePollVote(channelId, message, vote)
22316
22327
  }, _marked21$1);
22317
22328
  }
22318
22329
  function deletePollVote(action) {
22319
- var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t33;
22330
+ var payload, channelId, pollId, optionId, message, isResend, sceytChatClient, _message$pollDetails1, _message$pollDetails10, _message$pollDetails11, vote, pendingAction, conflictCheck, channel, _Object$values2, _currentMessage$pollD4, _currentMessage$pollD5, _currentMessage$pollD6, currentMessage, obj, _t31;
22320
22331
  return _regenerator().w(function (_context27) {
22321
22332
  while (1) switch (_context27.p = _context27.n) {
22322
22333
  case 0:
@@ -22394,8 +22405,8 @@ function deletePollVote(action) {
22394
22405
  break;
22395
22406
  case 8:
22396
22407
  _context27.p = 8;
22397
- _t33 = _context27.v;
22398
- log.error('error in delete poll vote', _t33);
22408
+ _t31 = _context27.v;
22409
+ log.error('error in delete poll vote', _t31);
22399
22410
  case 9:
22400
22411
  return _context27.a(2);
22401
22412
  }
@@ -22473,7 +22484,7 @@ function updateMessageOptimisticallyForClosePoll(channelId, message) {
22473
22484
  }, _marked24$1);
22474
22485
  }
22475
22486
  function closePoll(action) {
22476
- var payload, channelId, pollId, message, sceytChatClient, connectionState, _t34;
22487
+ var payload, channelId, pollId, message, sceytChatClient, connectionState, _t32;
22477
22488
  return _regenerator().w(function (_context30) {
22478
22489
  while (1) switch (_context30.p = _context30.n) {
22479
22490
  case 0:
@@ -22506,8 +22517,8 @@ function closePoll(action) {
22506
22517
  break;
22507
22518
  case 4:
22508
22519
  _context30.p = 4;
22509
- _t34 = _context30.v;
22510
- log.error('error in close poll', _t34);
22520
+ _t32 = _context30.v;
22521
+ log.error('error in close poll', _t32);
22511
22522
  case 5:
22512
22523
  return _context30.a(2);
22513
22524
  }
@@ -22596,7 +22607,7 @@ function updateMessageOptimisticallyForRetractPollVote(channelId, message, objs)
22596
22607
  }, _marked27$1);
22597
22608
  }
22598
22609
  function retractPollVote(action) {
22599
- var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator4, _step4, _message$pollDetails12, _message$pollDetails13, vote, _t35;
22610
+ var payload, channelId, pollId, message, isResend, sceytChatClient, connectionState, objs, _iterator4, _step4, _message$pollDetails12, _message$pollDetails13, vote, _t33;
22600
22611
  return _regenerator().w(function (_context33) {
22601
22612
  while (1) switch (_context33.p = _context33.n) {
22602
22613
  case 0:
@@ -22638,15 +22649,15 @@ function retractPollVote(action) {
22638
22649
  break;
22639
22650
  case 4:
22640
22651
  _context33.p = 4;
22641
- _t35 = _context33.v;
22642
- log.error('error in retract poll vote', _t35);
22652
+ _t33 = _context33.v;
22653
+ log.error('error in retract poll vote', _t33);
22643
22654
  case 5:
22644
22655
  return _context33.a(2);
22645
22656
  }
22646
22657
  }, _marked28$1, null, [[0, 4]]);
22647
22658
  }
22648
22659
  function resendPendingPollActions(action) {
22649
- var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t36;
22660
+ var payload, connectionState, sceytChatClient, pendingPollActionsMap, pendingPollActionsMapCopy, _t34;
22650
22661
  return _regenerator().w(function (_context34) {
22651
22662
  while (1) switch (_context34.p = _context34.n) {
22652
22663
  case 0:
@@ -22695,15 +22706,15 @@ function resendPendingPollActions(action) {
22695
22706
  break;
22696
22707
  case 2:
22697
22708
  _context34.p = 2;
22698
- _t36 = _context34.v;
22699
- log.error('error in resend pending poll actions', _t36);
22709
+ _t34 = _context34.v;
22710
+ log.error('error in resend pending poll actions', _t34);
22700
22711
  case 3:
22701
22712
  return _context34.a(2);
22702
22713
  }
22703
22714
  }, _marked29$1, null, [[0, 2]]);
22704
22715
  }
22705
22716
  function getPollVotes(action) {
22706
- var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t37;
22717
+ var payload, messageId, pollId, optionId, limit, key, SceytChatClient, queryBuilder, pollVotesQuery, result, formattedVotes, _t35;
22707
22718
  return _regenerator().w(function (_context35) {
22708
22719
  while (1) switch (_context35.p = _context35.n) {
22709
22720
  case 0:
@@ -22769,8 +22780,8 @@ function getPollVotes(action) {
22769
22780
  break;
22770
22781
  case 7:
22771
22782
  _context35.p = 7;
22772
- _t37 = _context35.v;
22773
- log.error('ERROR in get poll votes', _t37);
22783
+ _t35 = _context35.v;
22784
+ log.error('ERROR in get poll votes', _t35);
22774
22785
  _context35.n = 8;
22775
22786
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22776
22787
  case 8:
@@ -22779,7 +22790,7 @@ function getPollVotes(action) {
22779
22790
  }, _marked30$1, null, [[0, 7]]);
22780
22791
  }
22781
22792
  function loadMorePollVotes(action) {
22782
- var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t38;
22793
+ var payload, pollId, optionId, limit, key, pollVotesQuery, result, formattedVotes, _t36;
22783
22794
  return _regenerator().w(function (_context36) {
22784
22795
  while (1) switch (_context36.p = _context36.n) {
22785
22796
  case 0:
@@ -22837,8 +22848,8 @@ function loadMorePollVotes(action) {
22837
22848
  break;
22838
22849
  case 6:
22839
22850
  _context36.p = 6;
22840
- _t38 = _context36.v;
22841
- log.error('ERROR in load more poll votes', _t38);
22851
+ _t36 = _context36.v;
22852
+ log.error('ERROR in load more poll votes', _t36);
22842
22853
  _context36.n = 7;
22843
22854
  return effects.put(setPollVotesLoadingStateAC(action.payload.pollId, action.payload.optionId, LOADING_STATE.LOADED));
22844
22855
  case 7:
@@ -28697,6 +28708,9 @@ var pollVotesLoadingStateSelector = function pollVotesLoadingStateSelector(store
28697
28708
  var unreadScrollToSelector = function unreadScrollToSelector(store) {
28698
28709
  return store.MessageReducer.unreadScrollTo;
28699
28710
  };
28711
+ var unreadMessageIdSelector = function unreadMessageIdSelector(store) {
28712
+ return store.MessageReducer.unreadMessageId;
28713
+ };
28700
28714
 
28701
28715
  var _path$v;
28702
28716
  function _extends$w() {
@@ -39251,42 +39265,40 @@ var MessageList = function MessageList(_ref2) {
39251
39265
  var showScrollToNewMessageButton = useSelector(showScrollToNewMessageButtonSelector, reactRedux.shallowEqual);
39252
39266
  var unreadScrollTo = useSelector(unreadScrollToSelector, reactRedux.shallowEqual);
39253
39267
  var messages = useSelector(activeChannelMessagesSelector, reactRedux.shallowEqual) || [];
39254
- var _useState2 = React.useState(''),
39255
- unreadMessageId = _useState2[0],
39256
- setUnreadMessageId = _useState2[1];
39268
+ var unreadMessageId = useSelector(unreadMessageIdSelector, reactRedux.shallowEqual);
39269
+ var _useState2 = React.useState(null),
39270
+ mediaFile = _useState2[0],
39271
+ setMediaFile = _useState2[1];
39257
39272
  var _useState3 = React.useState(null),
39258
- mediaFile = _useState3[0],
39259
- setMediaFile = _useState3[1];
39273
+ isDragging = _useState3[0],
39274
+ setIsDragging = _useState3[1];
39260
39275
  var _useState4 = React.useState(null),
39261
- isDragging = _useState4[0],
39262
- setIsDragging = _useState4[1];
39263
- var _useState5 = React.useState(null),
39264
- showTopDate = _useState5[0],
39265
- setShowTopDate = _useState5[1];
39276
+ showTopDate = _useState4[0],
39277
+ setShowTopDate = _useState4[1];
39278
+ var _useState5 = React.useState(false),
39279
+ stopScrolling = _useState5[0],
39280
+ setStopScrolling = _useState5[1];
39266
39281
  var _useState6 = React.useState(false),
39267
- stopScrolling = _useState6[0],
39268
- setStopScrolling = _useState6[1];
39269
- var _useState7 = React.useState(false),
39270
- isScrolling = _useState7[0],
39271
- setIsScrolling = _useState7[1];
39282
+ isScrolling = _useState6[0],
39283
+ setIsScrolling = _useState6[1];
39272
39284
  var hideTopDateTimeout = React.useRef(null);
39273
- var _useState8 = React.useState(''),
39274
- lastVisibleMessageId = _useState8[0],
39275
- _setLastVisibleMessageId = _useState8[1];
39276
- var _useState9 = React.useState(null),
39277
- scrollToReply = _useState9[0],
39278
- setScrollToReply = _useState9[1];
39279
- var _useState0 = React.useState(0),
39280
- previousScrollTop = _useState0[0],
39281
- setPreviousScrollTop = _useState0[1];
39282
- var _useState1 = React.useState(false),
39283
- shouldPreserveScroll = _useState1[0],
39284
- setShouldPreserveScroll = _useState1[1];
39285
+ var _useState7 = React.useState(''),
39286
+ lastVisibleMessageId = _useState7[0],
39287
+ _setLastVisibleMessageId = _useState7[1];
39288
+ var _useState8 = React.useState(null),
39289
+ scrollToReply = _useState8[0],
39290
+ setScrollToReply = _useState8[1];
39291
+ var _useState9 = React.useState(0),
39292
+ previousScrollTop = _useState9[0],
39293
+ setPreviousScrollTop = _useState9[1];
39294
+ var _useState0 = React.useState(false),
39295
+ shouldPreserveScroll = _useState0[0],
39296
+ setShouldPreserveScroll = _useState0[1];
39285
39297
  var messageForReply = {};
39286
39298
  var attachmentsSelected = false;
39287
- var _useState10 = React.useState(''),
39288
- topDateLabel = _useState10[0],
39289
- setTopDateLabel = _useState10[1];
39299
+ var _useState1 = React.useState(''),
39300
+ topDateLabel = _useState1[0],
39301
+ setTopDateLabel = _useState1[1];
39290
39302
  var scrollRef = React.useRef(null);
39291
39303
  var loadFromServerRef = React.useRef(false);
39292
39304
  var loadDirectionRef = React.useRef('');
@@ -39621,7 +39633,7 @@ var MessageList = function MessageList(_ref2) {
39621
39633
  var visibleMessagesIds = Object.keys(visibleMessages);
39622
39634
  var messageId = visibleMessagesIds[visibleMessagesIds.length - 1];
39623
39635
  dispatch(getMessagesAC(channel, undefined, messageId, undefined, undefined, 'instant'));
39624
- setUnreadMessageId(messageId);
39636
+ dispatch(setUnreadMessageIdAC(messageId));
39625
39637
  } else {
39626
39638
  if (!channel.isLinkedChannel) {
39627
39639
  clearVisibleMessagesMap();
@@ -39631,9 +39643,9 @@ var MessageList = function MessageList(_ref2) {
39631
39643
  }
39632
39644
  if (channel.id) {
39633
39645
  if (channel.newMessageCount && channel.newMessageCount > 0) {
39634
- setUnreadMessageId(channel.lastDisplayedMessageId);
39646
+ dispatch(setUnreadMessageIdAC(channel.lastDisplayedMessageId));
39635
39647
  } else {
39636
- setUnreadMessageId('');
39648
+ dispatch(setUnreadMessageIdAC(''));
39637
39649
  }
39638
39650
  }
39639
39651
  }
@@ -39657,7 +39669,7 @@ var MessageList = function MessageList(_ref2) {
39657
39669
  if (messages.length > 0 && hiddenMessagesProperties !== null && hiddenMessagesProperties !== void 0 && hiddenMessagesProperties.includes(HiddenMessageProperty.hideAfterSendMessage)) {
39658
39670
  var lastMessage = messages[messages.length - 1];
39659
39671
  if (lastMessage.user.id === user.id) {
39660
- setUnreadMessageId('');
39672
+ dispatch(setUnreadMessageIdAC(''));
39661
39673
  }
39662
39674
  }
39663
39675
  }, [messages, hiddenMessagesProperties, user === null || user === void 0 ? void 0 : user.id]);
@@ -39778,12 +39790,14 @@ var MessageList = function MessageList(_ref2) {
39778
39790
  React.useEffect(function () {
39779
39791
  log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
39780
39792
  if (connectionStatus === CONNECTION_STATUS.CONNECTED && channel !== null && channel !== void 0 && channel.id) {
39793
+ var _channel$lastMessage4;
39781
39794
  loadingRef.current = false;
39782
39795
  prevDisableRef.current = false;
39783
39796
  nextDisableRef.current = false;
39784
39797
  clearMessagesMap();
39785
39798
  removeAllMessages();
39786
- dispatch(getMessagesAC(channel, false, lastVisibleMessageId, 0, false, 'instant', false, true));
39799
+ var isWithLastVisibleMessageId = lastVisibleMessageId !== ((_channel$lastMessage4 = channel.lastMessage) === null || _channel$lastMessage4 === void 0 ? void 0 : _channel$lastMessage4.id) && lastVisibleMessageId ? lastVisibleMessageId : '';
39800
+ dispatch(getMessagesAC(channel, false, isWithLastVisibleMessageId, 0, false, 'instant', false, true));
39787
39801
  }
39788
39802
  }, [connectionStatus]);
39789
39803
  React.useEffect(function () {