From 5665bc545ea9a93db7f59d47bff666107323d021 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Thu, 4 Jun 2026 18:44:46 -0500 Subject: [PATCH] fix(updateserver): use client=0 for packages to fix Joomla extension matching (#482) Joomla matches updates to installed extensions via element+type+client_id. Packages in #__extensions have client_id=0. Omitting caused Joomla to default to client_id=1, resulting in extension_id=0 in #__updates and updates not appearing. Fix: output 0 for package types. Co-Authored-By: Claude Opus 4.6 (1M context) --- services/updateserver/joomla.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/services/updateserver/joomla.go b/services/updateserver/joomla.go index b65a900903..11139ddbc7 100644 --- a/services/updateserver/joomla.go +++ b/services/updateserver/joomla.go @@ -323,11 +323,13 @@ func GenerateJoomlaXML(ctx context.Context, repo *repo_model.Repository, require infoURL = cfg.SupportURL } - // Joomla element: only relevant for plugins/modules (site vs administrator). - // Packages manage their own sub-extension clients; omit for package type. + // Joomla element: packages use client_id=0 in #__extensions, + // so we must output 0 for Joomla to match the update + // to the installed extension. Other types default to "site" (client_id=0) + // or "administrator" (client_id=1). client := "site" if extType == "package" { - client = "" + client = "0" } u := xmlUpdate{ -- 2.52.0