diff --git a/application/src/main/java/run/halo/app/core/extension/endpoint/UserEndpoint.java b/application/src/main/java/run/halo/app/core/extension/endpoint/UserEndpoint.java index 23a131ee6..736bdb594 100644 --- a/application/src/main/java/run/halo/app/core/extension/endpoint/UserEndpoint.java +++ b/application/src/main/java/run/halo/app/core/extension/endpoint/UserEndpoint.java @@ -209,6 +209,7 @@ public class UserEndpoint implements CustomEndpoint { .flatMap(user -> { MetadataUtil.nullSafeAnnotations(user) .remove(User.AVATAR_ATTACHMENT_NAME_ANNO); + user.getSpec().setAvatar(null); return client.update(user); }) .flatMap(user -> ServerResponse.ok().bodyValue(user)); diff --git a/application/src/main/java/run/halo/app/core/extension/reconciler/UserReconciler.java b/application/src/main/java/run/halo/app/core/extension/reconciler/UserReconciler.java index ab89f6e74..927c50d75 100644 --- a/application/src/main/java/run/halo/app/core/extension/reconciler/UserReconciler.java +++ b/application/src/main/java/run/halo/app/core/extension/reconciler/UserReconciler.java @@ -78,12 +78,6 @@ public class UserReconciler implements Reconciler { oldAvatarAttachmentName = null; } - if (StringUtils.isBlank(oldAvatarAttachmentName) - && StringUtils.isNotBlank(avatarAttachmentName)) { - oldAvatarAttachmentName = avatarAttachmentName; - annotations.put(User.LAST_AVATAR_ATTACHMENT_NAME_ANNO, oldAvatarAttachmentName); - } - if (StringUtils.isNotBlank(avatarAttachmentName)) { client.fetch(Attachment.class, avatarAttachmentName) .ifPresent(attachment -> { @@ -93,9 +87,15 @@ public class UserReconciler implements Reconciler { } user.getSpec().setAvatar(avatarUri.toString()); }); - } else { + } else if (StringUtils.isNotBlank(oldAvatarAttachmentName)) { user.getSpec().setAvatar(null); } + + if (StringUtils.isBlank(oldAvatarAttachmentName) + && StringUtils.isNotBlank(avatarAttachmentName)) { + annotations.put(User.LAST_AVATAR_ATTACHMENT_NAME_ANNO, avatarAttachmentName); + } + client.update(user); }); }