From a893141ae69518bca9ed00c5eedd2bf970527154 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Tue, 29 Jul 2025 16:00:08 +0800 Subject: [PATCH] eat: add filtering for invalid messages and invalid conversations to prevent data-fetching exceptions after conversations are deleted. --- internal/api/jssdk/jssdk.go | 4 +++- internal/rpc/third/third.go | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/api/jssdk/jssdk.go b/internal/api/jssdk/jssdk.go index 0d30b1ea0..455a1fc93 100644 --- a/internal/api/jssdk/jssdk.go +++ b/internal/api/jssdk/jssdk.go @@ -266,7 +266,9 @@ func (x *JSSdk) checkMessagesAndGetLastMessage(ctx context.Context, userID strin break } } - if allInValid { + + // when the conversation has been deleted by the user, the length of message.Msgs is empty + if allInValid && len(message.Msgs) > 0 { conversationIDs = append(conversationIDs, conversationID) } } diff --git a/internal/rpc/third/third.go b/internal/rpc/third/third.go index 135a11269..197f9ae52 100644 --- a/internal/rpc/third/third.go +++ b/internal/rpc/third/third.go @@ -23,6 +23,8 @@ import ( "github.com/openimsdk/tools/s3/aws" "github.com/openimsdk/tools/s3/disable" + "google.golang.org/grpc" + "github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/open-im-server/v3/pkg/common/storage/cache/redis" "github.com/openimsdk/open-im-server/v3/pkg/common/storage/controller" @@ -37,7 +39,6 @@ import ( "github.com/openimsdk/tools/s3/kodo" "github.com/openimsdk/tools/s3/minio" "github.com/openimsdk/tools/s3/oss" - "google.golang.org/grpc" ) type thirdServer struct {