stream-chat-react-native-core 5.22.1-beta.1 → 5.22.2-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 (47) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +160 -163
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js +1 -1
  4. package/lib/commonjs/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  5. package/lib/commonjs/components/MessageList/MessageList.js +30 -25
  6. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  7. package/lib/commonjs/i18n/en.json +1 -1
  8. package/lib/commonjs/i18n/fr.json +52 -52
  9. package/lib/commonjs/i18n/hi.json +52 -52
  10. package/lib/commonjs/i18n/it.json +52 -52
  11. package/lib/commonjs/i18n/nl.json +52 -52
  12. package/lib/commonjs/i18n/ru.json +52 -52
  13. package/lib/commonjs/i18n/tr.json +52 -52
  14. package/lib/commonjs/version.json +1 -1
  15. package/lib/module/components/Channel/Channel.js +160 -163
  16. package/lib/module/components/Channel/Channel.js.map +1 -1
  17. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js +1 -1
  18. package/lib/module/components/Channel/hooks/useCreatePaginatedMessageListContext.js.map +1 -1
  19. package/lib/module/components/MessageList/MessageList.js +30 -25
  20. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  21. package/lib/module/i18n/en.json +1 -1
  22. package/lib/module/i18n/fr.json +52 -52
  23. package/lib/module/i18n/hi.json +52 -52
  24. package/lib/module/i18n/it.json +52 -52
  25. package/lib/module/i18n/nl.json +52 -52
  26. package/lib/module/i18n/ru.json +52 -52
  27. package/lib/module/i18n/tr.json +52 -52
  28. package/lib/module/version.json +1 -1
  29. package/lib/typescript/i18n/en.json +1 -1
  30. package/lib/typescript/i18n/fr.json +52 -52
  31. package/lib/typescript/i18n/hi.json +52 -52
  32. package/lib/typescript/i18n/it.json +52 -52
  33. package/lib/typescript/i18n/nl.json +52 -52
  34. package/lib/typescript/i18n/ru.json +52 -52
  35. package/lib/typescript/i18n/tr.json +52 -52
  36. package/package.json +1 -1
  37. package/src/components/Channel/Channel.tsx +75 -45
  38. package/src/components/Channel/hooks/useCreatePaginatedMessageListContext.ts +8 -1
  39. package/src/components/MessageList/MessageList.tsx +28 -9
  40. package/src/i18n/en.json +1 -1
  41. package/src/i18n/fr.json +52 -52
  42. package/src/i18n/hi.json +52 -52
  43. package/src/i18n/it.json +52 -52
  44. package/src/i18n/nl.json +52 -52
  45. package/src/i18n/ru.json +52 -52
  46. package/src/i18n/tr.json +52 -52
  47. package/src/version.json +1 -1
@@ -443,6 +443,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
443
443
  _useState28 = (0, _slicedToArray2["default"])(_useState27, 2),
444
444
  hasNoMoreRecentMessagesToLoad = _useState28[0],
445
445
  setHasNoMoreRecentMessagesToLoad = _useState28[1];
446
+ var messagesRef = (0, _react.useRef)(messages);
447
+ messagesRef.current = messages;
446
448
  var _useTargetedMessage = (0, _useTargetedMessage2.useTargetedMessage)(),
447
449
  setTargetedMessage = _useTargetedMessage.setTargetedMessage,
448
450
  targetedMessage = _useTargetedMessage.targetedMessage;
@@ -666,37 +668,38 @@ var ChannelWithContext = function ChannelWithContext(props) {
666
668
  });
667
669
  };
668
670
  var loadChannelAroundMessage = function loadChannelAroundMessage(_ref3) {
669
- var messageId = _ref3.messageId;
671
+ var messageIdToLoadAround = _ref3.messageId;
670
672
  return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
671
673
  return _regenerator["default"].wrap(function _callee3$(_context3) {
672
674
  while (1) switch (_context3.prev = _context3.next) {
673
675
  case 0:
674
- setHasNoMoreRecentMessagesToLoad(false);
675
676
  setLoading(true);
676
- if (!messageId) {
677
- _context3.next = 7;
677
+ if (!messageIdToLoadAround) {
678
+ _context3.next = 8;
678
679
  break;
679
680
  }
680
- _context3.next = 5;
681
- return channel.state.loadMessageIntoState(messageId);
682
- case 5:
683
- _context3.next = 10;
681
+ setHasNoMoreRecentMessagesToLoad(false);
682
+ channel.state.setIsUpToDate(false);
683
+ _context3.next = 6;
684
+ return channel.state.loadMessageIntoState(messageIdToLoadAround);
685
+ case 6:
686
+ _context3.next = 11;
684
687
  break;
685
- case 7:
686
- _context3.next = 9;
688
+ case 8:
689
+ _context3.next = 10;
687
690
  return channel.state.loadMessageIntoState('latest');
688
- case 9:
689
- channel.state.setIsUpToDate(true);
690
691
  case 10:
691
- setLoading(false);
692
+ channel.state.setIsUpToDate(true);
692
693
  case 11:
694
+ setLoading(false);
695
+ case 12:
693
696
  case "end":
694
697
  return _context3.stop();
695
698
  }
696
699
  }, _callee3);
697
700
  })), function () {
698
- if (messageId) {
699
- setTargetedMessage(messageId);
701
+ if (messageIdToLoadAround) {
702
+ setTargetedMessage(messageIdToLoadAround);
700
703
  }
701
704
  });
702
705
  };
@@ -1427,144 +1430,138 @@ var ChannelWithContext = function ChannelWithContext(props) {
1427
1430
  setHasMore(updatedHasMore);
1428
1431
  setMessages(newMessages);
1429
1432
  }, defaultDebounceInterval, debounceOptions)).current;
1430
- var loadMore = function () {
1431
- var _ref20 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16() {
1432
- var limit,
1433
- oldestMessage,
1434
- oldestID,
1435
- queryResponse,
1436
- updatedHasMore,
1437
- _args16 = arguments;
1438
- return _regenerator["default"].wrap(function _callee16$(_context16) {
1439
- while (1) switch (_context16.prev = _context16.next) {
1440
- case 0:
1441
- limit = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : 20;
1442
- if (!(loadingMore || hasMore === false)) {
1443
- _context16.next = 3;
1444
- break;
1445
- }
1446
- return _context16.abrupt("return");
1447
- case 3:
1448
- setLoadingMore(true);
1449
- if (messages.length) {
1450
- _context16.next = 6;
1451
- break;
1452
- }
1453
- return _context16.abrupt("return", setLoadingMore(false));
1454
- case 6:
1455
- oldestMessage = messages && messages[0];
1456
- if (!(oldestMessage && oldestMessage.status !== _utils.MessageStatusTypes.RECEIVED)) {
1457
- _context16.next = 9;
1458
- break;
1459
- }
1460
- return _context16.abrupt("return", setLoadingMore(false));
1461
- case 9:
1462
- oldestID = oldestMessage && oldestMessage.id;
1463
- _context16.prev = 10;
1464
- if (!channel) {
1465
- _context16.next = 17;
1466
- break;
1467
- }
1468
- _context16.next = 14;
1469
- return channel.query({
1470
- messages: {
1471
- id_lt: oldestID,
1472
- limit: limit
1473
- }
1474
- });
1475
- case 14:
1476
- queryResponse = _context16.sent;
1477
- updatedHasMore = queryResponse.messages.length === limit;
1478
- loadMoreFinished(updatedHasMore, channel.state.messages);
1479
- case 17:
1480
- _context16.next = 24;
1433
+ var loadMore = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16() {
1434
+ var limit,
1435
+ currentMessages,
1436
+ oldestMessage,
1437
+ oldestID,
1438
+ queryResponse,
1439
+ updatedHasMore,
1440
+ _args16 = arguments;
1441
+ return _regenerator["default"].wrap(function _callee16$(_context16) {
1442
+ while (1) switch (_context16.prev = _context16.next) {
1443
+ case 0:
1444
+ limit = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : 20;
1445
+ if (!(loadingMore || hasMore === false)) {
1446
+ _context16.next = 3;
1481
1447
  break;
1482
- case 19:
1483
- _context16.prev = 19;
1484
- _context16.t0 = _context16["catch"](10);
1485
- if (_context16.t0 instanceof Error) {
1486
- setError(_context16.t0);
1487
- } else {
1488
- setError(true);
1489
- }
1490
- setLoadingMore(false);
1491
- throw _context16.t0;
1492
- case 24:
1493
- case "end":
1494
- return _context16.stop();
1495
- }
1496
- }, _callee16, null, [[10, 19]]);
1497
- }));
1498
- return function loadMore() {
1499
- return _ref20.apply(this, arguments);
1500
- };
1501
- }();
1502
- var loadMoreRecent = function () {
1503
- var _ref21 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee17() {
1504
- var limit,
1505
- recentMessage,
1506
- state,
1507
- _args17 = arguments;
1508
- return _regenerator["default"].wrap(function _callee17$(_context17) {
1509
- while (1) switch (_context17.prev = _context17.next) {
1510
- case 0:
1511
- limit = _args17.length > 0 && _args17[0] !== undefined ? _args17[0] : 5;
1512
- if (!hasNoMoreRecentMessagesToLoad) {
1513
- _context17.next = 3;
1514
- break;
1515
- }
1516
- return _context17.abrupt("return");
1517
- case 3:
1518
- setLoadingMoreRecent(true);
1519
- recentMessage = messages[messages.length - 1];
1520
- if (!((recentMessage == null ? void 0 : recentMessage.status) !== _utils.MessageStatusTypes.RECEIVED)) {
1521
- _context17.next = 8;
1522
- break;
1523
- }
1524
- setLoadingMoreRecent(false);
1525
- return _context17.abrupt("return");
1526
- case 8:
1527
- _context17.prev = 8;
1528
- if (!channel) {
1529
- _context17.next = 15;
1530
- break;
1531
- }
1532
- _context17.next = 12;
1533
- return channel.query({
1534
- messages: {
1535
- id_gte: recentMessage.id,
1536
- limit: limit
1537
- },
1538
- watch: true
1539
- });
1540
- case 12:
1541
- state = _context17.sent;
1542
- setHasNoMoreRecentMessagesToLoad(state.messages.length < limit);
1543
- loadMoreRecentFinished(channel.state.messages);
1544
- case 15:
1545
- _context17.next = 23;
1448
+ }
1449
+ return _context16.abrupt("return");
1450
+ case 3:
1451
+ setLoadingMore(true);
1452
+ currentMessages = messagesRef.current;
1453
+ if (currentMessages.length) {
1454
+ _context16.next = 7;
1546
1455
  break;
1547
- case 17:
1548
- _context17.prev = 17;
1549
- _context17.t0 = _context17["catch"](8);
1550
- console.warn('Message pagination request failed with error', _context17.t0);
1551
- if (_context17.t0 instanceof Error) {
1552
- setError(_context17.t0);
1553
- } else {
1554
- setError(true);
1456
+ }
1457
+ return _context16.abrupt("return", setLoadingMore(false));
1458
+ case 7:
1459
+ oldestMessage = currentMessages && currentMessages[0];
1460
+ if (!(oldestMessage && oldestMessage.status !== _utils.MessageStatusTypes.RECEIVED)) {
1461
+ _context16.next = 10;
1462
+ break;
1463
+ }
1464
+ return _context16.abrupt("return", setLoadingMore(false));
1465
+ case 10:
1466
+ oldestID = oldestMessage && oldestMessage.id;
1467
+ _context16.prev = 11;
1468
+ if (!channel) {
1469
+ _context16.next = 18;
1470
+ break;
1471
+ }
1472
+ _context16.next = 15;
1473
+ return channel.query({
1474
+ messages: {
1475
+ id_lt: oldestID,
1476
+ limit: limit
1555
1477
  }
1556
- setLoadingMoreRecent(false);
1557
- throw _context17.t0;
1558
- case 23:
1559
- case "end":
1560
- return _context17.stop();
1561
- }
1562
- }, _callee17, null, [[8, 17]]);
1563
- }));
1564
- return function loadMoreRecent() {
1565
- return _ref21.apply(this, arguments);
1566
- };
1567
- }();
1478
+ });
1479
+ case 15:
1480
+ queryResponse = _context16.sent;
1481
+ updatedHasMore = queryResponse.messages.length === limit;
1482
+ loadMoreFinished(updatedHasMore, channel.state.messages);
1483
+ case 18:
1484
+ _context16.next = 25;
1485
+ break;
1486
+ case 20:
1487
+ _context16.prev = 20;
1488
+ _context16.t0 = _context16["catch"](11);
1489
+ if (_context16.t0 instanceof Error) {
1490
+ setError(_context16.t0);
1491
+ } else {
1492
+ setError(true);
1493
+ }
1494
+ setLoadingMore(false);
1495
+ throw _context16.t0;
1496
+ case 25:
1497
+ case "end":
1498
+ return _context16.stop();
1499
+ }
1500
+ }, _callee16, null, [[11, 20]]);
1501
+ })), [channelId, hasMore, loadingMore]);
1502
+ var loadMoreRecent = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee17() {
1503
+ var limit,
1504
+ currentMessages,
1505
+ recentMessage,
1506
+ queryResponse,
1507
+ _args17 = arguments;
1508
+ return _regenerator["default"].wrap(function _callee17$(_context17) {
1509
+ while (1) switch (_context17.prev = _context17.next) {
1510
+ case 0:
1511
+ limit = _args17.length > 0 && _args17[0] !== undefined ? _args17[0] : 5;
1512
+ if (!hasNoMoreRecentMessagesToLoad) {
1513
+ _context17.next = 3;
1514
+ break;
1515
+ }
1516
+ return _context17.abrupt("return");
1517
+ case 3:
1518
+ setLoadingMoreRecent(true);
1519
+ currentMessages = messagesRef.current;
1520
+ recentMessage = currentMessages[currentMessages.length - 1];
1521
+ if (!((recentMessage == null ? void 0 : recentMessage.status) !== _utils.MessageStatusTypes.RECEIVED)) {
1522
+ _context17.next = 9;
1523
+ break;
1524
+ }
1525
+ setLoadingMoreRecent(false);
1526
+ return _context17.abrupt("return");
1527
+ case 9:
1528
+ _context17.prev = 9;
1529
+ if (!channel) {
1530
+ _context17.next = 16;
1531
+ break;
1532
+ }
1533
+ _context17.next = 13;
1534
+ return channel.query({
1535
+ messages: {
1536
+ id_gte: recentMessage.id,
1537
+ limit: limit
1538
+ },
1539
+ watch: true
1540
+ });
1541
+ case 13:
1542
+ queryResponse = _context17.sent;
1543
+ setHasNoMoreRecentMessagesToLoad(queryResponse.messages.length < limit);
1544
+ loadMoreRecentFinished(channel.state.messages);
1545
+ case 16:
1546
+ _context17.next = 24;
1547
+ break;
1548
+ case 18:
1549
+ _context17.prev = 18;
1550
+ _context17.t0 = _context17["catch"](9);
1551
+ console.warn('Message pagination request failed with error', _context17.t0);
1552
+ if (_context17.t0 instanceof Error) {
1553
+ setError(_context17.t0);
1554
+ } else {
1555
+ setError(true);
1556
+ }
1557
+ setLoadingMoreRecent(false);
1558
+ throw _context17.t0;
1559
+ case 24:
1560
+ case "end":
1561
+ return _context17.stop();
1562
+ }
1563
+ }, _callee17, null, [[9, 18]]);
1564
+ })), [channelId, hasNoMoreRecentMessagesToLoad]);
1568
1565
  var loadMoreRecentFinished = (0, _react.useRef)((0, _debounce["default"])(function (newMessages) {
1569
1566
  setLoadingMoreRecent(false);
1570
1567
  setMessages(newMessages);
@@ -2056,7 +2053,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2056
2053
  __self: _this,
2057
2054
  __source: {
2058
2055
  fileName: _jsxFileName,
2059
- lineNumber: 2053,
2056
+ lineNumber: 2083,
2060
2057
  columnNumber: 12
2061
2058
  }
2062
2059
  });
@@ -2070,7 +2067,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2070
2067
  __self: _this,
2071
2068
  __source: {
2072
2069
  fileName: _jsxFileName,
2073
- lineNumber: 2058,
2070
+ lineNumber: 2088,
2074
2071
  columnNumber: 7
2075
2072
  }
2076
2073
  }, t('Please select a channel first'));
@@ -2083,7 +2080,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2083
2080
  __self: _this,
2084
2081
  __source: {
2085
2082
  fileName: _jsxFileName,
2086
- lineNumber: 2065,
2083
+ lineNumber: 2095,
2087
2084
  columnNumber: 5
2088
2085
  }
2089
2086
  }), _react["default"].createElement(_ChannelContext.ChannelProvider, {
@@ -2091,7 +2088,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2091
2088
  __self: _this,
2092
2089
  __source: {
2093
2090
  fileName: _jsxFileName,
2094
- lineNumber: 2071,
2091
+ lineNumber: 2101,
2095
2092
  columnNumber: 7
2096
2093
  }
2097
2094
  }, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
@@ -2099,7 +2096,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2099
2096
  __self: _this,
2100
2097
  __source: {
2101
2098
  fileName: _jsxFileName,
2102
- lineNumber: 2072,
2099
+ lineNumber: 2102,
2103
2100
  columnNumber: 9
2104
2101
  }
2105
2102
  }, _react["default"].createElement(_TypingContext.TypingProvider, {
@@ -2107,7 +2104,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2107
2104
  __self: _this,
2108
2105
  __source: {
2109
2106
  fileName: _jsxFileName,
2110
- lineNumber: 2073,
2107
+ lineNumber: 2103,
2111
2108
  columnNumber: 11
2112
2109
  }
2113
2110
  }, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
@@ -2115,7 +2112,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2115
2112
  __self: _this,
2116
2113
  __source: {
2117
2114
  fileName: _jsxFileName,
2118
- lineNumber: 2074,
2115
+ lineNumber: 2104,
2119
2116
  columnNumber: 13
2120
2117
  }
2121
2118
  }, _react["default"].createElement(_MessagesContext.MessagesProvider, {
@@ -2123,7 +2120,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2123
2120
  __self: _this,
2124
2121
  __source: {
2125
2122
  fileName: _jsxFileName,
2126
- lineNumber: 2075,
2123
+ lineNumber: 2105,
2127
2124
  columnNumber: 15
2128
2125
  }
2129
2126
  }, _react["default"].createElement(_ThreadContext.ThreadProvider, {
@@ -2131,7 +2128,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2131
2128
  __self: _this,
2132
2129
  __source: {
2133
2130
  fileName: _jsxFileName,
2134
- lineNumber: 2076,
2131
+ lineNumber: 2106,
2135
2132
  columnNumber: 17
2136
2133
  }
2137
2134
  }, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
@@ -2139,7 +2136,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2139
2136
  __self: _this,
2140
2137
  __source: {
2141
2138
  fileName: _jsxFileName,
2142
- lineNumber: 2077,
2139
+ lineNumber: 2107,
2143
2140
  columnNumber: 19
2144
2141
  }
2145
2142
  }, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
@@ -2147,7 +2144,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2147
2144
  __self: _this,
2148
2145
  __source: {
2149
2146
  fileName: _jsxFileName,
2150
- lineNumber: 2078,
2147
+ lineNumber: 2108,
2151
2148
  columnNumber: 21
2152
2149
  }
2153
2150
  }, _react["default"].createElement(_reactNative.View, {
@@ -2157,7 +2154,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2157
2154
  __self: _this,
2158
2155
  __source: {
2159
2156
  fileName: _jsxFileName,
2160
- lineNumber: 2079,
2157
+ lineNumber: 2109,
2161
2158
  columnNumber: 23
2162
2159
  }
2163
2160
  }, children))))))))));
@@ -2208,7 +2205,7 @@ var Channel = function Channel(props) {
2208
2205
  __self: _this,
2209
2206
  __source: {
2210
2207
  fileName: _jsxFileName,
2211
- lineNumber: 2136,
2208
+ lineNumber: 2166,
2212
2209
  columnNumber: 5
2213
2210
  }
2214
2211
  }));