sceyt-chat-react-uikit 1.7.1-beta.17 → 1.7.1-beta.19

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 +162 -122
  2. package/index.modern.js +162 -122
  3. package/package.json +1 -1
package/index.js CHANGED
@@ -10397,7 +10397,7 @@ var messageSlice = createSlice({
10397
10397
  return msg.tid === message.tid || msg.id === message.id;
10398
10398
  });
10399
10399
  });
10400
- if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
10400
+ if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
10401
10401
  if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
10402
10402
  var _state$activeChannelM;
10403
10403
  setHasNextCached(true);
@@ -10419,7 +10419,7 @@ var messageSlice = createSlice({
10419
10419
  var _state$activeChannelM3;
10420
10420
  (_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
10421
10421
  }
10422
- } else if (direction === 'next') {
10422
+ } else if (direction === 'next' && newMessagesLength > 0) {
10423
10423
  if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
10424
10424
  var _state$activeChannelM4;
10425
10425
  setHasPrevCached(true);
@@ -18520,7 +18520,7 @@ function getMessagesQuery(action) {
18520
18520
  case 1:
18521
18521
  _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight, behavior = _action$payload.behavior;
18522
18522
  if (!(channel.id && !channel.isMockChannel)) {
18523
- _context9.n = 47;
18523
+ _context9.n = 48;
18524
18524
  break;
18525
18525
  }
18526
18526
  SceytChatClient = getClient();
@@ -18548,6 +18548,7 @@ function getMessagesQuery(action) {
18548
18548
  break;
18549
18549
  }
18550
18550
  setHasPrevCached(false);
18551
+ setMessagesToMap(channel.id, []);
18551
18552
  setAllMessages([]);
18552
18553
  _context9.n = 3;
18553
18554
  return effects.call(messageQuery.loadPreviousMessageId, '0');
@@ -18606,11 +18607,11 @@ function getMessagesQuery(action) {
18606
18607
  _context9.n = 12;
18607
18608
  return effects.put(setScrollToMessagesAC(messageId, highlight, behavior));
18608
18609
  case 12:
18609
- _context9.n = 45;
18610
+ _context9.n = 46;
18610
18611
  break;
18611
18612
  case 13:
18612
18613
  if (!messageId) {
18613
- _context9.n = 25;
18614
+ _context9.n = 26;
18614
18615
  break;
18615
18616
  }
18616
18617
  _allMessages = getAllMessages();
@@ -18619,7 +18620,7 @@ function getMessagesQuery(action) {
18619
18620
  });
18620
18621
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
18621
18622
  if (!(messageIndex >= maxLengthPart)) {
18622
- _context9.n = 15;
18623
+ _context9.n = 16;
18623
18624
  break;
18624
18625
  }
18625
18626
  result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
@@ -18628,151 +18629,160 @@ function getMessagesQuery(action) {
18628
18629
  case 14:
18629
18630
  setHasPrevCached(messageIndex > maxLengthPart);
18630
18631
  setHasNextCached(_allMessages.length > maxLengthPart);
18632
+ _context9.n = 15;
18633
+ return effects.put(setMessagesHasPrevAC(true));
18634
+ case 15:
18631
18635
  _context9.n = 22;
18632
18636
  break;
18633
- case 15:
18637
+ case 16:
18634
18638
  messageQuery.limit = MESSAGES_MAX_LENGTH;
18635
18639
  log.info('load by message id from server ...............', messageId);
18636
- _context9.n = 16;
18640
+ _context9.n = 17;
18637
18641
  return effects.call(messageQuery.loadNearMessageId, messageId);
18638
- case 16:
18642
+ case 17:
18639
18643
  result = _context9.v;
18640
18644
  if (!(result.messages.length === 50)) {
18641
- _context9.n = 19;
18645
+ _context9.n = 20;
18642
18646
  break;
18643
18647
  }
18644
- messageQuery.limit = (MESSAGES_MAX_LENGTH - 50) / 2;
18645
- _context9.n = 17;
18648
+ messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
18649
+ _context9.n = 18;
18646
18650
  return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
18647
- case 17:
18651
+ case 18:
18648
18652
  _secondResult = _context9.v;
18649
18653
  messageQuery.reverse = false;
18650
- _context9.n = 18;
18654
+ _context9.n = 19;
18651
18655
  return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
18652
- case 18:
18656
+ case 19:
18653
18657
  thirdResult = _context9.v;
18654
18658
  result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
18655
18659
  result.hasNext = _secondResult.hasNext;
18656
18660
  messageQuery.reverse = true;
18657
- case 19:
18658
- log.info('result from server ....... ', result);
18659
18661
  _context9.n = 20;
18660
- return effects.put(setMessagesHasNextAC(true));
18662
+ return effects.put(setMessagesHasPrevAC(_secondResult.hasNext));
18661
18663
  case 20:
18664
+ log.info('result from server ....... ', result);
18662
18665
  _context9.n = 21;
18663
18666
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
18664
18667
  case 21:
18668
+ setMessagesToMap(channel.id, result.messages);
18665
18669
  setAllMessages([].concat(result.messages));
18666
18670
  setHasPrevCached(false);
18667
18671
  setHasNextCached(false);
18668
18672
  case 22:
18669
18673
  _context9.n = 23;
18670
- return effects.put(setScrollToMessagesAC(messageId, true, behavior));
18674
+ return effects.put(setMessagesHasNextAC(true));
18671
18675
  case 23:
18672
18676
  _context9.n = 24;
18673
- return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18677
+ return effects.put(setScrollToMessagesAC(messageId, true, behavior));
18674
18678
  case 24:
18675
- _context9.n = 45;
18676
- break;
18679
+ _context9.n = 25;
18680
+ return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18677
18681
  case 25:
18682
+ _context9.n = 46;
18683
+ break;
18684
+ case 26:
18678
18685
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
18679
- _context9.n = 38;
18686
+ _context9.n = 39;
18680
18687
  break;
18681
18688
  }
18689
+ setMessagesToMap(channel.id, []);
18682
18690
  setAllMessages([]);
18683
18691
  messageQuery.limit = MESSAGES_MAX_LENGTH;
18684
18692
  if (!Number(channel.lastDisplayedMessageId)) {
18685
- _context9.n = 31;
18693
+ _context9.n = 32;
18686
18694
  break;
18687
18695
  }
18688
- _context9.n = 26;
18696
+ _context9.n = 27;
18689
18697
  return effects.call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
18690
- case 26:
18698
+ case 27:
18691
18699
  result = _context9.v;
18692
18700
  if (!(result.messages.length === 50)) {
18693
- _context9.n = 30;
18701
+ _context9.n = 31;
18694
18702
  break;
18695
18703
  }
18696
18704
  messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
18697
- _context9.n = 27;
18705
+ _context9.n = 28;
18698
18706
  return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
18699
- case 27:
18707
+ case 28:
18700
18708
  _secondResult2 = _context9.v;
18701
18709
  if (!(channel.newMessageCount > 25)) {
18702
- _context9.n = 29;
18710
+ _context9.n = 30;
18703
18711
  break;
18704
18712
  }
18705
18713
  messageQuery.reverse = false;
18706
- _context9.n = 28;
18714
+ _context9.n = 29;
18707
18715
  return effects.call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
18708
- case 28:
18716
+ case 29:
18709
18717
  _thirdResult = _context9.v;
18710
18718
  result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
18711
18719
  messageQuery.reverse = true;
18712
- _context9.n = 30;
18720
+ _context9.n = 31;
18713
18721
  break;
18714
- case 29:
18715
- result.messages = [].concat(_secondResult2.messages, result.messages);
18716
18722
  case 30:
18717
- _context9.n = 34;
18718
- break;
18723
+ result.messages = [].concat(_secondResult2.messages, result.messages);
18719
18724
  case 31:
18720
- _context9.n = 32;
18721
- return effects.call(messageQuery.loadPrevious);
18725
+ _context9.n = 35;
18726
+ break;
18722
18727
  case 32:
18728
+ _context9.n = 33;
18729
+ return effects.call(messageQuery.loadPrevious);
18730
+ case 33:
18723
18731
  result = _context9.v;
18724
18732
  if (!(result.messages.length === 50)) {
18725
- _context9.n = 34;
18733
+ _context9.n = 35;
18726
18734
  break;
18727
18735
  }
18728
18736
  messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
18729
- _context9.n = 33;
18737
+ _context9.n = 34;
18730
18738
  return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
18731
- case 33:
18739
+ case 34:
18732
18740
  _secondResult3 = _context9.v;
18733
18741
  result.messages = [].concat(_secondResult3.messages, result.messages);
18734
18742
  result.hasNext = _secondResult3.hasNext;
18735
- case 34:
18736
- setMessagesToMap(channel.id, result.messages);
18737
- _context9.n = 35;
18738
- return effects.put(setMessagesHasPrevAC(true));
18739
18743
  case 35:
18740
18744
  _context9.n = 36;
18741
- return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
18745
+ return effects.put(setMessagesHasPrevAC(true));
18742
18746
  case 36:
18743
- setAllMessages([].concat(result.messages));
18744
18747
  _context9.n = 37;
18745
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
18748
+ return effects.put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
18746
18749
  case 37:
18747
- _context9.n = 45;
18748
- break;
18750
+ setMessagesToMap(channel.id, result.messages);
18751
+ setAllMessages([].concat(result.messages));
18752
+ _context9.n = 38;
18753
+ return effects.put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
18749
18754
  case 38:
18755
+ _context9.n = 46;
18756
+ break;
18757
+ case 39:
18758
+ setMessagesToMap(channel.id, []);
18750
18759
  setAllMessages([]);
18751
18760
  if (!(cachedMessages && cachedMessages.length)) {
18752
- _context9.n = 39;
18761
+ _context9.n = 40;
18753
18762
  break;
18754
18763
  }
18764
+ setMessagesToMap(channel.id, []);
18755
18765
  setAllMessages([].concat(cachedMessages));
18756
- _context9.n = 39;
18766
+ _context9.n = 40;
18757
18767
  return effects.put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
18758
- case 39:
18768
+ case 40:
18759
18769
  log.info('load message from server');
18760
- _context9.n = 40;
18770
+ _context9.n = 41;
18761
18771
  return effects.call(messageQuery.loadPrevious);
18762
- case 40:
18772
+ case 41:
18763
18773
  result = _context9.v;
18764
18774
  if (!(result.messages.length === 50)) {
18765
- _context9.n = 42;
18775
+ _context9.n = 43;
18766
18776
  break;
18767
18777
  }
18768
18778
  messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
18769
- _context9.n = 41;
18779
+ _context9.n = 42;
18770
18780
  return effects.call(messageQuery.loadPreviousMessageId, result.messages[0].id);
18771
- case 41:
18781
+ case 42:
18772
18782
  _secondResult4 = _context9.v;
18773
18783
  result.messages = [].concat(_secondResult4.messages, result.messages);
18774
18784
  result.hasNext = _secondResult4.hasNext;
18775
- case 42:
18785
+ case 43:
18776
18786
  updatedMessages = [];
18777
18787
  result.messages.forEach(function (msg) {
18778
18788
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -18784,18 +18794,18 @@ function getMessagesQuery(action) {
18784
18794
  });
18785
18795
  setMessagesToMap(channel.id, updatedMessages);
18786
18796
  setAllMessages([].concat(updatedMessages));
18787
- _context9.n = 43;
18788
- return effects.put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
18789
- case 43:
18790
18797
  _context9.n = 44;
18791
- return effects.put(setMessagesHasPrevAC(result.hasNext));
18798
+ return effects.put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
18792
18799
  case 44:
18793
18800
  _context9.n = 45;
18794
- return effects.put(setMessagesHasNextAC(false));
18801
+ return effects.put(setMessagesHasPrevAC(result.hasNext));
18795
18802
  case 45:
18803
+ _context9.n = 46;
18804
+ return effects.put(setMessagesHasNextAC(false));
18805
+ case 46:
18796
18806
  pendingMessages = getPendingMessages(channel.id);
18797
18807
  if (!(pendingMessages && pendingMessages.length)) {
18798
- _context9.n = 46;
18808
+ _context9.n = 47;
18799
18809
  break;
18800
18810
  }
18801
18811
  _messagesMap = {};
@@ -18805,35 +18815,35 @@ function getMessagesQuery(action) {
18805
18815
  filteredPendingMessages = pendingMessages.filter(function (msg) {
18806
18816
  return !_messagesMap[msg.tid || ''];
18807
18817
  });
18808
- _context9.n = 46;
18818
+ _context9.n = 47;
18809
18819
  return effects.put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
18810
- case 46:
18811
- _context9.n = 48;
18812
- break;
18813
18820
  case 47:
18821
+ _context9.n = 49;
18822
+ break;
18823
+ case 48:
18814
18824
  if (!channel.isMockChannel) {
18815
- _context9.n = 48;
18825
+ _context9.n = 49;
18816
18826
  break;
18817
18827
  }
18818
- _context9.n = 48;
18828
+ _context9.n = 49;
18819
18829
  return effects.put(setMessagesAC([]));
18820
- case 48:
18821
- _context9.n = 50;
18822
- break;
18823
18830
  case 49:
18824
- _context9.p = 49;
18825
- _t9 = _context9.v;
18826
- log.error('error in message query', _t9);
18831
+ _context9.n = 51;
18832
+ break;
18827
18833
  case 50:
18828
18834
  _context9.p = 50;
18829
- _context9.n = 51;
18830
- return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18835
+ _t9 = _context9.v;
18836
+ log.error('error in message query', _t9);
18831
18837
  case 51:
18832
- return _context9.f(50);
18838
+ _context9.p = 51;
18839
+ _context9.n = 52;
18840
+ return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18833
18841
  case 52:
18842
+ return _context9.f(51);
18843
+ case 53:
18834
18844
  return _context9.a(2);
18835
18845
  }
18836
- }, _marked7$1, null, [[0, 49, 50, 52]]);
18846
+ }, _marked7$1, null, [[0, 50, 51, 53]]);
18837
18847
  }
18838
18848
  function getMessageQuery(action) {
18839
18849
  var payload, channelId, messageId, channel, messages, fetchedMessage, _t0;
@@ -18979,25 +18989,38 @@ function loadMoreMessages(action) {
18979
18989
  _context1.n = 11;
18980
18990
  return effects.put(addMessagesAC(JSON.parse(JSON.stringify(result.messages)), direction));
18981
18991
  case 11:
18982
- _context1.n = 13;
18992
+ _context1.n = 16;
18983
18993
  break;
18984
18994
  case 12:
18985
18995
  _context1.n = 13;
18986
18996
  return effects.put(addMessagesAC([], direction));
18987
18997
  case 13:
18998
+ if (!(direction === MESSAGE_LOAD_DIRECTION.NEXT)) {
18999
+ _context1.n = 15;
19000
+ break;
19001
+ }
18988
19002
  _context1.n = 14;
18989
- return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19003
+ return effects.put(setMessagesHasNextAC(false));
18990
19004
  case 14:
18991
19005
  _context1.n = 16;
18992
19006
  break;
18993
19007
  case 15:
18994
- _context1.p = 15;
19008
+ _context1.n = 16;
19009
+ return effects.put(setMessagesHasPrevAC(false));
19010
+ case 16:
19011
+ _context1.n = 17;
19012
+ return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
19013
+ case 17:
19014
+ _context1.n = 19;
19015
+ break;
19016
+ case 18:
19017
+ _context1.p = 18;
18995
19018
  _t1 = _context1.v;
18996
19019
  log.error('error in load more messages', _t1);
18997
- case 16:
19020
+ case 19:
18998
19021
  return _context1.a(2);
18999
19022
  }
19000
- }, _marked9$1, null, [[0, 15]]);
19023
+ }, _marked9$1, null, [[0, 18]]);
19001
19024
  }
19002
19025
  function addReaction(action) {
19003
19026
  var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, _message2, reaction, channelUpdateParam, _t10;
@@ -31331,7 +31354,7 @@ var OGMetadata = function OGMetadata(_ref) {
31331
31354
  var queryBuilder = new client.MessageLinkOGQueryBuilder(url);
31332
31355
  return Promise.resolve(queryBuilder.build()).then(function (query) {
31333
31356
  return Promise.resolve(query.loadOGData()).then(function (metadata) {
31334
- return Promise.resolve(storeMetadata(url.replace('https://', '').replace('http://', ''), metadata)).then(function () {
31357
+ return Promise.resolve(storeMetadata(url, metadata)).then(function () {
31335
31358
  setMetadata(metadata);
31336
31359
  });
31337
31360
  });
@@ -31354,7 +31377,7 @@ var OGMetadata = function OGMetadata(_ref) {
31354
31377
  if (attachment !== null && attachment !== void 0 && attachment.id && attachment !== null && attachment !== void 0 && attachment.url) {
31355
31378
  var url = attachment === null || attachment === void 0 ? void 0 : attachment.url;
31356
31379
  if (url) {
31357
- getMetadata(url.replace('https://', '').replace('http://', '')).then(function (cachedMetadata) {
31380
+ getMetadata(url).then(function (cachedMetadata) {
31358
31381
  try {
31359
31382
  if (cachedMetadata) {
31360
31383
  setMetadata(cachedMetadata);
@@ -31403,14 +31426,8 @@ var OGMetadata = function OGMetadata(_ref) {
31403
31426
  };
31404
31427
  }
31405
31428
  }, [metadata === null || metadata === void 0 ? void 0 : (_metadata$og6 = metadata.og) === null || _metadata$og6 === void 0 ? void 0 : (_metadata$og6$image = _metadata$og6.image) === null || _metadata$og6$image === void 0 ? void 0 : (_metadata$og6$image$ = _metadata$og6$image[0]) === null || _metadata$og6$image$ === void 0 ? void 0 : _metadata$og6$image$.url]);
31406
- var calculatedImageWidth = React.useMemo(function () {
31407
- if (imageWidth > 400) {
31408
- return 400;
31409
- }
31410
- return imageWidth;
31411
- }, [imageWidth]);
31412
31429
  var calculatedImageHeight = React.useMemo(function () {
31413
- return imageHeight / (imageWidth / calculatedImageWidth);
31430
+ return imageHeight / (imageWidth / 400);
31414
31431
  }, [imageWidth, imageHeight]);
31415
31432
  return /*#__PURE__*/React__default.createElement(OGMetadataContainer, {
31416
31433
  showOGMetadata: !!showOGMetadata
@@ -31420,17 +31437,17 @@ var OGMetadata = function OGMetadata(_ref) {
31420
31437
  }
31421
31438
  }, /*#__PURE__*/React__default.createElement(ImageContainer, {
31422
31439
  showOGMetadata: !!showOGMetadata && !imageLoadError && imageLoaded,
31423
- width: calculatedImageWidth,
31440
+ width: 400,
31424
31441
  height: calculatedImageHeight
31425
31442
  }, metadata !== null && metadata !== void 0 && (_metadata$og7 = metadata.og) !== null && _metadata$og7 !== void 0 && (_metadata$og7$image = _metadata$og7.image) !== null && _metadata$og7$image !== void 0 && (_metadata$og7$image$ = _metadata$og7$image[0]) !== null && _metadata$og7$image$ !== void 0 && _metadata$og7$image$.url && !imageLoadError ? (/*#__PURE__*/React__default.createElement(Img, {
31426
31443
  src: metadata === null || metadata === void 0 ? void 0 : (_metadata$og8 = metadata.og) === null || _metadata$og8 === void 0 ? void 0 : (_metadata$og8$image = _metadata$og8.image) === null || _metadata$og8$image === void 0 ? void 0 : (_metadata$og8$image$ = _metadata$og8$image[0]) === null || _metadata$og8$image$ === void 0 ? void 0 : _metadata$og8$image$.url,
31427
31444
  alt: 'OG metadata image',
31428
- width: calculatedImageWidth,
31445
+ width: 400,
31429
31446
  height: calculatedImageHeight
31430
31447
  })) : null), showOGMetadata && imageLoaded ? (/*#__PURE__*/React__default.createElement(OGText, null, /*#__PURE__*/React__default.createElement(Url, {
31431
- maxWidth: calculatedImageWidth
31448
+ maxWidth: 400
31432
31449
  }, ogUrl), metadata !== null && metadata !== void 0 && (_metadata$og9 = metadata.og) !== null && _metadata$og9 !== void 0 && _metadata$og9.title ? (/*#__PURE__*/React__default.createElement(Title, {
31433
- maxWidth: calculatedImageWidth
31450
+ maxWidth: 400
31434
31451
  }, metadata !== null && metadata !== void 0 && (_metadata$og0 = metadata.og) !== null && _metadata$og0 !== void 0 && (_metadata$og0$favicon = _metadata$og0.favicon) !== null && _metadata$og0$favicon !== void 0 && _metadata$og0$favicon.url && !faviconLoadError ? (/*#__PURE__*/React__default.createElement(Favicon, {
31435
31452
  src: metadata === null || metadata === void 0 ? void 0 : (_metadata$og1 = metadata.og) === null || _metadata$og1 === void 0 ? void 0 : (_metadata$og1$favicon = _metadata$og1.favicon) === null || _metadata$og1$favicon === void 0 ? void 0 : _metadata$og1$favicon.url,
31436
31453
  onLoad: function onLoad() {
@@ -31439,9 +31456,9 @@ var OGMetadata = function OGMetadata(_ref) {
31439
31456
  onError: function onError() {
31440
31457
  return setFaviconLoadError(true);
31441
31458
  }
31442
- })) : null, /*#__PURE__*/React__default.createElement("span", null, metadata === null || metadata === void 0 ? void 0 : (_metadata$og10 = metadata.og) === null || _metadata$og10 === void 0 ? void 0 : _metadata$og10.title))) : null, metadata !== null && metadata !== void 0 && (_metadata$og11 = metadata.og) !== null && _metadata$og11 !== void 0 && _metadata$og11.description ? (/*#__PURE__*/React__default.createElement(Desc, {
31443
- maxWidth: calculatedImageWidth
31444
- }, metadata === null || metadata === void 0 ? void 0 : (_metadata$og12 = metadata.og) === null || _metadata$og12 === void 0 ? void 0 : _metadata$og12.description)) : null)) : null));
31459
+ })) : null, /*#__PURE__*/React__default.createElement("span", null, metadata === null || metadata === void 0 ? void 0 : (_metadata$og10 = metadata.og) === null || _metadata$og10 === void 0 ? void 0 : _metadata$og10.title))) : null, metadata !== null && metadata !== void 0 && (_metadata$og11 = metadata.og) !== null && _metadata$og11 !== void 0 && _metadata$og11.description ? /*#__PURE__*/React__default.createElement(Desc, {
31460
+ maxWidth: 400
31461
+ }, metadata === null || metadata === void 0 ? void 0 : (_metadata$og12 = metadata.og) === null || _metadata$og12 === void 0 ? void 0 : _metadata$og12.description) : null)) : null));
31445
31462
  };
31446
31463
  var OGMetadataContainer = styled__default.div(_templateObject$A || (_templateObject$A = _taggedTemplateLiteralLoose(["\n min-width: inherit;\n max-width: inherit;\n display: grid;\n grid-template-columns: 1fr;\n background-color: rgba(0, 0, 0, 0.034);\n border-radius: 6px;\n margin-bottom: 0.4rem;\n margin: 0 auto;\n margin-bottom: ", ";\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n cursor: pointer;\n }\n"])), function (_ref2) {
31447
31464
  var showOGMetadata = _ref2.showOGMetadata;
@@ -31474,24 +31491,12 @@ var Desc = styled__default.p(_templateObject6$f || (_templateObject6$f = _tagged
31474
31491
  var maxWidth = _ref9.maxWidth;
31475
31492
  return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
31476
31493
  });
31477
- var Img = styled__default.img(_templateObject7$d || (_templateObject7$d = _taggedTemplateLiteralLoose(["\n max-width: ", ";\n min-width: ", ";\n max-height: ", ";\n min-height: ", ";\n width: ", ";\n height: ", ";\n object-fit: cover;\n transition: height 0.2s ease;\n"])), function (_ref0) {
31494
+ var Img = styled__default.img(_templateObject7$d || (_templateObject7$d = _taggedTemplateLiteralLoose(["\n ", "\n ", "\n object-fit: cover;\n transition: height 0.2s ease;\n"])), function (_ref0) {
31478
31495
  var width = _ref0.width;
31479
- return width + "px";
31496
+ return width && "\n max-width: " + (width + "px") + ";\n min-width: " + (width + "px") + ";\n width: " + (width + "px") + ";\n ";
31480
31497
  }, function (_ref1) {
31481
- var width = _ref1.width;
31482
- return width + "px";
31483
- }, function (_ref10) {
31484
- var height = _ref10.height;
31485
- return height + "px";
31486
- }, function (_ref11) {
31487
- var height = _ref11.height;
31488
- return height + "px";
31489
- }, function (_ref12) {
31490
- var width = _ref12.width;
31491
- return width + "px";
31492
- }, function (_ref13) {
31493
- var height = _ref13.height;
31494
- return height + "px";
31498
+ var height = _ref1.height;
31499
+ return height && "\n max-height: " + (height + "px") + ";\n min-height: " + (height + "px") + ";\n height: " + (height + "px") + ";\n ";
31495
31500
  });
31496
31501
  var Favicon = styled__default.img(_templateObject8$c || (_templateObject8$c = _taggedTemplateLiteralLoose(["\n transition: all 0.2s ease;\n width: 24px;\n height: 24px;\n object-fit: contain;\n margin-right: 4px;\n"])));
31497
31502
 
@@ -33096,6 +33101,7 @@ var MessageList = function MessageList(_ref2) {
33096
33101
  var loadingRef = React.useRef(false);
33097
33102
  var messagesIndexMapRef = React.useRef({});
33098
33103
  var scrollRafRef = React.useRef(null);
33104
+ var loadingMessagesTimeoutRef = React.useRef(null);
33099
33105
  var renderTopDate = function renderTopDate() {
33100
33106
  var container = scrollRef.current;
33101
33107
  if (!container) return;
@@ -33452,7 +33458,7 @@ var MessageList = function MessageList(_ref2) {
33452
33458
  setUnreadMessageId('');
33453
33459
  }
33454
33460
  }
33455
- }, [messages]);
33461
+ }, [messages, hiddenMessagesProperties, user === null || user === void 0 ? void 0 : user.id]);
33456
33462
  React.useEffect(function () {
33457
33463
  if (scrollRef.current) {
33458
33464
  var isAtBottom = scrollRef.current.scrollTop > -50;
@@ -33470,7 +33476,7 @@ var MessageList = function MessageList(_ref2) {
33470
33476
  scrollRef.current.style.scrollBehavior = 'smooth';
33471
33477
  }
33472
33478
  if (loadFromServerRef.current) {
33473
- setTimeout(function () {
33479
+ var timeout = setTimeout(function () {
33474
33480
  loadingRef.current = false;
33475
33481
  loadFromServerRef.current = false;
33476
33482
  nextDisableRef.current = false;
@@ -33482,6 +33488,10 @@ var MessageList = function MessageList(_ref2) {
33482
33488
  handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
33483
33489
  }
33484
33490
  }, 50);
33491
+ if (loadingMessagesTimeoutRef.current) {
33492
+ clearTimeout(loadingMessagesTimeoutRef.current);
33493
+ }
33494
+ loadingMessagesTimeoutRef.current = timeout;
33485
33495
  } else {
33486
33496
  loadingRef.current = false;
33487
33497
  if (shouldLoadMessagesRef.current === 'prev') {
@@ -33532,7 +33542,37 @@ var MessageList = function MessageList(_ref2) {
33532
33542
  setPreviousScrollTop(0);
33533
33543
  });
33534
33544
  }
33545
+ return function () {
33546
+ if (loadingMessagesTimeoutRef.current) {
33547
+ clearTimeout(loadingMessagesTimeoutRef.current);
33548
+ }
33549
+ };
33535
33550
  }, [messages]);
33551
+ React.useEffect(function () {
33552
+ if (messagesLoading === LOADING_STATE.LOADED) {
33553
+ var timeout = setTimeout(function () {
33554
+ loadingRef.current = false;
33555
+ loadFromServerRef.current = false;
33556
+ nextDisableRef.current = false;
33557
+ var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
33558
+ if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
33559
+ handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
33560
+ }
33561
+ if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
33562
+ handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
33563
+ }
33564
+ }, 50);
33565
+ if (loadingMessagesTimeoutRef.current) {
33566
+ clearTimeout(loadingMessagesTimeoutRef.current);
33567
+ }
33568
+ loadingMessagesTimeoutRef.current = timeout;
33569
+ }
33570
+ return function () {
33571
+ if (loadingMessagesTimeoutRef.current) {
33572
+ clearTimeout(loadingMessagesTimeoutRef.current);
33573
+ }
33574
+ };
33575
+ }, [messagesLoading, messages, lastVisibleMessageId]);
33536
33576
  React.useEffect(function () {
33537
33577
  log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
33538
33578
  if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
@@ -41168,10 +41208,10 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
41168
41208
  };
41169
41209
  var handleScrollToLastMessage = function handleScrollToLastMessage(messageId) {
41170
41210
  try {
41171
- dispatch(scrollToNewMessageAC(true, false, false));
41172
41211
  if (messages.findIndex(function (msg) {
41173
41212
  return msg.id === messageId;
41174
41213
  }) >= 10) {
41214
+ dispatch(scrollToNewMessageAC(true, false, false));
41175
41215
  dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
41176
41216
  var repliedMessage = document.getElementById(messageId);
41177
41217
  if (repliedMessage) {
package/index.modern.js CHANGED
@@ -10376,7 +10376,7 @@ var messageSlice = createSlice({
10376
10376
  return msg.tid === message.tid || msg.id === message.id;
10377
10377
  });
10378
10378
  });
10379
- if (direction === MESSAGE_LOAD_DIRECTION.PREV) {
10379
+ if (direction === MESSAGE_LOAD_DIRECTION.PREV && newMessagesLength > 0) {
10380
10380
  if (currentMessagesLength + newMessagesLength >= MESSAGES_MAX_LENGTH) {
10381
10381
  var _state$activeChannelM;
10382
10382
  setHasNextCached(true);
@@ -10398,7 +10398,7 @@ var messageSlice = createSlice({
10398
10398
  var _state$activeChannelM3;
10399
10399
  (_state$activeChannelM3 = state.activeChannelMessages).splice.apply(_state$activeChannelM3, [0, 0].concat(messagesIsNotIncludeInActiveChannelMessages));
10400
10400
  }
10401
- } else if (direction === 'next') {
10401
+ } else if (direction === 'next' && newMessagesLength > 0) {
10402
10402
  if (currentMessagesLength >= MESSAGES_MAX_LENGTH) {
10403
10403
  var _state$activeChannelM4;
10404
10404
  setHasPrevCached(true);
@@ -18499,7 +18499,7 @@ function getMessagesQuery(action) {
18499
18499
  case 1:
18500
18500
  _action$payload = action.payload, channel = _action$payload.channel, loadWithLastMessage = _action$payload.loadWithLastMessage, messageId = _action$payload.messageId, limit = _action$payload.limit, withDeliveredMessages = _action$payload.withDeliveredMessages, highlight = _action$payload.highlight, behavior = _action$payload.behavior;
18501
18501
  if (!(channel.id && !channel.isMockChannel)) {
18502
- _context9.n = 47;
18502
+ _context9.n = 48;
18503
18503
  break;
18504
18504
  }
18505
18505
  SceytChatClient = getClient();
@@ -18527,6 +18527,7 @@ function getMessagesQuery(action) {
18527
18527
  break;
18528
18528
  }
18529
18529
  setHasPrevCached(false);
18530
+ setMessagesToMap(channel.id, []);
18530
18531
  setAllMessages([]);
18531
18532
  _context9.n = 3;
18532
18533
  return call(messageQuery.loadPreviousMessageId, '0');
@@ -18585,11 +18586,11 @@ function getMessagesQuery(action) {
18585
18586
  _context9.n = 12;
18586
18587
  return put(setScrollToMessagesAC(messageId, highlight, behavior));
18587
18588
  case 12:
18588
- _context9.n = 45;
18589
+ _context9.n = 46;
18589
18590
  break;
18590
18591
  case 13:
18591
18592
  if (!messageId) {
18592
- _context9.n = 25;
18593
+ _context9.n = 26;
18593
18594
  break;
18594
18595
  }
18595
18596
  _allMessages = getAllMessages();
@@ -18598,7 +18599,7 @@ function getMessagesQuery(action) {
18598
18599
  });
18599
18600
  maxLengthPart = MESSAGES_MAX_LENGTH / 2;
18600
18601
  if (!(messageIndex >= maxLengthPart)) {
18601
- _context9.n = 15;
18602
+ _context9.n = 16;
18602
18603
  break;
18603
18604
  }
18604
18605
  result.messages = _allMessages.slice(messageIndex - maxLengthPart, messageIndex + maxLengthPart);
@@ -18607,151 +18608,160 @@ function getMessagesQuery(action) {
18607
18608
  case 14:
18608
18609
  setHasPrevCached(messageIndex > maxLengthPart);
18609
18610
  setHasNextCached(_allMessages.length > maxLengthPart);
18611
+ _context9.n = 15;
18612
+ return put(setMessagesHasPrevAC(true));
18613
+ case 15:
18610
18614
  _context9.n = 22;
18611
18615
  break;
18612
- case 15:
18616
+ case 16:
18613
18617
  messageQuery.limit = MESSAGES_MAX_LENGTH;
18614
18618
  log.info('load by message id from server ...............', messageId);
18615
- _context9.n = 16;
18619
+ _context9.n = 17;
18616
18620
  return call(messageQuery.loadNearMessageId, messageId);
18617
- case 16:
18621
+ case 17:
18618
18622
  result = _context9.v;
18619
18623
  if (!(result.messages.length === 50)) {
18620
- _context9.n = 19;
18624
+ _context9.n = 20;
18621
18625
  break;
18622
18626
  }
18623
- messageQuery.limit = (MESSAGES_MAX_LENGTH - 50) / 2;
18624
- _context9.n = 17;
18627
+ messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
18628
+ _context9.n = 18;
18625
18629
  return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
18626
- case 17:
18630
+ case 18:
18627
18631
  _secondResult = _context9.v;
18628
18632
  messageQuery.reverse = false;
18629
- _context9.n = 18;
18633
+ _context9.n = 19;
18630
18634
  return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
18631
- case 18:
18635
+ case 19:
18632
18636
  thirdResult = _context9.v;
18633
18637
  result.messages = [].concat(_secondResult.messages, result.messages, thirdResult.messages);
18634
18638
  result.hasNext = _secondResult.hasNext;
18635
18639
  messageQuery.reverse = true;
18636
- case 19:
18637
- log.info('result from server ....... ', result);
18638
18640
  _context9.n = 20;
18639
- return put(setMessagesHasNextAC(true));
18641
+ return put(setMessagesHasPrevAC(_secondResult.hasNext));
18640
18642
  case 20:
18643
+ log.info('result from server ....... ', result);
18641
18644
  _context9.n = 21;
18642
18645
  return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
18643
18646
  case 21:
18647
+ setMessagesToMap(channel.id, result.messages);
18644
18648
  setAllMessages([].concat(result.messages));
18645
18649
  setHasPrevCached(false);
18646
18650
  setHasNextCached(false);
18647
18651
  case 22:
18648
18652
  _context9.n = 23;
18649
- return put(setScrollToMessagesAC(messageId, true, behavior));
18653
+ return put(setMessagesHasNextAC(true));
18650
18654
  case 23:
18651
18655
  _context9.n = 24;
18652
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18656
+ return put(setScrollToMessagesAC(messageId, true, behavior));
18653
18657
  case 24:
18654
- _context9.n = 45;
18655
- break;
18658
+ _context9.n = 25;
18659
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18656
18660
  case 25:
18661
+ _context9.n = 46;
18662
+ break;
18663
+ case 26:
18657
18664
  if (!(channel.newMessageCount && channel.lastDisplayedMessageId)) {
18658
- _context9.n = 38;
18665
+ _context9.n = 39;
18659
18666
  break;
18660
18667
  }
18668
+ setMessagesToMap(channel.id, []);
18661
18669
  setAllMessages([]);
18662
18670
  messageQuery.limit = MESSAGES_MAX_LENGTH;
18663
18671
  if (!Number(channel.lastDisplayedMessageId)) {
18664
- _context9.n = 31;
18672
+ _context9.n = 32;
18665
18673
  break;
18666
18674
  }
18667
- _context9.n = 26;
18675
+ _context9.n = 27;
18668
18676
  return call(messageQuery.loadNearMessageId, channel.lastDisplayedMessageId);
18669
- case 26:
18677
+ case 27:
18670
18678
  result = _context9.v;
18671
18679
  if (!(result.messages.length === 50)) {
18672
- _context9.n = 30;
18680
+ _context9.n = 31;
18673
18681
  break;
18674
18682
  }
18675
18683
  messageQuery.limit = channel.newMessageCount > 25 ? (MESSAGES_MAX_LENGTH - 50) / 2 : MESSAGES_MAX_LENGTH - 50;
18676
- _context9.n = 27;
18684
+ _context9.n = 28;
18677
18685
  return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
18678
- case 27:
18686
+ case 28:
18679
18687
  _secondResult2 = _context9.v;
18680
18688
  if (!(channel.newMessageCount > 25)) {
18681
- _context9.n = 29;
18689
+ _context9.n = 30;
18682
18690
  break;
18683
18691
  }
18684
18692
  messageQuery.reverse = false;
18685
- _context9.n = 28;
18693
+ _context9.n = 29;
18686
18694
  return call(messageQuery.loadNextMessageId, result.messages[result.messages.length - 1].id);
18687
- case 28:
18695
+ case 29:
18688
18696
  _thirdResult = _context9.v;
18689
18697
  result.messages = [].concat(_secondResult2.messages, result.messages, _thirdResult.messages);
18690
18698
  messageQuery.reverse = true;
18691
- _context9.n = 30;
18699
+ _context9.n = 31;
18692
18700
  break;
18693
- case 29:
18694
- result.messages = [].concat(_secondResult2.messages, result.messages);
18695
18701
  case 30:
18696
- _context9.n = 34;
18697
- break;
18702
+ result.messages = [].concat(_secondResult2.messages, result.messages);
18698
18703
  case 31:
18699
- _context9.n = 32;
18700
- return call(messageQuery.loadPrevious);
18704
+ _context9.n = 35;
18705
+ break;
18701
18706
  case 32:
18707
+ _context9.n = 33;
18708
+ return call(messageQuery.loadPrevious);
18709
+ case 33:
18702
18710
  result = _context9.v;
18703
18711
  if (!(result.messages.length === 50)) {
18704
- _context9.n = 34;
18712
+ _context9.n = 35;
18705
18713
  break;
18706
18714
  }
18707
18715
  messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
18708
- _context9.n = 33;
18716
+ _context9.n = 34;
18709
18717
  return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
18710
- case 33:
18718
+ case 34:
18711
18719
  _secondResult3 = _context9.v;
18712
18720
  result.messages = [].concat(_secondResult3.messages, result.messages);
18713
18721
  result.hasNext = _secondResult3.hasNext;
18714
- case 34:
18715
- setMessagesToMap(channel.id, result.messages);
18716
- _context9.n = 35;
18717
- return put(setMessagesHasPrevAC(true));
18718
18722
  case 35:
18719
18723
  _context9.n = 36;
18720
- return put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
18724
+ return put(setMessagesHasPrevAC(true));
18721
18725
  case 36:
18722
- setAllMessages([].concat(result.messages));
18723
18726
  _context9.n = 37;
18724
- return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
18727
+ return put(setMessagesHasNextAC(channel.lastMessage && result.messages.length > 0 && channel.lastMessage.id !== result.messages[result.messages.length - 1].id));
18725
18728
  case 37:
18726
- _context9.n = 45;
18727
- break;
18729
+ setMessagesToMap(channel.id, result.messages);
18730
+ setAllMessages([].concat(result.messages));
18731
+ _context9.n = 38;
18732
+ return put(setMessagesAC(JSON.parse(JSON.stringify(result.messages))));
18728
18733
  case 38:
18734
+ _context9.n = 46;
18735
+ break;
18736
+ case 39:
18737
+ setMessagesToMap(channel.id, []);
18729
18738
  setAllMessages([]);
18730
18739
  if (!(cachedMessages && cachedMessages.length)) {
18731
- _context9.n = 39;
18740
+ _context9.n = 40;
18732
18741
  break;
18733
18742
  }
18743
+ setMessagesToMap(channel.id, []);
18734
18744
  setAllMessages([].concat(cachedMessages));
18735
- _context9.n = 39;
18745
+ _context9.n = 40;
18736
18746
  return put(setMessagesAC(JSON.parse(JSON.stringify(cachedMessages))));
18737
- case 39:
18747
+ case 40:
18738
18748
  log.info('load message from server');
18739
- _context9.n = 40;
18749
+ _context9.n = 41;
18740
18750
  return call(messageQuery.loadPrevious);
18741
- case 40:
18751
+ case 41:
18742
18752
  result = _context9.v;
18743
18753
  if (!(result.messages.length === 50)) {
18744
- _context9.n = 42;
18754
+ _context9.n = 43;
18745
18755
  break;
18746
18756
  }
18747
18757
  messageQuery.limit = MESSAGES_MAX_LENGTH - 50;
18748
- _context9.n = 41;
18758
+ _context9.n = 42;
18749
18759
  return call(messageQuery.loadPreviousMessageId, result.messages[0].id);
18750
- case 41:
18760
+ case 42:
18751
18761
  _secondResult4 = _context9.v;
18752
18762
  result.messages = [].concat(_secondResult4.messages, result.messages);
18753
18763
  result.hasNext = _secondResult4.hasNext;
18754
- case 42:
18764
+ case 43:
18755
18765
  updatedMessages = [];
18756
18766
  result.messages.forEach(function (msg) {
18757
18767
  var updatedMessage = updateMessageOnMap(channel.id, {
@@ -18763,18 +18773,18 @@ function getMessagesQuery(action) {
18763
18773
  });
18764
18774
  setMessagesToMap(channel.id, updatedMessages);
18765
18775
  setAllMessages([].concat(updatedMessages));
18766
- _context9.n = 43;
18767
- return put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
18768
- case 43:
18769
18776
  _context9.n = 44;
18770
- return put(setMessagesHasPrevAC(result.hasNext));
18777
+ return put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
18771
18778
  case 44:
18772
18779
  _context9.n = 45;
18773
- return put(setMessagesHasNextAC(false));
18780
+ return put(setMessagesHasPrevAC(result.hasNext));
18774
18781
  case 45:
18782
+ _context9.n = 46;
18783
+ return put(setMessagesHasNextAC(false));
18784
+ case 46:
18775
18785
  pendingMessages = getPendingMessages(channel.id);
18776
18786
  if (!(pendingMessages && pendingMessages.length)) {
18777
- _context9.n = 46;
18787
+ _context9.n = 47;
18778
18788
  break;
18779
18789
  }
18780
18790
  _messagesMap = {};
@@ -18784,35 +18794,35 @@ function getMessagesQuery(action) {
18784
18794
  filteredPendingMessages = pendingMessages.filter(function (msg) {
18785
18795
  return !_messagesMap[msg.tid || ''];
18786
18796
  });
18787
- _context9.n = 46;
18797
+ _context9.n = 47;
18788
18798
  return put(addMessagesAC(filteredPendingMessages, MESSAGE_LOAD_DIRECTION.NEXT));
18789
- case 46:
18790
- _context9.n = 48;
18791
- break;
18792
18799
  case 47:
18800
+ _context9.n = 49;
18801
+ break;
18802
+ case 48:
18793
18803
  if (!channel.isMockChannel) {
18794
- _context9.n = 48;
18804
+ _context9.n = 49;
18795
18805
  break;
18796
18806
  }
18797
- _context9.n = 48;
18807
+ _context9.n = 49;
18798
18808
  return put(setMessagesAC([]));
18799
- case 48:
18800
- _context9.n = 50;
18801
- break;
18802
18809
  case 49:
18803
- _context9.p = 49;
18804
- _t9 = _context9.v;
18805
- log.error('error in message query', _t9);
18810
+ _context9.n = 51;
18811
+ break;
18806
18812
  case 50:
18807
18813
  _context9.p = 50;
18808
- _context9.n = 51;
18809
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18814
+ _t9 = _context9.v;
18815
+ log.error('error in message query', _t9);
18810
18816
  case 51:
18811
- return _context9.f(50);
18817
+ _context9.p = 51;
18818
+ _context9.n = 52;
18819
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18812
18820
  case 52:
18821
+ return _context9.f(51);
18822
+ case 53:
18813
18823
  return _context9.a(2);
18814
18824
  }
18815
- }, _marked7$1, null, [[0, 49, 50, 52]]);
18825
+ }, _marked7$1, null, [[0, 50, 51, 53]]);
18816
18826
  }
18817
18827
  function getMessageQuery(action) {
18818
18828
  var payload, channelId, messageId, channel, messages, fetchedMessage, _t0;
@@ -18958,25 +18968,38 @@ function loadMoreMessages(action) {
18958
18968
  _context1.n = 11;
18959
18969
  return put(addMessagesAC(JSON.parse(JSON.stringify(result.messages)), direction));
18960
18970
  case 11:
18961
- _context1.n = 13;
18971
+ _context1.n = 16;
18962
18972
  break;
18963
18973
  case 12:
18964
18974
  _context1.n = 13;
18965
18975
  return put(addMessagesAC([], direction));
18966
18976
  case 13:
18977
+ if (!(direction === MESSAGE_LOAD_DIRECTION.NEXT)) {
18978
+ _context1.n = 15;
18979
+ break;
18980
+ }
18967
18981
  _context1.n = 14;
18968
- return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18982
+ return put(setMessagesHasNextAC(false));
18969
18983
  case 14:
18970
18984
  _context1.n = 16;
18971
18985
  break;
18972
18986
  case 15:
18973
- _context1.p = 15;
18987
+ _context1.n = 16;
18988
+ return put(setMessagesHasPrevAC(false));
18989
+ case 16:
18990
+ _context1.n = 17;
18991
+ return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
18992
+ case 17:
18993
+ _context1.n = 19;
18994
+ break;
18995
+ case 18:
18996
+ _context1.p = 18;
18974
18997
  _t1 = _context1.v;
18975
18998
  log.error('error in load more messages', _t1);
18976
- case 16:
18999
+ case 19:
18977
19000
  return _context1.a(2);
18978
19001
  }
18979
- }, _marked9$1, null, [[0, 15]]);
19002
+ }, _marked9$1, null, [[0, 18]]);
18980
19003
  }
18981
19004
  function addReaction(action) {
18982
19005
  var payload, channelId, messageId, key, score, reason, enforceUnique, user, channel, _yield$call, _message2, reaction, channelUpdateParam, _t10;
@@ -31310,7 +31333,7 @@ var OGMetadata = function OGMetadata(_ref) {
31310
31333
  var queryBuilder = new client.MessageLinkOGQueryBuilder(url);
31311
31334
  return Promise.resolve(queryBuilder.build()).then(function (query) {
31312
31335
  return Promise.resolve(query.loadOGData()).then(function (metadata) {
31313
- return Promise.resolve(storeMetadata(url.replace('https://', '').replace('http://', ''), metadata)).then(function () {
31336
+ return Promise.resolve(storeMetadata(url, metadata)).then(function () {
31314
31337
  setMetadata(metadata);
31315
31338
  });
31316
31339
  });
@@ -31333,7 +31356,7 @@ var OGMetadata = function OGMetadata(_ref) {
31333
31356
  if (attachment !== null && attachment !== void 0 && attachment.id && attachment !== null && attachment !== void 0 && attachment.url) {
31334
31357
  var url = attachment === null || attachment === void 0 ? void 0 : attachment.url;
31335
31358
  if (url) {
31336
- getMetadata(url.replace('https://', '').replace('http://', '')).then(function (cachedMetadata) {
31359
+ getMetadata(url).then(function (cachedMetadata) {
31337
31360
  try {
31338
31361
  if (cachedMetadata) {
31339
31362
  setMetadata(cachedMetadata);
@@ -31382,14 +31405,8 @@ var OGMetadata = function OGMetadata(_ref) {
31382
31405
  };
31383
31406
  }
31384
31407
  }, [metadata === null || metadata === void 0 ? void 0 : (_metadata$og6 = metadata.og) === null || _metadata$og6 === void 0 ? void 0 : (_metadata$og6$image = _metadata$og6.image) === null || _metadata$og6$image === void 0 ? void 0 : (_metadata$og6$image$ = _metadata$og6$image[0]) === null || _metadata$og6$image$ === void 0 ? void 0 : _metadata$og6$image$.url]);
31385
- var calculatedImageWidth = useMemo(function () {
31386
- if (imageWidth > 400) {
31387
- return 400;
31388
- }
31389
- return imageWidth;
31390
- }, [imageWidth]);
31391
31408
  var calculatedImageHeight = useMemo(function () {
31392
- return imageHeight / (imageWidth / calculatedImageWidth);
31409
+ return imageHeight / (imageWidth / 400);
31393
31410
  }, [imageWidth, imageHeight]);
31394
31411
  return /*#__PURE__*/React__default.createElement(OGMetadataContainer, {
31395
31412
  showOGMetadata: !!showOGMetadata
@@ -31399,17 +31416,17 @@ var OGMetadata = function OGMetadata(_ref) {
31399
31416
  }
31400
31417
  }, /*#__PURE__*/React__default.createElement(ImageContainer, {
31401
31418
  showOGMetadata: !!showOGMetadata && !imageLoadError && imageLoaded,
31402
- width: calculatedImageWidth,
31419
+ width: 400,
31403
31420
  height: calculatedImageHeight
31404
31421
  }, metadata !== null && metadata !== void 0 && (_metadata$og7 = metadata.og) !== null && _metadata$og7 !== void 0 && (_metadata$og7$image = _metadata$og7.image) !== null && _metadata$og7$image !== void 0 && (_metadata$og7$image$ = _metadata$og7$image[0]) !== null && _metadata$og7$image$ !== void 0 && _metadata$og7$image$.url && !imageLoadError ? (/*#__PURE__*/React__default.createElement(Img, {
31405
31422
  src: metadata === null || metadata === void 0 ? void 0 : (_metadata$og8 = metadata.og) === null || _metadata$og8 === void 0 ? void 0 : (_metadata$og8$image = _metadata$og8.image) === null || _metadata$og8$image === void 0 ? void 0 : (_metadata$og8$image$ = _metadata$og8$image[0]) === null || _metadata$og8$image$ === void 0 ? void 0 : _metadata$og8$image$.url,
31406
31423
  alt: 'OG metadata image',
31407
- width: calculatedImageWidth,
31424
+ width: 400,
31408
31425
  height: calculatedImageHeight
31409
31426
  })) : null), showOGMetadata && imageLoaded ? (/*#__PURE__*/React__default.createElement(OGText, null, /*#__PURE__*/React__default.createElement(Url, {
31410
- maxWidth: calculatedImageWidth
31427
+ maxWidth: 400
31411
31428
  }, ogUrl), metadata !== null && metadata !== void 0 && (_metadata$og9 = metadata.og) !== null && _metadata$og9 !== void 0 && _metadata$og9.title ? (/*#__PURE__*/React__default.createElement(Title, {
31412
- maxWidth: calculatedImageWidth
31429
+ maxWidth: 400
31413
31430
  }, metadata !== null && metadata !== void 0 && (_metadata$og0 = metadata.og) !== null && _metadata$og0 !== void 0 && (_metadata$og0$favicon = _metadata$og0.favicon) !== null && _metadata$og0$favicon !== void 0 && _metadata$og0$favicon.url && !faviconLoadError ? (/*#__PURE__*/React__default.createElement(Favicon, {
31414
31431
  src: metadata === null || metadata === void 0 ? void 0 : (_metadata$og1 = metadata.og) === null || _metadata$og1 === void 0 ? void 0 : (_metadata$og1$favicon = _metadata$og1.favicon) === null || _metadata$og1$favicon === void 0 ? void 0 : _metadata$og1$favicon.url,
31415
31432
  onLoad: function onLoad() {
@@ -31418,9 +31435,9 @@ var OGMetadata = function OGMetadata(_ref) {
31418
31435
  onError: function onError() {
31419
31436
  return setFaviconLoadError(true);
31420
31437
  }
31421
- })) : null, /*#__PURE__*/React__default.createElement("span", null, metadata === null || metadata === void 0 ? void 0 : (_metadata$og10 = metadata.og) === null || _metadata$og10 === void 0 ? void 0 : _metadata$og10.title))) : null, metadata !== null && metadata !== void 0 && (_metadata$og11 = metadata.og) !== null && _metadata$og11 !== void 0 && _metadata$og11.description ? (/*#__PURE__*/React__default.createElement(Desc, {
31422
- maxWidth: calculatedImageWidth
31423
- }, metadata === null || metadata === void 0 ? void 0 : (_metadata$og12 = metadata.og) === null || _metadata$og12 === void 0 ? void 0 : _metadata$og12.description)) : null)) : null));
31438
+ })) : null, /*#__PURE__*/React__default.createElement("span", null, metadata === null || metadata === void 0 ? void 0 : (_metadata$og10 = metadata.og) === null || _metadata$og10 === void 0 ? void 0 : _metadata$og10.title))) : null, metadata !== null && metadata !== void 0 && (_metadata$og11 = metadata.og) !== null && _metadata$og11 !== void 0 && _metadata$og11.description ? /*#__PURE__*/React__default.createElement(Desc, {
31439
+ maxWidth: 400
31440
+ }, metadata === null || metadata === void 0 ? void 0 : (_metadata$og12 = metadata.og) === null || _metadata$og12 === void 0 ? void 0 : _metadata$og12.description) : null)) : null));
31424
31441
  };
31425
31442
  var OGMetadataContainer = styled.div(_templateObject$A || (_templateObject$A = _taggedTemplateLiteralLoose(["\n min-width: inherit;\n max-width: inherit;\n display: grid;\n grid-template-columns: 1fr;\n background-color: rgba(0, 0, 0, 0.034);\n border-radius: 6px;\n margin-bottom: 0.4rem;\n margin: 0 auto;\n margin-bottom: ", ";\n &:hover {\n background-color: rgba(0, 0, 0, 0.1);\n cursor: pointer;\n }\n"])), function (_ref2) {
31426
31443
  var showOGMetadata = _ref2.showOGMetadata;
@@ -31453,24 +31470,12 @@ var Desc = styled.p(_templateObject6$f || (_templateObject6$f = _taggedTemplateL
31453
31470
  var maxWidth = _ref9.maxWidth;
31454
31471
  return maxWidth && "\n max-width: " + (maxWidth + "px") + ";\n ";
31455
31472
  });
31456
- var Img = styled.img(_templateObject7$d || (_templateObject7$d = _taggedTemplateLiteralLoose(["\n max-width: ", ";\n min-width: ", ";\n max-height: ", ";\n min-height: ", ";\n width: ", ";\n height: ", ";\n object-fit: cover;\n transition: height 0.2s ease;\n"])), function (_ref0) {
31473
+ var Img = styled.img(_templateObject7$d || (_templateObject7$d = _taggedTemplateLiteralLoose(["\n ", "\n ", "\n object-fit: cover;\n transition: height 0.2s ease;\n"])), function (_ref0) {
31457
31474
  var width = _ref0.width;
31458
- return width + "px";
31475
+ return width && "\n max-width: " + (width + "px") + ";\n min-width: " + (width + "px") + ";\n width: " + (width + "px") + ";\n ";
31459
31476
  }, function (_ref1) {
31460
- var width = _ref1.width;
31461
- return width + "px";
31462
- }, function (_ref10) {
31463
- var height = _ref10.height;
31464
- return height + "px";
31465
- }, function (_ref11) {
31466
- var height = _ref11.height;
31467
- return height + "px";
31468
- }, function (_ref12) {
31469
- var width = _ref12.width;
31470
- return width + "px";
31471
- }, function (_ref13) {
31472
- var height = _ref13.height;
31473
- return height + "px";
31477
+ var height = _ref1.height;
31478
+ return height && "\n max-height: " + (height + "px") + ";\n min-height: " + (height + "px") + ";\n height: " + (height + "px") + ";\n ";
31474
31479
  });
31475
31480
  var Favicon = styled.img(_templateObject8$c || (_templateObject8$c = _taggedTemplateLiteralLoose(["\n transition: all 0.2s ease;\n width: 24px;\n height: 24px;\n object-fit: contain;\n margin-right: 4px;\n"])));
31476
31481
 
@@ -33075,6 +33080,7 @@ var MessageList = function MessageList(_ref2) {
33075
33080
  var loadingRef = useRef(false);
33076
33081
  var messagesIndexMapRef = useRef({});
33077
33082
  var scrollRafRef = useRef(null);
33083
+ var loadingMessagesTimeoutRef = useRef(null);
33078
33084
  var renderTopDate = function renderTopDate() {
33079
33085
  var container = scrollRef.current;
33080
33086
  if (!container) return;
@@ -33431,7 +33437,7 @@ var MessageList = function MessageList(_ref2) {
33431
33437
  setUnreadMessageId('');
33432
33438
  }
33433
33439
  }
33434
- }, [messages]);
33440
+ }, [messages, hiddenMessagesProperties, user === null || user === void 0 ? void 0 : user.id]);
33435
33441
  useEffect(function () {
33436
33442
  if (scrollRef.current) {
33437
33443
  var isAtBottom = scrollRef.current.scrollTop > -50;
@@ -33449,7 +33455,7 @@ var MessageList = function MessageList(_ref2) {
33449
33455
  scrollRef.current.style.scrollBehavior = 'smooth';
33450
33456
  }
33451
33457
  if (loadFromServerRef.current) {
33452
- setTimeout(function () {
33458
+ var timeout = setTimeout(function () {
33453
33459
  loadingRef.current = false;
33454
33460
  loadFromServerRef.current = false;
33455
33461
  nextDisableRef.current = false;
@@ -33461,6 +33467,10 @@ var MessageList = function MessageList(_ref2) {
33461
33467
  handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
33462
33468
  }
33463
33469
  }, 50);
33470
+ if (loadingMessagesTimeoutRef.current) {
33471
+ clearTimeout(loadingMessagesTimeoutRef.current);
33472
+ }
33473
+ loadingMessagesTimeoutRef.current = timeout;
33464
33474
  } else {
33465
33475
  loadingRef.current = false;
33466
33476
  if (shouldLoadMessagesRef.current === 'prev') {
@@ -33511,7 +33521,37 @@ var MessageList = function MessageList(_ref2) {
33511
33521
  setPreviousScrollTop(0);
33512
33522
  });
33513
33523
  }
33524
+ return function () {
33525
+ if (loadingMessagesTimeoutRef.current) {
33526
+ clearTimeout(loadingMessagesTimeoutRef.current);
33527
+ }
33528
+ };
33514
33529
  }, [messages]);
33530
+ useEffect(function () {
33531
+ if (messagesLoading === LOADING_STATE.LOADED) {
33532
+ var timeout = setTimeout(function () {
33533
+ loadingRef.current = false;
33534
+ loadFromServerRef.current = false;
33535
+ nextDisableRef.current = false;
33536
+ var currentIndex = messagesIndexMapRef.current[lastVisibleMessageId];
33537
+ if (shouldLoadMessagesRef.current === 'prev' && typeof currentIndex === 'number' && currentIndex < 15) {
33538
+ handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.PREV, LOAD_MAX_MESSAGE_COUNT);
33539
+ }
33540
+ if (shouldLoadMessagesRef.current === 'next' && typeof currentIndex === 'number' && currentIndex > messages.length - 15) {
33541
+ handleLoadMoreMessages(MESSAGE_LOAD_DIRECTION.NEXT, LOAD_MAX_MESSAGE_COUNT);
33542
+ }
33543
+ }, 50);
33544
+ if (loadingMessagesTimeoutRef.current) {
33545
+ clearTimeout(loadingMessagesTimeoutRef.current);
33546
+ }
33547
+ loadingMessagesTimeoutRef.current = timeout;
33548
+ }
33549
+ return function () {
33550
+ if (loadingMessagesTimeoutRef.current) {
33551
+ clearTimeout(loadingMessagesTimeoutRef.current);
33552
+ }
33553
+ };
33554
+ }, [messagesLoading, messages, lastVisibleMessageId]);
33515
33555
  useEffect(function () {
33516
33556
  log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
33517
33557
  if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
@@ -41147,10 +41187,10 @@ var MessagesScrollToBottomButton = function MessagesScrollToBottomButton(_ref) {
41147
41187
  };
41148
41188
  var handleScrollToLastMessage = function handleScrollToLastMessage(messageId) {
41149
41189
  try {
41150
- dispatch(scrollToNewMessageAC(true, false, false));
41151
41190
  if (messages.findIndex(function (msg) {
41152
41191
  return msg.id === messageId;
41153
41192
  }) >= 10) {
41193
+ dispatch(scrollToNewMessageAC(true, false, false));
41154
41194
  dispatch(setMessagesLoadingStateAC(LOADING_STATE.LOADING));
41155
41195
  var repliedMessage = document.getElementById(messageId);
41156
41196
  if (repliedMessage) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sceyt-chat-react-uikit",
3
- "version": "1.7.1-beta.17",
3
+ "version": "1.7.1-beta.19",
4
4
  "description": "Interactive React UI Components for Sceyt Chat.",
5
5
  "author": "Sceyt",
6
6
  "license": "MIT",