stream-chat-react-native-core 5.26.0-beta.3 → 5.26.0-beta.5

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 (84) hide show
  1. package/lib/commonjs/components/Channel/Channel.js +56 -45
  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/components/ChannelPreview/ChannelPreviewMessenger.js +2 -0
  6. package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  7. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  8. package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  9. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  10. package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  11. package/lib/commonjs/contexts/channelsContext/ChannelsContext.js.map +1 -1
  12. package/lib/commonjs/i18n/en.json +1 -1
  13. package/lib/commonjs/i18n/es.json +33 -33
  14. package/lib/commonjs/i18n/fr.json +33 -33
  15. package/lib/commonjs/i18n/he.json +33 -33
  16. package/lib/commonjs/i18n/hi.json +33 -33
  17. package/lib/commonjs/i18n/it.json +33 -33
  18. package/lib/commonjs/i18n/ja.json +33 -33
  19. package/lib/commonjs/i18n/ko.json +33 -33
  20. package/lib/commonjs/i18n/nl.json +33 -33
  21. package/lib/commonjs/i18n/pt-BR.json +33 -33
  22. package/lib/commonjs/i18n/ru.json +33 -33
  23. package/lib/commonjs/i18n/tr.json +33 -33
  24. package/lib/commonjs/version.json +1 -1
  25. package/lib/module/components/Channel/Channel.js +56 -45
  26. package/lib/module/components/Channel/Channel.js.map +1 -1
  27. package/lib/module/components/Channel/hooks/useTargetedMessage.js +5 -0
  28. package/lib/module/components/Channel/hooks/useTargetedMessage.js.map +1 -1
  29. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +2 -0
  30. package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js.map +1 -1
  31. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
  32. package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js.map +1 -1
  33. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +2 -2
  34. package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js.map +1 -1
  35. package/lib/module/contexts/channelsContext/ChannelsContext.js.map +1 -1
  36. package/lib/module/i18n/en.json +1 -1
  37. package/lib/module/i18n/es.json +33 -33
  38. package/lib/module/i18n/fr.json +33 -33
  39. package/lib/module/i18n/he.json +33 -33
  40. package/lib/module/i18n/hi.json +33 -33
  41. package/lib/module/i18n/it.json +33 -33
  42. package/lib/module/i18n/ja.json +33 -33
  43. package/lib/module/i18n/ko.json +33 -33
  44. package/lib/module/i18n/nl.json +33 -33
  45. package/lib/module/i18n/pt-BR.json +33 -33
  46. package/lib/module/i18n/ru.json +33 -33
  47. package/lib/module/i18n/tr.json +33 -33
  48. package/lib/module/version.json +1 -1
  49. package/lib/typescript/components/Channel/hooks/useTargetedMessage.d.ts +1 -0
  50. package/lib/typescript/components/ChannelPreview/ChannelPreviewTitle.d.ts +4 -2
  51. package/lib/typescript/components/ChannelPreview/ChannelPreviewUnreadCount.d.ts +2 -1
  52. package/lib/typescript/contexts/channelsContext/ChannelsContext.d.ts +1 -1
  53. package/lib/typescript/i18n/en.json +1 -1
  54. package/lib/typescript/i18n/es.json +33 -33
  55. package/lib/typescript/i18n/fr.json +33 -33
  56. package/lib/typescript/i18n/he.json +33 -33
  57. package/lib/typescript/i18n/hi.json +33 -33
  58. package/lib/typescript/i18n/it.json +33 -33
  59. package/lib/typescript/i18n/ja.json +33 -33
  60. package/lib/typescript/i18n/ko.json +33 -33
  61. package/lib/typescript/i18n/nl.json +33 -33
  62. package/lib/typescript/i18n/pt-BR.json +33 -33
  63. package/lib/typescript/i18n/ru.json +33 -33
  64. package/lib/typescript/i18n/tr.json +33 -33
  65. package/package.json +1 -1
  66. package/src/components/Channel/Channel.tsx +41 -27
  67. package/src/components/Channel/hooks/useTargetedMessage.ts +6 -0
  68. package/src/components/ChannelPreview/ChannelPreviewMessenger.tsx +2 -2
  69. package/src/components/ChannelPreview/ChannelPreviewTitle.tsx +11 -2
  70. package/src/components/ChannelPreview/ChannelPreviewUnreadCount.tsx +9 -6
  71. package/src/contexts/channelsContext/ChannelsContext.tsx +1 -1
  72. package/src/i18n/en.json +1 -1
  73. package/src/i18n/es.json +33 -33
  74. package/src/i18n/fr.json +33 -33
  75. package/src/i18n/he.json +33 -33
  76. package/src/i18n/hi.json +33 -33
  77. package/src/i18n/it.json +33 -33
  78. package/src/i18n/ja.json +33 -33
  79. package/src/i18n/ko.json +33 -33
  80. package/src/i18n/nl.json +33 -33
  81. package/src/i18n/pt-BR.json +33 -33
  82. package/src/i18n/ru.json +33 -33
  83. package/src/i18n/tr.json +33 -33
  84. 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;
@@ -557,7 +558,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
557
558
  }
558
559
  }, stateUpdateThrottleInterval, throttleOptions)).current;
559
560
  var copyChannelState = (0, _react.useRef)((0, _throttle["default"])(function () {
560
- var onComplete = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
561
561
  setLoading(false);
562
562
  if (channel) {
563
563
  setMembers((0, _extends2["default"])({}, channel.state.members));
@@ -566,7 +566,6 @@ var ChannelWithContext = function ChannelWithContext(props) {
566
566
  setTyping((0, _extends2["default"])({}, channel.state.typing));
567
567
  setWatcherCount(channel.state.watcher_count);
568
568
  setWatchers((0, _extends2["default"])({}, channel.state.watchers));
569
- onComplete == null ? void 0 : onComplete();
570
569
  }
571
570
  }, stateUpdateThrottleInterval, throttleOptions)).current;
572
571
  (0, _react.useEffect)(function () {
@@ -585,6 +584,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
585
584
  }, [channelId, shouldSyncChannel]);
586
585
  (0, _react.useEffect)(function () {
587
586
  var handleEvent = function handleEvent(event) {
587
+ var ignorableEvents = ['user.watching.start', 'user.watching.stop'];
588
+ if (ignorableEvents.includes(event.type)) return;
588
589
  if (shouldSyncChannel) {
589
590
  var isTypingEvent = event.type === 'typing.start' || event.type === 'typing.stop';
590
591
  if (!isTypingEvent) {
@@ -598,7 +599,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
598
599
  setThread(updatedThread);
599
600
  }
600
601
  }
601
- 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') {
602
603
  copyChannelState();
603
604
  }
604
605
  }
@@ -662,24 +663,23 @@ var ChannelWithContext = function ChannelWithContext(props) {
662
663
  return id === scrollToMessageId;
663
664
  }) : -1;
664
665
  if (channel && scrollToMessageIndex !== -1) {
666
+ copyChannelState.cancel();
665
667
  limitAfter = 4;
666
668
  currentLength = currentMessages.length;
667
- if (scrollToMessageIndex !== -1) {
668
- noOfMessagesAfter = currentLength - scrollToMessageIndex - 1;
669
- if (noOfMessagesAfter > limitAfter) {
670
- endIndex = scrollToMessageIndex + limitAfter;
671
- channel.state.clearMessages();
672
- channel.state.messages = currentMessages.slice(0, endIndex + 1);
673
- splitLatestCurrentMessageSetRef.current();
674
- restOfMessages = currentMessages.slice(endIndex + 1);
675
- if (hadCurrentLatestMessages) {
676
- latestSet = channel.state.messageSets.find(function (set) {
677
- return set.isLatest;
678
- });
679
- if (latestSet) {
680
- latestSet.messages = restOfMessages;
681
- hasOverlappingRecentMessagesRef.current = true;
682
- }
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;
683
683
  }
684
684
  }
685
685
  }
@@ -687,14 +687,15 @@ var ChannelWithContext = function ChannelWithContext(props) {
687
687
  hasLatestMessages = channel.state.latestMessages.length > 0;
688
688
  channel.state.setIsUpToDate(hasLatestMessages);
689
689
  setHasNoMoreRecentMessagesToLoad(hasLatestMessages);
690
- copyChannelState(function () {
691
- restartSetsMergeFuncRef.current();
692
- onAfterQueryCall == null ? void 0 : onAfterQueryCall();
693
- });
694
- _context2.next = 25;
690
+ copyChannelState();
691
+ if (scrollToMessageIndex !== -1) {
692
+ copyChannelState.flush();
693
+ }
694
+ onAfterQueryCall == null ? void 0 : onAfterQueryCall();
695
+ _context2.next = 27;
695
696
  break;
696
- case 20:
697
- _context2.prev = 20;
697
+ case 22:
698
+ _context2.prev = 22;
698
699
  _context2.t0 = _context2["catch"](3);
699
700
  if (_context2.t0 instanceof Error) {
700
701
  setError(_context2.t0);
@@ -703,11 +704,11 @@ var ChannelWithContext = function ChannelWithContext(props) {
703
704
  }
704
705
  setLoading(false);
705
706
  setLastRead(new Date());
706
- case 25:
707
+ case 27:
707
708
  case "end":
708
709
  return _context2.stop();
709
710
  }
710
- }, _callee2, null, [[3, 20]]);
711
+ }, _callee2, null, [[3, 22]]);
711
712
  }));
712
713
  return function (_x) {
713
714
  return _ref2.apply(this, arguments);
@@ -770,7 +771,11 @@ var ChannelWithContext = function ChannelWithContext(props) {
770
771
  return _context3.stop();
771
772
  }
772
773
  }, _callee3);
773
- })), undefined, function () {
774
+ })), function () {
775
+ if (unreadMessageIdToScrollTo) {
776
+ restartSetsMergeFuncRef.current();
777
+ }
778
+ }, function () {
774
779
  return unreadMessageIdToScrollTo;
775
780
  });
776
781
  };
@@ -818,10 +823,16 @@ var ChannelWithContext = function ChannelWithContext(props) {
818
823
  }, _callee4);
819
824
  })), function () {
820
825
  if (messageIdToLoadAround) {
826
+ clearInterval(mergeSetsIntervalRef.current);
821
827
  setTargetedMessage(messageIdToLoadAround);
822
828
  }
823
829
  }, messageIdToLoadAround);
824
830
  };
831
+ (0, _react.useEffect)(function () {
832
+ if (!targetedMessage && prevTargetedMessage) {
833
+ restartSetsMergeFuncRef.current();
834
+ }
835
+ }, [targetedMessage]);
825
836
  var loadChannelAtMessage = function loadChannelAtMessage(_ref7) {
826
837
  var _ref7$after = _ref7.after,
827
838
  after = _ref7$after === void 0 ? 2 : _ref7$after,
@@ -902,7 +913,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
902
913
  var currentLength = channel.state.messages.length || 0;
903
914
  var didMerge = mergeOverlappingMessageSetsRef.current(true);
904
915
  if (didMerge && channel.state.messages.length !== currentLength) {
905
- setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
916
+ setMessages(channel.state.messages);
906
917
  }
907
918
  }, 1000);
908
919
  });
@@ -2333,7 +2344,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2333
2344
  __self: _this,
2334
2345
  __source: {
2335
2346
  fileName: _jsxFileName,
2336
- lineNumber: 2328,
2347
+ lineNumber: 2342,
2337
2348
  columnNumber: 12
2338
2349
  }
2339
2350
  });
@@ -2347,7 +2358,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2347
2358
  __self: _this,
2348
2359
  __source: {
2349
2360
  fileName: _jsxFileName,
2350
- lineNumber: 2333,
2361
+ lineNumber: 2347,
2351
2362
  columnNumber: 7
2352
2363
  }
2353
2364
  }, t('Please select a channel first'));
@@ -2360,7 +2371,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2360
2371
  __self: _this,
2361
2372
  __source: {
2362
2373
  fileName: _jsxFileName,
2363
- lineNumber: 2340,
2374
+ lineNumber: 2354,
2364
2375
  columnNumber: 5
2365
2376
  }
2366
2377
  }), _react["default"].createElement(_ChannelContext.ChannelProvider, {
@@ -2368,7 +2379,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2368
2379
  __self: _this,
2369
2380
  __source: {
2370
2381
  fileName: _jsxFileName,
2371
- lineNumber: 2346,
2382
+ lineNumber: 2360,
2372
2383
  columnNumber: 7
2373
2384
  }
2374
2385
  }, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
@@ -2376,7 +2387,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2376
2387
  __self: _this,
2377
2388
  __source: {
2378
2389
  fileName: _jsxFileName,
2379
- lineNumber: 2347,
2390
+ lineNumber: 2361,
2380
2391
  columnNumber: 9
2381
2392
  }
2382
2393
  }, _react["default"].createElement(_TypingContext.TypingProvider, {
@@ -2384,7 +2395,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2384
2395
  __self: _this,
2385
2396
  __source: {
2386
2397
  fileName: _jsxFileName,
2387
- lineNumber: 2348,
2398
+ lineNumber: 2362,
2388
2399
  columnNumber: 11
2389
2400
  }
2390
2401
  }, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
@@ -2392,7 +2403,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2392
2403
  __self: _this,
2393
2404
  __source: {
2394
2405
  fileName: _jsxFileName,
2395
- lineNumber: 2349,
2406
+ lineNumber: 2363,
2396
2407
  columnNumber: 13
2397
2408
  }
2398
2409
  }, _react["default"].createElement(_MessagesContext.MessagesProvider, {
@@ -2400,7 +2411,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2400
2411
  __self: _this,
2401
2412
  __source: {
2402
2413
  fileName: _jsxFileName,
2403
- lineNumber: 2350,
2414
+ lineNumber: 2364,
2404
2415
  columnNumber: 15
2405
2416
  }
2406
2417
  }, _react["default"].createElement(_ThreadContext.ThreadProvider, {
@@ -2408,7 +2419,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2408
2419
  __self: _this,
2409
2420
  __source: {
2410
2421
  fileName: _jsxFileName,
2411
- lineNumber: 2351,
2422
+ lineNumber: 2365,
2412
2423
  columnNumber: 17
2413
2424
  }
2414
2425
  }, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
@@ -2416,7 +2427,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2416
2427
  __self: _this,
2417
2428
  __source: {
2418
2429
  fileName: _jsxFileName,
2419
- lineNumber: 2352,
2430
+ lineNumber: 2366,
2420
2431
  columnNumber: 19
2421
2432
  }
2422
2433
  }, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
@@ -2424,7 +2435,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2424
2435
  __self: _this,
2425
2436
  __source: {
2426
2437
  fileName: _jsxFileName,
2427
- lineNumber: 2353,
2438
+ lineNumber: 2367,
2428
2439
  columnNumber: 21
2429
2440
  }
2430
2441
  }, _react["default"].createElement(_reactNative.View, {
@@ -2434,7 +2445,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
2434
2445
  __self: _this,
2435
2446
  __source: {
2436
2447
  fileName: _jsxFileName,
2437
- lineNumber: 2354,
2448
+ lineNumber: 2368,
2438
2449
  columnNumber: 23
2439
2450
  }
2440
2451
  }, children))))))))));
@@ -2485,7 +2496,7 @@ var Channel = function Channel(props) {
2485
2496
  __self: _this,
2486
2497
  __source: {
2487
2498
  fileName: _jsxFileName,
2488
- lineNumber: 2411,
2499
+ lineNumber: 2425,
2489
2500
  columnNumber: 5
2490
2501
  }
2491
2502
  }));