open-im-sdk-reactnative
open-im-sdk-reactnative copied to clipboard
Bug: Time is always empty
What happened?
On events
- onConversationChanged (setPin)
- onRecvNewMessage (newMessage)
- onRecvNewMessages (newMessages)
and method getAdvancedHistoryMessageList
return message send time and conversation messageLatestSendTime is always empty
What did you expect to happen?
converstion latestMessageSendTime is number message sendTime is number
How can we reproduce it (as minimally and precisely as possible)?
OpenIMEmitter.addListener(CbEvents.OnConversationChanged, conversationChangeHandler);
OpenIMEmitter.addListener(CbEvents.OnRecvNewMessage, newMessageHandler);
OpenIMEmitter.addListener(CbEvents.OnRecvNewMessages, newMessageHandler);
const newMessageHandler = (data) => {
console.log("newMessageHandler", typeof data, data)
};
newMessageHandler object [{"attachedInfo": "{\"groupHasReadInfo\":{\"hasReadCount\":0,\"groupMemberCount\":4},\"isPrivateChat\":false,\"burnDuration\":0,\"hasReadTime\":0,\"isEncryption\":false,\"inEncryptStatus\":false}", "attachedInfoElem": {"burnDuration": 0, "groupHasReadInfo": [Object], "hasReadTime": 0, "inEncryptStatus": false, "isEncryption": false, "isPrivateChat": false}, "clientMsgID": "00387be8f8a777fad977354f96e28f45", "contentType": 101, "createTime": null, "groupID": "441", "isRead": false, "msgFrom": 100, "sendID": "433", "sendTime": null, "senderNickname": "admin", "senderPlatformID": 5, "seq": 120, "serverMsgID": "614f6f2fe7801d2077aa0faf8eabe321", "sessionType": 3, "status": 2, "textElem": {"content": "dsvsd"}}]
const conversationChangeHandler = (data) => {
console.log("conversationChangeHandler", typeof data, data)
};
conversationChnageHandler object [{"attachedInfo": "", "burnDuration": 0, "conversationID": "sg_441", "conversationType": 3, "draftText": "", "draftTextTime": 0, "ex": "", "faceURL": "", "groupAtType": 0, "groupID": "441", "hasReadSeq": 0, "isMsgDestruct": false, "isNotInGroup": false, "isPinned": false, "isPrivateChat": false, "latestMsg": "{\"clientMsgID\":\"3316167a808151cc5c3b53589311449b\",\"serverMsgID\":\"a534d4255bf79c4a43603b0c56da0a29\",\"createTime\":1711925246158,\"sendTime\":1711925246321,\"sessionType\":3,\"sendID\":\"433\",\"msgFrom\":100,\"contentType\":101,\"senderPlatformID\":5,\"senderNickname\":\"admin\",\"groupID\":\"441\",\"seq\":118,\"isRead\":false,\"status\":2,\"attachedInfo\":\"{\\\"groupHasReadInfo\\\":{\\\"hasReadCount\\\":0,\\\"groupMemberCount\\\":4},\\\"isPrivateChat\\\":false,\\\"burnDuration\\\":0,\\\"hasReadTime\\\":0,\\\"isEncryption\\\":false,\\\"inEncryptStatus\\\":false}\",\"textElem\":{\"content\":\"sdfsd\"},\"attachedInfoElem\":{\"groupHasReadInfo\":{\"hasReadCount\":0,\"groupMemberCount\":4},\"isPrivateChat\":false,\"burnDuration\":0,\"hasReadTime\":0,\"isEncryption\":false,\"inEncryptStatus\":false}}", "latestMsgSendTime": null, "maxSeq": 0, "minSeq": 0, "msgDestructTime": 0, "recvMsgOpt": 0, "showName": "ПАО СБЕРБАНК", "unreadCount": 2, "updateUnreadCountTime": 0, "userID": ""}]
const getHistoryMessageListByReq = async () => {
const conversationID = useConversationStore.getState().currentConversation?.conversationID;
const data = await OpenIMSDKRN.getAdvancedHistoryMessageList({
userID: "",
groupID: "",
count: 15,
lastMinSeq: 0,
startClientMsgID: "",
conversationID,
}, Date.now().toString());
console.log("getHistoryMessageListByReq", typeof data, data)
}
getHistoryMessageListByReq()
getAdvancedHistoryMessageList object {"errCode": 0, "errMsg": "", "isEnd": false, "lastMinSeq": 13, "messageList": [{"attachedInfoElem": [Object], "clientMsgID": "099e34c07d4d516656c2922d537714f2", "contentType": 101, "createTime": null, "groupID": "431", "isRead": false, "msgFrom": 100, "recvID": "493", "sendID": "493", "sendTime": null, "senderNickname": "client", "senderPlatformID": 2, "seq": 13, "serverMsgID": "5f843ed4eb4aae503591b666d16d0a7f", "sessionType": 3, "status": 2, "textElem": [Object]}]
Anything else we need to know?
I'm using the version 3.5.1-rc.0 because the version 3.4.3 doesn't raise event onConversationChanged
On the Browser sdk sendTime is always returned
version
```console
$ {name} version
# 3.5.1-rc.0
```
Cloud provider
latest
OS version
```console
# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here
# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here
```
Install tools
you can try with 3.5.1-rc.1