stream-chat-react 12.1.0 → 12.2.0

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 (22) hide show
  1. package/dist/components/ChannelList/ChannelList.js +3 -1
  2. package/dist/components/ChannelList/hooks/useChannelDeletedListener.js +2 -3
  3. package/dist/components/ChannelList/hooks/useChannelHiddenListener.js +1 -2
  4. package/dist/components/ChannelList/hooks/useChannelTruncatedListener.js +1 -2
  5. package/dist/components/ChannelList/hooks/useChannelUpdatedListener.js +1 -2
  6. package/dist/components/ChannelList/hooks/useChannelVisibleListener.js +1 -2
  7. package/dist/components/ChannelList/hooks/useConnectionRecoveredListener.js +1 -2
  8. package/dist/components/ChannelList/hooks/useMessageNewListener.js +7 -2
  9. package/dist/components/ChannelList/hooks/useNotificationAddedToChannelListener.js +1 -2
  10. package/dist/components/ChannelList/hooks/useNotificationMessageNewListener.js +1 -2
  11. package/dist/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.js +1 -2
  12. package/dist/components/ChannelList/hooks/useUserPresenceChangedListener.js +1 -2
  13. package/dist/components/MessageList/VirtualizedMessageList.d.ts +2 -2
  14. package/dist/components/MessageList/VirtualizedMessageList.js +2 -1
  15. package/dist/components/MessageList/VirtualizedMessageListComponents.js +2 -2
  16. package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.d.ts +0 -1
  17. package/dist/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.js +21 -17
  18. package/dist/index.browser.cjs +58 -46
  19. package/dist/index.browser.cjs.map +3 -3
  20. package/dist/index.node.cjs +82 -70
  21. package/dist/index.node.cjs.map +3 -3
  22. package/package.json +1 -1
@@ -10274,7 +10274,7 @@ var require_disallow_node = __commonJS({
10274
10274
  var require_ast_to_react = __commonJS({
10275
10275
  "node_modules/mml-react/node_modules/react-markdown/lib/ast-to-react.js"(exports2, module2) {
10276
10276
  "use strict";
10277
- var React171 = require("react");
10277
+ var React170 = require("react");
10278
10278
  var xtend = require_immutable();
10279
10279
  var ReactIs2 = require("react-is");
10280
10280
  function astToReact(node2, options) {
@@ -10301,7 +10301,7 @@ var require_ast_to_react = __commonJS({
10301
10301
  throw new Error("Renderer for type `".concat(node2.type, "` not defined or is not renderable"));
10302
10302
  }
10303
10303
  var nodeProps = getNodeProps(node2, key, options, renderer, parent, index3);
10304
- return React171.createElement(renderer, nodeProps, nodeProps.children || resolveChildren() || void 0);
10304
+ return React170.createElement(renderer, nodeProps, nodeProps.children || resolveChildren() || void 0);
10305
10305
  function resolveChildren() {
10306
10306
  return node2.children && node2.children.map(function(childNode, i) {
10307
10307
  return astToReact(childNode, options, {
@@ -10315,7 +10315,7 @@ var require_ast_to_react = __commonJS({
10315
10315
  var props = {
10316
10316
  key
10317
10317
  };
10318
- var isSimpleRenderer = typeof renderer === "string" || renderer === React171.Fragment;
10318
+ var isSimpleRenderer = typeof renderer === "string" || renderer === React170.Fragment;
10319
10319
  if (opts.sourcePos && node2.position) {
10320
10320
  props["data-sourcepos"] = flattenPosition2(node2.position);
10321
10321
  }
@@ -10468,14 +10468,14 @@ var require_ast_to_react = __commonJS({
10468
10468
  function mergeNodeChildren(node2, parsedChildren) {
10469
10469
  var el = node2.element;
10470
10470
  if (Array.isArray(el)) {
10471
- var Fragment2 = React171.Fragment || "div";
10472
- return React171.createElement(Fragment2, null, el);
10471
+ var Fragment2 = React170.Fragment || "div";
10472
+ return React170.createElement(Fragment2, null, el);
10473
10473
  }
10474
10474
  if (el.props.children || parsedChildren) {
10475
- var children = React171.Children.toArray(el.props.children).concat(parsedChildren);
10476
- return React171.cloneElement(el, null, children);
10475
+ var children = React170.Children.toArray(el.props.children).concat(parsedChildren);
10476
+ return React170.cloneElement(el, null, children);
10477
10477
  }
10478
- return React171.cloneElement(el, null);
10478
+ return React170.cloneElement(el, null);
10479
10479
  }
10480
10480
  function flattenPosition2(pos) {
10481
10481
  return [pos.start.line, ":", pos.start.column, "-", pos.end.line, ":", pos.end.column].map(String).join("");
@@ -10599,9 +10599,9 @@ var require_renderers = __commonJS({
10599
10599
  "node_modules/mml-react/node_modules/react-markdown/lib/renderers.js"(exports2, module2) {
10600
10600
  "use strict";
10601
10601
  var xtend = require_immutable();
10602
- var React171 = require("react");
10603
- var supportsStringRender = parseInt((React171.version || "16").slice(0, 2), 10) >= 16;
10604
- var createElement = React171.createElement;
10602
+ var React170 = require("react");
10603
+ var supportsStringRender = parseInt((React170.version || "16").slice(0, 2), 10) >= 16;
10604
+ var createElement = React170.createElement;
10605
10605
  module2.exports = {
10606
10606
  break: "br",
10607
10607
  paragraph: "p",
@@ -10637,7 +10637,7 @@ var require_renderers = __commonJS({
10637
10637
  }
10638
10638
  function Root(props) {
10639
10639
  var className = props.className;
10640
- var root2 = !className && React171.Fragment || "div";
10640
+ var root2 = !className && React170.Fragment || "div";
10641
10641
  return createElement(root2, className ? {
10642
10642
  className
10643
10643
  } : null, props.children);
@@ -10693,7 +10693,7 @@ var require_renderers = __commonJS({
10693
10693
  var dangerous = props.allowDangerousHtml || props.escapeHtml === false;
10694
10694
  var tag = props.isBlock ? "div" : "span";
10695
10695
  if (!dangerous) {
10696
- return createElement(React171.Fragment || tag, null, props.value);
10696
+ return createElement(React170.Fragment || tag, null, props.value);
10697
10697
  }
10698
10698
  var nodeProps = {
10699
10699
  dangerouslySetInnerHTML: {
@@ -10703,7 +10703,7 @@ var require_renderers = __commonJS({
10703
10703
  return createElement(tag, nodeProps);
10704
10704
  }
10705
10705
  function ParsedHtml(props) {
10706
- return props["data-sourcepos"] ? React171.cloneElement(props.element, {
10706
+ return props["data-sourcepos"] ? React170.cloneElement(props.element, {
10707
10707
  "data-sourcepos": props["data-sourcepos"]
10708
10708
  }) : props.element;
10709
10709
  }
@@ -18555,8 +18555,8 @@ var require_mml_react_cjs_development = __commonJS({
18555
18555
  function _interopDefault(ex) {
18556
18556
  return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex;
18557
18557
  }
18558
- var React171 = require("react");
18559
- var React__default = _interopDefault(React171);
18558
+ var React170 = require("react");
18559
+ var React__default = _interopDefault(React170);
18560
18560
  var parseXml = _interopDefault(require_src());
18561
18561
  var dayjs = _interopDefault(require("dayjs"));
18562
18562
  var sanitizeUrl4 = require("@braintree/sanitize-url");
@@ -19341,8 +19341,8 @@ var require_mml_react_cjs_development = __commonJS({
19341
19341
  className: "mml-carousel__track"
19342
19342
  }, React__default.createElement("div", {
19343
19343
  className: "mml-carousel__slides"
19344
- }, React171.Children.map(children, function(child) {
19345
- return React171.cloneElement(child, {
19344
+ }, React170.Children.map(children, function(child) {
19345
+ return React170.cloneElement(child, {
19346
19346
  className: "mml-carousel__slide",
19347
19347
  slideWidth
19348
19348
  });
@@ -19386,7 +19386,7 @@ var require_mml_react_cjs_development = __commonJS({
19386
19386
  };
19387
19387
  var Input = function Input2(_ref) {
19388
19388
  var name = _ref.name, label = _ref.label, _ref$value = _ref.value, value = _ref$value === void 0 ? "" : _ref$value, _ref$type = _ref.type, type = _ref$type === void 0 ? "text" : _ref$type, _ref$placeholder = _ref.placeholder, placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder;
19389
- var _useState = React171.useState(value), state = _useState[0], setState = _useState[1];
19389
+ var _useState = React170.useState(value), state = _useState[0], setState = _useState[1];
19390
19390
  var id = "mml-" + name;
19391
19391
  return React__default.createElement(React__default.Fragment, null, label && React__default.createElement("label", {
19392
19392
  className: "mml-card-header",
@@ -19516,7 +19516,7 @@ var require_mml_react_cjs_development = __commonJS({
19516
19516
  };
19517
19517
  var Number2 = function Number3(_ref) {
19518
19518
  var name = _ref.name, value = _ref.value;
19519
- var _useState = React171.useState(parseInt("" + value, 10) || 0), state = _useState[0], setState = _useState[1];
19519
+ var _useState = React170.useState(parseInt("" + value, 10) || 0), state = _useState[0], setState = _useState[1];
19520
19520
  return React__default.createElement("div", {
19521
19521
  className: "mml-number"
19522
19522
  }, React__default.createElement("input", {
@@ -19553,7 +19553,7 @@ var require_mml_react_cjs_development = __commonJS({
19553
19553
  var VIRTUOSO_START_INDEX = 1e4;
19554
19554
  var DatePickerSelect = function DatePickerSelect2(props) {
19555
19555
  var onChange = props.onChange, icalFilter = props.icalFilter, getItemData2 = props.getItemData, itemClassName = props.itemClassName, interval = props.interval, format = props.format, value = props.value;
19556
- var generateItems = React171.useCallback(function(quantity, firstIdx) {
19556
+ var generateItems = React170.useCallback(function(quantity, firstIdx) {
19557
19557
  return Array(quantity).fill(true).map(function(_, idx) {
19558
19558
  return getItemData2({
19559
19559
  interval,
@@ -19565,11 +19565,11 @@ var require_mml_react_cjs_development = __commonJS({
19565
19565
  return !icalFilter || icalFilter && icalFilter(newItem.value);
19566
19566
  });
19567
19567
  }, [interval, format, value, icalFilter, getItemData2]);
19568
- var _useState = React171.useState(generateItems(ITEMS_PER_PAGE * 2, -ITEMS_PER_PAGE)), items = _useState[0], setItems = _useState[1];
19569
- var _useState2 = React171.useState(VIRTUOSO_START_INDEX), firstItemIndex = _useState2[0], setFirstItemIndex = _useState2[1];
19570
- var initialIndexOffset = React171.useRef(INITIAL_INDEX);
19571
- var _useState3 = React171.useState(null), selectedIdx = _useState3[0], setSelectedIdx = _useState3[1];
19572
- var handleClick = React171.useCallback(function(item) {
19568
+ var _useState = React170.useState(generateItems(ITEMS_PER_PAGE * 2, -ITEMS_PER_PAGE)), items = _useState[0], setItems = _useState[1];
19569
+ var _useState2 = React170.useState(VIRTUOSO_START_INDEX), firstItemIndex = _useState2[0], setFirstItemIndex = _useState2[1];
19570
+ var initialIndexOffset = React170.useRef(INITIAL_INDEX);
19571
+ var _useState3 = React170.useState(null), selectedIdx = _useState3[0], setSelectedIdx = _useState3[1];
19572
+ var handleClick = React170.useCallback(function(item) {
19573
19573
  onChange(item.value);
19574
19574
  var firstItemIndex2 = initialIndexOffset.current || 0;
19575
19575
  var nextFirstItemIdx = firstItemIndex2 - INITIAL_INDEX - ITEMS_PER_PAGE;
@@ -19583,12 +19583,12 @@ var require_mml_react_cjs_development = __commonJS({
19583
19583
  }
19584
19584
  setSelectedIdx(item.idx);
19585
19585
  }, [setItems, generateItems, initialIndexOffset, onChange]);
19586
- var appendItems = React171.useCallback(function(lastItemIndex) {
19586
+ var appendItems = React170.useCallback(function(lastItemIndex) {
19587
19587
  setItems(function(items2) {
19588
19588
  return [].concat(items2, generateItems(ITEMS_PER_PAGE, lastItemIndex));
19589
19589
  });
19590
19590
  }, [setItems, generateItems]);
19591
- var prependItems = React171.useCallback(function() {
19591
+ var prependItems = React170.useCallback(function() {
19592
19592
  var firstItemIndex2 = initialIndexOffset.current || 0;
19593
19593
  var nextFirstItemIdx = firstItemIndex2 - INITIAL_INDEX - ITEMS_PER_PAGE;
19594
19594
  if (initialIndexOffset) {
@@ -19600,7 +19600,7 @@ var require_mml_react_cjs_development = __commonJS({
19600
19600
  setFirstItemIndex(firstItemIndex2 - ITEMS_PER_PAGE);
19601
19601
  return false;
19602
19602
  }, [setItems, generateItems, initialIndexOffset]);
19603
- React171.useEffect(function() {
19603
+ React170.useEffect(function() {
19604
19604
  if (value) {
19605
19605
  var initialSelectedIdx = null;
19606
19606
  for (var i = 0; i < items.length; i++) {
@@ -19670,7 +19670,7 @@ var require_mml_react_cjs_development = __commonJS({
19670
19670
  };
19671
19671
  var DatePicker = function DatePicker2(_ref) {
19672
19672
  var name = _ref.name, selected = _ref.selected, dateInterval = _ref.dateInterval, timeInterval = _ref.timeInterval, dateFormat = _ref.dateFormat, timeFormat = _ref.timeFormat, fullDay = _ref.fullDay, icalFilter = _ref.icalFilter;
19673
- var _useState = React171.useState(selected), date = _useState[0], setDate = _useState[1];
19673
+ var _useState = React170.useState(selected), date = _useState[0], setDate = _useState[1];
19674
19674
  var handleChangeDate = function handleChangeDate2(value) {
19675
19675
  setDate(function(prevDate) {
19676
19676
  return prevDate.set("date", value.get("date")).set("month", value.get("month")).set("year", value.get("year"));
@@ -19750,14 +19750,14 @@ var require_mml_react_cjs_development = __commonJS({
19750
19750
  }();
19751
19751
  var Scheduler = function Scheduler2(_ref2) {
19752
19752
  var name = _ref2.name, selected = _ref2.selected, icalAvailability = _ref2.icalAvailability, _ref2$duration = _ref2.duration, duration = _ref2$duration === void 0 ? 30 : _ref2$duration, _ref2$dateInterval = _ref2.dateInterval, dateInterval = _ref2$dateInterval === void 0 ? 1 : _ref2$dateInterval, _ref2$timeInterval = _ref2.timeInterval, timeInterval = _ref2$timeInterval === void 0 ? 30 : _ref2$timeInterval, _ref2$dateFormat = _ref2.dateFormat, dateFormat = _ref2$dateFormat === void 0 ? "ddd MMM DD" : _ref2$dateFormat, _ref2$timeFormat = _ref2.timeFormat, timeFormat = _ref2$timeFormat === void 0 ? "hh:mm A" : _ref2$timeFormat, _ref2$fullDay = _ref2.fullDay, fullDay = _ref2$fullDay === void 0 ? false : _ref2$fullDay;
19753
- var _useState = React171.useState(false), loading = _useState[0], setLoading = _useState[1];
19754
- var _useState2 = React171.useState(""), error = _useState2[0], setError = _useState2[1];
19755
- var _useState3 = React171.useState(function() {
19753
+ var _useState = React170.useState(false), loading = _useState[0], setLoading = _useState[1];
19754
+ var _useState2 = React170.useState(""), error = _useState2[0], setError = _useState2[1];
19755
+ var _useState3 = React170.useState(function() {
19756
19756
  return function() {
19757
19757
  return true;
19758
19758
  };
19759
19759
  }), icalFilter = _useState3[0], setIcalFilter = _useState3[1];
19760
- React171.useEffect(function() {
19760
+ React170.useEffect(function() {
19761
19761
  if (!icalAvailability) return;
19762
19762
  setLoading(true);
19763
19763
  setupIcalFilter(icalAvailability, duration).then(setIcalFilter)["catch"](function(err) {
@@ -19961,13 +19961,13 @@ var require_mml_react_cjs_development = __commonJS({
19961
19961
  }
19962
19962
  var MML2 = function MML3(_ref) {
19963
19963
  var source = _ref.source, onSubmit = _ref.onSubmit, converters2 = _ref.converters, _ref$theme = _ref.theme, theme = _ref$theme === void 0 ? "" : _ref$theme, _ref$className = _ref.className, className = _ref$className === void 0 ? "" : _ref$className, _ref$Loading = _ref.Loading, Loading$1 = _ref$Loading === void 0 ? Loading : _ref$Loading, _ref$Error = _ref.Error, Error2 = _ref$Error === void 0 ? Error$1 : _ref$Error, _ref$Success = _ref.Success, Success$1 = _ref$Success === void 0 ? Success : _ref$Success;
19964
- var _useState = React171.useState(""), error = _useState[0], setError = _useState[1];
19965
- var _useState2 = React171.useState({
19964
+ var _useState = React170.useState(""), error = _useState[0], setError = _useState[1];
19965
+ var _useState2 = React170.useState({
19966
19966
  loading: false,
19967
19967
  error: "",
19968
19968
  success: ""
19969
19969
  }), submitState = _useState2[0], setSubmitState = _useState2[1];
19970
- var tree = React171.useMemo(function() {
19970
+ var tree = React170.useMemo(function() {
19971
19971
  try {
19972
19972
  return Parse(source, converters2);
19973
19973
  } catch (e2) {
@@ -19976,7 +19976,7 @@ var require_mml_react_cjs_development = __commonJS({
19976
19976
  return null;
19977
19977
  }
19978
19978
  }, [source, converters2]);
19979
- var handleSubmit = React171.useCallback(/* @__PURE__ */ function() {
19979
+ var handleSubmit = React170.useCallback(/* @__PURE__ */ function() {
19980
19980
  var _ref2 = _asyncToGenerator(/* @__PURE__ */ runtime_1.mark(function _callee(event) {
19981
19981
  var state;
19982
19982
  return runtime_1.wrap(function _callee$(_context) {
@@ -49103,39 +49103,39 @@ var useMessageSetKey = ({
49103
49103
  };
49104
49104
 
49105
49105
  // src/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.ts
49106
- var import_react182 = __toESM(require("react"));
49106
+ var import_react182 = require("react");
49107
49107
  var useScrollToBottomOnNewMessage = ({
49108
49108
  messages,
49109
49109
  scrollToBottom,
49110
49110
  scrollToLatestMessageOnFocus
49111
49111
  }) => {
49112
- const [newMessagesReceivedInBackground, setNewMessagesReceivedInBackground] = import_react182.default.useState(
49113
- false
49114
- );
49115
- const resetNewMessagesReceivedInBackground = (0, import_react182.useCallback)(() => {
49116
- setNewMessagesReceivedInBackground(false);
49117
- }, []);
49112
+ const [newMessagesReceivedInBackground, setNewMessagesReceivedInBackground] = (0, import_react182.useState)(false);
49113
+ const scrollToBottomIfConfigured = (0, import_react182.useRef)();
49114
+ scrollToBottomIfConfigured.current = (event) => {
49115
+ if (!scrollToLatestMessageOnFocus || !newMessagesReceivedInBackground || event.target !== window) {
49116
+ return;
49117
+ }
49118
+ setTimeout(scrollToBottom, 100);
49119
+ };
49118
49120
  (0, import_react182.useEffect)(() => {
49119
49121
  setNewMessagesReceivedInBackground(true);
49120
49122
  }, [messages]);
49121
- const scrollToBottomIfConfigured = (0, import_react182.useCallback)(
49122
- (event) => {
49123
- if (!scrollToLatestMessageOnFocus || !newMessagesReceivedInBackground || event.target !== window)
49124
- return;
49125
- setTimeout(scrollToBottom, 100);
49126
- },
49127
- [scrollToLatestMessageOnFocus, scrollToBottom, newMessagesReceivedInBackground]
49128
- );
49129
49123
  (0, import_react182.useEffect)(() => {
49124
+ const handleFocus = (event) => {
49125
+ scrollToBottomIfConfigured.current?.(event);
49126
+ };
49127
+ const handleBlur = () => {
49128
+ setNewMessagesReceivedInBackground(false);
49129
+ };
49130
49130
  if (typeof window !== "undefined") {
49131
- window.addEventListener("focus", scrollToBottomIfConfigured);
49132
- window.addEventListener("blur", resetNewMessagesReceivedInBackground);
49131
+ window.addEventListener("focus", handleFocus);
49132
+ window.addEventListener("blur", handleBlur);
49133
49133
  }
49134
49134
  return () => {
49135
- window.removeEventListener("focus", scrollToBottomIfConfigured);
49136
- window.removeEventListener("blur", resetNewMessagesReceivedInBackground);
49135
+ window.removeEventListener("focus", handleFocus);
49136
+ window.removeEventListener("blur", handleBlur);
49137
49137
  };
49138
- }, [scrollToBottomIfConfigured]);
49138
+ }, []);
49139
49139
  };
49140
49140
 
49141
49141
  // src/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.ts
@@ -49236,6 +49236,7 @@ var messageRenderer = (virtuosoIndex, _data, virtuosoContext) => {
49236
49236
  messageGroupStyles,
49237
49237
  MessageSystem,
49238
49238
  numItemsPrepended,
49239
+ openThread,
49239
49240
  ownMessagesReadByOthers,
49240
49241
  processedMessages: messageList,
49241
49242
  reactionDetailsSort,
@@ -49288,6 +49289,7 @@ var messageRenderer = (virtuosoIndex, _data, virtuosoContext) => {
49288
49289
  message,
49289
49290
  Message: MessageUIComponent,
49290
49291
  messageActions,
49292
+ openThread,
49291
49293
  reactionDetailsSort,
49292
49294
  readBy: ownMessagesReadByOthers[message.id] || [],
49293
49295
  sortReactionDetails,
@@ -49354,6 +49356,7 @@ var VirtualizedMessageListWithContext = (props) => {
49354
49356
  messageLimit = DEFAULT_NEXT_CHANNEL_PAGE_SIZE,
49355
49357
  messages,
49356
49358
  notifications,
49359
+ openThread,
49357
49360
  // TODO: refactor to scrollSeekPlaceHolderConfiguration and components.ScrollSeekPlaceholder, like the Virtuoso Component
49358
49361
  overscan = 0,
49359
49362
  read,
@@ -49569,6 +49572,7 @@ var VirtualizedMessageListWithContext = (props) => {
49569
49572
  messageGroupStyles,
49570
49573
  MessageSystem,
49571
49574
  numItemsPrepended,
49575
+ openThread,
49572
49576
  ownMessagesReadByOthers,
49573
49577
  processedMessages,
49574
49578
  reactionDetailsSort,
@@ -50759,7 +50763,7 @@ var useChannelDeletedListener = (setChannels, customHandler) => {
50759
50763
  return () => {
50760
50764
  client.off("channel.deleted", handleEvent);
50761
50765
  };
50762
- }, [customHandler]);
50766
+ }, [client, customHandler, setChannels]);
50763
50767
  };
50764
50768
 
50765
50769
  // src/components/ChannelList/hooks/useChannelHiddenListener.ts
@@ -50783,7 +50787,7 @@ var useChannelHiddenListener = (setChannels, customHandler) => {
50783
50787
  return () => {
50784
50788
  client.off("channel.hidden", handleEvent);
50785
50789
  };
50786
- }, [customHandler]);
50790
+ }, [client, customHandler, setChannels]);
50787
50791
  };
50788
50792
 
50789
50793
  // src/components/ChannelList/hooks/useChannelTruncatedListener.ts
@@ -50804,7 +50808,7 @@ var useChannelTruncatedListener = (setChannels, customHandler, forceUpdate) => {
50804
50808
  return () => {
50805
50809
  client.off("channel.truncated", handleEvent);
50806
50810
  };
50807
- }, [customHandler]);
50811
+ }, [client, customHandler, forceUpdate, setChannels]);
50808
50812
  };
50809
50813
 
50810
50814
  // src/components/ChannelList/hooks/useChannelUpdatedListener.ts
@@ -50837,7 +50841,7 @@ var useChannelUpdatedListener = (setChannels, customHandler, forceUpdate) => {
50837
50841
  return () => {
50838
50842
  client.off("channel.updated", handleEvent);
50839
50843
  };
50840
- }, [customHandler]);
50844
+ }, [client, customHandler, forceUpdate, setChannels]);
50841
50845
  };
50842
50846
 
50843
50847
  // src/components/ChannelList/hooks/useChannelVisibleListener.ts
@@ -50862,7 +50866,7 @@ var useChannelVisibleListener = (setChannels, customHandler) => {
50862
50866
  return () => {
50863
50867
  client.off("channel.visible", handleEvent);
50864
50868
  };
50865
- }, [customHandler]);
50869
+ }, [client, customHandler, setChannels]);
50866
50870
  };
50867
50871
 
50868
50872
  // src/components/ChannelList/hooks/useConnectionRecoveredListener.ts
@@ -50879,7 +50883,7 @@ var useConnectionRecoveredListener = (forceUpdate) => {
50879
50883
  return () => {
50880
50884
  client.off("connection.recovered", handleEvent);
50881
50885
  };
50882
- }, []);
50886
+ }, [client, forceUpdate]);
50883
50887
  };
50884
50888
 
50885
50889
  // src/components/ChannelList/hooks/useMessageNewListener.ts
@@ -50923,7 +50927,13 @@ var useMessageNewListener = (setChannels, customHandler, lockChannelOrder = fals
50923
50927
  return () => {
50924
50928
  client.off("message.new", handleEvent);
50925
50929
  };
50926
- }, [lockChannelOrder]);
50930
+ }, [
50931
+ allowNewMessagesFromUnfilteredChannels,
50932
+ client,
50933
+ customHandler,
50934
+ lockChannelOrder,
50935
+ setChannels
50936
+ ]);
50927
50937
  };
50928
50938
 
50929
50939
  // src/components/ChannelList/hooks/useMobileNavigation.ts
@@ -50971,7 +50981,7 @@ var useNotificationAddedToChannelListener = (setChannels, customHandler, allowNe
50971
50981
  return () => {
50972
50982
  client.off("notification.added_to_channel", handleEvent);
50973
50983
  };
50974
- }, [customHandler]);
50984
+ }, [allowNewMessagesFromUnfilteredChannels, client, customHandler, setChannels]);
50975
50985
  };
50976
50986
 
50977
50987
  // src/components/ChannelList/hooks/useNotificationMessageNewListener.ts
@@ -50996,7 +51006,7 @@ var useNotificationMessageNewListener = (setChannels, customHandler, allowNewMes
50996
51006
  return () => {
50997
51007
  client.off("notification.message_new", handleEvent);
50998
51008
  };
50999
- }, [customHandler]);
51009
+ }, [allowNewMessagesFromUnfilteredChannels, client, customHandler, setChannels]);
51000
51010
  };
51001
51011
 
51002
51012
  // src/components/ChannelList/hooks/useNotificationRemovedFromChannelListener.ts
@@ -51017,7 +51027,7 @@ var useNotificationRemovedFromChannelListener = (setChannels, customHandler) =>
51017
51027
  return () => {
51018
51028
  client.off("notification.removed_from_channel", handleEvent);
51019
51029
  };
51020
- }, [customHandler]);
51030
+ }, [client, customHandler, setChannels]);
51021
51031
  };
51022
51032
 
51023
51033
  // src/components/ChannelList/hooks/usePaginatedChannels.ts
@@ -51124,7 +51134,7 @@ var useUserPresenceChangedListener = (setChannels) => {
51124
51134
  return () => {
51125
51135
  client.off("user.presence.changed", handleEvent);
51126
51136
  };
51127
- }, []);
51137
+ }, [client, setChannels]);
51128
51138
  };
51129
51139
 
51130
51140
  // src/components/ChannelSearch/ChannelSearch.tsx
@@ -51891,7 +51901,9 @@ var UnMemoizedChannelList = (props) => {
51891
51901
  setActiveChannel(channels2[0], watchers);
51892
51902
  }
51893
51903
  };
51894
- const forceUpdate = () => setChannelUpdateCount((count) => count + 1);
51904
+ const forceUpdate = (0, import_react211.useCallback)(() => setChannelUpdateCount((count) => count + 1), [
51905
+ setChannelUpdateCount
51906
+ ]);
51895
51907
  const onSearch = (0, import_react211.useCallback)((event) => {
51896
51908
  if (!event.target.value) {
51897
51909
  setSearchActive(false);