Release: promote dev -> main (profile tabs, cookie consent, wiki cleanup, .mokogit sync) #167

Closed
jmiller wants to merge 0 commits from dev into main
Owner

Promotes dev to production: tabbed profile/registration, GDPR cookie-consent banner, template pretty-name fix, tracked-wiki removal, and .mokogit source-of-truth sync.

Promotes dev to production: tabbed profile/registration, GDPR cookie-consent banner, template pretty-name fix, tracked-wiki removal, and .mokogit source-of-truth sync.
jmiller added 27 commits 2026-07-16 19:40:33 +00:00
User profile & registration:
- Group com_users profile edit and registration fieldsets into Bootstrap
  tabs via new shared layout html/layouts/mokoonyx/profile-tabset.php
  (uses the native uitab HTMLHelper; MFA rendered as its own tab; captcha
  kept outside the tabs). Plugin-contributed fieldsets (incl. MokoSuiteCRM /
  MokoSuiteCommunity) automatically become their own tabs.
- Add TPL_MOKOONYX_PROFILE_TAB_* fallback strings (en-US, en-GB).

Drawer colours:
- Bind drawer menu links to the drawer's own foreground (--offcanvas-color)
  instead of the header navbar link colour, fixing white-on-white
  (invisible) links in the light theme; correct in both themes now.

Retire right drawer:
- Remove drawer-right position, toggle button, offcanvas markup, and the
  drawerRightIcon parameter from index.php, error.php and templateDetails.xml.
- Remove drawer-toggle-right CSS/RTL rules and narrow the shared width rule
  to .offcanvas-start; drop the drawer-toggle-right check in template.js.
- Remove drawer-right language strings (position + icon label/desc).
- Add a postflight update notice (script.php) warning admins to reassign any
  published modules still parked in the removed drawer-right position.
- Document all of the above in CHANGELOG.md [Unreleased].
feat(script): migrate drawer-right modules to sidebar-right on update
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
e04db008cf
Replace the right-drawer retirement *warning* with an actual migration:
the postflight update step now moves any site modules still assigned to the
removed `drawer-right` position to `sidebar-right` (published and unpublished),
so nothing is stranded. Idempotent — no rows match once migrated.
Merge pull request 'feat(mokoonyx): tabbed profile/registration, drawer link-colour fix, retire right drawer' (#158) from feature/profile-tabs-drawer-cleanup into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
7389b56d1d
chore(wiki): remove tracked wiki/ — canonical content lives in the native MokoGit wiki
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 17s
d0e42734c5
The wiki/ directory duplicated content that already exists in the native
MokoOnyx.wiki (14 pages; every tracked wiki/ file maps to a wiki page, so no
content is lost). Remove the 25 tracked files (top-level + guides/ + reference/
duplicates) and gitignore wiki/ so a local clone of the wiki repo can live there
untracked. Single source of truth: MokoOnyx.wiki.git.
chore(version): pre-release bump to 02.29.02-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
173c79cc6b
Merge pull request 'chore(wiki): remove tracked wiki/ (canonical content in native MokoGit wiki)' (#161) from chore/remove-tracked-wiki into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 17s
53c0ef1bf2
feat(a11y): accessible GDPR cookie-consent banner (#81)
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
42b47c6c8a
Adds an opt-in cookie-consent banner that gates Google Analytics / Tag Manager
via Consent Mode until the visitor accepts.

- index.php: emit a Consent Mode default (analytics_storage denied until consent,
  replaying any stored choice) BEFORE GTM/GA load; render an accessible banner
  (role=dialog, aria-labelledby/describedby, aria-live status) when enabled.
- template.js: initCookieConsent() — show on first visit, focus trap, Escape =
  decline, Accept/Reject map to gtag consent update + localStorage; any
  [data-cookie-open] control reopens it.
- template.css: themed, responsive, reduced-motion-aware banner styles.
- templateDetails.xml: Cookie Consent enable toggle + privacy-policy URL (Google tab).
- language: en-US/en-GB strings.

Closes #81.
chore(version): auto-bump patch 02.29.04-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
9089ca45af
Merge pull request 'feat(a11y): accessible GDPR cookie-consent banner (#81)' (#162) from feature/cookie-consent into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 18s
0d3aa9d8ad
fix(i18n): show template as "Template - MokoOnyx" in Extensions Manager
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 7s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Generic: Project CI / Lint & Validate (pull_request) Successful in 18s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 12s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Successful in 22s
Generic: Project CI / Tests (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
f2aaa42e74
Joomla's com_installer translates the extension display name via
Text::_($item->name) where $item->name is the raw manifest <name> ("mokoonyx"),
so it looks up the uppercased key MOKOONYX in the template's own sys.ini. The
existing TPL_MOKOONYX key was never consulted for the name.

Add MOKOONYX="Template - MokoOnyx" (en-US + en-GB) so the Type - Name standard
shows correctly. The manifest <name> stays "mokoonyx" — for templates it IS the
element/folder (TemplateAdapter derives both from it), so it must not change.
Merge pull request 'fix(i18n): show template as "Template - MokoOnyx" in Extensions Manager' (#163) from chore/template-pretty-name into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s
90ae9d34bd
chore(ci): restore canonical .mokogit top-level files
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
5a5c8ac449
The nested .mokogit/.mokogit bug was stripped from dev/main, but it also removed
the top-level config files, leaving .mokogit/ with only workflows/. Restore
CLAUDE.md, GEMINI.md, MOKOAI.md and ISSUE_TEMPLATE/ from the source of truth
(Template-Generic) so .mokogit/ matches the standard layout. Repo-specific
workflows (ci-joomla.yml, pr-metadata-check.yml) are untouched.
chore(version): pre-release bump to 02.29.08-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
43892792b4
Merge pull request 'chore(ci): restore canonical .mokogit top-level files (fix nesting fallout)' (#164) from chore/fix-mokogit-nesting into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
0f80987cdc
chore(ci): sync .mokogit from Template-Joomla (source of truth)
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 24s
Generic: Project CI / Lint & Validate (pull_request) Successful in 15s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 10s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Successful in 18s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Generic: Project CI / Tests (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
24533f525f
Align .mokogit/ with the canonical Joomla template scaffold (Template-Joomla)
so the layout is correct and non-nested by construction:
- add branch-protection.yml and workflows/custom/workflow-sync-trigger.yml
- add ISSUE_TEMPLATE/joomla_issue.md
- drop stray CLAUDE.md (standard uses GEMINI.md + MOKOAI.md)
- update workflows to canonical versions

This supersedes the earlier Template-Generic restore (#164) with the correct
platform-specific source, preventing future .mokogit/.mokogit nesting drift.
Merge pull request 'chore(ci): sync .mokogit from Template-Joomla (source of truth)' (#165) from chore/sync-mokogit-from-template-joomla into dev
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 24s
9e568804bf
Author
Owner

Superseded by the cascade-main-to-dev promotion (main was cascaded in first to resolve version-stamp + wiki conflicts).

Superseded by the cascade-main-to-dev promotion (main was cascaded in first to resolve version-stamp + wiki conflicts).
jmiller closed this pull request 2026-07-16 19:46:16 +00:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
No labels
Priority -
Type -
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoOnyx#167