From 315d74eb2d03c5c68d3d8ab79adaa2880801239f Mon Sep 17 00:00:00 2001 From: Harvey Tindall Date: Tue, 16 Dec 2025 18:32:37 +0000 Subject: [PATCH] userpage: fix redirect on contact method change root userpage paths ("") would mess up the redirect, wrapper function returns "/" if thats the case. For #455. --- api-userpage.go | 4 ++-- config.go | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/api-userpage.go b/api-userpage.go index 39307f1..30d0081 100644 --- a/api-userpage.go +++ b/api-userpage.go @@ -199,7 +199,7 @@ func (app *appContext) confirmMyAction(gc *gin.Context, key string) { // Perform an Action if target == NoOp { - gc.Redirect(http.StatusSeeOther, PAGES.MyAccount) + gc.Redirect(http.StatusSeeOther, MustGetNonEmptyURL(PAGES.MyAccount)) return } else if target == UserEmailChange { app.modifyEmail(id, claims["email"].(string)) @@ -214,7 +214,7 @@ func (app *appContext) confirmMyAction(gc *gin.Context, key string) { }, gc, true) app.info.Printf(lm.UserEmailAdjusted, gc.GetString("jfId")) - gc.Redirect(http.StatusSeeOther, PAGES.MyAccount) + gc.Redirect(http.StatusSeeOther, MustGetNonEmptyURL(PAGES.MyAccount)) return } } diff --git a/config.go b/config.go index 300fc86..1fd2841 100644 --- a/config.go +++ b/config.go @@ -66,6 +66,13 @@ func FixFullURL(v string) string { return v } +func MustGetNonEmptyURL(path string) string { + if !strings.HasPrefix(path, "/") { + return "/" + path + } + return path +} + func FormatSubpath(path string, removeSingleSlash bool) string { if path == "/" { if removeSingleSlash {