From c1e668e644a47e6d1539036f9d1932b87ea30677 Mon Sep 17 00:00:00 2001 From: Jonathan Miller <1+jmiller@noreply.git.mokoconsulting.tech> Date: Wed, 27 May 2026 05:28:33 +0000 Subject: [PATCH 1/5] docs: update CHANGELOG with infrastructure changes [skip ci] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04efaf0a..cca2b0fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed +- Migrated all workflow and template paths from `.github/` to `.mokogitea/` +- Template source paths updated: `templates/gitea/` to `templates/mokogitea/` +- HCL definition files removed -- Template repos are now the canonical source + +### Added +- `branch-cleanup.yml`: auto-delete merged feature branches after PR merge + ### Planned - License/subscription check - System email template branding (DB approach) -- 2.52.0 From 45e9091fd00597ceb9ea075e5df628bec97df199 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Thu, 28 May 2026 10:24:12 -0500 Subject: [PATCH 2/5] fix: clean up updates.xml and remove duplicate plugin update server MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove stale pre-release entries pointing to non-existent dev artifacts - Remove legacy plugin update entry (element=mokowaas, type=plugin) that caused stable-only sites to attempt dev downloads - Remove from inner plugin manifest — only the package-level manifest (pkg_mokowaas.xml) should register the update server - Keep only the stable channel entry (only release that exists on server) Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGELOG.md | 2 + src/packages/plg_system_mokowaas/mokowaas.xml | 5 - updates.xml | 112 +----------------- 3 files changed, 8 insertions(+), 111 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cca2b0fd..73fc6898 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Trusted IP session bypass: moved from `onAfterInitialise` to `boot()` so Joomla's session lifetime is extended before the session handler validates it (was too late, Joomla expired the session first) +- updates.xml: removed stale pre-release entries pointing to non-existent dev artifacts, legacy plugin update entry that caused stable sites to attempt dev downloads +- Removed duplicate `` from inner plugin manifest — only the package-level manifest should register the update server ## [02.06.00] - 2026-05-25 diff --git a/src/packages/plg_system_mokowaas/mokowaas.xml b/src/packages/plg_system_mokowaas/mokowaas.xml index 12cad11e..0eba8619 100644 --- a/src/packages/plg_system_mokowaas/mokowaas.xml +++ b/src/packages/plg_system_mokowaas/mokowaas.xml @@ -35,11 +35,6 @@ Moko\Plugin\System\MokoWaaS script.php - - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/raw/branch/main/updates.xml - - script.php Extension diff --git a/updates.xml b/updates.xml index 8ad5a602..f24b524e 100644 --- a/updates.xml +++ b/updates.xml @@ -7,116 +7,16 @@ MokoWaaS - MokoWaaS update + MokoWaaS stable build. pkg_mokowaas package - 02.09.00 site + 02.09.00 + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/stable + + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/stable/pkg_mokowaas-02.09.00.zip + stable - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/stable - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/stable/pkg_mokowaas-02.09.00.zip - - - Moko Consulting - https://mokoconsulting.tech - - - MokoWaaS - MokoWaaS update - pkg_mokowaas - package - 02.09.00 - site - rc - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/development - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/pkg_mokowaas-02.09.00-dev.zip - - - Moko Consulting - https://mokoconsulting.tech - - - MokoWaaS - MokoWaaS update - pkg_mokowaas - package - 02.09.00 - site - beta - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/development - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/pkg_mokowaas-02.09.00-dev.zip - - - Moko Consulting - https://mokoconsulting.tech - - - MokoWaaS - MokoWaaS update - pkg_mokowaas - package - 02.09.00 - site - alpha - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/development - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/pkg_mokowaas-02.09.00-dev.zip - - - Moko Consulting - https://mokoconsulting.tech - - - MokoWaaS - MokoWaaS update - pkg_mokowaas - package - 02.09.00 - site - dev - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/development - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/pkg_mokowaas-02.09.00-dev.zip - - - Moko Consulting - https://mokoconsulting.tech - - - System - MokoWaaS - MokoWaaS update (legacy plugin) - mokowaas - plugin - system - site - 02.09.00 - stable - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/development - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/pkg_mokowaas-02.09.00-dev.zip - - - Moko Consulting - https://mokoconsulting.tech - - - - MokoWaaS - MokoWaaS development build. - pkg_mokowaas - package - site - 02.11.01 - 2026-05-26 - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/development - - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/pkg_mokowaas-02.11.01-dev.zip - - d517b072a0962c156f0e01a0cd3fea232d5c99240cd452632d37c84b157889e2 - development Moko Consulting https://mokoconsulting.tech -- 2.52.0 From c19d4da4110868ccf7c662a457685822f4dd1412 Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Thu, 28 May 2026 15:24:46 +0000 Subject: [PATCH 3/5] chore(version): patch bump to 02.11.03 [skip ci] --- README.md | 2 +- src/packages/com_mokowaas/mokowaas.xml | 2 +- src/packages/plg_system_mokowaas/mokowaas.xml | 2 +- src/packages/plg_webservices_mokowaas/mokowaas.xml | 2 +- src/pkg_mokowaas.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0c75e9a0..f905f490 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS - VERSION: 02.11.02 + VERSION: 02.11.03 PATH: /README.md BRIEF: MokoWaaS platform plugin for Joomla --> diff --git a/src/packages/com_mokowaas/mokowaas.xml b/src/packages/com_mokowaas/mokowaas.xml index 2e65791b..1ba1581c 100644 --- a/src/packages/com_mokowaas/mokowaas.xml +++ b/src/packages/com_mokowaas/mokowaas.xml @@ -7,7 +7,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 02.11.02 + 02.11.03 Minimal API-only component for MokoWaaS. Provides REST endpoints for site health, cache, updates, and backups. Moko\Component\MokoWaaS\Api diff --git a/src/packages/plg_system_mokowaas/mokowaas.xml b/src/packages/plg_system_mokowaas/mokowaas.xml index 0eba8619..0836fda2 100644 --- a/src/packages/plg_system_mokowaas/mokowaas.xml +++ b/src/packages/plg_system_mokowaas/mokowaas.xml @@ -30,7 +30,7 @@ GNU General Public License version 3 or later; see LICENSE.md hello@mokoconsulting.tech https://mokoconsulting.tech - 02.11.02 + 02.11.03 This plugin rebrands the Joomla system interface with MokoWaaS identity. It applies language overrides and ensures consistent branding across the platform. Moko\Plugin\System\MokoWaaS script.php diff --git a/src/packages/plg_webservices_mokowaas/mokowaas.xml b/src/packages/plg_webservices_mokowaas/mokowaas.xml index ec53c7b7..40cfac2f 100644 --- a/src/packages/plg_webservices_mokowaas/mokowaas.xml +++ b/src/packages/plg_webservices_mokowaas/mokowaas.xml @@ -7,7 +7,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 02.11.02 + 02.11.03 Joomla Web Services API routes for MokoWaaS site management — health checks, cache, updates, backups, and site info. Moko\Plugin\WebServices\MokoWaaS diff --git a/src/pkg_mokowaas.xml b/src/pkg_mokowaas.xml index e4ec44b5..b29f4783 100644 --- a/src/pkg_mokowaas.xml +++ b/src/pkg_mokowaas.xml @@ -2,7 +2,7 @@ MokoWaaS mokowaas - 02.11.02 + 02.11.03 2026-05-23 Moko Consulting hello@mokoconsulting.tech -- 2.52.0 From 1d2252e8b4a1cfffb4514faf92e2948b302d8a6c Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Thu, 28 May 2026 10:28:53 -0500 Subject: [PATCH 4/5] fix: auto-cleanup stale plugin update site on install/update Add cleanupPluginUpdateSite() to script.php postflight that removes the plugin-level update site entry from #__update_sites and #__update_sites_extensions. This prevents Joomla from checking for plugin-level updates that don't exist, which caused download failures on stable-only sites. Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGELOG.md | 1 + src/packages/plg_system_mokowaas/script.php | 72 +++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73fc6898..cb7b58c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Trusted IP session bypass: moved from `onAfterInitialise` to `boot()` so Joomla's session lifetime is extended before the session handler validates it (was too late, Joomla expired the session first) - updates.xml: removed stale pre-release entries pointing to non-existent dev artifacts, legacy plugin update entry that caused stable sites to attempt dev downloads - Removed duplicate `` from inner plugin manifest — only the package-level manifest should register the update server +- Auto-cleanup of stale plugin-level update site entries on install/update (cleans `#__update_sites` and `#__update_sites_extensions`) ## [02.06.00] - 2026-05-25 diff --git a/src/packages/plg_system_mokowaas/script.php b/src/packages/plg_system_mokowaas/script.php index 8713f018..65ec942b 100644 --- a/src/packages/plg_system_mokowaas/script.php +++ b/src/packages/plg_system_mokowaas/script.php @@ -123,6 +123,7 @@ class plgSystemMokoWaaSInstallerScript implements InstallerScriptInterface if ($type === 'install' || $type === 'update') { $this->enableAndLockPlugin(); + $this->cleanupPluginUpdateSite(); $this->ensureMokoCassiopeia(); $this->installLanguageOverrides(); $this->updateLoginSupportUrls(); @@ -210,6 +211,77 @@ class plgSystemMokoWaaSInstallerScript implements InstallerScriptInterface $db->execute(); } + /** + * Remove the plugin-level update site so only the package-level one remains. + * + * Earlier versions registered an update server in the plugin manifest + * (plg_system_mokowaas) in addition to the package manifest (pkg_mokowaas). + * This caused Joomla to check for plugin-level updates that don't exist, + * leading to failed downloads. Only the package update site should exist. + * + * @return void + * + * @since 02.11.02 + */ + private function cleanupPluginUpdateSite() + { + $db = Factory::getDbo(); + + // Find the extension_id for the plugin + $query = $db->getQuery(true) + ->select($db->quoteName('extension_id')) + ->from($db->quoteName('#__extensions')) + ->where($db->quoteName('element') . ' = ' . $db->quote('mokowaas')) + ->where($db->quoteName('type') . ' = ' . $db->quote('plugin')) + ->where($db->quoteName('folder') . ' = ' . $db->quote('system')); + $db->setQuery($query); + $pluginId = (int) $db->loadResult(); + + if (!$pluginId) + { + return; + } + + // Find update_site_ids linked to the plugin (not the package) + $query = $db->getQuery(true) + ->select($db->quoteName('update_site_id')) + ->from($db->quoteName('#__update_sites_extensions')) + ->where($db->quoteName('extension_id') . ' = ' . $pluginId); + $db->setQuery($query); + $siteIds = $db->loadColumn(); + + if (empty($siteIds)) + { + return; + } + + // Delete the link rows + $db->setQuery( + $db->getQuery(true) + ->delete($db->quoteName('#__update_sites_extensions')) + ->where($db->quoteName('extension_id') . ' = ' . $pluginId) + )->execute(); + + // Delete orphaned update_sites rows (only if no other extension uses them) + foreach ($siteIds as $siteId) + { + $query = $db->getQuery(true) + ->select('COUNT(*)') + ->from($db->quoteName('#__update_sites_extensions')) + ->where($db->quoteName('update_site_id') . ' = ' . (int) $siteId); + $db->setQuery($query); + + if ((int) $db->loadResult() === 0) + { + $db->setQuery( + $db->getQuery(true) + ->delete($db->quoteName('#__update_sites')) + ->where($db->quoteName('update_site_id') . ' = ' . (int) $siteId) + )->execute(); + } + } + } + /** * Ensure MokoOnyx is installed, locked, and set as default. * -- 2.52.0 From df711f9a17990e925c156e59bbc9eae76cfa2142 Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Thu, 28 May 2026 15:30:15 +0000 Subject: [PATCH 5/5] chore(version): patch bump to 02.11.04 [skip ci] --- README.md | 2 +- src/packages/com_mokowaas/mokowaas.xml | 2 +- src/packages/plg_system_mokowaas/mokowaas.xml | 2 +- src/packages/plg_webservices_mokowaas/mokowaas.xml | 2 +- src/pkg_mokowaas.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f905f490..bb2e6841 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS - VERSION: 02.11.03 + VERSION: 02.11.04 PATH: /README.md BRIEF: MokoWaaS platform plugin for Joomla --> diff --git a/src/packages/com_mokowaas/mokowaas.xml b/src/packages/com_mokowaas/mokowaas.xml index 1ba1581c..9c795d34 100644 --- a/src/packages/com_mokowaas/mokowaas.xml +++ b/src/packages/com_mokowaas/mokowaas.xml @@ -7,7 +7,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 02.11.03 + 02.11.04 Minimal API-only component for MokoWaaS. Provides REST endpoints for site health, cache, updates, and backups. Moko\Component\MokoWaaS\Api diff --git a/src/packages/plg_system_mokowaas/mokowaas.xml b/src/packages/plg_system_mokowaas/mokowaas.xml index 0836fda2..9c32a44d 100644 --- a/src/packages/plg_system_mokowaas/mokowaas.xml +++ b/src/packages/plg_system_mokowaas/mokowaas.xml @@ -30,7 +30,7 @@ GNU General Public License version 3 or later; see LICENSE.md hello@mokoconsulting.tech https://mokoconsulting.tech - 02.11.03 + 02.11.04 This plugin rebrands the Joomla system interface with MokoWaaS identity. It applies language overrides and ensures consistent branding across the platform. Moko\Plugin\System\MokoWaaS script.php diff --git a/src/packages/plg_webservices_mokowaas/mokowaas.xml b/src/packages/plg_webservices_mokowaas/mokowaas.xml index 40cfac2f..4966ed7c 100644 --- a/src/packages/plg_webservices_mokowaas/mokowaas.xml +++ b/src/packages/plg_webservices_mokowaas/mokowaas.xml @@ -7,7 +7,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 02.11.03 + 02.11.04 Joomla Web Services API routes for MokoWaaS site management — health checks, cache, updates, backups, and site info. Moko\Plugin\WebServices\MokoWaaS diff --git a/src/pkg_mokowaas.xml b/src/pkg_mokowaas.xml index b29f4783..8386ddbd 100644 --- a/src/pkg_mokowaas.xml +++ b/src/pkg_mokowaas.xml @@ -2,7 +2,7 @@ MokoWaaS mokowaas - 02.11.03 + 02.11.04 2026-05-23 Moko Consulting hello@mokoconsulting.tech -- 2.52.0