From d553c87a9dce2034036227605c12048348723dfe Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Thu, 4 Jun 2026 18:17:51 -0500 Subject: [PATCH] fix(updateserver): derive maintainer from org profile, infourl from support_url - Maintainer name: org FullName (from org profile) - Maintainer URL: org Website (from org profile) - Info URL: support_url (product page), falls back to releases page - Removes dependency on separate maintainer/maintainer_url/info_url fields in update_stream_config Co-Authored-By: Claude Opus 4.6 (1M context) --- services/updateserver/joomla.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/services/updateserver/joomla.go b/services/updateserver/joomla.go index 039b8f30c8..b65a900903 100644 --- a/services/updateserver/joomla.go +++ b/services/updateserver/joomla.go @@ -200,15 +200,14 @@ func GenerateJoomlaXML(ctx context.Context, repo *repo_model.Repository, require if cfg != nil && cfg.ExtensionType != "" { extType = cfg.ExtensionType } - maintainer := repo.Owner.Name - if cfg != nil && cfg.Maintainer != "" { - maintainer = cfg.Maintainer + // Maintainer and URL always come from the org profile. + maintainer := repo.Owner.FullName + if maintainer == "" { + maintainer = repo.Owner.Name } - maintainerURL := fmt.Sprintf("%s/%s", baseURL, repo.Owner.Name) - if cfg != nil && cfg.SupportURL != "" { - maintainerURL = cfg.SupportURL - } else if cfg != nil && cfg.MaintainerURL != "" { - maintainerURL = cfg.MaintainerURL + maintainerURL := repo.Owner.Website + if maintainerURL == "" { + maintainerURL = fmt.Sprintf("%s/%s", baseURL, repo.Owner.Name) } targetVersion := "(5|6)\\..*" if cfg != nil && cfg.TargetVersion != "" { @@ -318,9 +317,10 @@ func GenerateJoomlaXML(ctx context.Context, repo *repo_model.Repository, require desc = fmt.Sprintf("%s %s build.", displayName, ch) } + // Info URL: use support_url (product page), fall back to releases page. infoURL := fmt.Sprintf("%s/releases", repoLink) - if cfg != nil && cfg.InfoURL != "" { - infoURL = cfg.InfoURL + if cfg != nil && cfg.SupportURL != "" { + infoURL = cfg.SupportURL } // Joomla element: only relevant for plugins/modules (site vs administrator). -- 2.52.0