Skip to content

Commit 9443db0

Browse files
authored
fix: Resolved the issue where the delete message method only performs local deletion when the seq is 0. (#1026)
1 parent 3cf0e19 commit 9443db0

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

internal/conversation_msg/delete.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020

2121
"github.com/openimsdk/openim-sdk-core/v3/pkg/common"
2222
"github.com/openimsdk/openim-sdk-core/v3/pkg/constant"
23-
"github.com/openimsdk/openim-sdk-core/v3/pkg/sdkerrs"
2423

2524
"github.com/openimsdk/openim-sdk-core/v3/pkg/utils"
2625
"github.com/openimsdk/openim-sdk-core/v3/sdk_struct"
@@ -120,18 +119,22 @@ func (c *Conversation) deleteMessage(ctx context.Context, conversationID string,
120119
if err != nil {
121120
return err
122121
}
122+
123123
localMessage, err := c.db.GetMessage(ctx, conversationID, clientMsgID)
124124
if err != nil {
125125
return err
126126
}
127+
127128
if localMessage.Status == constant.MsgStatusSendFailed {
128129
log.ZInfo(ctx, "delete msg status is send failed, do not need delete", "msg", localMessage)
129130
return nil
130131
}
132+
131133
if localMessage.Seq == 0 {
132-
log.ZInfo(ctx, "delete msg seq is 0, try again", "msg", localMessage)
133-
return sdkerrs.ErrMsgHasNoSeq
134+
log.ZInfo(ctx, "delete msg seq is 0, only delete in local", "msg", localMessage)
135+
return c.deleteMessageFromLocal(ctx, conversationID, clientMsgID)
134136
}
137+
135138
err = c.deleteMessagesFromServer(ctx, conversationID, []int64{localMessage.Seq})
136139
if err != nil {
137140
return err

0 commit comments

Comments
 (0)