diff --git a/internal/rpc/msg/revoke.go b/internal/rpc/msg/revoke.go index 3e1b64ff6..3bfb200c9 100644 --- a/internal/rpc/msg/revoke.go +++ b/internal/rpc/msg/revoke.go @@ -96,7 +96,7 @@ func (m *msgServer) RevokeMsg(ctx context.Context, req *msg.RevokeMsgReq) (*msg. } else { recvID = msgs[0].RecvID } - if err := m.notificationSender.Notification(ctx, req.UserID, recvID, constant.MsgRevokeNotification, &tips, utils.WithSendMsg(false), utils.WithHistory(true), utils.WithPersistent()); err != nil { + if err := m.notificationSender.NotificationWithSesstionType(ctx, req.UserID, recvID, constant.MsgRevokeNotification, msgs[0].SessionType, &tips); err != nil { return nil, err } return &msg.RevokeMsgResp{}, nil diff --git a/pkg/common/db/controller/msg.go b/pkg/common/db/controller/msg.go index d779c81b2..0072f4280 100644 --- a/pkg/common/db/controller/msg.go +++ b/pkg/common/db/controller/msg.go @@ -407,7 +407,7 @@ func (db *commonMsgDatabase) findMsgInfoBySeq(ctx context.Context, userID, docID } else { for _, seq := range seqs { for i, msg := range msgs { - if seq == msg.Msg.Seq { + if msg.Msg != nil && seq == msg.Msg.Seq { break } if i == len(msgs)-1 { diff --git a/pkg/rpcclient/msg.go b/pkg/rpcclient/msg.go index d89779171..2ed76ff60 100644 --- a/pkg/rpcclient/msg.go +++ b/pkg/rpcclient/msg.go @@ -176,7 +176,7 @@ func (s *NotificationSender) NotificationWithSesstionType(ctx context.Context, s msg.Content = content msg.MsgFrom = constant.SysMsgType msg.ContentType = contentType - msg.SessionType = s.sessionTypeConf[contentType] + msg.SessionType = sesstionType if msg.SessionType == constant.SuperGroupChatType { msg.GroupID = recvID }