From 920b0b1e09e7ce37b2457d46f208f5846ab75f64 Mon Sep 17 00:00:00 2001 From: xboard Date: Fri, 27 Mar 2026 01:21:57 +0800 Subject: [PATCH] fix: handle UUID update in add event --- internal/service/service.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/service/service.go b/internal/service/service.go index 7a56d6e..bc5e3f3 100644 --- a/internal/service/service.go +++ b/internal/service/service.go @@ -766,6 +766,15 @@ func (s *Service) applyUserDelta(ctx context.Context, action string, deltaUsers return } + for _, delta := range deltaUsers { + for _, old := range s.lastUsers { + if old.ID == delta.ID && old.UUID != delta.UUID { + s.kernel.RemoveUsers([]panel.User{old}) + break + } + } + } + added, err := s.kernel.AddUsers(deltaUsers) if err != nil { nlog.Core().Warn(fmt.Sprintf("AddUsers failed: %v, falling back to UpdateUsers", err))