From e54b8d03192278ddcef504d73e0d4f78deb7c1ad Mon Sep 17 00:00:00 2001 From: Jonathan Miller <1+jmiller@noreply.git.mokoconsulting.tech> Date: Sun, 28 Jun 2026 18:57:43 +0000 Subject: [PATCH 1/8] feat: add license key warning on install/update --- source/script.php | 74 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 source/script.php diff --git a/source/script.php b/source/script.php new file mode 100644 index 0000000..506ec44 --- /dev/null +++ b/source/script.php @@ -0,0 +1,74 @@ +warnMissingLicenseKey(); + } + + private function warnMissingLicenseKey(): void + { + try + { + $db = Factory::getDbo(); + $app = Factory::getApplication(); + + $query = $db->getQuery(true) + ->select([$db->quoteName('update_site_id'), $db->quoteName('extra_query')]) + ->from($db->quoteName('#__update_sites')) + ->where('(' . $db->quoteName('name') . ' LIKE ' . $db->quote('%MokoSuiteInsight%') + . ' OR ' . $db->quoteName('location') . ' LIKE ' . $db->quote('%MokoSuiteInsight%') . ')') + ->setLimit(1); + $db->setQuery($query); + $site = $db->loadObject(); + + if ($site) + { + $extraQuery = (string) ($site->extra_query ?? ''); + + if (!empty($extraQuery) && strpos($extraQuery, 'dlid=') !== false) + { + parse_str($extraQuery, $parsed); + + if (!empty($parsed['dlid'])) + { + return; + } + } + + $editUrl = 'index.php?option=com_installer&task=updatesite.edit&update_site_id=' . (int) $site->update_site_id; + } + else + { + $editUrl = 'index.php?option=com_installer&view=updatesites'; + } + + $app->enqueueMessage( + 'Moko Consulting License Key Required β€” ' + . 'No download key is configured. Updates will not be available until a valid license key is entered. ' + . 'Enter License Key', + 'warning' + ); + } + catch (\Throwable $e) + { + // Silent β€” avoid breaking install if update_sites query fails + } + } +} From 69fcee41d980b51d5d9d1e1b0a28f76b2818d622 Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Sun, 28 Jun 2026 18:58:38 +0000 Subject: [PATCH 2/8] chore(version): auto-bump patch 01.00.30-dev [skip ci] --- .mokogitea/workflows/issue-branch.yml | 2 +- CODE_OF_CONDUCT.md | 2 +- GOVERNANCE.md | 2 +- SECURITY.md | 2 +- source/packages/com_mokosuitesight/mokosuitesight.xml | 2 +- source/packages/plg_system_mokosuitesight/mokosuitesight.xml | 2 +- .../packages/plg_webservices_mokosuitesight/mokosuitesight.xml | 2 +- source/pkg_mokosuitesight.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index 2ebc0f5..9a06de1 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Automation -# VERSION: 01.00.29 +# VERSION: 01.00.30 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 3cbe33d..7b8a381 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,7 +14,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://github.com/mokoconsulting-tech/Template-Joomla/ - VERSION: 01.00.29 + VERSION: 01.00.30 PATH: ./CODE_OF_CONDUCT.md BRIEF: Community expectations and enforcement guidelines NOTE: Adapted with attribution from the Contributor Covenant v2.1 diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 63f0195..fdfc1db 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -19,7 +19,7 @@ DEFGROUP: mokoconsulting-tech.Template-Joomla INGROUP: MokoStandards.Governance REPO: https://github.com/mokoconsulting-tech/Template-Joomla - VERSION: 01.00.29 + VERSION: 01.00.30 PATH: /GOVERNANCE.md BRIEF: Project governance rules, roles, and decision process for Template-Joomla --> diff --git a/SECURITY.md b/SECURITY.md index a0c1ea7..f2f7914 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -23,7 +23,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla PATH: /SECURITY.md -VERSION: 01.00.29 +VERSION: 01.00.30 BRIEF: Security vulnerability reporting and handling policy --> diff --git a/source/packages/com_mokosuitesight/mokosuitesight.xml b/source/packages/com_mokosuitesight/mokosuitesight.xml index 7361a53..cfebaeb 100644 --- a/source/packages/com_mokosuitesight/mokosuitesight.xml +++ b/source/packages/com_mokosuitesight/mokosuitesight.xml @@ -5,7 +5,7 @@ 2026-06-23 Copyright (C) 2026 Moko Consulting. GPL-3.0-or-later - 01.00.29 + 01.00.30 Moko\Component\MokoSuiteSight servicessrctmpl diff --git a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml index 6ae1f2d..041b52e 100644 --- a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml @@ -8,7 +8,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 01.00.29 + 01.00.30 8.3 PLG_SYSTEM_MOKOSUITESIGHT_DESC Moko\Plugin\System\MokoSuiteSight diff --git a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml index 12dd339..c1bc814 100644 --- a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml @@ -3,7 +3,7 @@ Web Services - MokoSuite Insight mokosuitesight Moko Consulting - 01.00.29 + 01.00.30 GPL-3.0-or-later Moko\Plugin\WebServices\MokoSuiteInsight srcservices diff --git a/source/pkg_mokosuitesight.xml b/source/pkg_mokosuitesight.xml index 2947efd..896e5a7 100644 --- a/source/pkg_mokosuitesight.xml +++ b/source/pkg_mokosuitesight.xml @@ -2,7 +2,7 @@ Package - MokoSuite Insight mokosuitesight - 01.00.29 + 01.00.30 2026-06-21 Moko Consulting hello@mokoconsulting.tech From 38df1d9788ab8820e1b5c04ca7be70e768956944 Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Sun, 28 Jun 2026 18:58:50 +0000 Subject: [PATCH 3/8] chore(version): pre-release bump to 01.00.31-dev [skip ci] --- .mokogitea/workflows/issue-branch.yml | 2 +- CODE_OF_CONDUCT.md | 2 +- GOVERNANCE.md | 2 +- SECURITY.md | 2 +- source/packages/com_mokosuitesight/mokosuitesight.xml | 2 +- source/packages/plg_system_mokosuitesight/mokosuitesight.xml | 2 +- .../packages/plg_webservices_mokosuitesight/mokosuitesight.xml | 2 +- source/pkg_mokosuitesight.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index 9a06de1..cdf8759 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Automation -# VERSION: 01.00.30 +# VERSION: 01.00.31 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 7b8a381..b8365e6 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,7 +14,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://github.com/mokoconsulting-tech/Template-Joomla/ - VERSION: 01.00.30 + VERSION: 01.00.31 PATH: ./CODE_OF_CONDUCT.md BRIEF: Community expectations and enforcement guidelines NOTE: Adapted with attribution from the Contributor Covenant v2.1 diff --git a/GOVERNANCE.md b/GOVERNANCE.md index fdfc1db..4200bca 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -19,7 +19,7 @@ DEFGROUP: mokoconsulting-tech.Template-Joomla INGROUP: MokoStandards.Governance REPO: https://github.com/mokoconsulting-tech/Template-Joomla - VERSION: 01.00.30 + VERSION: 01.00.31 PATH: /GOVERNANCE.md BRIEF: Project governance rules, roles, and decision process for Template-Joomla --> diff --git a/SECURITY.md b/SECURITY.md index f2f7914..1bf2839 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -23,7 +23,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla PATH: /SECURITY.md -VERSION: 01.00.30 +VERSION: 01.00.31 BRIEF: Security vulnerability reporting and handling policy --> diff --git a/source/packages/com_mokosuitesight/mokosuitesight.xml b/source/packages/com_mokosuitesight/mokosuitesight.xml index cfebaeb..4c5c051 100644 --- a/source/packages/com_mokosuitesight/mokosuitesight.xml +++ b/source/packages/com_mokosuitesight/mokosuitesight.xml @@ -5,7 +5,7 @@ 2026-06-23 Copyright (C) 2026 Moko Consulting. GPL-3.0-or-later - 01.00.30 + 01.00.31 Moko\Component\MokoSuiteSight servicessrctmpl diff --git a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml index 041b52e..055d294 100644 --- a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml @@ -8,7 +8,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 01.00.30 + 01.00.31 8.3 PLG_SYSTEM_MOKOSUITESIGHT_DESC Moko\Plugin\System\MokoSuiteSight diff --git a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml index c1bc814..fa180ea 100644 --- a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml @@ -3,7 +3,7 @@ Web Services - MokoSuite Insight mokosuitesight Moko Consulting - 01.00.30 + 01.00.31 GPL-3.0-or-later Moko\Plugin\WebServices\MokoSuiteInsight srcservices diff --git a/source/pkg_mokosuitesight.xml b/source/pkg_mokosuitesight.xml index 896e5a7..af9688b 100644 --- a/source/pkg_mokosuitesight.xml +++ b/source/pkg_mokosuitesight.xml @@ -2,7 +2,7 @@ Package - MokoSuite Insight mokosuitesight - 01.00.30 + 01.00.31 2026-06-21 Moko Consulting hello@mokoconsulting.tech From 19c2f575f431b64ecc36fd5054909717bd1d4df8 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sun, 5 Jul 2026 22:51:55 +0000 Subject: [PATCH 4/8] =?UTF-8?q?chore(docs):=20normalize=20refs=20=E2=80=94?= =?UTF-8?q?=20MokoStandards->org=20wiki,=20moko-platform->mokocli,=20resid?= =?UTF-8?q?ual=20MokoGitea/MokoSuite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Non-workflow docs/config only (CLAUDE.md, README, branch-protection, ISSUE_TEMPLATE/config.yml, ci-issue-reporter). Workflow files, manifest schema, and Makefile install paths left for the forge-rebrand gate. Authored-by: Moko Consulting --- .mokogitea/ISSUE_TEMPLATE/config.yml | 2 +- .mokogitea/ISSUE_TEMPLATE/feature_request.md | 2 +- .mokogitea/ISSUE_TEMPLATE/security.md | 2 +- CLAUDE.md | 4 ++-- CONTRIBUTING.md | 2 +- GOVERNANCE.md | 4 ++-- automation/ci-issue-reporter.sh | 12 ++++++------ 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.mokogitea/ISSUE_TEMPLATE/config.yml b/.mokogitea/ISSUE_TEMPLATE/config.yml index d4d49ec..71fe271 100644 --- a/.mokogitea/ISSUE_TEMPLATE/config.yml +++ b/.mokogitea/ISSUE_TEMPLATE/config.yml @@ -8,7 +8,7 @@ contact_links: url: https://mokoconsulting.tech/ about: Get help or ask questions through our website - name: πŸ“š MokoStandards Documentation - url: https://git.mokoconsulting.tech/MokoConsulting/moko-platform + url: https://git.mokoconsulting.tech/MokoConsulting/.mokogitea/wiki about: View our coding standards and best practices - name: πŸ”’ Report a Security Vulnerability url: https://git.mokoconsulting.tech/mokoconsulting-tech/.github-private/security/advisories/new diff --git a/.mokogitea/ISSUE_TEMPLATE/feature_request.md b/.mokogitea/ISSUE_TEMPLATE/feature_request.md index 7b76dc9..984fcbe 100644 --- a/.mokogitea/ISSUE_TEMPLATE/feature_request.md +++ b/.mokogitea/ISSUE_TEMPLATE/feature_request.md @@ -37,7 +37,7 @@ If you have ideas about how this could be implemented, share them here: Add any other context, mockups, or screenshots about the feature request here. ## Relevant Standards -Does this relate to any standards in [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoStandards)? +Does this relate to any standards in [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/.mokogitea/wiki)? - [ ] Accessibility (WCAG 2.1 AA) - [ ] Localization (en_US/en_GB) - [ ] Security best practices diff --git a/.mokogitea/ISSUE_TEMPLATE/security.md b/.mokogitea/ISSUE_TEMPLATE/security.md index f57b284..14d63e0 100644 --- a/.mokogitea/ISSUE_TEMPLATE/security.md +++ b/.mokogitea/ISSUE_TEMPLATE/security.md @@ -35,7 +35,7 @@ Use this template only for: ## Standards Reference -Does this relate to security standards in [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoStandards)? +Does this relate to security standards in [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/.mokogitea/wiki)? - [ ] SPDX license identifiers - [ ] Secret management - [ ] Dependency security diff --git a/CLAUDE.md b/CLAUDE.md index 69e5867..7af8c7f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -42,8 +42,8 @@ Joomla **package** (`pkg_mokosuitesight`) β€” standalone module, auto-discovers - **Never commit** `.claude/`, `.mcp.json`, `TODO.md`, `*.min.css`/`*.min.js` - **Attribution**: `Authored-by: Moko Consulting` - **Workflow directory**: `.mokogitea/` -- **Wiki**: documentation lives in the Gitea wiki, not `docs/` files -- **Standards**: [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/wiki) +- **Wiki**: documentation lives in the MokoGitea wiki, not `docs/` files +- **Standards**: [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/.mokogitea/wiki) - **Changelog**: `[Unreleased]` only β€” release system assigns versions ## Coding Standards diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c0b4858..d7df945 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,7 +34,7 @@ feature/* ──PR──> dev ──draft PR──> (renamed to rc) ──merge 7. **Merging to main** triggers the stable release pipeline: - Minor version bump (e.g., `02.09.xx` β†’ `02.10.00`) - Stability suffix stripped (clean version) - - Gitea release created with ZIP/tar.gz packages + - MokoGitea release created with ZIP/tar.gz packages - `updates.xml` updated (Joomla extensions) - `dev` branch recreated from `main` diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 4200bca..51f99d3 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -24,7 +24,7 @@ BRIEF: Project governance rules, roles, and decision process for Template-Joomla --> -[![MokoStandards](https://img.shields.io/badge/MokoStandards-04.00.04-blue)](https://github.com/mokoconsulting-tech/MokoStandards) +[![MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/.mokogitea/wiki)](https://github.com/mokoconsulting-tech/MokoStandards) # Project Governance @@ -32,7 +32,7 @@ This document defines the governance model for the `Template-Joomla` repository within the `mokoconsulting-tech` organization. It is automatically maintained by -[MokoStandards](https://github.com/mokoconsulting-tech/MokoStandards) v04.00.04. +[MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/.mokogitea/wiki) v04.00.04. Full governance policy is defined in the MokoStandards source repository: [docs/policy/GOVERNANCE.md](https://github.com/mokoconsulting-tech/MokoStandards/blob/main/docs/policy/GOVERNANCE.md) diff --git a/automation/ci-issue-reporter.sh b/automation/ci-issue-reporter.sh index 65c47ba..42399d0 100644 --- a/automation/ci-issue-reporter.sh +++ b/automation/ci-issue-reporter.sh @@ -6,11 +6,11 @@ # # FILE INFORMATION # DEFGROUP: Automation.CI -# INGROUP: moko-platform.Automation -# REPO: https://git.mokoconsulting.tech/MokoConsulting/moko-platform +# INGROUP: mokocli.Automation +# REPO: https://git.mokoconsulting.tech/MokoConsulting/mokocli # PATH: /automation/ci-issue-reporter.sh # VERSION: 09.23.00 -# BRIEF: Creates or updates a Gitea issue when a CI gate fails. +# BRIEF: Creates or updates a MokoGitea issue when a CI gate fails. # Deduplicates by searching open issues with the "ci-auto" label # whose title matches the gate. If a matching issue exists, a comment # is appended instead of opening a duplicate. @@ -45,8 +45,8 @@ Optional: --workflow Workflow name for the issue title --repo owner/repo (default: \$GITHUB_REPOSITORY) --run-url URL to the CI run (auto-detected from env) - --token Gitea API token (default: \$GITEA_TOKEN) - --url Gitea base URL (default: \$GITEA_URL) + --token MokoGitea API token (default: \$GITEA_TOKEN) + --url MokoGitea base URL (default: \$GITEA_URL) EOF exit 1 } @@ -213,7 +213,7 @@ print(json.dumps({ ISSUE_NUM=$(echo "$RESPONSE" | grep -oP '"number":\s*\K[0-9]+' | head -1) if [[ -n "$ISSUE_NUM" ]]; then - # Apply label (separate call β€” more reliable across Gitea versions) + # Apply label (separate call β€” more reliable across MokoGitea versions) LABEL_ID=$(curl -sf \ -H "Authorization: token ${GITEA_TOKEN}" \ "${API}/labels" 2>/dev/null \ From fa4dca8acbf4d02c238742d60c39ad374809ca9c Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Sun, 5 Jul 2026 23:03:23 +0000 Subject: [PATCH 5/8] chore(version): auto-bump patch 01.00.32-dev [skip ci] --- .mokogitea/workflows/issue-branch.yml | 2 +- CODE_OF_CONDUCT.md | 2 +- GOVERNANCE.md | 2 +- SECURITY.md | 2 +- source/packages/com_mokosuitesight/mokosuitesight.xml | 2 +- source/packages/plg_system_mokosuitesight/mokosuitesight.xml | 2 +- .../packages/plg_webservices_mokosuitesight/mokosuitesight.xml | 2 +- source/pkg_mokosuitesight.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index cdf8759..1c06144 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Automation -# VERSION: 01.00.31 +# VERSION: 01.00.32 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index b8365e6..ef34ec0 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,7 +14,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://github.com/mokoconsulting-tech/Template-Joomla/ - VERSION: 01.00.31 + VERSION: 01.00.32 PATH: ./CODE_OF_CONDUCT.md BRIEF: Community expectations and enforcement guidelines NOTE: Adapted with attribution from the Contributor Covenant v2.1 diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 51f99d3..8d59041 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -19,7 +19,7 @@ DEFGROUP: mokoconsulting-tech.Template-Joomla INGROUP: MokoStandards.Governance REPO: https://github.com/mokoconsulting-tech/Template-Joomla - VERSION: 01.00.31 + VERSION: 01.00.32 PATH: /GOVERNANCE.md BRIEF: Project governance rules, roles, and decision process for Template-Joomla --> diff --git a/SECURITY.md b/SECURITY.md index 1bf2839..1e05ffc 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -23,7 +23,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla PATH: /SECURITY.md -VERSION: 01.00.31 +VERSION: 01.00.32 BRIEF: Security vulnerability reporting and handling policy --> diff --git a/source/packages/com_mokosuitesight/mokosuitesight.xml b/source/packages/com_mokosuitesight/mokosuitesight.xml index 4c5c051..7140da8 100644 --- a/source/packages/com_mokosuitesight/mokosuitesight.xml +++ b/source/packages/com_mokosuitesight/mokosuitesight.xml @@ -5,7 +5,7 @@ 2026-06-23 Copyright (C) 2026 Moko Consulting. GPL-3.0-or-later - 01.00.31 + 01.00.32 Moko\Component\MokoSuiteSight servicessrctmpl diff --git a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml index 055d294..528838d 100644 --- a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml @@ -8,7 +8,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 01.00.31 + 01.00.32 8.3 PLG_SYSTEM_MOKOSUITESIGHT_DESC Moko\Plugin\System\MokoSuiteSight diff --git a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml index fa180ea..22b6f6a 100644 --- a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml @@ -3,7 +3,7 @@ Web Services - MokoSuite Insight mokosuitesight Moko Consulting - 01.00.31 + 01.00.32 GPL-3.0-or-later Moko\Plugin\WebServices\MokoSuiteInsight srcservices diff --git a/source/pkg_mokosuitesight.xml b/source/pkg_mokosuitesight.xml index af9688b..8f23328 100644 --- a/source/pkg_mokosuitesight.xml +++ b/source/pkg_mokosuitesight.xml @@ -2,7 +2,7 @@ Package - MokoSuite Insight mokosuitesight - 01.00.31 + 01.00.32 2026-06-21 Moko Consulting hello@mokoconsulting.tech From bad94a668344267198ddd6410392b9efdc4fb638 Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Sun, 5 Jul 2026 23:03:36 +0000 Subject: [PATCH 6/8] chore(version): pre-release bump to 01.00.33-dev [skip ci] --- .mokogitea/workflows/issue-branch.yml | 2 +- CODE_OF_CONDUCT.md | 2 +- GOVERNANCE.md | 2 +- SECURITY.md | 2 +- source/packages/com_mokosuitesight/mokosuitesight.xml | 2 +- source/packages/plg_system_mokosuitesight/mokosuitesight.xml | 2 +- .../packages/plg_webservices_mokosuitesight/mokosuitesight.xml | 2 +- source/pkg_mokosuitesight.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index 1c06144..8c665ee 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Automation -# VERSION: 01.00.32 +# VERSION: 01.00.33 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index ef34ec0..e6459fd 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,7 +14,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://github.com/mokoconsulting-tech/Template-Joomla/ - VERSION: 01.00.32 + VERSION: 01.00.33 PATH: ./CODE_OF_CONDUCT.md BRIEF: Community expectations and enforcement guidelines NOTE: Adapted with attribution from the Contributor Covenant v2.1 diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 8d59041..a9eddc3 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -19,7 +19,7 @@ DEFGROUP: mokoconsulting-tech.Template-Joomla INGROUP: MokoStandards.Governance REPO: https://github.com/mokoconsulting-tech/Template-Joomla - VERSION: 01.00.32 + VERSION: 01.00.33 PATH: /GOVERNANCE.md BRIEF: Project governance rules, roles, and decision process for Template-Joomla --> diff --git a/SECURITY.md b/SECURITY.md index 1e05ffc..11cf069 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -23,7 +23,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla PATH: /SECURITY.md -VERSION: 01.00.32 +VERSION: 01.00.33 BRIEF: Security vulnerability reporting and handling policy --> diff --git a/source/packages/com_mokosuitesight/mokosuitesight.xml b/source/packages/com_mokosuitesight/mokosuitesight.xml index 7140da8..12b032b 100644 --- a/source/packages/com_mokosuitesight/mokosuitesight.xml +++ b/source/packages/com_mokosuitesight/mokosuitesight.xml @@ -5,7 +5,7 @@ 2026-06-23 Copyright (C) 2026 Moko Consulting. GPL-3.0-or-later - 01.00.32 + 01.00.33 Moko\Component\MokoSuiteSight servicessrctmpl diff --git a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml index 528838d..f0bfba3 100644 --- a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml @@ -8,7 +8,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 01.00.32 + 01.00.33 8.3 PLG_SYSTEM_MOKOSUITESIGHT_DESC Moko\Plugin\System\MokoSuiteSight diff --git a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml index 22b6f6a..1ac816f 100644 --- a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml @@ -3,7 +3,7 @@ Web Services - MokoSuite Insight mokosuitesight Moko Consulting - 01.00.32 + 01.00.33 GPL-3.0-or-later Moko\Plugin\WebServices\MokoSuiteInsight srcservices diff --git a/source/pkg_mokosuitesight.xml b/source/pkg_mokosuitesight.xml index 8f23328..b67082a 100644 --- a/source/pkg_mokosuitesight.xml +++ b/source/pkg_mokosuitesight.xml @@ -2,7 +2,7 @@ Package - MokoSuite Insight mokosuitesight - 01.00.32 + 01.00.33 2026-06-21 Moko Consulting hello@mokoconsulting.tech From 6f3d49e058b306328bc819a8d9f6cc4f8644d527 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Mon, 6 Jul 2026 11:19:36 -0500 Subject: [PATCH 7/8] fix: honest installer success (gate license/next-steps on child install) The package postflight showed the "License Key Required" / next-steps message even when a bundled child extension failed to sub-install (Joomla only logs those failures). Add a fail-open manifest verifier (missingChildExtensions) that confirms every declared child landed in #__extensions and enqueues an error + returns before the license path when any are missing. Fails open so a transient glitch never fakes a failure. Claude-Session: https://claude.ai/code/session_01B9aZHSWbiiZykJD88pYx8R --- CHANGELOG.md | 3 ++ source/script.php | 95 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88cd533..300d902 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ ## [Unreleased] +### Fixed +- **Honest install success** β€” the package installer no longer shows the license / next-steps message when a bundled child extension failed to install. A fail-open manifest verifier confirms every child extension landed in `#__extensions` and reports any that are missing. + ### Added - **Package Manifest** β€” `pkg_mokosuitesight.xml` with dlid and updateservers - **Plugin Manifest** β€” `mokosuitesight.xml` with config fieldsets (auto-refresh, max dashboards) diff --git a/source/script.php b/source/script.php index 506ec44..58ada2a 100644 --- a/source/script.php +++ b/source/script.php @@ -19,9 +19,104 @@ class Pkg_MokoSuiteInsightInstallerScript { public function postflight(string $type, InstallerAdapter $adapter): void { + // Be honest about success. Joomla's package installer only LOGS a failed child + // sub-install but still runs this postflight, so don't show the license / + // next-steps message if a bundled extension is actually missing. Fails open + // (see missingChildExtensions) so a query/IO glitch never fakes a failure. + $missing = $this->missingChildExtensions($adapter); + + if (!empty($missing)) + { + Factory::getApplication()->enqueueMessage( + '

MokoSuiteInsight did not install correctly.

' + . '

The following bundled extensions are missing: ' + . htmlspecialchars(implode(', ', $missing), ENT_QUOTES) . '

' + . '

Please uninstall MokoSuiteInsight and reinstall the full package.

', + 'error' + ); + + return; + } + $this->warnMissingLicenseKey(); } + /** + * Verify every child extension declared in the package manifest actually landed in + * #__extensions. Returns readable labels of any that are missing. + * + * Matching per Joomla's #__extensions uniqueness: type = "type"; element = + * "id" (for plugins, strip a leading plg__); plugins also match + * folder = "group". + * + * FAILS OPEN: any error returns [] so a transient glitch never fakes a failure. + */ + private function missingChildExtensions($adapter): array + { + try + { + $manifest = $adapter->getParent()->getManifest(); + + if (!$manifest || !isset($manifest->files) || !isset($manifest->files->file)) + { + return []; + } + + $db = Factory::getDbo(); + $missing = []; + + foreach ($manifest->files->file as $file) + { + $attrs = $file->attributes(); + $id = isset($attrs['id']) ? (string) $attrs['id'] : ''; + $exType = isset($attrs['type']) ? (string) $attrs['type'] : ''; + + if ($id === '' || $exType === '') + { + continue; + } + + $group = isset($attrs['group']) ? (string) $attrs['group'] : ''; + $element = $id; + + // Plugin element in #__extensions is the id minus any leading plg__. + if ($exType === 'plugin' && $group !== '') + { + $prefix = 'plg_' . $group . '_'; + + if (strpos($element, $prefix) === 0) + { + $element = substr($element, \strlen($prefix)); + } + } + + $query = $db->getQuery(true) + ->select('COUNT(*)') + ->from($db->quoteName('#__extensions')) + ->where($db->quoteName('element') . ' = ' . $db->quote($element)) + ->where($db->quoteName('type') . ' = ' . $db->quote($exType)); + + if ($exType === 'plugin' && $group !== '') + { + $query->where($db->quoteName('folder') . ' = ' . $db->quote($group)); + } + + if ((int) $db->setQuery($query)->loadResult() === 0) + { + $label = trim((string) $file); + $missing[] = $label !== '' ? preg_replace('/\.zip$/i', '', $label) : $id; + } + } + + return $missing; + } + catch (\Throwable $e) + { + // Fail open β€” never fake a failure on a glitch. + return []; + } + } + private function warnMissingLicenseKey(): void { try From 2593aa737c653141210d0d75aa769e6fb5630e7e Mon Sep 17 00:00:00 2001 From: "gitea-actions[bot]" Date: Mon, 6 Jul 2026 16:20:36 +0000 Subject: [PATCH 8/8] chore(version): pre-release bump to 01.00.34-dev [skip ci] --- .mokogitea/workflows/issue-branch.yml | 2 +- CODE_OF_CONDUCT.md | 2 +- GOVERNANCE.md | 2 +- SECURITY.md | 2 +- source/packages/com_mokosuitesight/mokosuitesight.xml | 2 +- source/packages/plg_system_mokosuitesight/mokosuitesight.xml | 2 +- .../packages/plg_webservices_mokosuitesight/mokosuitesight.xml | 2 +- source/pkg_mokosuitesight.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index 8c665ee..c1ca9f4 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: mokocli.Automation -# VERSION: 01.00.33 +# VERSION: 01.00.34 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index e6459fd..6fb756a 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,7 +14,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://github.com/mokoconsulting-tech/Template-Joomla/ - VERSION: 01.00.33 + VERSION: 01.00.34 PATH: ./CODE_OF_CONDUCT.md BRIEF: Community expectations and enforcement guidelines NOTE: Adapted with attribution from the Contributor Covenant v2.1 diff --git a/GOVERNANCE.md b/GOVERNANCE.md index a9eddc3..22d8bfc 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -19,7 +19,7 @@ DEFGROUP: mokoconsulting-tech.Template-Joomla INGROUP: MokoStandards.Governance REPO: https://github.com/mokoconsulting-tech/Template-Joomla - VERSION: 01.00.33 + VERSION: 01.00.34 PATH: /GOVERNANCE.md BRIEF: Project governance rules, roles, and decision process for Template-Joomla --> diff --git a/SECURITY.md b/SECURITY.md index 11cf069..a4e6127 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -23,7 +23,7 @@ DEFGROUP: Template-Joomla INGROUP: Template-Joomla.Documentation REPO: https://git.mokoconsulting.tech/MokoConsulting/Template-Joomla PATH: /SECURITY.md -VERSION: 01.00.33 +VERSION: 01.00.34 BRIEF: Security vulnerability reporting and handling policy --> diff --git a/source/packages/com_mokosuitesight/mokosuitesight.xml b/source/packages/com_mokosuitesight/mokosuitesight.xml index 12b032b..4f7aa66 100644 --- a/source/packages/com_mokosuitesight/mokosuitesight.xml +++ b/source/packages/com_mokosuitesight/mokosuitesight.xml @@ -5,7 +5,7 @@ 2026-06-23 Copyright (C) 2026 Moko Consulting. GPL-3.0-or-later - 01.00.33 + 01.00.34 Moko\Component\MokoSuiteSight servicessrctmpl diff --git a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml index f0bfba3..50d33d2 100644 --- a/source/packages/plg_system_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_system_mokosuitesight/mokosuitesight.xml @@ -8,7 +8,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 01.00.33 + 01.00.34 8.3 PLG_SYSTEM_MOKOSUITESIGHT_DESC Moko\Plugin\System\MokoSuiteSight diff --git a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml index 1ac816f..203da0b 100644 --- a/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml +++ b/source/packages/plg_webservices_mokosuitesight/mokosuitesight.xml @@ -3,7 +3,7 @@ Web Services - MokoSuite Insight mokosuitesight Moko Consulting - 01.00.33 + 01.00.34 GPL-3.0-or-later Moko\Plugin\WebServices\MokoSuiteInsight srcservices diff --git a/source/pkg_mokosuitesight.xml b/source/pkg_mokosuitesight.xml index b67082a..15b5c1d 100644 --- a/source/pkg_mokosuitesight.xml +++ b/source/pkg_mokosuitesight.xml @@ -2,7 +2,7 @@ Package - MokoSuite Insight mokosuitesight - 01.00.33 + 01.00.34 2026-06-21 Moko Consulting hello@mokoconsulting.tech