fix: handle UUID update in add event

This commit is contained in:
xboard
2026-03-27 01:21:57 +08:00
parent 95f582c74f
commit 920b0b1e09
+9
View File
@@ -766,6 +766,15 @@ func (s *Service) applyUserDelta(ctx context.Context, action string, deltaUsers
return 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) added, err := s.kernel.AddUsers(deltaUsers)
if err != nil { if err != nil {
nlog.Core().Warn(fmt.Sprintf("AddUsers failed: %v, falling back to UpdateUsers", err)) nlog.Core().Warn(fmt.Sprintf("AddUsers failed: %v, falling back to UpdateUsers", err))