diff --git a/docs/conversions/version.md b/docs/conversions/version.md index 06b2e17cb..490c8e4a7 100644 --- a/docs/conversions/version.md +++ b/docs/conversions/version.md @@ -104,9 +104,21 @@ git merge release-v3.1 # Push the updates to the main branch git push origin main ``` +## Release Process + +``` +Publishing v3.2.0: A Step-by-Step Guide +(1) Create the tag v3.2.0-alpha.0 from the main branch. +(2) Bugs are fixed on the main branch. Once the bugs are resolved, tag the main branch as v3.2.0-rc.0. +(3) After further testing, if v3.2.0-rc.0 is deemed stable, create a branch named release-v3.2 from the tag v3.2.0-rc.0. +(4) From the release-v3.2 branch, create the tag v3.2.0. At this point, the official release of v3.2.0 is complete. + +After the release of v3.2.0, if urgent bugs are discovered, fix them on the release-v3.2 branch. Then, submit two pull requests (PRs) to both the main and release-v3.2 branches. Tag the release-v3.2 branch as v3.2.1. +``` Throughout this process, active communication within the team is pivotal to maintaining transparency and consensus on changes. ## Docker Images Version Management For more details on managing Docker image versions, visit [OpenIM Docker Images Administration](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/conversions/images.md). + diff --git a/pkg/common/db/unrelation/msg.go b/pkg/common/db/unrelation/msg.go index ce51ca49c..a1594ecc8 100644 --- a/pkg/common/db/unrelation/msg.go +++ b/pkg/common/db/unrelation/msg.go @@ -19,6 +19,7 @@ import ( "encoding/json" "errors" "fmt" + "github.com/OpenIMSDK/tools/log" "time" "github.com/OpenIMSDK/protocol/msg" @@ -1166,9 +1167,7 @@ func (m *MsgMongoDriver) searchMessage(ctx context.Context, req *msg.SearchMessa if err != nil { return 0, nil, err } - if len(msgsDocs) == 0 { - return 0, nil, errs.Wrap(mongo.ErrNoDocuments) - } + log.ZDebug(ctx, "query mongoDB", "result", msgsDocs) msgs := make([]*table.MsgInfoModel, 0) for index := range msgsDocs { msgInfo := msgsDocs[index].Msg @@ -1207,7 +1206,9 @@ func (m *MsgMongoDriver) searchMessage(ctx context.Context, req *msg.SearchMessa } start := (req.Pagination.PageNumber - 1) * req.Pagination.ShowNumber n := int32(len(msgs)) - if start+req.Pagination.ShowNumber < n { + if start >= n { + return n, []*table.MsgInfoModel{}, nil + } else if start+req.Pagination.ShowNumber < n { msgs = msgs[start : start+req.Pagination.ShowNumber] } else { msgs = msgs[start:]