From e90dbdf5a325665c6676cb98b72d9d7c899acea0 Mon Sep 17 00:00:00 2001 From: HSgram <3013954224@qq.com> Date: Thu, 2 Jul 2026 19:45:30 +0800 Subject: [PATCH] Fix iOS admin log initial bounds --- internal/app/channels/service.go | 3 +++ internal/app/channels/service_test.go | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/internal/app/channels/service.go b/internal/app/channels/service.go index 247bfd36..bcfef9d9 100644 --- a/internal/app/channels/service.go +++ b/internal/app/channels/service.go @@ -743,6 +743,9 @@ func (s *Service) ListAdminLog(ctx context.Context, userID int64, req domain.Cha if req.UserID == 0 { req.UserID = userID } + if req.MinID < 0 { + req.MinID = 0 + } if req.UserID != userID || req.ChannelID == 0 || req.MaxID < 0 || req.MinID < 0 { return domain.ChannelAdminLogResult{}, domain.ErrChannelInvalid } diff --git a/internal/app/channels/service_test.go b/internal/app/channels/service_test.go index 669b6c59..80c140d4 100644 --- a/internal/app/channels/service_test.go +++ b/internal/app/channels/service_test.go @@ -2128,6 +2128,18 @@ func TestChannelAdminTitlePinAndInvite(t *testing.T) { if err != nil { t.Fatalf("ListAdminLog: %v", err) } + iosInitialLogs, err := service.ListAdminLog(ctx, 1001, domain.ChannelAdminLogRequest{ + ChannelID: created.Channel.ID, + MaxID: 1<<63 - 1, + MinID: -1 << 63, + Limit: 20, + }) + if err != nil { + t.Fatalf("ListAdminLog iOS initial bounds: %v", err) + } + if len(iosInitialLogs.Events) == 0 { + t.Fatalf("ListAdminLog iOS initial bounds returned no events, want admin history") + } seen := map[domain.ChannelAdminLogEventType]bool{} for _, event := range logs.Events { seen[event.Type] = true