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

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