gitea-actions[bot]
b6900aec6e
chore(version): pre-release bump to 01.00.32-dev [skip ci]
2026-06-28 18:49:53 +00:00
gitea-actions[bot]
ecfb7c426d
chore(version): auto-bump patch 01.00.31-dev [skip ci]
2026-06-28 18:49:42 +00:00
jmiller
03c9ca53a6
docs: update changelog with license key, XSS fix, SQL compat entries
...
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 3s
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 8s
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
Universal: Build & Release / Promote to RC (pull_request) Failing after 10s
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 39s
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been cancelled
Joomla: Extension CI / Build RC Pre-Release (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Authored-by: Moko Consulting
2026-06-28 13:48:50 -05:00
gitea-actions[bot]
8c2bf7b02c
chore(version): pre-release bump to 01.00.30-dev [skip ci]
2026-06-28 18:47:43 +00:00
gitea-actions[bot]
056b339dee
chore(version): auto-bump patch 01.00.29-dev [skip ci]
2026-06-28 18:47:35 +00:00
jmiller
58f3ac96d9
feat: add license key warning and download key preservation
...
Universal: Auto Version Bump / Version Bump (push) Successful in 17s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
Save/restore the download key (dlid) across package upgrades so users
don't lose their license key. Show a warning with direct edit link
when no license key is configured.
Mirrors the pattern from MokoSuiteCross.
Authored-by: Moko Consulting
2026-06-28 13:46:31 -05:00
gitea-actions[bot]
086c50e150
chore(version): pre-release bump to 01.00.28-dev [skip ci]
2026-06-28 18:08:49 +00:00
gitea-actions[bot]
3487072b8a
chore(version): pre-release bump to 01.00.27-dev [skip ci]
2026-06-28 18:08:38 +00:00
gitea-actions[bot]
edc6bbf62c
chore(version): auto-bump patch 01.00.26-dev [skip ci]
2026-06-28 18:08:29 +00:00
jmiller
8b42c016a8
fix: remove IF EXISTS syntax from SQL migration for MySQL 5.7 compat
...
Universal: Auto Version Bump / Version Bump (push) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
Joomla's SQL update runner doesn't support DELIMITER or stored
procedures. DROP COLUMN IF EXISTS is MySQL 8.0.13+ only. Plain
DROP COLUMN is safe here because update files only run on upgrades
from versions that had the catid column.
Authored-by: Moko Consulting
2026-06-28 13:08:14 -05:00
gitea-actions[bot]
41875e7878
chore(version): pre-release bump to 01.00.25-dev [skip ci]
2026-06-28 17:53:42 +00:00
gitea-actions[bot]
797101474a
chore(version): pre-release bump to 01.00.24-dev [skip ci]
2026-06-28 16:24:59 +00:00
gitea-actions[bot]
dccdb88617
chore(version): auto-bump patch 01.00.23-dev [skip ci]
2026-06-28 16:24:51 +00:00
jmiller
2897a1ceba
fix: escape location title in detail map popup to prevent XSS
...
Universal: Auto Version Bump / Version Bump (push) Successful in 7s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
Use DOM-based textContent instead of raw string in Leaflet bindPopup()
to prevent HTML injection via location titles.
Authored-by: Moko Consulting
2026-06-28 11:24:31 -05:00
gitea-actions[bot]
926b4c7576
chore(version): pre-release bump to 01.00.22-dev [skip ci]
2026-06-28 16:23:11 +00:00
gitea-actions[bot]
80cefe1624
chore(version): auto-bump patch 01.00.21-dev [skip ci]
2026-06-28 16:23:03 +00:00
jmiller
32b541597a
fix: resolve all open issues — detail map, clustering, CSP, GROUP BY, cleanup ( #34 #57 #58 #59 #60 #61 )
...
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
- Add Leaflet map to location detail page with marker and popup (#57 )
- Implement Leaflet.markercluster with toggleable module parameter (#61 )
- Convert inline <script> to $wa->addInlineScript() for CSP nonce support (#34 )
- Replace category INNER JOIN with EXISTS subquery for ONLY_FULL_GROUP_BY compat (#59 )
- Add delete() override to LocationTable and CategoryTable for junction cleanup (#60 )
- Drop dead catid column and idx_catid index via SQL update 01.00.02 (#58 )
- Update CHANGELOG and README
Authored-by: Moko Consulting
2026-06-28 11:22:40 -05:00
gitea-actions[bot]
85a3566ae3
chore(version): pre-release bump to 01.00.20-dev [skip ci]
2026-06-28 08:08:05 +00:00
gitea-actions[bot]
1b177f267d
chore(version): auto-bump patch 01.00.19-dev [skip ci]
2026-06-28 08:07:56 +00:00
jmiller
99df65b66f
chore: sync GOVERNANCE.md from Template-Joomla
...
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
Authored-by: Moko Consulting
2026-06-28 07:58:38 +00:00
gitea-actions[bot]
1d600184b1
chore(version): pre-release bump to 01.00.18-dev [skip ci]
2026-06-28 03:44:05 +00:00
gitea-actions[bot]
45661df50e
chore(version): pre-release bump to 01.00.17-dev [skip ci]
2026-06-28 03:10:09 +00:00
gitea-actions[bot]
0be86aec5a
chore(version): auto-bump patch 01.00.16-dev [skip ci]
2026-06-28 03:10:01 +00:00
jmiller
7835e77920
fix: rename plugin manifest to match element name
...
Universal: Auto Version Bump / Version Bump (push) Successful in 7s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
Joomla's autoloader namespace scanner expects plugin manifests to be
named {element}.xml (e.g. mokosuitestorelocator.xml), not the full
prefixed name (plg_webservices_mokosuitestorelocator.xml). Without the
correct filename, the PSR-4 namespace mapping is not registered in
autoload_psr4.php, causing "Class not found" errors.
Pattern confirmed from MokoSuiteClient's webservices plugin.
Authored-by: Moko Consulting
2026-06-27 22:09:48 -05:00
gitea-actions[bot]
72949fefa5
chore(version): pre-release bump to 01.00.15-dev [skip ci]
2026-06-28 02:59:59 +00:00
gitea-actions[bot]
6c83e5530f
chore(version): auto-bump patch 01.00.14-dev [skip ci]
2026-06-28 02:59:49 +00:00
jmiller
b75677a6ec
fix: add plugin attribute to webservices manifest files element
...
Universal: Auto Version Bump / Version Bump (push) Successful in 11s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
Joomla's PluginAdapter requires plugin="xxx" on a <files> child to
determine filesystem deployment path and extension element. Without it,
plugin files are not deployed and the element field is empty in
#__extensions. Pattern confirmed from MokoSuiteClient.
Authored-by: Moko Consulting
2026-06-27 21:59:35 -05:00
gitea-actions[bot]
5f8ab19abd
chore(version): pre-release bump to 01.00.13-dev [skip ci]
2026-06-28 02:07:04 +00:00
gitea-actions[bot]
d9460d3f07
chore(version): pre-release bump to 01.00.12-dev [skip ci]
2026-06-28 00:27:09 +00:00
gitea-actions[bot]
8a9a3851e0
chore(version): auto-bump patch 01.00.11-dev [skip ci]
2026-06-28 00:26:59 +00:00
jmiller
36eb55758e
fix: add module attribute to services folder and hardcode package description
...
Universal: Auto Version Bump / Version Bump (push) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
Joomla's ModuleAdapter requires the `module` attribute on a <files> child
to identify the module element. Without it, install fails with "No module
file specified" even when namespace and services/provider.php are present.
Pattern confirmed against MokoSuiteClient modules.
Also hardcodes the package description since packages don't load language
files during install, causing the raw key to display.
Authored-by: Moko Consulting
2026-06-27 19:26:44 -05:00
gitea-actions[bot]
bb30e0cd20
chore(version): pre-release bump to 01.00.10-dev [skip ci]
2026-06-27 20:40:46 +00:00
gitea-actions[bot]
5ccc0246bb
chore(version): auto-bump patch 01.00.09-dev [skip ci]
2026-06-27 20:40:35 +00:00
jmiller
e16e15dc00
fix: align dlid and updateservers with MokoSuiteClient pattern
...
Universal: Auto Version Bump / Version Bump (push) Successful in 13s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
Move <dlid> to right after <description> (before <scriptfile>) and add
priority="1" to <server> element, matching the MokoSuiteClient manifest
structure so Joomla properly registers the download key field.
Authored-by: Moko Consulting
2026-06-27 15:40:19 -05:00
gitea-actions[bot]
7c51396d8d
chore(version): pre-release bump to 01.00.08-dev [skip ci]
2026-06-27 20:35:46 +00:00
gitea-actions[bot]
4e9e698d2c
chore(version): auto-bump patch 01.00.07-dev [skip ci]
2026-06-27 20:35:36 +00:00
jmiller
81854440de
fix: move dlid before updateservers so Joomla registers download key
...
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
The <dlid> element was placed after </updateservers>, causing Joomla's
installer to skip it when registering the update site. Moving it before
<updateservers> ensures the extra_query field is populated in the
#__update_sites table.
Authored-by: Moko Consulting
2026-06-27 15:35:24 -05:00
gitea-actions[bot]
569f907512
chore(version): pre-release bump to 01.00.06-dev [skip ci]
2026-06-27 20:24:14 +00:00
gitea-actions[bot]
4258fd1d4f
chore(version): auto-bump patch 01.00.05-dev [skip ci]
2026-06-27 20:23:59 +00:00
jmiller
3efd423e74
fix: add module services/provider.php and fix manifest packaging
...
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
Both modules were missing services/provider.php — the Joomla 5 DI
entry point that registers the ModuleDispatcherFactory. Without it,
Joomla falls back to a mod_*.php entry point file that doesn't exist,
causing "No module file specified" on install.
Also moves access.xml into admin/ and adds it to the component
manifest so it gets included in the package ZIP.
Authored-by: Moko Consulting
2026-06-27 15:23:31 -05:00
gitea-actions[bot]
f0d8c7ecbf
chore(version): pre-release bump to 01.00.04-dev [skip ci]
2026-06-27 20:19:25 +00:00
gitea-actions[bot]
f469aa7e64
chore(version): pre-release bump to 01.00.03-dev [skip ci]
2026-06-27 19:44:16 +00:00
gitea-actions[bot]
1c443be9ea
chore(version): auto-bump patch 01.00.02-dev [skip ci]
2026-06-27 19:44:07 +00:00
jmiller
6426fee428
feat: v1.2 multi-category, REST API, ACL, security hardening ( #1 , #2 , #29 , #30 , #31 , #34 , #48 )
...
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 3s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 10s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 37s
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been cancelled
Joomla: Extension CI / Build RC Pre-Release (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Multi-category support with parent/child hierarchy, junction table,
admin CRUD, and per-category custom marker icons on the Leaflet map.
REST API via Web Services plugin with JSON:API endpoints. ACL
permissions via access.xml. SQL update schema for safe upgrades.
Shop integration bridge (LocationBridgeHelper, LocationSavedEvent).
Security: CSV formula injection prevention, MIME validation, file size
limit, ORDER BY allowlist, map height CSS regex validation.
Authored-by: Moko Consulting
2026-06-27 14:40:02 -05:00
Jonathan Miller
cf495cd8ce
feat: FocalPoint (Shack Locations) migration import
...
Add one-click import from installed FocalPoint/Shack Locations component:
- Reads #__focalpoint_locations table directly via Joomla DB layer
- Parses customfieldsdata JSON for email, website, hours, phone
- Maps FocalPoint schema to MokoSuiteStoreLocator fields
- Copies coordinates (DECIMAL 10,6 → 10,8), published state, ordering
- Combines description + fulldescription into single description field
- Import button on admin Import view with CSRF + ACL protection
- Graceful handling: checks table exists, reports per-row errors
Field mapping:
FocalPoint.title → title
FocalPoint.address → address (single field, no city/state split)
FocalPoint.latitude/longitude → latitude/longitude
FocalPoint.phone → phone
FocalPoint.customfieldsdata.email → email
FocalPoint.customfieldsdata.website → website
FocalPoint.customfieldsdata.hours → hours
FocalPoint.state → published
Authored-by: Moko Consulting
2026-06-27 14:40:01 -05:00
gitea-actions[bot]
6e20567240
chore(version): pre-release bump to 01.00.01-dev [skip ci]
2026-06-27 14:40:00 -05:00
Jonathan Miller
97fb560864
chore: align version format to MokoStandards XX.YY.ZZ (01.00.00)
...
mokocli tools require two-digit zero-padded version groups (01.00.00)
per MokoStandards convention. Fixes auto-release pipeline failure.
Changed in: pkg manifest, component manifest, both module manifests,
and CHANGELOG.md.
Authored-by: Moko Consulting
2026-06-27 14:40:00 -05:00
Jonathan Miller
753c6336be
chore: sync workflows from Template-Joomla (metadata first-class fields)
...
Pull latest workflow versions from MokoConsulting/Template-Joomla.
These use the updated mokocli tools with manifest metadata as
first-class fields instead of README FILE INFORMATION blocks.
Updated: ci-joomla.yml, pre-release.yml, workflow-sync-trigger.yml
Added: version-set.yml
Removed: deploy-manual.yml, update-server.yml, composer-publish.yml
(superseded by auto-release.yml pipeline)
Authored-by: Moko Consulting
2026-06-27 14:39:59 -05:00
jmiller
7a86ada1fa
chore: sync rc-revert.yml from Template-Generic [skip ci]
2026-06-27 05:32:28 +00:00
jmiller
37f5a99e99
chore: sync pre-release.yml from Template-Generic [skip ci]
2026-06-27 00:49:24 +00:00