stream-chat-react 10.13.1 → 10.14.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.
@@ -46707,10 +46707,19 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
46707
46707
  }, [customHandler]);
46708
46708
  };
46709
46709
 
46710
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var usePaginatedChannels = function (client, filters, sort, options, activeChannelHandler) {
46711
- var _a = useChatContext('usePaginatedChannels').channelsQueryState, setError = _a.setError, setQueryInProgress = _a.setQueryInProgress;
46710
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS = 5000;
46711
+ var MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS = 2000;
46712
+ var usePaginatedChannels = function (client, filters, sort, options, activeChannelHandler, recoveryThrottleIntervalMs) {
46713
+ if (recoveryThrottleIntervalMs === void 0) { recoveryThrottleIntervalMs = RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS; }
46714
+ var _a = useChatContext('usePaginatedChannels').channelsQueryState, error = _a.error, setError = _a.setError, setQueryInProgress = _a.setQueryInProgress;
46712
46715
  var _b = React$2.useState([]), channels = _b[0], setChannels = _b[1];
46713
46716
  var _c = React$2.useState(true), hasNextPage = _c[0], setHasNextPage = _c[1];
46717
+ var lastRecoveryTimestamp = React$2.useRef();
46718
+ var recoveryThrottleInterval = recoveryThrottleIntervalMs < MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS
46719
+ ? MIN_RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS
46720
+ : recoveryThrottleIntervalMs
46721
+ ? recoveryThrottleIntervalMs
46722
+ : RECOVER_LOADED_CHANNELS_THROTTLE_INTERVAL_IN_MS;
46714
46723
  // memoize props
46715
46724
  var filterString = React$2.useMemo(function () { return JSON.stringify(filters); }, [filters]);
46716
46725
  var sortString = React$2.useMemo(function () { return JSON.stringify(sort); }, [sort]);
@@ -46757,9 +46766,29 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
46757
46766
  }
46758
46767
  });
46759
46768
  }); };
46769
+ var throttleRecover = React$2.useCallback(function () {
46770
+ var now = Date.now();
46771
+ var isFirstRecovery = !lastRecoveryTimestamp.current;
46772
+ var timeElapsedSinceLastRecoveryMs = lastRecoveryTimestamp.current
46773
+ ? now - lastRecoveryTimestamp.current
46774
+ : 0;
46775
+ if (!isFirstRecovery && timeElapsedSinceLastRecoveryMs < recoveryThrottleInterval && !error) {
46776
+ return;
46777
+ }
46778
+ lastRecoveryTimestamp.current = now;
46779
+ queryChannels('reload');
46780
+ }, [error, queryChannels, recoveryThrottleInterval]);
46760
46781
  var loadNextPage = function () {
46761
46782
  queryChannels();
46762
46783
  };
46784
+ React$2.useEffect(function () {
46785
+ if (client.recoverStateOnReconnect)
46786
+ return;
46787
+ var unsubscribe = client.on('connection.recovered', throttleRecover).unsubscribe;
46788
+ return function () {
46789
+ unsubscribe();
46790
+ };
46791
+ }, [client, throttleRecover]);
46763
46792
  React$2.useEffect(function () {
46764
46793
  queryChannels('reload');
46765
46794
  }, [filterString, sortString]);
@@ -47398,7 +47427,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
47398
47427
  var DEFAULT_SORT = {};
47399
47428
  var UnMemoizedChannelList = function (props) {
47400
47429
  var _a, _b;
47401
- var additionalChannelSearchProps = props.additionalChannelSearchProps, _c = props.Avatar, Avatar$1 = _c === void 0 ? Avatar : _c, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _d = props.ChannelSearch, ChannelSearch$1 = _d === void 0 ? ChannelSearch : _d, customActiveChannel = props.customActiveChannel, _e = props.EmptyStateIndicator, EmptyStateIndicator$1 = _e === void 0 ? EmptyStateIndicator : _e, filters = props.filters, _f = props.LoadingErrorIndicator, LoadingErrorIndicator = _f === void 0 ? ChatDown : _f, _g = props.LoadingIndicator, LoadingIndicator = _g === void 0 ? LoadingChannels : _g, _h = props.List, List = _h === void 0 ? ChannelListMessenger : _h, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _j = props.Paginator, Paginator = _j === void 0 ? LoadMorePaginator : _j, Preview = props.Preview, renderChannels = props.renderChannels, _k = props.sendChannelsToList, sendChannelsToList = _k === void 0 ? false : _k, _l = props.setActiveChannelOnMount, setActiveChannelOnMount = _l === void 0 ? true : _l, _m = props.showChannelSearch, showChannelSearch = _m === void 0 ? false : _m, _o = props.sort, sort = _o === void 0 ? DEFAULT_SORT : _o, _p = props.watchers, watchers = _p === void 0 ? {} : _p;
47430
+ var additionalChannelSearchProps = props.additionalChannelSearchProps, _c = props.Avatar, Avatar$1 = _c === void 0 ? Avatar : _c, allowNewMessagesFromUnfilteredChannels = props.allowNewMessagesFromUnfilteredChannels, channelRenderFilterFn = props.channelRenderFilterFn, _d = props.ChannelSearch, ChannelSearch$1 = _d === void 0 ? ChannelSearch : _d, customActiveChannel = props.customActiveChannel, _e = props.EmptyStateIndicator, EmptyStateIndicator$1 = _e === void 0 ? EmptyStateIndicator : _e, filters = props.filters, _f = props.LoadingErrorIndicator, LoadingErrorIndicator = _f === void 0 ? ChatDown : _f, _g = props.LoadingIndicator, LoadingIndicator = _g === void 0 ? LoadingChannels : _g, _h = props.List, List = _h === void 0 ? ChannelListMessenger : _h, lockChannelOrder = props.lockChannelOrder, onAddedToChannel = props.onAddedToChannel, onChannelDeleted = props.onChannelDeleted, onChannelHidden = props.onChannelHidden, onChannelTruncated = props.onChannelTruncated, onChannelUpdated = props.onChannelUpdated, onChannelVisible = props.onChannelVisible, onMessageNew = props.onMessageNew, onRemovedFromChannel = props.onRemovedFromChannel, options = props.options, _j = props.Paginator, Paginator = _j === void 0 ? LoadMorePaginator : _j, Preview = props.Preview, recoveryThrottleIntervalMs = props.recoveryThrottleIntervalMs, renderChannels = props.renderChannels, _k = props.sendChannelsToList, sendChannelsToList = _k === void 0 ? false : _k, _l = props.setActiveChannelOnMount, setActiveChannelOnMount = _l === void 0 ? true : _l, _m = props.showChannelSearch, showChannelSearch = _m === void 0 ? false : _m, _o = props.sort, sort = _o === void 0 ? DEFAULT_SORT : _o, _p = props.watchers, watchers = _p === void 0 ? {} : _p;
47402
47431
  var _q = useChatContext('ChannelList'), channel = _q.channel, channelsQueryState = _q.channelsQueryState, client = _q.client, closeMobileNav = _q.closeMobileNav, customClasses = _q.customClasses, _r = _q.navOpen, navOpen = _r === void 0 ? false : _r, setActiveChannel = _q.setActiveChannel, theme = _q.theme, useImageFlagEmojisOnWindows = _q.useImageFlagEmojisOnWindows;
47403
47432
  var channelListRef = React$2.useRef(null);
47404
47433
  var _s = React$2.useState(0), channelUpdateCount = _s[0], setChannelUpdateCount = _s[1];
@@ -47462,7 +47491,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
47462
47491
  setSearchActive(false);
47463
47492
  (_a = additionalChannelSearchProps === null || additionalChannelSearchProps === void 0 ? void 0 : additionalChannelSearchProps.onSearchExit) === null || _a === void 0 ? void 0 : _a.call(additionalChannelSearchProps);
47464
47493
  }, []);
47465
- var _u = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler), channels = _u.channels, hasNextPage = _u.hasNextPage, loadNextPage = _u.loadNextPage, setChannels = _u.setChannels;
47494
+ var _u = usePaginatedChannels(client, filters || DEFAULT_FILTERS, sort || DEFAULT_SORT, options || DEFAULT_OPTIONS, activeChannelHandler, recoveryThrottleIntervalMs), channels = _u.channels, hasNextPage = _u.hasNextPage, loadNextPage = _u.loadNextPage, setChannels = _u.setChannels;
47466
47495
  var loadedChannels = channelRenderFilterFn ? channelRenderFilterFn(channels) : channels;
47467
47496
  useMobileNavigation(channelListRef, navOpen, closeMobileNav);
47468
47497
  useMessageNewListener(setChannels, lockChannelOrder, allowNewMessagesFromUnfilteredChannels);
@@ -47526,7 +47555,7 @@ var StreamChatReact = (function (exports, React$2, streamChat, ReactDOM) {
47526
47555
 
47527
47556
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};
47528
47557
 
47529
- window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '10.13.1';
47558
+ window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var version$1 = '10.14.1';
47530
47559
 
47531
47560
  window.StreamChat.StreamChat=StreamChat;window.StreamChat.logChatPromiseExecution=logChatPromiseExecution;window.StreamChat.Channel=Channel;window.ICAL=window.ICAL||{};var useChat = function (_a) {
47532
47561
  var _b, _c;