From 310d70b64ed550eef117d7e93c22c89245e1d805 Mon Sep 17 00:00:00 2001 From: Monet Lee Date: Fri, 19 Sep 2025 11:45:07 +0800 Subject: [PATCH] fix: GetSortedConversationList nil pointer when chatlog not found in v3.8.3-patch branch. (#3569) --- internal/rpc/conversation/conversation.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/internal/rpc/conversation/conversation.go b/internal/rpc/conversation/conversation.go index 0897d1eac..707a67b14 100644 --- a/internal/rpc/conversation/conversation.go +++ b/internal/rpc/conversation/conversation.go @@ -168,7 +168,18 @@ func (c *conversationServer) GetSortedConversationList(ctx context.Context, req conversation_notPinTime := make(map[int64]string) for _, v := range conversations { conversationID := v.ConversationID - time := conversationMsg[conversationID].MsgInfo.LatestMsgRecvTime + var time int64 + if _, ok := conversationMsg[conversationID]; ok { + time = conversationMsg[conversationID].MsgInfo.LatestMsgRecvTime + } else { + conversationMsg[conversationID] = &pbconversation.ConversationElem{ + ConversationID: conversationID, + IsPinned: v.IsPinned, + MsgInfo: nil, + } + time = v.CreateTime.UnixMilli() + } + conversationMsg[conversationID].RecvMsgOpt = v.RecvMsgOpt if v.IsPinned { conversationMsg[conversationID].IsPinned = v.IsPinned @@ -220,6 +231,7 @@ func (c *conversationServer) getConversations(ctx context.Context, ownerUserID s return convert.ConversationsDB2Pb(conversations), nil } +// Deprecated func (c *conversationServer) SetConversation(ctx context.Context, req *pbconversation.SetConversationReq) (*pbconversation.SetConversationResp, error) { var conversation dbModel.Conversation if err := datautil.CopyStructFields(&conversation, req.Conversation); err != nil {