Skip to content

HTTP 500 retuend when change my username #25621

Closed
@asforest

Description

@asforest

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

aa

Git Version

No response

Operating System

Debian 11

How are you running Gitea?

In Docker

Database

SQLite

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions