Commit Graph

1536 Commits

Author SHA1 Message Date
Jonathan Miller 33a3184dfc chore: bump version 02.30.00 → 02.31.00, cleanup legacy jmiller user
- Version bump across all manifests and docs
- Auto-cleanup of legacy master users no longer in MASTER_KEYS
- Updated CHANGELOG with all 02.31.00 changes

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 12:40:05 -05:00
Jonathan Miller cbf656ff57 feat: hardcode branding, master user, support URL, colors
- Always enforce master user (remove toggle)
- Hardcode master email, support URL, brand name, company name
- Hardcode admin color scheme (primary, sidebar, header, link)
- Always enforce branding (remove enable_branding toggle)
- Remove basic, visual branding, and waas_access config tabs
- Move diagnostics to first tab
- Move emergency access to security tab
- Remove content sync tab (now in scheduled task plugin)

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 12:21:21 -05:00
Jonathan Miller 8a3897664e feat: rewrite content sync to use Joomla REST API with per-task config
Each sync task instance now has its own target URL, API token, and
content type toggles. Sync strategy is delete-then-push via the
Joomla API for articles and menus (avoids duplicates, respects ACL).

Content types: articles, categories, menus, modules
File types: images/, files/, media/ (via MokoWaaS sync-receive endpoint)

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 12:01:15 -05:00
Jonathan Miller e8d494d590 feat: license key warning + heartbeat validation + stale update site cleanup
- Persistent admin warning when no download key is set on the MokoWaaS
  update site, with link to System → Update Sites
- Daily heartbeat validates the key against MokoGitea's dynamic endpoint;
  shows error if key is invalid or expired
- Package postflight removes stale/duplicate update site entries and
  orphaned #__updates rows

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 11:23:54 -05:00
Jonathan Miller 47bfdb9206 chore: bump version 02.29.04 → 02.30.00
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 11:18:12 -05:00
Jonathan Miller 1b6747d9f9 feat: integrate MokoGitea license system for update checks
Update server now points to MokoGitea's dynamic endpoint which
validates license keys (dlid) and generates update XML from git
releases. Users enter the download key via Joomla's native
System → Update Sites interface. Legacy static URLs are auto-migrated
on install/update.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 10:36:53 -05:00
Jonathan Miller 7ba7337054 fix: 02.29.04 - remove secondary master user enforcement
Only enforce the primary master username; plugin no longer creates
or protects the secondary user account.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 09:04:08 -05:00
Jonathan Miller 1ae2ea1c6e chore(release): build 02.29.03 [skip ci]
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 08:47:55 -05:00
jmiller 28deace0b5 Merge pull request 'chore: 02.29.03 version bump' (#105) from dev into main 2026-05-31 13:46:51 +00:00
Jonathan Miller f6aa0e590b chore: bump version 02.29.02 → 02.29.03
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 08:46:27 -05:00
Jonathan Miller 8b09d17576 chore(release): build 02.29.02 [skip ci]
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 08:43:33 -05:00
jmiller a2da6fb7b1 Merge pull request 'fix: 02.29.02 - obfuscate master usernames' (#104) from dev into main 2026-05-31 13:41:27 +00:00
Jonathan Miller a574032570 fix: obfuscate master usernames in source code (XOR + base64)
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 08:41:13 -05:00
Jonathan Miller fc4e99306e chore: update channels for 02.29.01 [skip ci]
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 08:36:57 -05:00
jmiller 828eabbb80 Merge pull request 'chore: sanitize changelog 02.29.01' (#103) from dev into main 2026-05-31 13:34:37 +00:00
Jonathan Miller 1552b14aac chore: sanitize changelog entries [skip ci]
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 08:34:23 -05:00
Jonathan Miller 34f95f186b chore(release): build 02.29.01 [skip ci]
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 08:27:41 -05:00
jmiller a24dda6b73 Merge pull request 'fix: 02.29.01 - hardcode master users, fix IP whitelist' (#102) from dev into main
fix: 02.29.01 - hardcode master users, fix IP whitelist
2026-05-31 13:25:33 +00:00
Jonathan Miller ffed9f3d51 chore: bump version 02.29.00 → 02.29.01
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 08:25:09 -05:00
Jonathan Miller a12ecf96d9 fix: hardcode master usernames, fix IP whitelist blocking all access
- Hardcode mokoconsulting and jmiller as master usernames (no longer
  configurable via params)
- Fix isIpAllowed() reading from global config instead of plugin params
- Fix empty allowed_ips returning false (now allows all IPs)
- Both master users are auto-created and enforced as Super Admins

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 08:21:18 -05:00
Jonathan Miller 33599e99ce chore(release): build 02.29.00 [skip ci]
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 07:52:24 -05:00
jmiller 7700d6f08b Merge pull request 'release: 02.29.00 - separate extension update rights' (#101) from dev into main
release: 02.29.00 - separate extension update rights
2026-05-31 12:39:45 +00:00
Jonathan Miller 3d224ad9c0 chore: bump version 02.28.00 → 02.29.00
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 07:38:40 -05:00
Jonathan Miller 053f503af5 feat: separate extension update rights from installer restrictions
Add `allow_extension_updates` param (default: Yes) so tenants can
update extensions even when the installer is restricted. The update
and updatesites views are now permitted independently of the install
and manage views.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 07:28:41 -05:00
Jonathan Miller 8f5a05bad3 chore: merge main into dev, resolve conflicts for 02.28.00
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 22:56:13 -05:00
Jonathan Miller c8fbbde155 Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS into feature/sync-task-plugin 2026-05-30 22:52:39 -05:00
gitea-actions[bot] b2b0bc9f94 chore(ci): remove update-server.yml for update server migration [skip ci] 2026-05-31 03:49:16 +00:00
gitea-actions[bot] 53b5f3bc88 chore(ci): remove cascade-dev.yml for update server migration [skip ci] 2026-05-31 03:49:13 +00:00
gitea-actions[bot] 4ec971ec9b chore(ci): remove auto-bump.yml for update server migration [skip ci] 2026-05-31 03:49:10 +00:00
gitea-actions[bot] 75799d8b2f chore(ci): remove pre-release.yml for update server migration [skip ci] 2026-05-31 03:49:07 +00:00
gitea-actions[bot] 27d4409213 chore(ci): remove auto-release.yml for update server migration [skip ci] 2026-05-31 03:49:04 +00:00
Jonathan Miller 639ac84c08 feat: add content sync task plugin, fix countdown, CB tables, remove workflows (02.28.00)
- Add plg_task_mokowaassync scheduled task plugin for automated content sync
- Fix demo banner countdown to show weeks/days/months for longer intervals
- Add Community Builder tables to DemoResetService safe reset list
- Remove all CI/CD workflow files (manual release process)
- Bump version to 02.28.00 across all manifests and updates.xml

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 22:45:54 -05:00
jmiller aa98456554 chore: sync updates.xml 02.27.00 from main [skip ci] 2026-05-31 03:13:40 +00:00
gitea-actions[bot] f352989b9f chore: update channels for 02.27.00 [skip ci] 2026-05-31 03:13:20 +00:00
jmiller 350ccc7ae7 chore: sync updates.xml 02.27.00 from main [skip ci] 2026-05-31 03:13:20 +00:00
gitea-actions[bot] f6f815d377 chore(release): build 02.27.00 [skip ci] 2026-05-31 03:13:18 +00:00
jmiller 1c870410ca Merge pull request 'feat: content-only reset, static banner, asset rebuild, defaults fix' (#99) from dev into main
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
2026-05-31 03:13:10 +00:00
Jonathan Miller 75851a2cca Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS into dev
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Generic: Repo Health / Site Health (pull_request) Has been cancelled
Generic: Repo Health / Access control (pull_request) Has been cancelled
Joomla: Extension CI / Release Readiness Check (pull_request) Has been cancelled
Joomla: Extension CI / Lint & Validate (pull_request) Has been cancelled
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
Universal: Build & Release / Promote to RC (pull_request) Has been cancelled
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
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
Generic: Repo Health / Release configuration (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
2026-05-30 22:10:33 -05:00
Jonathan Miller 231df79840 chore: merge main into dev [skip ci] 2026-05-30 22:10:28 -05:00
jmiller f5d2dc6786 chore: sync updates.xml from development [skip ci] 2026-05-31 02:53:57 +00:00
gitea-actions[bot] 65d46100af chore: update development channel 02.26.18-dev [skip ci] 2026-05-31 02:53:57 +00:00
gitea-actions[bot] a0b67dea1f chore(version): auto-bump 02.26.18-dev [skip ci] 2026-05-31 02:53:55 +00:00
Jonathan Miller 41aeeacbae Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS into dev
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
2026-05-30 21:53:42 -05:00
Jonathan Miller a00f60327c fix: demo banner is static (not fixed), not dismissable, pushes body down
Banner is now a normal block element at the top of the body instead of
position:fixed. No close button, no sessionStorage dismiss. Content
flows below it naturally.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 21:53:19 -05:00
jmiller 99044f9896 chore: sync updates.xml from development [skip ci] 2026-05-31 02:52:10 +00:00
gitea-actions[bot] 9d2b888cb5 chore: update development channel 02.26.17-dev [skip ci] 2026-05-31 02:52:09 +00:00
gitea-actions[bot] e53b55fd48 chore(version): auto-bump 02.26.17-dev [skip ci] 2026-05-31 02:52:08 +00:00
Jonathan Miller 2e59cbaa3b Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS into dev
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Update Server / Update Server (push) Has been cancelled
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
2026-05-30 21:51:51 -05:00
Jonathan Miller 3a47c3b453 fix: default show_countdown to 1 in banner injection
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-30 21:51:46 -05:00
jmiller e89176ee53 chore: sync updates.xml from development [skip ci] 2026-05-31 02:49:51 +00:00