Closed
Description
Description
When I change my username of Gitea in the profile page, the server returned HTTP 500 Internal Server Error
.
This are the related logs:
2023/07/01 22:53:21 ...r/setting/profile.go:114:ProfilePost() [D] [64a03de1] Changing name for unity-package-manager to unity-package-bot2
2023/07/01 22:53:21 ...r/setting/profile.go:75:HandleUsernameChange() [E] [64a03de1] ChangeUserName: UNIQUE constraint failed: user_redirect.lower_name
2023/07/01 22:53:21 ...s/context/context.go:222:HTML() [D] [64a03de1] Template: status/500
2023/07/01 22:53:23 ...s/context/context.go:222:HTML() [D] [64a03de3] Template: user/settings/profile
2023/07/01 22:53:30 ...r/setting/profile.go:114:ProfilePost() [D] [64a03dea] Changing name for unity-package-manager to unity-package-bot
2023/07/01 22:53:30 ...r/setting/profile.go:75:HandleUsernameChange() [E] [64a03dea] ChangeUserName: UNIQUE constraint failed: user_redirect.lower_name
2023/07/01 22:53:30 ...s/context/context.go:222:HTML() [D] [64a03dea] Template: status/500
And this is a git diff file given by @lunny to fix.
diff --git a/models/user/redirect.go b/models/user/redirect.go
index 9d8903c05..42e991888 100644
--- a/models/user/redirect.go
+++ b/models/user/redirect.go
@@ -64,6 +64,10 @@ func NewUserRedirect(ctx context.Context, ID int64, oldUserName, newUserName str
oldUserName = strings.ToLower(oldUserName)
newUserName = strings.ToLower(newUserName)
+ if err := DeleteUserRedirect(ctx, oldUserName); err != nil {
+ return err
+ }
+
if err := DeleteUserRedirect(ctx, newUserName); err != nil {
return err
}
Gitea Version
1.19.3
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
Git Version
No response
Operating System
Debian 11
How are you running Gitea?
In Docker
Database
SQLite