Jonathan Miller
264ff9d3da
fix: remove duplicate .min asset entries from joomla.asset.json
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 2s
Repo Health / Repository health (push) Failing after 3s
Update Joomla Update Server XML Feed / Update updates.xml (push) Successful in 9s
Joomla's Web Asset Manager auto-serves .min.css/.min.js when debug mode
is off — no need for separate registered assets. Duplicate entries were
preventing the auto-switching behavior.
Now: register source files only. Joomla finds .min versions automatically
when $debug = false in configuration.php.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-09 16:44:21 -05:00
Jonathan Miller
95c42c91a5
feat: wire minification into CI/release pipeline
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 2s
- Makefile: new `minify` target using moko-platform/build/minify.js
- auto-release.yml: Step 7.5 minifies before ZIP packaging
- .gitignore: exclude *.min.css and *.min.js from git
- Minified files ship in release ZIPs but not in the repo
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-09 16:32:28 -05:00
Jonathan Miller
bd77de4676
feat: add CSS sync workflow — syncs to template, checks client variable coverage
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 2s
Repo Health / Repository health (push) Failing after 3s
On push to main with CSS changes:
1. Syncs base CSS to Template-Client-WaaS
2. Checks each client repo's custom files for missing variables
3. Creates issue if any base variables are absent from client overrides
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-07 20:35:41 -05:00
Jonathan Miller
1dfde94611
ci: add PHPStan static analysis to CI pipeline [skip ci]
2026-05-07 20:35:41 -05:00
Moko Standards Bot
f51472e571
ci: add Gitleaks secret scanning + Renovate dependency config [skip ci]
2026-05-07 20:35:41 -05:00
jmiller
62435b0bdc
Merge pull request 'chore: cascade main → dev ( 42859ac) [skip ci]' ( #14 ) from main into dev
2026-05-07 19:38:13 +00:00
Jonathan Miller
42859ac451
ci: cascade v2 — forward-merge main to all open branches [skip ci]
2026-05-07 14:35:39 -05:00
jmiller
c32561379a
Merge pull request 'chore: cascade main → dev ( 7a0e04a) [skip ci]' ( #13 ) from main into dev
2026-05-05 20:51:59 +00:00
jmiller
7a0e04adc3
Merge pull request 'test: verify cascade workflow' ( #12 ) from test/cascade-verify into main
Repo Health / Access control (push) Successful in 1s
Cascade Main → Dev / Merge main → dev (push) Successful in 3s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
2026-05-05 20:51:51 +00:00
Jonathan Miller
fcb73f920f
docs: add cascade workflow to changelog
...
Repo Health / Access control (push) Successful in 1s
Joomla Extension CI / Lint & Validate (pull_request) Failing after 2s
Joomla Extension CI / Release Readiness Check (pull_request) Successful in 2s
Joomla Extension CI / Tests (PHP 8.2) (pull_request) Has been skipped
Joomla Extension CI / Tests (PHP 8.3) (pull_request) Has been skipped
Repo Health / Access control (pull_request) Successful in 1s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
Repo Health / Release configuration (pull_request) Failing after 3s
Repo Health / Scripts governance (pull_request) Successful in 3s
Repo Health / Repository health (pull_request) Failing after 3s
PR Check / Validate PR (pull_request) Successful in 19s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-05 15:51:33 -05:00
Jonathan Miller
b6be878cf7
chore: resolve cascade conflicts (main → dev) [skip ci]
...
Take main's versions for README.md (02.01.00) and updates.xml
(stable release entries). Dev's old 01.00.27-dev entry dropped —
will regenerate on next dev push via update-server workflow.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-05 15:48:52 -05:00
jmiller
35e13f6258
Merge pull request 'fix: cascade workflow — use PR-based merge for Gitea' ( #10 ) from fix/cascade-dev-gitea-api into main
Cascade Main → Dev / Merge main → dev (push) Successful in 3s
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
2026-05-05 20:43:57 +00:00
Jonathan Miller
5d0040b886
fix: use PR create+merge for cascade (Gitea has no direct merge API)
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 2s
Repo Health / Repository health (push) Failing after 3s
Joomla Extension CI / Release Readiness Check (pull_request) Successful in 3s
Repo Health / Access control (pull_request) Successful in 1s
Repo Health / Release configuration (pull_request) Failing after 3s
Repo Health / Scripts governance (pull_request) Successful in 3s
Repo Health / Repository health (pull_request) Failing after 3s
PR Check / Validate PR (pull_request) Successful in 20s
Joomla Extension CI / Lint & Validate (pull_request) Failing after 44s
Joomla Extension CI / Tests (PHP 8.2) (pull_request) Has been skipped
Joomla Extension CI / Tests (PHP 8.3) (pull_request) Has been skipped
Gitea doesn't support POST /repos/{owner}/{repo}/merges. Rewrites the
cascade workflow to: compare branches, create a PR (main → dev), then
auto-merge if clean. On conflict the PR stays open for manual resolution.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-05 15:43:36 -05:00
jmiller
0fc21c58f3
Merge pull request 'feat: auto-cascade main → dev workflow' ( #9 ) from feat/cascade-dev-workflow into main
Cascade Main → Dev / Merge main → dev (push) Failing after 1s
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
2026-05-05 20:38:58 +00:00
Jonathan Miller
515290798f
feat: auto-cascade main → dev workflow
...
Repo Health / Access control (push) Successful in 0s
Joomla Extension CI / Release Readiness Check (pull_request) Successful in 2s
PR Check / Validate PR (pull_request) Successful in 4s
Repo Health / Access control (pull_request) Successful in 0s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
Repo Health / Release configuration (pull_request) Failing after 2s
Repo Health / Scripts governance (pull_request) Successful in 3s
Repo Health / Repository health (pull_request) Failing after 3s
Joomla Extension CI / Lint & Validate (pull_request) Failing after 43s
Joomla Extension CI / Tests (PHP 8.2) (pull_request) Has been skipped
Joomla Extension CI / Tests (PHP 8.3) (pull_request) Has been skipped
Adds cascade-dev.yml that forward-merges main into dev after every push.
Uses Gitea API merge endpoint — no repo checkout needed. On conflict,
auto-creates a PR for manual resolution with duplicate prevention.
Adds cascade workflow to ntfy notifications.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-05 15:38:23 -05:00
jmiller
cdb2cb6d49
chore: sync updates.xml 02.01.00 [skip ci]
2026-05-05 20:28:42 +00:00
gitea-actions[bot]
79beaef20a
chore(version): bump 02.00.05 → 02.01.00 (minor) [skip ci]
2026-05-05 20:28:37 +00:00
jmiller
bf00286f52
Merge pull request 'feat: smart visitor detection for GA/GTM' ( #8 ) from feat/smart-visitor-detection into main
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
2026-05-05 20:27:30 +00:00
Jonathan Miller
f49f592cba
feat: smart visitor detection for Google Analytics / GTM
...
Build & Release / Build & Release Pipeline (pull_request) Successful in 15s
Repo Health / Access control (push) Successful in 1s
Joomla Extension CI / Lint & Validate (pull_request) Failing after 3s
Joomla Extension CI / Tests (PHP 8.2) (pull_request) Has been skipped
Repo Health / Access control (pull_request) Successful in 1s
Joomla Extension CI / Tests (PHP 8.3) (pull_request) Has been skipped
Joomla Extension CI / Release Readiness Check (pull_request) Successful in 2s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
PR Check / Validate PR (pull_request) Successful in 21s
Repo Health / Release configuration (pull_request) Failing after 3s
Repo Health / Scripts governance (pull_request) Successful in 3s
Repo Health / Repository health (pull_request) Failing after 4s
Push anonymised visitor properties (login status, user group, page type)
to the dataLayer before GTM/GA4 loads. Sets GA4 user_properties for
persistent session-scoped dimensions. No PII is sent. Default enabled
when GTM or GA4 is active.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-05 15:26:30 -05:00
Jonathan Miller
bbdeed3c8e
chore: set platform to joomla
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Has been cancelled
Repo Health / Scripts governance (push) Has been cancelled
Repo Health / Repository health (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-05 15:22:26 -05:00
Jonathan Miller
b0e2804267
fix: WORKFLOWS_DIR should be .gitea/workflows not .github/workflows
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 2s
Repo Health / Repository health (push) Failing after 3s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-05 14:59:34 -05:00
Jonathan Miller
a534696821
fix: stable release = minor version bump (XX.YY+1.00)
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 2s
Changed from major bump to minor bump on PR merge to main.
Pre-releases still patch bump with rollover.
Versioning policy:
stable (merge to main): 03.00.01 → 03.01.00 (minor+1, reset patch)
pre-release (manual): 03.00.01 → 03.00.02 (patch+1, rollover at 99)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-05 14:38:09 -05:00
Jonathan Miller
e691db7986
fix: include element name in stable release title and overwrite releases
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 2s
Repo Health / Repository health (push) Failing after 2s
Release title now: "mokodpcalendarapi 02.00.00 (stable)" instead of
"v01 (latest: 02.00.00)". Deletes previous stable release before
creating new one (no accumulation).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-04 13:52:17 -05:00
Jonathan Miller
06066d5d22
feat: cascade delete lesser pre-releases on promotion
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
stable → deletes rc, beta, alpha, dev
rc → deletes beta, alpha, dev
beta → deletes alpha, dev
alpha → deletes dev
dev → nothing
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-04 13:36:15 -05:00
Jonathan Miller
7d822b0e1b
feat: delete pre-release channels on stable release
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 2s
Repo Health / Repository health (push) Failing after 2s
When a stable release is created, automatically deletes development,
alpha, beta, and release-candidate releases and tags.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-04 13:33:51 -05:00
Jonathan Miller
768a128086
fix: stable release = major version bump (XX+1.00.00)
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
Repository Cleanup / Clean Merged Branches (push) Successful in 9s
Security Audit / Dependency Audit (push) Successful in 3s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-02 18:44:25 -05:00
Jonathan Miller
fe272fa680
fix: correct version bump logic for stable/pre-release
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 2s
- Stable (PR merge to main): minor bump, reset patch (01.00.XX → 01.01.00)
- Pre-release (manual): patch bump (01.00.07 → 01.00.08)
- Rollover: patch 99 → minor+1, minor 99 → major+1
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-02 18:30:22 -05:00
Jonathan Miller
abe7b8ccd2
chore: remove .github/ — using .gitea/ for all CI/templates
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-02 18:19:21 -05:00
gitea-actions[bot]
de82d669ef
chore: enrich .mokostandards with build/deploy/scripts
Repo Health / Access control (push) Has been cancelled
Repo Health / Release configuration (push) Has been cancelled
Repo Health / Scripts governance (push) Has been cancelled
Repo Health / Repository health (push) Has been cancelled
2026-05-02 18:13:14 -05:00
gitea-actions[bot]
b3d0e78337
chore: add XML .mokostandards manifest
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Has been cancelled
Repo Health / Scripts governance (push) Has been cancelled
Repo Health / Repository health (push) Has been cancelled
2026-05-02 18:06:07 -05:00
Jonathan Miller
ee53b97258
fix: add patch version bump to pre-release workflow
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 2s
Repo Health / Repository health (push) Failing after 2s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-02 17:01:17 -05:00
Jonathan Miller
74f6d2a8be
chore: remove auto-deploy workflow (deploy is manual only)
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 3s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-02 16:41:55 -05:00
Jonathan Miller
3e818e730a
feat: add pre-release workflow for manual dev/alpha/beta/rc builds
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 2s
Triggered via workflow_dispatch with stability channel selection.
Builds zip, creates Gitea pre-release, updates updates.xml.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-02 16:39:22 -05:00
Jonathan Miller
2e8489b8aa
feat: add notify, pr-check, security-audit, cleanup workflows
...
Repo Health / Access control (push) Successful in 1s
Repo Health / Release configuration (push) Failing after 2s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Repository health (push) Failing after 2s
- notify.yml: ntfy push on release success or workflow failure
- pr-check.yml: gate PRs with lint, manifest validation, build test
- security-audit.yml: weekly + PR dependency vulnerability scanning
- cleanup.yml: weekly merged branch + old run cleanup
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-02 16:29:41 -05:00
Jonathan Miller
7c98d5f7eb
fix: overwrite release instead of prepending version history [skip ci]
2026-05-02 15:57:29 -05:00
jmiller
922d88ee31
chore: sync updates.xml stable 02.00.05 [skip ci]
2026-05-01 17:07:50 +00:00
gitea-actions[bot]
8c7a27fdf4
chore: update stable SHA-256 for 02.00.05 [skip ci]
2026-05-01 17:07:50 +00:00
gitea-actions[bot]
9d16296692
chore(version): bump 02.00.04 → 02.00.05 [skip ci]
2026-05-01 17:07:46 +00:00
Jonathan Miller
07759c4b8e
chore: clean trigger [skip ci]
2026-05-01 12:07:36 -05:00
Jonathan Miller
77dc21e82d
chore: trigger stable release 02.00.04
Create Release / Build Release Package (push) Successful in 8s
2026-05-01 12:07:33 -05:00
Jonathan Miller
e674c6f675
fix: restore v02.00.04 versions + fixed workflows [skip ci]
2026-05-01 12:04:23 -05:00
jmiller
be9e12c09b
chore: sync updates.xml stable 01.00.27 [skip ci]
2026-05-01 16:36:06 +00:00
gitea-actions[bot]
0ac7009cbd
chore: update stable SHA-256 for 01.00.27 [skip ci]
2026-05-01 16:36:05 +00:00
gitea-actions[bot]
5e6f68c534
chore(version): bump 01.00.26 → 01.00.27 [skip ci]
2026-05-01 16:36:01 +00:00
Jonathan Miller
d2769c5b5a
Merge branch 'dev'
...
Create Release / Build Release Package (push) Successful in 8s
# Conflicts:
# .gitea/workflows/release.yml
# .gitea/workflows/update-server.yml
# .gitignore
# CHANGELOG.md
# README.md
# docs/JOOMLA_DEVELOPMENT.md
# docs/QUICK_START.md
# docs/README.md
# docs/RELEASE_PROCESS.md
# docs/ROADMAP.md
# docs/WORKFLOW_GUIDE.md
# src/html/mod_menu/horizontal.php
# src/index.php
# src/language/en-GB/tpl_mokoonyx.ini
# src/language/en-US/tpl_mokoonyx.ini
# src/media/css/template.css
# src/media/css/theme/dark.standard.css
# src/media/css/theme/light.standard.css
# src/media/js/template.js
# src/media/vendor/bootstrap-toc/bootstrap-toc.css
# src/script.php
# src/templateDetails.xml
# src/templates/dark.custom.css
# src/templates/light.custom.css
# updates.xml
2026-05-01 11:34:37 -05:00
jmiller
6bdf470659
chore: sync updates.xml development 02.00.04 [skip ci]
2026-05-01 16:27:57 +00:00
gitea-actions[bot]
52e271b3f6
chore: update development SHA-256 for 02.00.04 [skip ci]
2026-05-01 16:27:56 +00:00
gitea-actions[bot]
1af855e6a3
chore(version): bump 02.00.03 → 02.00.04 [skip ci]
2026-05-01 16:27:52 +00:00
gitea-actions[bot]
8d0d0f29db
chore: update updates.xml (development: 01.00.27-dev) [skip ci]
2026-05-01 16:27:43 +00:00
jmiller
5cb12b5ed4
chore: sync updates.xml from [skip ci]
2026-05-01 16:27:43 +00:00