openimsdk / open-im-sdk-reactnative

IM ReactNative
MIT License
38 stars 50 forks source link

Bug: Time is always empty #20

Closed c2pc closed 2 months ago

c2pc commented 5 months ago

What happened?

On events

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

Bloomingg commented 4 months ago

you can try with 3.5.1-rc.1