Commit Graph

527 Commits

Author SHA1 Message Date
Jonathan Miller fe3a5efda4 fix: sync updates.xml to all branches after release
Repo Health / Access control (push) Successful in 0s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Scripts governance (push) Successful in 2s
Repo Health / Repository health (push) Failing after 2s
Pre-release and auto-release workflows now push updates.xml to both
main and dev branches after any release. Joomla reads updates.xml from
main, so dev-only updates were invisible to the updater.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 17:28:55 -05:00
Jonathan Miller 8d595e542b chore: sync updates.xml from dev (02.01.06-dev)
Cascade Main → Dev / Cascade main → branches (push) Successful in 3s
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
Repository Cleanup / Clean Merged Branches (push) Successful in 6s
2026-05-09 17:16:08 -05:00
gitea-actions[bot] b136d7f63c chore: update development channel 02.01.06 [skip ci] 2026-05-09 21:58:37 +00:00
gitea-actions[bot] 5ca85f220e chore(version): bump 02.01.05 → 02.01.06 [skip ci] 2026-05-09 21:58:35 +00:00
jmiller d41d7ed0a3 chore: sync updates.xml from [skip ci] 2026-05-09 21:55:18 +00:00
gitea-actions[bot] 42d8ba0585 chore: update updates.xml (development: 02.01.05-dev) [skip ci] 2026-05-09 21:55:17 +00:00
gitea-actions[bot] 09aafeedce chore(version): auto-bump patch 02.01.05 [skip ci] 2026-05-09 21:55:17 +00:00
Jonathan Miller ec98959024 feat: clean media folder on install/update
Update Joomla Update Server XML Feed / Update updates.xml (push) Successful in 8s
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
- Deletes stale .min.css/.min.js in project dirs (MokoMinifyHelper
  regenerates them automatically on next page load)
- Removes unminified vendor FA CSS (vendors ship .min only)
- Removes deprecated files from previous versions
- Runs during postflight on both install and update

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 16:55:06 -05:00
jmiller d5dcbf4f1e chore: sync updates.xml from [skip ci] 2026-05-09 21:53:09 +00:00
gitea-actions[bot] b4cc43181c chore: update updates.xml (development: 02.01.04-dev) [skip ci] 2026-05-09 21:53:09 +00:00
gitea-actions[bot] 51efb3f243 chore(version): auto-bump patch 02.01.04 [skip ci] 2026-05-09 21:53:08 +00:00
Jonathan Miller 3d3f8f14ef chore: vendor FA assets point to .min.css only (source files removed)
Repo Health / Access control (push) 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 4s
Update Joomla Update Server XML Feed / Update updates.xml (push) Successful in 9s
Font Awesome is a vendor library — no unminified source needed.
Asset registry now points directly to .min.css files.
Index.php no longer conditionally switches FA files by dev mode.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 16:51:59 -05:00
jmiller 111753cef0 chore: sync updates.xml from [skip ci] 2026-05-09 21:50:51 +00:00
gitea-actions[bot] f62c22b1f0 chore: update updates.xml (development: 02.01.03-dev) [skip ci] 2026-05-09 21:50:50 +00:00
gitea-actions[bot] a95d35114c chore(version): auto-bump patch 02.01.03 [skip ci] 2026-05-09 21:50:49 +00:00
Jonathan Miller 847e44f265 chore: remove unminified Font Awesome CSS (vendor ships minified only)
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
Update Joomla Update Server XML Feed / Update updates.xml (push) Successful in 9s
Library files don't need source versions — only .min.css is served.
Saves ~500KB from the release package.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 16:50:10 -05:00
jmiller ecfe7fdcc6 chore: sync updates.xml from [skip ci] 2026-05-09 21:49:38 +00:00
gitea-actions[bot] 5b8315b221 chore: update updates.xml (development: 02.01.02-dev) [skip ci] 2026-05-09 21:49:37 +00:00
gitea-actions[bot] 135e9e1a6e chore(version): auto-bump patch 02.01.02 [skip ci] 2026-05-09 21:49:37 +00:00
Jonathan Miller a634816813 feat: auto-minify user.css, user.js, and custom theme files on page load
Repo Health / Access control (push) Successful in 1s
Repo Health / Scripts governance (push) Successful in 3s
Repo Health / Release configuration (push) Failing after 3s
Repo Health / Repository health (push) Failing after 3s
Update Joomla Update Server XML Feed / Update updates.xml (push) Successful in 8s
- MokoMinifyHelper now includes user.css, user.js, gtm.js, and all
  custom theme files in its watch list
- When debug is off: auto-regenerates .min files if source is newer
- When debug is on: deletes .min files so source is served directly
- Removed manual .min asset switching from index.php — Joomla's Web
  Asset Manager handles it automatically when .min files exist on disk
- Removed duplicate .min entries from joomla.asset.json

This means editable files (user.css, user.js, custom themes) get
auto-minified on the server after any edit — no build step needed.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-09 16:49:10 -05:00
jmiller 878e31f3c6 chore: sync updates.xml from [skip ci] 2026-05-09 21:45:05 +00:00
gitea-actions[bot] 03a7dcc503 chore: update updates.xml (development: 02.01.01-dev) [skip ci] 2026-05-09 21:45:05 +00:00
gitea-actions[bot] e023411f74 chore(version): auto-bump patch 02.01.01 [skip ci] 2026-05-09 21:45:03 +00:00
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
Jonathan Miller e29af39baa feat: add CSS sync workflow — syncs to template, checks client variable coverage
Cascade Main → Dev / Cascade main → branches (push) Successful in 3s
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
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:08 -05:00
Jonathan Miller 32b537511d ci: add PHPStan static analysis to CI pipeline [skip ci] 2026-05-07 15:08:34 -05:00
Moko Standards Bot 3a2f691281 ci: add Gitleaks secret scanning + Renovate dependency config [skip ci] 2026-05-07 14:57:12 -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