fix(plugin): multi-select slugs, full path matching, Joomla 5 DI, pretty name #83

Merged
jmiller merged 22 commits from dev into main 2026-05-16 22:33:15 +00:00
Owner

Summary

  • Add services/provider.php for Joomla 5 DI container registration
  • Match against full menu route path instead of alias only (fixes offline bypass for nested routes like /legal/terms-of-service)
  • Support multiple offline-accessible menu items via multi-select dropdown
  • Update pretty name to Joomla convention: "System - Moko Terms of Service"
  • Rename .mokogitea/ to .gitea/ and fix workflow manifest reference
  • Production hardening: dynamic category/component ID resolution, qualified exceptions, Gitea update server URL

Test plan

  • Clean install on Joomla 5.x � verify article, menu type, and menu item are created
  • Plugin appears in Plugins screen as "System - Moko Terms of Service"
  • Multi-select dropdown shows menu items with full paths
  • Set site offline, visit nested route (e.g. /legal/terms-of-service) � verify content renders
  • Select multiple menu items � verify all remain accessible when offline

?? Generated with Claude Code

## Summary - Add `services/provider.php` for Joomla 5 DI container registration - Match against full menu route path instead of alias only (fixes offline bypass for nested routes like `/legal/terms-of-service`) - Support multiple offline-accessible menu items via multi-select dropdown - Update pretty name to Joomla convention: "System - Moko Terms of Service" - Rename `.mokogitea/` to `.gitea/` and fix workflow manifest reference - Production hardening: dynamic category/component ID resolution, qualified exceptions, Gitea update server URL ## Test plan - [ ] Clean install on Joomla 5.x � verify article, menu type, and menu item are created - [ ] Plugin appears in Plugins screen as "System - Moko Terms of Service" - [ ] Multi-select dropdown shows menu items with full paths - [ ] Set site offline, visit nested route (e.g. `/legal/terms-of-service`) � verify content renders - [ ] Select multiple menu items � verify all remain accessible when offline ?? Generated with [Claude Code](https://claude.com/claude-code)
jmiller added 1 commit 2026-05-16 22:32:48 +00:00
Merge remote-tracking branch 'origin/main' into dev
Joomla: Repo Health / Access control (push) Successful in 1s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 4s
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been skipped
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been skipped
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been skipped
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 3s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 4s
Universal: PR Check / Changelog Updated (pull_request) Successful in 3s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Joomla: Repo Health / Access control (pull_request) Successful in 1s
Joomla: Repo Health / Release configuration (push) Failing after 3s
Joomla: Repo Health / Scripts governance (push) Successful in 3s
Joomla: Repo Health / Repository health (push) Failing after 3s
Joomla: Repo Health / Release configuration (pull_request) Failing after 3s
Joomla: Repo Health / Scripts governance (pull_request) Successful in 3s
Joomla: Repo Health / Repository health (pull_request) Failing after 3s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 49s
e4534a62f1
# Conflicts:
#	updates.xml
jmiller force-pushed dev from baf2a8c50a to e4534a62f1 2026-05-16 22:32:48 +00:00 Compare
jmiller merged commit ba8d23d862 into main 2026-05-16 22:33:15 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoJoomTOS#83