stream-chat-react-native-core 5.41.4 → 5.42.0-beta.1

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 (86) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +30 -25
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +19 -89
  4. package/lib/commonjs/components/ChannelPreview/ChannelPreview.js.map +1 -1
  5. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +3 -24
  6. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  7. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +2 -2
  8. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  9. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js +71 -0
  10. package/lib/commonjs/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -0
  11. package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js +28 -0
  12. package/lib/commonjs/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -0
  13. package/lib/commonjs/components/MessageList/MessageList.js +8 -16
  14. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  15. package/lib/commonjs/components/ThreadList/ThreadList.js +0 -3
  16. package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -1
  17. package/lib/commonjs/components/index.js +22 -0
  18. package/lib/commonjs/components/index.js.map +1 -1
  19. package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js +14 -0
  20. package/lib/commonjs/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -0
  21. package/lib/commonjs/mock-builders/event/notificationMarkRead.js +14 -0
  22. package/lib/commonjs/mock-builders/event/notificationMarkRead.js.map +1 -0
  23. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js +17 -0
  24. package/lib/commonjs/mock-builders/event/notificationMarkUnread.js.map +1 -0
  25. package/lib/commonjs/mock-builders/generator/channel.js +1 -0
  26. package/lib/commonjs/mock-builders/generator/channel.js.map +1 -1
  27. package/lib/commonjs/version.json +1 -1
  28. package/lib/module/components/Channel/Channel.js +30 -25
  29. package/lib/module/components/Channel/Channel.js.map +1 -1
  30. package/lib/module/components/ChannelPreview/ChannelPreview.js +19 -89
  31. package/lib/module/components/ChannelPreview/ChannelPreview.js.map +1 -1
  32. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +3 -24
  33. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  34. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +2 -2
  35. package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js.map +1 -1
  36. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js +71 -0
  37. package/lib/module/components/ChannelPreview/hooks/useChannelPreviewData.js.map +1 -0
  38. package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js +28 -0
  39. package/lib/module/components/ChannelPreview/hooks/useIsChannelMuted.js.map +1 -0
  40. package/lib/module/components/MessageList/MessageList.js +8 -16
  41. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  42. package/lib/module/components/ThreadList/ThreadList.js +0 -3
  43. package/lib/module/components/ThreadList/ThreadList.js.map +1 -1
  44. package/lib/module/components/index.js +22 -0
  45. package/lib/module/components/index.js.map +1 -1
  46. package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js +14 -0
  47. package/lib/module/mock-builders/event/notificationChannelMutesUpdated.js.map +1 -0
  48. package/lib/module/mock-builders/event/notificationMarkRead.js +14 -0
  49. package/lib/module/mock-builders/event/notificationMarkRead.js.map +1 -0
  50. package/lib/module/mock-builders/event/notificationMarkUnread.js +17 -0
  51. package/lib/module/mock-builders/event/notificationMarkUnread.js.map +1 -0
  52. package/lib/module/mock-builders/generator/channel.js +1 -0
  53. package/lib/module/mock-builders/generator/channel.js.map +1 -1
  54. package/lib/module/version.json +1 -1
  55. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  56. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts +1 -2
  57. package/lib/typescript/components/ChannelPreview/ChannelPreview.d.ts.map +1 -1
  58. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts +2 -0
  59. package/lib/typescript/components/ChannelPreview/ChannelPreviewMessenger.d.ts.map +1 -1
  60. package/lib/typescript/components/ChannelPreview/ChannelPreviewMutedStatus.d.ts.map +1 -1
  61. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts +8 -0
  62. package/lib/typescript/components/ChannelPreview/hooks/useChannelPreviewData.d.ts.map +1 -0
  63. package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts +8 -0
  64. package/lib/typescript/components/ChannelPreview/hooks/useIsChannelMuted.d.ts.map +1 -0
  65. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  66. package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -1
  67. package/lib/typescript/components/index.d.ts +2 -0
  68. package/lib/typescript/components/index.d.ts.map +1 -1
  69. package/package.json +2 -2
  70. package/src/components/Channel/Channel.tsx +17 -10
  71. package/src/components/ChannelPreview/ChannelPreview.tsx +24 -103
  72. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +5 -15
  73. package/src/components/ChannelPreview/ChannelPreviewMutedStatus.tsx +2 -7
  74. package/src/components/ChannelPreview/__tests__/ChannelPreview.test.tsx +227 -10
  75. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewDisplayName.test.tsx +1 -1
  76. package/src/components/ChannelPreview/hooks/__tests__/useChannelPreviewMuted.test.tsx +57 -0
  77. package/src/components/ChannelPreview/hooks/useChannelPreviewData.ts +85 -0
  78. package/src/components/ChannelPreview/hooks/useIsChannelMuted.ts +29 -0
  79. package/src/components/MessageList/MessageList.tsx +1 -3
  80. package/src/components/ThreadList/ThreadList.tsx +0 -2
  81. package/src/components/index.ts +2 -0
  82. package/src/mock-builders/event/notificationChannelMutesUpdated.js +7 -0
  83. package/src/mock-builders/event/notificationMarkRead.js +7 -0
  84. package/src/mock-builders/event/notificationMarkUnread.js +9 -0
  85. package/src/mock-builders/generator/channel.ts +1 -0
  86. package/src/version.json +1 -1
@@ -1042,6 +1042,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
1042
1042
  _context7.next = 8;
1043
1043
  return channel.state.loadMessageIntoState('latest');
1044
1044
  case 8:
1045
+ setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
1046
+ case 9:
1045
1047
  case "end":
1046
1048
  return _context7.stop();
1047
1049
  }
@@ -1278,14 +1280,15 @@ var ChannelWithContext = function ChannelWithContext(props) {
1278
1280
  return loadLatestMessagesRef.current(true);
1279
1281
  case 3:
1280
1282
  setLoading(false);
1281
- channel == null ? void 0 : channel.state.setIsUpToDate(true);
1282
- setHasNoMoreRecentMessagesToLoad(true);
1283
- case 6:
1283
+ case 4:
1284
1284
  case "end":
1285
1285
  return _context11.stop();
1286
1286
  }
1287
1287
  }, _callee11);
1288
- })));
1288
+ })), function () {
1289
+ channel == null ? void 0 : channel.state.setIsUpToDate(true);
1290
+ setHasNoMoreRecentMessagesToLoad(true);
1291
+ });
1289
1292
  };
1290
1293
  var queryAtMessage = function () {
1291
1294
  var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(_ref15) {
@@ -1854,6 +1857,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1854
1857
  latestMessageSet,
1855
1858
  latestLengthBeforeMerge,
1856
1859
  didMerge,
1860
+ shouldSetStateUpToDate,
1857
1861
  currentMessages,
1858
1862
  recentMessage,
1859
1863
  queryResponse,
@@ -1870,43 +1874,44 @@ var ChannelWithContext = function ChannelWithContext(props) {
1870
1874
  latestLengthBeforeMerge = (latestMessageSet == null ? void 0 : latestMessageSet.messages.length) || 0;
1871
1875
  didMerge = mergeOverlappingMessageSetsRef.current(true);
1872
1876
  if (!didMerge) {
1873
- _context20.next = 12;
1877
+ _context20.next = 13;
1874
1878
  break;
1875
1879
  }
1876
- if (!(latestMessageSet && latestLengthBeforeMerge >= limit)) {
1877
- _context20.next = 12;
1880
+ if (!(latestMessageSet && latestLengthBeforeMerge > 0)) {
1881
+ _context20.next = 13;
1878
1882
  break;
1879
1883
  }
1884
+ shouldSetStateUpToDate = latestMessageSet.messages.length < limit && latestMessageSet.isCurrent;
1880
1885
  setLoadingMoreRecent(true);
1881
- channel.state.setIsUpToDate(true);
1882
- setHasNoMoreRecentMessagesToLoad(true);
1886
+ channel.state.setIsUpToDate(shouldSetStateUpToDate);
1887
+ setHasNoMoreRecentMessagesToLoad(shouldSetStateUpToDate);
1883
1888
  loadMoreRecentFinished(channel.state.messages);
1884
1889
  restartSetsMergeFuncRef.current();
1885
1890
  return _context20.abrupt("return");
1886
- case 12:
1891
+ case 13:
1887
1892
  if (!channel.state.isUpToDate) {
1888
- _context20.next = 15;
1893
+ _context20.next = 16;
1889
1894
  break;
1890
1895
  }
1891
1896
  setLoadingMoreRecent(false);
1892
1897
  return _context20.abrupt("return");
1893
- case 15:
1898
+ case 16:
1894
1899
  currentMessages = channel.state.messages;
1895
1900
  recentMessage = currentMessages[currentMessages.length - 1];
1896
1901
  if (!((recentMessage == null ? void 0 : recentMessage.status) !== _utils.MessageStatusTypes.RECEIVED)) {
1897
- _context20.next = 20;
1902
+ _context20.next = 21;
1898
1903
  break;
1899
1904
  }
1900
1905
  setLoadingMoreRecent(false);
1901
1906
  return _context20.abrupt("return");
1902
- case 20:
1907
+ case 21:
1903
1908
  setLoadingMoreRecent(true);
1904
- _context20.prev = 21;
1909
+ _context20.prev = 22;
1905
1910
  if (!channel) {
1906
- _context20.next = 32;
1911
+ _context20.next = 33;
1907
1912
  break;
1908
1913
  }
1909
- _context20.next = 25;
1914
+ _context20.next = 26;
1910
1915
  return channel.query({
1911
1916
  messages: {
1912
1917
  id_gte: recentMessage.id,
@@ -1914,7 +1919,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
1914
1919
  },
1915
1920
  watch: true
1916
1921
  });
1917
- case 25:
1922
+ case 26:
1918
1923
  queryResponse = _context20.sent;
1919
1924
  gotAllRecentMessages = queryResponse.messages.length < limit;
1920
1925
  currentSet = channel.state.messageSets.find(function (set) {
@@ -1929,12 +1934,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
1929
1934
  channel.state.setIsUpToDate(gotAllRecentMessages);
1930
1935
  setHasNoMoreRecentMessagesToLoad(gotAllRecentMessages);
1931
1936
  loadMoreRecentFinished(channel.state.messages);
1932
- case 32:
1933
- _context20.next = 40;
1937
+ case 33:
1938
+ _context20.next = 41;
1934
1939
  break;
1935
- case 34:
1936
- _context20.prev = 34;
1937
- _context20.t0 = _context20["catch"](21);
1940
+ case 35:
1941
+ _context20.prev = 35;
1942
+ _context20.t0 = _context20["catch"](22);
1938
1943
  console.warn('Message pagination request failed with error', _context20.t0);
1939
1944
  if (_context20.t0 instanceof Error) {
1940
1945
  setError(_context20.t0);
@@ -1943,11 +1948,11 @@ var ChannelWithContext = function ChannelWithContext(props) {
1943
1948
  }
1944
1949
  setLoadingMoreRecent(false);
1945
1950
  throw _context20.t0;
1946
- case 40:
1951
+ case 41:
1947
1952
  case "end":
1948
1953
  return _context20.stop();
1949
1954
  }
1950
- }, _callee20, null, [[21, 34]]);
1955
+ }, _callee20, null, [[22, 35]]);
1951
1956
  })), [channelId, hasNoMoreRecentMessagesToLoad]);
1952
1957
  var loadMoreRecentFinished = (0, _react.useRef)((0, _debounce["default"])(function (newMessages) {
1953
1958
  setLoadingMoreRecent(false);