stream-chat-react-native-core 5.44.3 → 5.44.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 (26) hide show
  1. package/lib/commonjs/components/MessageList/hooks/useLastReadData.js +21 -0
  2. package/lib/commonjs/components/MessageList/hooks/useLastReadData.js.map +1 -0
  3. package/lib/commonjs/components/MessageList/hooks/useMessageList.js +6 -2
  4. package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
  5. package/lib/commonjs/components/MessageList/utils/getReadStates.js +6 -7
  6. package/lib/commonjs/components/MessageList/utils/getReadStates.js.map +1 -1
  7. package/lib/commonjs/version.json +1 -1
  8. package/lib/module/components/MessageList/hooks/useLastReadData.js +21 -0
  9. package/lib/module/components/MessageList/hooks/useLastReadData.js.map +1 -0
  10. package/lib/module/components/MessageList/hooks/useMessageList.js +6 -2
  11. package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
  12. package/lib/module/components/MessageList/utils/getReadStates.js +6 -7
  13. package/lib/module/components/MessageList/utils/getReadStates.js.map +1 -1
  14. package/lib/module/version.json +1 -1
  15. package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
  16. package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts +13 -0
  17. package/lib/typescript/components/MessageList/hooks/useLastReadData.d.ts.map +1 -0
  18. package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts.map +1 -1
  19. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts +2 -2
  20. package/lib/typescript/components/MessageList/utils/getReadStates.d.ts.map +1 -1
  21. package/lib/typescript/store/mappers/mapStorableToChannel.d.ts +1 -1
  22. package/package.json +1 -1
  23. package/src/components/MessageList/hooks/useLastReadData.ts +37 -0
  24. package/src/components/MessageList/hooks/useMessageList.ts +7 -2
  25. package/src/components/MessageList/utils/getReadStates.ts +8 -8
  26. package/src/version.json +1 -1
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.useLastReadData = void 0;
5
+ var _react = require("react");
6
+ var _getReadStates = require("../utils/getReadStates");
7
+ var useLastReadData = function useLastReadData(props) {
8
+ var messages = props.messages,
9
+ read = props.read,
10
+ _props$returnAllReadD = props.returnAllReadData,
11
+ returnAllReadData = _props$returnAllReadD === void 0 ? true : _props$returnAllReadD,
12
+ userID = props.userID;
13
+ return (0, _react.useMemo)(function () {
14
+ return (0, _getReadStates.getReadStates)(messages.filter(function (_ref) {
15
+ var user = _ref.user;
16
+ return (user == null ? void 0 : user.id) === userID;
17
+ }), read, returnAllReadData);
18
+ }, [messages, read, returnAllReadData, userID]);
19
+ };
20
+ exports.useLastReadData = useLastReadData;
21
+ //# sourceMappingURL=useLastReadData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_getReadStates","useLastReadData","props","messages","read","_props$returnAllReadD","returnAllReadData","userID","useMemo","getReadStates","filter","_ref","user","id","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useLastReadData.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,cAAA,GAAAD,OAAA;AAaO,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAG1BC,KAAgD,EAC7C;EACH,IAAQC,QAAQ,GAA6CD,KAAK,CAA1DC,QAAQ;IAAEC,IAAI,GAAuCF,KAAK,CAAhDE,IAAI;IAAAC,qBAAA,GAAuCH,KAAK,CAA1CI,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAEE,MAAM,GAAKL,KAAK,CAAhBK,MAAM;EAExD,OAAO,IAAAC,cAAO,EACZ;IAAA,OACE,IAAAC,4BAAa,EACXN,QAAQ,CAACO,MAAM,CAAC,UAAAC,IAAA;MAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAA,OAAO,CAAAA,IAAI,oBAAJA,IAAI,CAAEC,EAAE,MAAKN,MAAM;IAAA,EAAC,EAClDH,IAAI,EACJE,iBACF,CAAC;EAAA,GACH,CAACH,QAAQ,EAAEC,IAAI,EAAEE,iBAAiB,EAAEC,MAAM,CAC5C,CAAC;AACH,CAAC;AAACO,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  exports.useMessageList = exports.isMessageWithStylesReadByAndDateSeparator = void 0;
6
6
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
7
+ var _useLastReadData = require("./useLastReadData");
7
8
  var _ChannelContext = require("../../../contexts/channelContext/ChannelContext");
8
9
  var _ChatContext = require("../../../contexts/chatContext/ChatContext");
9
10
  var _MessagesContext = require("../../../contexts/messagesContext/MessagesContext");
@@ -11,7 +12,6 @@ var _PaginatedMessageListContext = require("../../../contexts/paginatedMessageLi
11
12
  var _ThreadContext = require("../../../contexts/threadContext/ThreadContext");
12
13
  var _getDateSeparators = require("../utils/getDateSeparators");
13
14
  var _getGroupStyles = require("../utils/getGroupStyles");
14
- var _getReadStates = require("../utils/getReadStates");
15
15
  var isMessageWithStylesReadByAndDateSeparator = function isMessageWithStylesReadByAndDateSeparator(message) {
16
16
  return message.readBy !== undefined;
17
17
  };
@@ -49,7 +49,11 @@ var useMessageList = function useMessageList(params) {
49
49
  noGroupByUser: noGroupByUser,
50
50
  userId: client.userID
51
51
  });
52
- var readData = (0, _getReadStates.getReadStates)(client.userID, messageList, readList);
52
+ var readData = (0, _useLastReadData.useLastReadData)({
53
+ messages: messageList,
54
+ read: readList,
55
+ userID: client.userID
56
+ });
53
57
  var messagesWithStylesReadByAndDateSeparator = messageList.filter(function (msg) {
54
58
  var isMessageTypeDeleted = msg.type === 'deleted';
55
59
  if (deletedMessagesVisibilityType === 'sender') {
@@ -1 +1 @@
1
- {"version":3,"names":["_ChannelContext","require","_ChatContext","_MessagesContext","_PaginatedMessageListContext","_ThreadContext","_getDateSeparators","_getGroupStyles","_getReadStates","isMessageWithStylesReadByAndDateSeparator","message","readBy","undefined","exports","useMessageList","params","noGroupByUser","threadList","_useChatContext","useChatContext","client","_useChannelContext","useChannelContext","hideDateSeparators","maxTimeBetweenGroupedMessages","read","_useMessagesContext","useMessagesContext","deletedMessagesVisibilityType","_useMessagesContext$g","getMessagesGroupStyles","getGroupStyles","_usePaginatedMessageL","usePaginatedMessageListContext","messages","_useThreadContext","useThreadContext","threadMessages","messageList","readList","dateSeparators","getDateSeparators","userId","userID","messageGroupStyles","readData","getReadStates","messagesWithStylesReadByAndDateSeparator","filter","msg","isMessageTypeDeleted","type","_msg$user","user","id","_msg$user2","map","Object","assign","dateSeparator","groupStyles","processedMessageList","_toConsumableArray2","reverse","rawMessageList"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useMessageList.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_useLastReadData","require","_ChannelContext","_ChatContext","_MessagesContext","_PaginatedMessageListContext","_ThreadContext","_getDateSeparators","_getGroupStyles","isMessageWithStylesReadByAndDateSeparator","message","readBy","undefined","exports","useMessageList","params","noGroupByUser","threadList","_useChatContext","useChatContext","client","_useChannelContext","useChannelContext","hideDateSeparators","maxTimeBetweenGroupedMessages","read","_useMessagesContext","useMessagesContext","deletedMessagesVisibilityType","_useMessagesContext$g","getMessagesGroupStyles","getGroupStyles","_usePaginatedMessageL","usePaginatedMessageListContext","messages","_useThreadContext","useThreadContext","threadMessages","messageList","readList","dateSeparators","getDateSeparators","userId","userID","messageGroupStyles","readData","useLastReadData","messagesWithStylesReadByAndDateSeparator","filter","msg","isMessageTypeDeleted","type","_msg$user","user","id","_msg$user2","map","Object","assign","dateSeparator","groupStyles","processedMessageList","_toConsumableArray2","reverse","rawMessageList"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useMessageList.ts"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
4
  exports.getReadStates = void 0;
5
- var getReadStates = function getReadStates(clientUserId, messages, read) {
5
+ var getReadStates = function getReadStates(messages, read, returnAllReadData) {
6
6
  var readData = {};
7
7
  if (read) {
8
8
  Object.values(read).forEach(function (readState) {
@@ -10,17 +10,16 @@ var getReadStates = function getReadStates(clientUserId, messages, read) {
10
10
  var userLastReadMsgId;
11
11
  messages.forEach(function (msg) {
12
12
  if (msg.created_at && msg.created_at < readState.last_read) {
13
- var _msg$user;
14
13
  userLastReadMsgId = msg.id;
15
- if (!readData[userLastReadMsgId]) {
16
- readData[userLastReadMsgId] = 0;
17
- }
18
- if (((_msg$user = msg.user) == null ? void 0 : _msg$user.id) !== clientUserId) {
14
+ if (returnAllReadData) {
15
+ if (!readData[userLastReadMsgId]) {
16
+ readData[userLastReadMsgId] = 0;
17
+ }
19
18
  readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
20
19
  }
21
20
  }
22
21
  });
23
- if (userLastReadMsgId) {
22
+ if (userLastReadMsgId && !returnAllReadData) {
24
23
  if (!readData[userLastReadMsgId]) {
25
24
  readData[userLastReadMsgId] = 0;
26
25
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getReadStates","clientUserId","messages","read","readData","Object","values","forEach","readState","last_read","userLastReadMsgId","msg","created_at","_msg$user","id","user","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getReadStates.ts"],"mappings":";;;;AAKO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAGxBC,YAAgC,EAChCC,QAE4D,EAC5DC,IAAsD,EACnD;EACH,IAAMC,QAAgC,GAAG,CAAC,CAAC;EAE3C,IAAID,IAAI,EAAE;IAQRE,MAAM,CAACC,MAAM,CAACH,IAAI,CAAC,CAACI,OAAO,CAAC,UAACC,SAAS,EAAK;MACzC,IAAI,CAACA,SAAS,CAACC,SAAS,EAAE;MAE1B,IAAIC,iBAAqC;MAGzCR,QAAQ,CAACK,OAAO,CAAC,UAACI,GAAG,EAAK;QACxB,IAAIA,GAAG,CAACC,UAAU,IAAID,GAAG,CAACC,UAAU,GAAGJ,SAAS,CAACC,SAAS,EAAE;UAAA,IAAAI,SAAA;UAC1DH,iBAAiB,GAAGC,GAAG,CAACG,EAAE;UAG1B,IAAI,CAACV,QAAQ,CAACM,iBAAiB,CAAC,EAAE;YAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UACjC;UAGA,IAAI,EAAAG,SAAA,GAAAF,GAAG,CAACI,IAAI,qBAARF,SAAA,CAAUC,EAAE,MAAKb,YAAY,EAAE;YACjCG,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UAC/D;QACF;MACF,CAAC,CAAC;MAGF,IAAIA,iBAAiB,EAAE;QACrB,IAAI,CAACN,QAAQ,CAACM,iBAAiB,CAAC,EAAE;UAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;QACjC;QAEAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ;EAEA,OAAON,QAAQ;AACjB,CAAC;AAACY,OAAA,CAAAhB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["getReadStates","messages","read","returnAllReadData","readData","Object","values","forEach","readState","last_read","userLastReadMsgId","msg","created_at","id","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getReadStates.ts"],"mappings":";;;;AAKO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAGxBC,QAE4D,EAC5DC,IAAsD,EACtDC,iBAA2B,EACxB;EACH,IAAMC,QAAgC,GAAG,CAAC,CAAC;EAE3C,IAAIF,IAAI,EAAE;IAQRG,MAAM,CAACC,MAAM,CAACJ,IAAI,CAAC,CAACK,OAAO,CAAC,UAACC,SAAS,EAAK;MACzC,IAAI,CAACA,SAAS,CAACC,SAAS,EAAE;MAE1B,IAAIC,iBAAqC;MAGzCT,QAAQ,CAACM,OAAO,CAAC,UAACI,GAAG,EAAK;QACxB,IAAIA,GAAG,CAACC,UAAU,IAAID,GAAG,CAACC,UAAU,GAAGJ,SAAS,CAACC,SAAS,EAAE;UAC1DC,iBAAiB,GAAGC,GAAG,CAACE,EAAE;UAE1B,IAAIV,iBAAiB,EAAE;YAErB,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;cAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;YACjC;YAGAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UAC/D;QACF;MACF,CAAC,CAAC;MAGF,IAAIA,iBAAiB,IAAI,CAACP,iBAAiB,EAAE;QAC3C,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;UAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;QACjC;QAEAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ;EAEA,OAAON,QAAQ;AACjB,CAAC;AAACU,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.44.3"
2
+ "version": "5.44.4"
3
3
  }
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, "__esModule", {
2
+ value: true
3
+ });
4
+ exports.useLastReadData = void 0;
5
+ var _react = require("react");
6
+ var _getReadStates = require("../utils/getReadStates");
7
+ var useLastReadData = function useLastReadData(props) {
8
+ var messages = props.messages,
9
+ read = props.read,
10
+ _props$returnAllReadD = props.returnAllReadData,
11
+ returnAllReadData = _props$returnAllReadD === void 0 ? true : _props$returnAllReadD,
12
+ userID = props.userID;
13
+ return (0, _react.useMemo)(function () {
14
+ return (0, _getReadStates.getReadStates)(messages.filter(function (_ref) {
15
+ var user = _ref.user;
16
+ return (user == null ? void 0 : user.id) === userID;
17
+ }), read, returnAllReadData);
18
+ }, [messages, read, returnAllReadData, userID]);
19
+ };
20
+ exports.useLastReadData = useLastReadData;
21
+ //# sourceMappingURL=useLastReadData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_getReadStates","useLastReadData","props","messages","read","_props$returnAllReadD","returnAllReadData","userID","useMemo","getReadStates","filter","_ref","user","id","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useLastReadData.ts"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,cAAA,GAAAD,OAAA;AAaO,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAG1BC,KAAgD,EAC7C;EACH,IAAQC,QAAQ,GAA6CD,KAAK,CAA1DC,QAAQ;IAAEC,IAAI,GAAuCF,KAAK,CAAhDE,IAAI;IAAAC,qBAAA,GAAuCH,KAAK,CAA1CI,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAEE,MAAM,GAAKL,KAAK,CAAhBK,MAAM;EAExD,OAAO,IAAAC,cAAO,EACZ;IAAA,OACE,IAAAC,4BAAa,EACXN,QAAQ,CAACO,MAAM,CAAC,UAAAC,IAAA;MAAA,IAAGC,IAAI,GAAAD,IAAA,CAAJC,IAAI;MAAA,OAAO,CAAAA,IAAI,oBAAJA,IAAI,CAAEC,EAAE,MAAKN,MAAM;IAAA,EAAC,EAClDH,IAAI,EACJE,iBACF,CAAC;EAAA,GACH,CAACH,QAAQ,EAAEC,IAAI,EAAEE,iBAAiB,EAAEC,MAAM,CAC5C,CAAC;AACH,CAAC;AAACO,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  exports.useMessageList = exports.isMessageWithStylesReadByAndDateSeparator = void 0;
6
6
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
7
+ var _useLastReadData = require("./useLastReadData");
7
8
  var _ChannelContext = require("../../../contexts/channelContext/ChannelContext");
8
9
  var _ChatContext = require("../../../contexts/chatContext/ChatContext");
9
10
  var _MessagesContext = require("../../../contexts/messagesContext/MessagesContext");
@@ -11,7 +12,6 @@ var _PaginatedMessageListContext = require("../../../contexts/paginatedMessageLi
11
12
  var _ThreadContext = require("../../../contexts/threadContext/ThreadContext");
12
13
  var _getDateSeparators = require("../utils/getDateSeparators");
13
14
  var _getGroupStyles = require("../utils/getGroupStyles");
14
- var _getReadStates = require("../utils/getReadStates");
15
15
  var isMessageWithStylesReadByAndDateSeparator = function isMessageWithStylesReadByAndDateSeparator(message) {
16
16
  return message.readBy !== undefined;
17
17
  };
@@ -49,7 +49,11 @@ var useMessageList = function useMessageList(params) {
49
49
  noGroupByUser: noGroupByUser,
50
50
  userId: client.userID
51
51
  });
52
- var readData = (0, _getReadStates.getReadStates)(client.userID, messageList, readList);
52
+ var readData = (0, _useLastReadData.useLastReadData)({
53
+ messages: messageList,
54
+ read: readList,
55
+ userID: client.userID
56
+ });
53
57
  var messagesWithStylesReadByAndDateSeparator = messageList.filter(function (msg) {
54
58
  var isMessageTypeDeleted = msg.type === 'deleted';
55
59
  if (deletedMessagesVisibilityType === 'sender') {
@@ -1 +1 @@
1
- {"version":3,"names":["_ChannelContext","require","_ChatContext","_MessagesContext","_PaginatedMessageListContext","_ThreadContext","_getDateSeparators","_getGroupStyles","_getReadStates","isMessageWithStylesReadByAndDateSeparator","message","readBy","undefined","exports","useMessageList","params","noGroupByUser","threadList","_useChatContext","useChatContext","client","_useChannelContext","useChannelContext","hideDateSeparators","maxTimeBetweenGroupedMessages","read","_useMessagesContext","useMessagesContext","deletedMessagesVisibilityType","_useMessagesContext$g","getMessagesGroupStyles","getGroupStyles","_usePaginatedMessageL","usePaginatedMessageListContext","messages","_useThreadContext","useThreadContext","threadMessages","messageList","readList","dateSeparators","getDateSeparators","userId","userID","messageGroupStyles","readData","getReadStates","messagesWithStylesReadByAndDateSeparator","filter","msg","isMessageTypeDeleted","type","_msg$user","user","id","_msg$user2","map","Object","assign","dateSeparator","groupStyles","processedMessageList","_toConsumableArray2","reverse","rawMessageList"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useMessageList.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_useLastReadData","require","_ChannelContext","_ChatContext","_MessagesContext","_PaginatedMessageListContext","_ThreadContext","_getDateSeparators","_getGroupStyles","isMessageWithStylesReadByAndDateSeparator","message","readBy","undefined","exports","useMessageList","params","noGroupByUser","threadList","_useChatContext","useChatContext","client","_useChannelContext","useChannelContext","hideDateSeparators","maxTimeBetweenGroupedMessages","read","_useMessagesContext","useMessagesContext","deletedMessagesVisibilityType","_useMessagesContext$g","getMessagesGroupStyles","getGroupStyles","_usePaginatedMessageL","usePaginatedMessageListContext","messages","_useThreadContext","useThreadContext","threadMessages","messageList","readList","dateSeparators","getDateSeparators","userId","userID","messageGroupStyles","readData","useLastReadData","messagesWithStylesReadByAndDateSeparator","filter","msg","isMessageTypeDeleted","type","_msg$user","user","id","_msg$user2","map","Object","assign","dateSeparator","groupStyles","processedMessageList","_toConsumableArray2","reverse","rawMessageList"],"sourceRoot":"../../../../../src","sources":["components/MessageList/hooks/useMessageList.ts"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ Object.defineProperty(exports, "__esModule", {
2
2
  value: true
3
3
  });
4
4
  exports.getReadStates = void 0;
5
- var getReadStates = function getReadStates(clientUserId, messages, read) {
5
+ var getReadStates = function getReadStates(messages, read, returnAllReadData) {
6
6
  var readData = {};
7
7
  if (read) {
8
8
  Object.values(read).forEach(function (readState) {
@@ -10,17 +10,16 @@ var getReadStates = function getReadStates(clientUserId, messages, read) {
10
10
  var userLastReadMsgId;
11
11
  messages.forEach(function (msg) {
12
12
  if (msg.created_at && msg.created_at < readState.last_read) {
13
- var _msg$user;
14
13
  userLastReadMsgId = msg.id;
15
- if (!readData[userLastReadMsgId]) {
16
- readData[userLastReadMsgId] = 0;
17
- }
18
- if (((_msg$user = msg.user) == null ? void 0 : _msg$user.id) !== clientUserId) {
14
+ if (returnAllReadData) {
15
+ if (!readData[userLastReadMsgId]) {
16
+ readData[userLastReadMsgId] = 0;
17
+ }
19
18
  readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
20
19
  }
21
20
  }
22
21
  });
23
- if (userLastReadMsgId) {
22
+ if (userLastReadMsgId && !returnAllReadData) {
24
23
  if (!readData[userLastReadMsgId]) {
25
24
  readData[userLastReadMsgId] = 0;
26
25
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getReadStates","clientUserId","messages","read","readData","Object","values","forEach","readState","last_read","userLastReadMsgId","msg","created_at","_msg$user","id","user","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getReadStates.ts"],"mappings":";;;;AAKO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAGxBC,YAAgC,EAChCC,QAE4D,EAC5DC,IAAsD,EACnD;EACH,IAAMC,QAAgC,GAAG,CAAC,CAAC;EAE3C,IAAID,IAAI,EAAE;IAQRE,MAAM,CAACC,MAAM,CAACH,IAAI,CAAC,CAACI,OAAO,CAAC,UAACC,SAAS,EAAK;MACzC,IAAI,CAACA,SAAS,CAACC,SAAS,EAAE;MAE1B,IAAIC,iBAAqC;MAGzCR,QAAQ,CAACK,OAAO,CAAC,UAACI,GAAG,EAAK;QACxB,IAAIA,GAAG,CAACC,UAAU,IAAID,GAAG,CAACC,UAAU,GAAGJ,SAAS,CAACC,SAAS,EAAE;UAAA,IAAAI,SAAA;UAC1DH,iBAAiB,GAAGC,GAAG,CAACG,EAAE;UAG1B,IAAI,CAACV,QAAQ,CAACM,iBAAiB,CAAC,EAAE;YAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UACjC;UAGA,IAAI,EAAAG,SAAA,GAAAF,GAAG,CAACI,IAAI,qBAARF,SAAA,CAAUC,EAAE,MAAKb,YAAY,EAAE;YACjCG,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UAC/D;QACF;MACF,CAAC,CAAC;MAGF,IAAIA,iBAAiB,EAAE;QACrB,IAAI,CAACN,QAAQ,CAACM,iBAAiB,CAAC,EAAE;UAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;QACjC;QAEAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ;EAEA,OAAON,QAAQ;AACjB,CAAC;AAACY,OAAA,CAAAhB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["getReadStates","messages","read","returnAllReadData","readData","Object","values","forEach","readState","last_read","userLastReadMsgId","msg","created_at","id","exports"],"sourceRoot":"../../../../../src","sources":["components/MessageList/utils/getReadStates.ts"],"mappings":";;;;AAKO,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAGxBC,QAE4D,EAC5DC,IAAsD,EACtDC,iBAA2B,EACxB;EACH,IAAMC,QAAgC,GAAG,CAAC,CAAC;EAE3C,IAAIF,IAAI,EAAE;IAQRG,MAAM,CAACC,MAAM,CAACJ,IAAI,CAAC,CAACK,OAAO,CAAC,UAACC,SAAS,EAAK;MACzC,IAAI,CAACA,SAAS,CAACC,SAAS,EAAE;MAE1B,IAAIC,iBAAqC;MAGzCT,QAAQ,CAACM,OAAO,CAAC,UAACI,GAAG,EAAK;QACxB,IAAIA,GAAG,CAACC,UAAU,IAAID,GAAG,CAACC,UAAU,GAAGJ,SAAS,CAACC,SAAS,EAAE;UAC1DC,iBAAiB,GAAGC,GAAG,CAACE,EAAE;UAE1B,IAAIV,iBAAiB,EAAE;YAErB,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;cAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;YACjC;YAGAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;UAC/D;QACF;MACF,CAAC,CAAC;MAGF,IAAIA,iBAAiB,IAAI,CAACP,iBAAiB,EAAE;QAC3C,IAAI,CAACC,QAAQ,CAACM,iBAAiB,CAAC,EAAE;UAChCN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;QACjC;QAEAN,QAAQ,CAACM,iBAAiB,CAAC,GAAGN,QAAQ,CAACM,iBAAiB,CAAC,GAAG,CAAC;MAC/D;IACF,CAAC,CAAC;EACJ;EAEA,OAAON,QAAQ;AACjB,CAAC;AAACU,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.44.3"
2
+ "version": "5.44.4"
3
3
  }
@@ -32,7 +32,7 @@ export declare const useCreateMessagesContext: <StreamChatGenerics extends Defau
32
32
  MessageEditedTimestamp: import("react").ComponentType<import("../..").MessageEditedTimestampProps>;
33
33
  MessageError: import("react").ComponentType<import("../..").MessageErrorProps>;
34
34
  MessageFooter: import("react").ComponentType<import("../..").MessageFooterProps<StreamChatGenerics>>;
35
- MessageList: import("react").ComponentType<Partial<Pick<import("../../..").AttachmentPickerContextValue, "closePicker" | "selectedPicker" | "setSelectedPicker"> & Pick<import("../../..").ChannelContextValue<StreamChatGenerics>, "disabled" | "channel" | "loading" | "threadList" | "targetedMessage" | "EmptyStateIndicator" | "hideStickyDateHeader" | "loadChannelAroundMessage" | "LoadingIndicator" | "markRead" | "NetworkDownIndicator" | "reloadChannel" | "scrollToFirstUnreadThreshold" | "setTargetedMessage" | "StickyHeader"> & Pick<import("../../..").ChatContextValue<StreamChatGenerics>, "client"> & Pick<import("../../..").ImageGalleryContextValue<StreamChatGenerics>, "setMessages"> & Pick<import("../../..").PaginatedMessageListContextValue<StreamChatGenerics>, "hasNoMoreRecentMessagesToLoad" | "loadMore" | "loadMoreRecent"> & Pick<import("../../..").OverlayContextValue, "overlay"> & Pick<MessagesContextValue<StreamChatGenerics>, "myMessageTheme" | "DateHeader" | "FlatList" | "initialScrollToFirstUnreadMessage" | "InlineDateSeparator" | "InlineUnreadIndicator" | "Message" | "MessageSystem" | "ScrollToBottomButton" | "TypingIndicator" | "TypingIndicatorContainer" | "disableTypingIndicator" | "legacyImageViewerSwipeBehaviour" | "shouldShowUnreadUnderlay"> & Pick<import("../../..").ThreadContextValue<StreamChatGenerics>, "thread" | "loadMoreRecentThread" | "loadMoreThread" | "threadInstance"> & {
35
+ MessageList: import("react").ComponentType<Partial<Pick<import("../../..").AttachmentPickerContextValue, "closePicker" | "selectedPicker" | "setSelectedPicker"> & Pick<import("../../..").ChannelContextValue<StreamChatGenerics>, "disabled" | "channel" | "loading" | "threadList" | "targetedMessage" | "EmptyStateIndicator" | "hideStickyDateHeader" | "loadChannelAroundMessage" | "LoadingIndicator" | "markRead" | "NetworkDownIndicator" | "reloadChannel" | "scrollToFirstUnreadThreshold" | "setTargetedMessage" | "StickyHeader"> & Pick<import("../../..").ChatContextValue<StreamChatGenerics>, "client"> & Pick<import("../../..").ImageGalleryContextValue<StreamChatGenerics>, "setMessages"> & Pick<import("../../..").PaginatedMessageListContextValue<StreamChatGenerics>, "hasNoMoreRecentMessagesToLoad" | "loadMore" | "loadMoreRecent"> & Pick<import("../../..").OverlayContextValue, "overlay"> & Pick<MessagesContextValue<StreamChatGenerics>, "myMessageTheme" | "DateHeader" | "FlatList" | "initialScrollToFirstUnreadMessage" | "InlineDateSeparator" | "InlineUnreadIndicator" | "Message" | "MessageSystem" | "ScrollToBottomButton" | "TypingIndicator" | "TypingIndicatorContainer" | "disableTypingIndicator" | "legacyImageViewerSwipeBehaviour" | "shouldShowUnreadUnderlay"> & Pick<import("../../..").ThreadContextValue<StreamChatGenerics>, "thread" | "loadMoreThread" | "loadMoreRecentThread" | "threadInstance"> & {
36
36
  additionalFlatListProps?: Partial<import("react-native/types").FlatListProps<import("../..").MessageType<StreamChatGenerics>>> | undefined;
37
37
  FooterComponent?: import("react").ComponentType<{}> | undefined;
38
38
  HeaderComponent?: import("react").ComponentType<{}> | undefined;
@@ -0,0 +1,13 @@
1
+ import type { ChannelState } from 'stream-chat';
2
+ import { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
3
+ import { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
4
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
5
+ type UseLastReadDataParams<StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> = {
6
+ messages: PaginatedMessageListContextValue<StreamChatGenerics>['messages'] | ThreadContextValue<StreamChatGenerics>['threadMessages'];
7
+ userID: string | undefined;
8
+ read?: ChannelState<StreamChatGenerics>['read'];
9
+ returnAllReadData?: boolean;
10
+ };
11
+ export declare const useLastReadData: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(props: UseLastReadDataParams<StreamChatGenerics>) => Record<string, number>;
12
+ export {};
13
+ //# sourceMappingURL=useLastReadData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLastReadData.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/useLastReadData.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,KAAK,qBAAqB,CACxB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E;IACF,QAAQ,EACJ,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,GAChE,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,gKAgB3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageList.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/useMessageList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAOjE,OAAO,EACL,6BAA6B,EAE9B,MAAM,mDAAmD,CAAC;AAG3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAKtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,wCAAwC,CAClD,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,eAAe,CAAC,kBAAkB,CAAC,GAAG;IACxC,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,CACrB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAE9E,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,GAC7D,wCAAwC,CAAC,kBAAkB,CAAC,CAAC;AAGjE,eAAO,MAAM,yCAAyC,yMAK0C,CAAC;AAEjG,eAAO,MAAM,cAAc,6FAGjB,oBAAoB;IA2D1B,4EAA4E;;IAE5E,0CAA0C;;CAG7C,CAAC"}
1
+ {"version":3,"file":"useMessageList.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/hooks/useMessageList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AASjE,OAAO,EACL,6BAA6B,EAE9B,MAAM,mDAAmD,CAAC;AAG3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAItE,MAAM,MAAM,oBAAoB,GAAG;IACjC,6BAA6B,CAAC,EAAE,6BAA6B,CAAC;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,MAAM,wCAAwC,CAClD,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,eAAe,CAAC,kBAAkB,CAAC,GAAG;IACxC,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,CACrB,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAE9E,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,GAC7D,wCAAwC,CAAC,kBAAkB,CAAC,CAAC;AAGjE,eAAO,MAAM,yCAAyC,yMAK0C,CAAC;AAEjG,eAAO,MAAM,cAAc,6FAGjB,oBAAoB;IA+D1B,4EAA4E;;IAE5E,0CAA0C;;CAG7C,CAAC"}
@@ -2,7 +2,7 @@ import type { ChannelContextValue } from '../../../contexts/channelContext/Chann
2
2
  import type { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
3
3
  import type { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
4
4
  import type { DefaultStreamChatGenerics } from '../../../types/types';
5
- export declare const getReadStates: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(clientUserId: string | undefined, messages: import("stream-chat").FormatMessageResponse<StreamChatGenerics>[], read?: {
5
+ export declare const getReadStates: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(messages: import("stream-chat").FormatMessageResponse<StreamChatGenerics>[], read?: {
6
6
  [x: string]: {
7
7
  last_read: Date;
8
8
  unread_messages: number;
@@ -10,5 +10,5 @@ export declare const getReadStates: <StreamChatGenerics extends DefaultStreamCha
10
10
  first_unread_message_id?: string | undefined;
11
11
  last_read_message_id?: string | undefined;
12
12
  };
13
- } | undefined) => Record<string, number>;
13
+ } | undefined, returnAllReadData?: boolean) => Record<string, number>;
14
14
  //# sourceMappingURL=getReadStates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getReadStates.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getReadStates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,aAAa,mGAGV,MAAM,GAAG,SAAS;;;;;;;;wCAkDjC,CAAC"}
1
+ {"version":3,"file":"getReadStates.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/utils/getReadStates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2EAA2E,CAAC;AAClI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,aAAa;;;;;;;;mCAOJ,OAAO,2BA8C5B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { ChannelAPIResponse } from 'stream-chat';
2
2
  import type { DefaultStreamChatGenerics } from '../../types/types';
3
3
  import type { TableRow } from '../types';
4
- export declare const mapStorableToChannel: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(channelRow: TableRow<'channels'>) => Omit<ChannelAPIResponse<StreamChatGenerics>, "duration" | "members" | "messages" | "pinned_messages">;
4
+ export declare const mapStorableToChannel: <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(channelRow: TableRow<'channels'>) => Omit<ChannelAPIResponse<StreamChatGenerics>, "messages" | "duration" | "members" | "pinned_messages">;
5
5
  //# sourceMappingURL=mapStorableToChannel.d.ts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stream-chat-react-native-core",
3
3
  "description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
4
- "version": "5.44.3",
4
+ "version": "5.44.4",
5
5
  "author": {
6
6
  "company": "Stream.io Inc",
7
7
  "name": "Stream.io Inc"
@@ -0,0 +1,37 @@
1
+ import { useMemo } from 'react';
2
+
3
+ import type { ChannelState } from 'stream-chat';
4
+
5
+ import { PaginatedMessageListContextValue } from '../../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
6
+ import { ThreadContextValue } from '../../../contexts/threadContext/ThreadContext';
7
+ import type { DefaultStreamChatGenerics } from '../../../types/types';
8
+ import { getReadStates } from '../utils/getReadStates';
9
+
10
+ type UseLastReadDataParams<
11
+ StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
12
+ > = {
13
+ messages:
14
+ | PaginatedMessageListContextValue<StreamChatGenerics>['messages']
15
+ | ThreadContextValue<StreamChatGenerics>['threadMessages'];
16
+ userID: string | undefined;
17
+ read?: ChannelState<StreamChatGenerics>['read'];
18
+ returnAllReadData?: boolean;
19
+ };
20
+
21
+ export const useLastReadData = <
22
+ StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
23
+ >(
24
+ props: UseLastReadDataParams<StreamChatGenerics>,
25
+ ) => {
26
+ const { messages, read, returnAllReadData = true, userID } = props;
27
+
28
+ return useMemo(
29
+ () =>
30
+ getReadStates(
31
+ messages.filter(({ user }) => user?.id === userID),
32
+ read,
33
+ returnAllReadData,
34
+ ),
35
+ [messages, read, returnAllReadData, userID],
36
+ );
37
+ };
@@ -1,5 +1,7 @@
1
1
  import type { ChannelState, MessageResponse } from 'stream-chat';
2
2
 
3
+ import { useLastReadData } from './useLastReadData';
4
+
3
5
  import {
4
6
  ChannelContextValue,
5
7
  useChannelContext,
@@ -14,7 +16,6 @@ import { useThreadContext } from '../../../contexts/threadContext/ThreadContext'
14
16
  import type { DefaultStreamChatGenerics } from '../../../types/types';
15
17
  import { getDateSeparators } from '../utils/getDateSeparators';
16
18
  import { getGroupStyles } from '../utils/getGroupStyles';
17
- import { getReadStates } from '../utils/getReadStates';
18
19
 
19
20
  export type UseMessageListParams = {
20
21
  deletedMessagesVisibilityType?: DeletedMessagesVisibilityType;
@@ -81,7 +82,11 @@ export const useMessageList = <
81
82
  userId: client.userID,
82
83
  });
83
84
 
84
- const readData = getReadStates(client.userID, messageList, readList);
85
+ const readData = useLastReadData({
86
+ messages: messageList,
87
+ read: readList,
88
+ userID: client.userID,
89
+ });
85
90
 
86
91
  const messagesWithStylesReadByAndDateSeparator = messageList
87
92
  .filter((msg) => {
@@ -6,11 +6,11 @@ import type { DefaultStreamChatGenerics } from '../../../types/types';
6
6
  export const getReadStates = <
7
7
  StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
8
8
  >(
9
- clientUserId: string | undefined,
10
9
  messages:
11
10
  | PaginatedMessageListContextValue<StreamChatGenerics>['messages']
12
11
  | ThreadContextValue<StreamChatGenerics>['threadMessages'],
13
12
  read?: ChannelContextValue<StreamChatGenerics>['read'],
13
+ returnAllReadData?: boolean,
14
14
  ) => {
15
15
  const readData: Record<string, number> = {};
16
16
 
@@ -32,20 +32,20 @@ export const getReadStates = <
32
32
  if (msg.created_at && msg.created_at < readState.last_read) {
33
33
  userLastReadMsgId = msg.id;
34
34
 
35
- // if true, save other user's read data for all messages they've read
36
- if (!readData[userLastReadMsgId]) {
37
- readData[userLastReadMsgId] = 0;
38
- }
35
+ if (returnAllReadData) {
36
+ // if true, save other user's read data for all messages they've read
37
+ if (!readData[userLastReadMsgId]) {
38
+ readData[userLastReadMsgId] = 0;
39
+ }
39
40
 
40
- // Only increment read count if the message is not sent by the current user
41
- if (msg.user?.id !== clientUserId) {
41
+ // Only increment read count if the message is not sent by the current user
42
42
  readData[userLastReadMsgId] = readData[userLastReadMsgId] + 1;
43
43
  }
44
44
  }
45
45
  });
46
46
 
47
47
  // if true, only save read data for other user's last read message
48
- if (userLastReadMsgId) {
48
+ if (userLastReadMsgId && !returnAllReadData) {
49
49
  if (!readData[userLastReadMsgId]) {
50
50
  readData[userLastReadMsgId] = 0;
51
51
  }
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "5.44.3"
2
+ "version": "5.44.4"
3
3
  }