stream-chat-react-native-core 5.26.0-beta.2 → 5.26.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 (59) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +49 -35
  2. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  3. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js +5 -0
  4. package/lib/commonjs/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  5. package/lib/commonjs/i18n/es.json +24 -24
  6. package/lib/commonjs/i18n/fr.json +24 -24
  7. package/lib/commonjs/i18n/he.json +24 -24
  8. package/lib/commonjs/i18n/hi.json +24 -24
  9. package/lib/commonjs/i18n/it.json +24 -24
  10. package/lib/commonjs/i18n/ja.json +24 -24
  11. package/lib/commonjs/i18n/ko.json +24 -24
  12. package/lib/commonjs/i18n/nl.json +24 -24
  13. package/lib/commonjs/i18n/pt-BR.json +24 -24
  14. package/lib/commonjs/i18n/ru.json +24 -24
  15. package/lib/commonjs/i18n/tr.json +24 -24
  16. package/lib/commonjs/version.json +1 -1
  17. package/lib/module/components/Channel/Channel.js +49 -35
  18. package/lib/module/components/Channel/Channel.js.map +1 -1
  19. package/lib/module/components/Channel/hooks/useTargetedMessage.js +5 -0
  20. package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  21. package/lib/module/i18n/es.json +24 -24
  22. package/lib/module/i18n/fr.json +24 -24
  23. package/lib/module/i18n/he.json +24 -24
  24. package/lib/module/i18n/hi.json +24 -24
  25. package/lib/module/i18n/it.json +24 -24
  26. package/lib/module/i18n/ja.json +24 -24
  27. package/lib/module/i18n/ko.json +24 -24
  28. package/lib/module/i18n/nl.json +24 -24
  29. package/lib/module/i18n/pt-BR.json +24 -24
  30. package/lib/module/i18n/ru.json +24 -24
  31. package/lib/module/i18n/tr.json +24 -24
  32. package/lib/module/version.json +1 -1
  33. package/lib/typescript/components/Channel/hooks/useTargetedMessage.d.ts +1 -0
  34. package/lib/typescript/i18n/es.json +24 -24
  35. package/lib/typescript/i18n/fr.json +24 -24
  36. package/lib/typescript/i18n/he.json +24 -24
  37. package/lib/typescript/i18n/hi.json +24 -24
  38. package/lib/typescript/i18n/it.json +24 -24
  39. package/lib/typescript/i18n/ja.json +24 -24
  40. package/lib/typescript/i18n/ko.json +24 -24
  41. package/lib/typescript/i18n/nl.json +24 -24
  42. package/lib/typescript/i18n/pt-BR.json +24 -24
  43. package/lib/typescript/i18n/ru.json +24 -24
  44. package/lib/typescript/i18n/tr.json +24 -24
  45. package/package.json +1 -1
  46. package/src/components/Channel/Channel.tsx +38 -21
  47. package/src/components/Channel/hooks/useTargetedMessage.ts +6 -0
  48. package/src/i18n/es.json +24 -24
  49. package/src/i18n/fr.json +24 -24
  50. package/src/i18n/he.json +24 -24
  51. package/src/i18n/hi.json +24 -24
  52. package/src/i18n/it.json +24 -24
  53. package/src/i18n/ja.json +24 -24
  54. package/src/i18n/ko.json +24 -24
  55. package/src/i18n/nl.json +24 -24
  56. package/src/i18n/pt-BR.json +24 -24
  57. package/src/i18n/ru.json +24 -24
  58. package/src/i18n/tr.json +24 -24
  59. package/src/version.json +1 -1
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.reactionData = exports.Channel = void 0;
7
7
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
  var _react = _interopRequireWildcard(require("react"));
@@ -447,6 +447,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
447
447
  hasNoMoreRecentMessagesToLoad = _useState26[0],
448
448
  setHasNoMoreRecentMessagesToLoad = _useState26[1];
449
449
  var _useTargetedMessage = (0, _useTargetedMessage2.useTargetedMessage)(),
450
+ prevTargetedMessage = _useTargetedMessage.prevTargetedMessage,
450
451
  setTargetedMessage = _useTargetedMessage.setTargetedMessage,
451
452
  targetedMessage = _useTargetedMessage.targetedMessage;
452
453
  var hasOverlappingRecentMessagesRef = (0, _react.useRef)(false);
@@ -542,7 +543,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
542
543
  var copyMessagesState = (0, _react.useRef)((0, _throttle["default"])(function () {
543
544
  if (channel) {
544
545
  clearInterval(mergeSetsIntervalRef.current);
545
- setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
546
+ setMessages(channel.state.messages);
546
547
  restartSetsMergeFuncRef.current();
547
548
  }
548
549
  }, newMessageStateUpdateThrottleInterval, throttleOptions)).current;
@@ -583,6 +584,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
583
584
  }, [channelId, shouldSyncChannel]);
584
585
  (0, _react.useEffect)(function () {
585
586
  var handleEvent = function handleEvent(event) {
587
+ var ignorableEvents = ['user.watching.start', 'user.watching.stop'];
588
+ if (ignorableEvents.includes(event.type)) return;
586
589
  if (shouldSyncChannel) {
587
590
  var isTypingEvent = event.type === 'typing.start' || event.type === 'typing.stop';
588
591
  if (!isTypingEvent) {
@@ -596,7 +599,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
596
599
  setThread(updatedThread);
597
600
  }
598
601
  }
599
- if (channel && event.type !== 'message.new' && event.type !== 'message.read' && event.type !== 'typing.start' && event.type !== 'typing.stop') {
602
+ if (channel && channel.initialized && event.type !== 'message.new' && event.type !== 'message.read' && event.type !== 'typing.start' && event.type !== 'typing.stop') {
600
603
  copyChannelState();
601
604
  }
602
605
  }
@@ -660,24 +663,23 @@ var ChannelWithContext = function ChannelWithContext(props) {
660
663
  return id === scrollToMessageId;
661
664
  }) : -1;
662
665
  if (channel && scrollToMessageIndex !== -1) {
666
+ copyChannelState.cancel();
663
667
  limitAfter = 4;
664
668
  currentLength = currentMessages.length;
665
- if (scrollToMessageIndex !== -1) {
666
- noOfMessagesAfter = currentLength - scrollToMessageIndex - 1;
667
- if (noOfMessagesAfter > limitAfter) {
668
- endIndex = scrollToMessageIndex + limitAfter;
669
- channel.state.clearMessages();
670
- channel.state.messages = currentMessages.slice(0, endIndex + 1);
671
- splitLatestCurrentMessageSetRef.current();
672
- restOfMessages = currentMessages.slice(endIndex + 1);
673
- if (hadCurrentLatestMessages) {
674
- latestSet = channel.state.messageSets.find(function (set) {
675
- return set.isLatest;
676
- });
677
- if (latestSet) {
678
- latestSet.messages = restOfMessages;
679
- hasOverlappingRecentMessagesRef.current = true;
680
- }
669
+ noOfMessagesAfter = currentLength - scrollToMessageIndex - 1;
670
+ if (noOfMessagesAfter > limitAfter) {
671
+ endIndex = scrollToMessageIndex + limitAfter;
672
+ channel.state.clearMessages();
673
+ channel.state.messages = currentMessages.slice(0, endIndex + 1);
674
+ splitLatestCurrentMessageSetRef.current();
675
+ restOfMessages = currentMessages.slice(endIndex + 1);
676
+ if (hadCurrentLatestMessages) {
677
+ latestSet = channel.state.messageSets.find(function (set) {
678
+ return set.isLatest;
679
+ });
680
+ if (latestSet) {
681
+ latestSet.messages = restOfMessages;
682
+ hasOverlappingRecentMessagesRef.current = true;
681
683
  }
682
684
  }
683
685
  }
@@ -686,7 +688,9 @@ var ChannelWithContext = function ChannelWithContext(props) {
686
688
  channel.state.setIsUpToDate(hasLatestMessages);
687
689
  setHasNoMoreRecentMessagesToLoad(hasLatestMessages);
688
690
  copyChannelState();
689
- restartSetsMergeFuncRef.current();
691
+ if (scrollToMessageIndex !== -1) {
692
+ copyChannelState.flush();
693
+ }
690
694
  onAfterQueryCall == null ? void 0 : onAfterQueryCall();
691
695
  _context2.next = 27;
692
696
  break;
@@ -767,7 +771,11 @@ var ChannelWithContext = function ChannelWithContext(props) {
767
771
  return _context3.stop();
768
772
  }
769
773
  }, _callee3);
770
- })), undefined, function () {
774
+ })), function () {
775
+ if (unreadMessageIdToScrollTo) {
776
+ restartSetsMergeFuncRef.current();
777
+ }
778
+ }, function () {
771
779
  return unreadMessageIdToScrollTo;
772
780
  });
773
781
  };
@@ -815,10 +823,16 @@ var ChannelWithContext = function ChannelWithContext(props) {
815
823
  }, _callee4);
816
824
  })), function () {
817
825
  if (messageIdToLoadAround) {
826
+ clearInterval(mergeSetsIntervalRef.current);
818
827
  setTargetedMessage(messageIdToLoadAround);
819
828
  }
820
829
  }, messageIdToLoadAround);
821
830
  };
831
+ (0, _react.useEffect)(function () {
832
+ if (!targetedMessage && prevTargetedMessage) {
833
+ restartSetsMergeFuncRef.current();
834
+ }
835
+ }, [targetedMessage]);
822
836
  var loadChannelAtMessage = function loadChannelAtMessage(_ref7) {
823
837
  var _ref7$after = _ref7.after,
824
838
  after = _ref7$after === void 0 ? 2 : _ref7$after,
@@ -899,7 +913,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
899
913
  var currentLength = channel.state.messages.length || 0;
900
914
  var didMerge = mergeOverlappingMessageSetsRef.current(true);
901
915
  if (didMerge && channel.state.messages.length !== currentLength) {
902
- setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
916
+ setMessages(channel.state.messages);
903
917
  }
904
918
  }, 1000);
905
919
  });
@@ -2330,7 +2344,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2330
2344
  __self: _this,
2331
2345
  __source: {
2332
2346
  fileName: _jsxFileName,
2333
- lineNumber: 2325,
2347
+ lineNumber: 2342,
2334
2348
  columnNumber: 12
2335
2349
  }
2336
2350
  });
@@ -2344,7 +2358,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2344
2358
  __self: _this,
2345
2359
  __source: {
2346
2360
  fileName: _jsxFileName,
2347
- lineNumber: 2330,
2361
+ lineNumber: 2347,
2348
2362
  columnNumber: 7
2349
2363
  }
2350
2364
  }, t('Please select a channel first'));
@@ -2357,7 +2371,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2357
2371
  __self: _this,
2358
2372
  __source: {
2359
2373
  fileName: _jsxFileName,
2360
- lineNumber: 2337,
2374
+ lineNumber: 2354,
2361
2375
  columnNumber: 5
2362
2376
  }
2363
2377
  }), _react["default"].createElement(_ChannelContext.ChannelProvider, {
@@ -2365,7 +2379,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2365
2379
  __self: _this,
2366
2380
  __source: {
2367
2381
  fileName: _jsxFileName,
2368
- lineNumber: 2343,
2382
+ lineNumber: 2360,
2369
2383
  columnNumber: 7
2370
2384
  }
2371
2385
  }, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
@@ -2373,7 +2387,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2373
2387
  __self: _this,
2374
2388
  __source: {
2375
2389
  fileName: _jsxFileName,
2376
- lineNumber: 2344,
2390
+ lineNumber: 2361,
2377
2391
  columnNumber: 9
2378
2392
  }
2379
2393
  }, _react["default"].createElement(_TypingContext.TypingProvider, {
@@ -2381,7 +2395,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2381
2395
  __self: _this,
2382
2396
  __source: {
2383
2397
  fileName: _jsxFileName,
2384
- lineNumber: 2345,
2398
+ lineNumber: 2362,
2385
2399
  columnNumber: 11
2386
2400
  }
2387
2401
  }, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
@@ -2389,7 +2403,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2389
2403
  __self: _this,
2390
2404
  __source: {
2391
2405
  fileName: _jsxFileName,
2392
- lineNumber: 2346,
2406
+ lineNumber: 2363,
2393
2407
  columnNumber: 13
2394
2408
  }
2395
2409
  }, _react["default"].createElement(_MessagesContext.MessagesProvider, {
@@ -2397,7 +2411,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2397
2411
  __self: _this,
2398
2412
  __source: {
2399
2413
  fileName: _jsxFileName,
2400
- lineNumber: 2347,
2414
+ lineNumber: 2364,
2401
2415
  columnNumber: 15
2402
2416
  }
2403
2417
  }, _react["default"].createElement(_ThreadContext.ThreadProvider, {
@@ -2405,7 +2419,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2405
2419
  __self: _this,
2406
2420
  __source: {
2407
2421
  fileName: _jsxFileName,
2408
- lineNumber: 2348,
2422
+ lineNumber: 2365,
2409
2423
  columnNumber: 17
2410
2424
  }
2411
2425
  }, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
@@ -2413,7 +2427,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2413
2427
  __self: _this,
2414
2428
  __source: {
2415
2429
  fileName: _jsxFileName,
2416
- lineNumber: 2349,
2430
+ lineNumber: 2366,
2417
2431
  columnNumber: 19
2418
2432
  }
2419
2433
  }, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
@@ -2421,7 +2435,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2421
2435
  __self: _this,
2422
2436
  __source: {
2423
2437
  fileName: _jsxFileName,
2424
- lineNumber: 2350,
2438
+ lineNumber: 2367,
2425
2439
  columnNumber: 21
2426
2440
  }
2427
2441
  }, _react["default"].createElement(_reactNative.View, {
@@ -2431,7 +2445,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2431
2445
  __self: _this,
2432
2446
  __source: {
2433
2447
  fileName: _jsxFileName,
2434
- lineNumber: 2351,
2448
+ lineNumber: 2368,
2435
2449
  columnNumber: 23
2436
2450
  }
2437
2451
  }, children))))))))));
@@ -2482,7 +2496,7 @@ var Channel = function Channel(props) {
2482
2496
  __self: _this,
2483
2497
  __source: {
2484
2498
  fileName: _jsxFileName,
2485
- lineNumber: 2408,
2499
+ lineNumber: 2425,
2486
2500
  columnNumber: 5
2487
2501
  }
2488
2502
  }));