From a54324e2b72d54d7bbce25ce6d0451bff015184b Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Sat, 25 Jul 2026 23:48:56 +0800 Subject: [PATCH] fix(repo): prevent double-write redirect collisions on dependency errors, fix ui (#38627) (#38628) Backport #38627 Co-authored-by: Sudhanshu Singh --- routers/web/repo/issue_dependency.go | 7 ++++++- web_src/css/repo.css | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/routers/web/repo/issue_dependency.go b/routers/web/repo/issue_dependency.go index 7570147fc4..2d624b3a1f 100644 --- a/routers/web/repo/issue_dependency.go +++ b/routers/web/repo/issue_dependency.go @@ -35,7 +35,11 @@ func AddDependency(ctx *context.Context) { } // Redirect - defer ctx.Redirect(issue.Link()) + defer func() { + if !ctx.Written() { + ctx.Redirect(issue.Link()) + } + }() // Dependency dep, err := issues_model.GetIssueByID(ctx, depID) @@ -152,6 +156,7 @@ func RemoveDependency(ctx *context.Context) { if err = issues_model.RemoveIssueDependency(ctx, ctx.Doer, issue, dep, depType); err != nil { if issues_model.IsErrDependencyNotExists(err) { ctx.Flash.Error(ctx.Tr("repo.issues.dependency.add_error_dep_not_exist")) + ctx.Redirect(issue.Link()) return } ctx.ServerError("RemoveIssueDependency", err) diff --git a/web_src/css/repo.css b/web_src/css/repo.css index 0b6007e0e2..06bb466776 100644 --- a/web_src/css/repo.css +++ b/web_src/css/repo.css @@ -645,6 +645,10 @@ td .commit-summary { width: 100%; } +.repository.view.issue .ui.depending .item.dependency { + display: flex; +} + .repository.view.issue .ui.depending .item.is-closed .issue-dependency-title { text-decoration: line-through; }