stream-chat-react-native-core 5.12.0-beta.2 → 5.12.0-beta.4

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 (35) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +40 -24
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js +3 -3
  4. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  5. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +9 -2
  6. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  7. package/lib/commonjs/components/MessageList/MessageList.js +96 -80
  8. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  9. package/lib/commonjs/components/MessageList/utils/getReadStates.js +9 -4
  10. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  11. package/lib/commonjs/hooks/useAppStateListener.js +14 -10
  12. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  13. package/lib/commonjs/version.json +1 -1
  14. package/lib/module/components/Channel/Channel.js +40 -24
  15. package/lib/module/components/Channel/Channel.js.map +1 -1
  16. package/lib/module/components/Channel/hooks/useTargetedMessage.js +3 -3
  17. package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  18. package/lib/module/components/ChannelPreview/ChannelPreview.js +9 -2
  19. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  20. package/lib/module/components/MessageList/MessageList.js +96 -80
  21. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  22. package/lib/module/components/MessageList/utils/getReadStates.js +9 -4
  23. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  24. package/lib/module/hooks/useAppStateListener.js +14 -10
  25. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  26. package/lib/module/version.json +1 -1
  27. package/package.json +1 -1
  28. package/src/components/Channel/Channel.tsx +35 -15
  29. package/src/components/Channel/hooks/useTargetedMessage.ts +3 -3
  30. package/src/components/ChannelPreview/ChannelPreview.tsx +7 -0
  31. package/src/components/MessageList/MessageList.tsx +75 -58
  32. package/src/components/MessageList/utils/getReadStates.ts +3 -4
  33. package/src/components/Thread/__tests__/__snapshots__/Thread.test.js.snap +2 -0
  34. package/src/hooks/useAppStateListener.ts +14 -11
  35. package/src/version.json +1 -1
@@ -629,31 +629,47 @@ var ChannelWithContext = function ChannelWithContext(props) {
629
629
  }());
630
630
  var loadChannelAtFirstUnreadMessage = function loadChannelAtFirstUnreadMessage() {
631
631
  if (!channel) return;
632
- var unreadCount = channel.countUnread();
633
- if (unreadCount <= scrollToFirstUnreadThreshold) return;
634
- setMessages([]);
632
+ var unreadMessageIdToScrollTo;
635
633
  return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
636
- var lastReadDate;
634
+ var lastReadDate, _channel$state$messag;
637
635
  return _regenerator["default"].wrap(function _callee2$(_context2) {
638
636
  while (1) switch (_context2.prev = _context2.next) {
639
637
  case 0:
640
638
  setLoading(true);
641
- lastReadDate = channel.lastRead() || new Date(0);
642
- _context2.next = 4;
639
+ lastReadDate = channel.lastRead();
640
+ if (!lastReadDate) {
641
+ _context2.next = 9;
642
+ break;
643
+ }
644
+ setHasNoMoreRecentMessagesToLoad(false);
645
+ _context2.next = 6;
643
646
  return channel.query({
644
647
  messages: {
645
648
  created_at_around: lastReadDate,
646
- limit: 25
649
+ limit: 30
647
650
  }
648
- });
649
- case 4:
651
+ }, 'new');
652
+ case 6:
653
+ unreadMessageIdToScrollTo = (_channel$state$messag = channel.state.messages.find(function (m) {
654
+ return lastReadDate < m.created_at;
655
+ })) == null ? void 0 : _channel$state$messag.id;
656
+ _context2.next = 11;
657
+ break;
658
+ case 9:
659
+ _context2.next = 11;
660
+ return channel.state.loadMessageIntoState('latest');
661
+ case 11:
650
662
  setLoading(false);
651
- case 5:
663
+ case 12:
652
664
  case "end":
653
665
  return _context2.stop();
654
666
  }
655
667
  }, _callee2);
656
- })));
668
+ })), function () {
669
+ if (unreadMessageIdToScrollTo) {
670
+ setTargetedMessage(unreadMessageIdToScrollTo);
671
+ }
672
+ });
657
673
  };
658
674
  var loadChannelAroundMessage = function loadChannelAroundMessage(_ref3) {
659
675
  var messageId = _ref3.messageId;
@@ -1997,7 +2013,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1997
2013
  __self: _this,
1998
2014
  __source: {
1999
2015
  fileName: _jsxFileName,
2000
- lineNumber: 1980,
2016
+ lineNumber: 2000,
2001
2017
  columnNumber: 12
2002
2018
  }
2003
2019
  });
@@ -2011,7 +2027,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2011
2027
  __self: _this,
2012
2028
  __source: {
2013
2029
  fileName: _jsxFileName,
2014
- lineNumber: 1985,
2030
+ lineNumber: 2005,
2015
2031
  columnNumber: 7
2016
2032
  }
2017
2033
  }, t('Please select a channel first'));
@@ -2024,7 +2040,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2024
2040
  __self: _this,
2025
2041
  __source: {
2026
2042
  fileName: _jsxFileName,
2027
- lineNumber: 1992,
2043
+ lineNumber: 2012,
2028
2044
  columnNumber: 5
2029
2045
  }
2030
2046
  }), _react["default"].createElement(_ChannelContext.ChannelProvider, {
@@ -2032,7 +2048,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2032
2048
  __self: _this,
2033
2049
  __source: {
2034
2050
  fileName: _jsxFileName,
2035
- lineNumber: 1998,
2051
+ lineNumber: 2018,
2036
2052
  columnNumber: 7
2037
2053
  }
2038
2054
  }, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
@@ -2040,7 +2056,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2040
2056
  __self: _this,
2041
2057
  __source: {
2042
2058
  fileName: _jsxFileName,
2043
- lineNumber: 1999,
2059
+ lineNumber: 2019,
2044
2060
  columnNumber: 9
2045
2061
  }
2046
2062
  }, _react["default"].createElement(_TypingContext.TypingProvider, {
@@ -2048,7 +2064,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2048
2064
  __self: _this,
2049
2065
  __source: {
2050
2066
  fileName: _jsxFileName,
2051
- lineNumber: 2000,
2067
+ lineNumber: 2020,
2052
2068
  columnNumber: 11
2053
2069
  }
2054
2070
  }, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
@@ -2056,7 +2072,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2056
2072
  __self: _this,
2057
2073
  __source: {
2058
2074
  fileName: _jsxFileName,
2059
- lineNumber: 2001,
2075
+ lineNumber: 2021,
2060
2076
  columnNumber: 13
2061
2077
  }
2062
2078
  }, _react["default"].createElement(_MessagesContext.MessagesProvider, {
@@ -2064,7 +2080,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2064
2080
  __self: _this,
2065
2081
  __source: {
2066
2082
  fileName: _jsxFileName,
2067
- lineNumber: 2002,
2083
+ lineNumber: 2022,
2068
2084
  columnNumber: 15
2069
2085
  }
2070
2086
  }, _react["default"].createElement(_ThreadContext.ThreadProvider, {
@@ -2072,7 +2088,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2072
2088
  __self: _this,
2073
2089
  __source: {
2074
2090
  fileName: _jsxFileName,
2075
- lineNumber: 2003,
2091
+ lineNumber: 2023,
2076
2092
  columnNumber: 17
2077
2093
  }
2078
2094
  }, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
@@ -2080,7 +2096,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2080
2096
  __self: _this,
2081
2097
  __source: {
2082
2098
  fileName: _jsxFileName,
2083
- lineNumber: 2004,
2099
+ lineNumber: 2024,
2084
2100
  columnNumber: 19
2085
2101
  }
2086
2102
  }, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
@@ -2088,7 +2104,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2088
2104
  __self: _this,
2089
2105
  __source: {
2090
2106
  fileName: _jsxFileName,
2091
- lineNumber: 2005,
2107
+ lineNumber: 2025,
2092
2108
  columnNumber: 21
2093
2109
  }
2094
2110
  }, _react["default"].createElement(_reactNative.View, {
@@ -2098,7 +2114,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2098
2114
  __self: _this,
2099
2115
  __source: {
2100
2116
  fileName: _jsxFileName,
2101
- lineNumber: 2006,
2117
+ lineNumber: 2026,
2102
2118
  columnNumber: 23
2103
2119
  }
2104
2120
  }, children))))))))));
@@ -2149,7 +2165,7 @@ var Channel = function Channel(props) {
2149
2165
  __self: _this,
2150
2166
  __source: {
2151
2167
  fileName: _jsxFileName,
2152
- lineNumber: 2063,
2168
+ lineNumber: 2083,
2153
2169
  columnNumber: 5
2154
2170
  }
2155
2171
  }));