Commit Graph

189 Commits

Author SHA1 Message Date
gitea-actions[bot] b33552363e chore: update development SHA-256 for 02.00.02 [skip ci] 2026-04-28 00:29:55 +00:00
gitea-actions[bot] 19c1496287 chore(version): bump 02.00.01 → 02.00.02 [skip ci] 2026-04-28 00:29:51 +00:00
Jonathan Miller c532918138 docs: update all docs — Gitea-only, remove GitHub refs, fix stale names
Create Release / Build Release Package (push) Successful in 9s
- .github/workflows/ → .gitea/workflows/ across all docs
- GitHub Actions → Gitea Actions
- GitHub Releases/Issues → Gitea equivalents
- raw.githubusercontent.com → git.mokoconsulting.tech URLs
- moko-cassiopeia paths → mokoonyx
- README.md: replace migration text with current feature description
- CHANGELOG.md: version header updated to 02.00.01

7 files updated, 62 replacements across docs/, README.md, CHANGELOG.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 18:56:31 -05:00
Jonathan Miller 7a62c253a1 docs: add per-module color scheme documentation 2026-04-27 05:35:33 -05:00
Jonathan Miller 325e9139b9 feat: per-module color scheme via module suffix (theme-dark / theme-light)
Add "theme-dark" or "theme-light" to any module's Module Class Suffix
to force it into dark or light mode regardless of the page theme.

Implementation:
- CSS theme selectors changed from :root[data-bs-theme] to
  [data-bs-theme] so variables apply to any element, not just <html>
- JS scans for .theme-dark/.theme-light classes on DOMContentLoaded
  and sets data-bs-theme attribute on matching elements
- Scoped background/color/border-radius applied to themed modules
- Works with all module types, all layouts, no per-override changes

Files: template.js, template.css, light.standard.css, dark.standard.css,
light.custom.css, dark.custom.css, en-GB + en-US language docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 05:34:50 -05:00
jmiller 42876986fd chore: sync updates.xml development 02.00.01 [skip ci] 2026-04-27 10:20:45 +00:00
gitea-actions[bot] d6f252d1c7 chore: update development SHA-256 for 02.00.01 [skip ci] 2026-04-27 10:20:44 +00:00
gitea-actions[bot] 23c6aae2de chore(version): bump 02.00.00 → 02.00.01 [skip ci] 2026-04-27 10:20:40 +00:00
Jonathan Miller bac94d6f97 chore: remove version marker [skip ci] 2026-04-27 05:16:16 -05:00
Jonathan Miller a6c51091c8 chore: v02.00.00 Clean Slate release
Create Release / Build Release Package (push) Successful in 8s
2026-04-27 05:16:15 -05:00
Jonathan Miller d038e8ab64 chore: set version to 02.00.00 for Clean Slate release [skip ci] 2026-04-27 05:11:28 -05:00
jmiller f47731a03d chore: sync updates.xml stable 01.00.31 [skip ci] 2026-04-27 10:09:14 +00:00
gitea-actions[bot] 4880926d67 chore: update stable SHA-256 for 01.00.31 [skip ci] 2026-04-27 10:09:14 +00:00
gitea-actions[bot] bbe5c87b38 chore(version): bump 01.00.30 → 01.00.31 [skip ci] 2026-04-27 10:09:09 +00:00
Jonathan Miller bb8f0e8c5e feat!: v02.00.00 Clean Slate — remove all MokoCassiopeia migration code
Create Release / Build Release Package (push) Successful in 9s
BREAKING CHANGE: Sites still on MokoCassiopeia must install MokoOnyx
v01.x first to migrate settings before upgrading to v02.

Removed:
- helper/migrate.php — full migration engine (style cloning, file copy,
  update server rewrite)
- script.php migration methods: migrateFromCassiopeia(),
  copyUserFiles(), replaceCassiopeiaReferences() + OLD_NAME constants
- index.php first-load migration check (file_exists .migrated)
- Migration fieldset and language strings from admin UI
- "formerly MokoCassiopeia" from description
- MokoCassiopeia reference in bootstrap-toc.css comment

Updated:
- Roadmap rewritten for 01.xx→02.xx version line with clean future plan
- script.php MIN_JOOMLA bumped to 5.0.0 (Joomla 4.4 dropped)
- script.php postflight() simplified (favicon + lock only)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 05:08:26 -05:00
gitea-actions[bot] ee5843201a chore: remove .github/ — all workflows in .gitea/ [skip ci] 2026-04-26 22:53:55 -05:00
Jonathan Miller 049d8b5439 chore: replace jmiller-moko with jmiller, move .mokostandards to .gitea/ 2026-04-26 22:30:08 -05:00
Jonathan Miller 488f10eba1 chore: remove GitHub mirror, Gitea-only updates, collapse migration
- Remove GitHub mirror step from release.yml (Gitea is sole release host)
- Remove GitHub update server from templateDetails.xml
- Replace GH_TOKEN composer auth with GA_TOKEN Gitea auth
- Collapse MokoCassiopeia migration guide in <details> element

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 21:52:41 -05:00
Jonathan Miller 79c220fca2 fix(ci): ensure workflows work for all Joomla extension types
- Source dir: add htdocs/ fallback (components may use htdocs/ not src/)
- Manifest search: increase maxdepth to 3, exclude .git/ and build/
  (covers src/admin/com_xxx.xml and similar nested structures)
- Exclude trigger files (.build-trigger, .beta-trigger, .rc-trigger)
  from release packages
- Both release.yml and update-server.yml now consistent

Tested extension types: template, plugin (system), component, module,
library, package — all use the same generic workflow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:35:40 -05:00
Jonathan Miller 03b941b42c feat(ci): make release.yml fully generic — auto-detect from manifest
- Remove hardcoded GITEA_REPO and EXT_ELEMENT env vars
- GITEA_REPO derived from github.event.repository.name
- EXT_ELEMENT auto-detected from Joomla manifest <element> tag,
  falls back to manifest filename, then repo name
- Workflow is now identical across all Joomla repos — no per-repo
  customization needed. Drop it in .gitea/workflows/ and it works.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:14:28 -05:00
jmiller c929aa1e94 chore: sync updates.xml stable 01.00.30 [skip ci] 2026-04-27 00:08:52 +00:00
gitea-actions[bot] 768d2773be chore: update stable SHA-256 for 01.00.30 [skip ci] 2026-04-27 00:08:51 +00:00
gitea-actions[bot] 5c779c1bfd chore(version): bump 01.00.29 → 01.00.30 [skip ci] 2026-04-27 00:08:45 +00:00
Jonathan Miller 517f76791e feat(ci): stream-based tags + keep 5 version history in stable release
Create Release / Build Release Package (push) Successful in 12s
- Tags are now stream names: stable, development, alpha, beta, rc
- Stable releases preserve last 5 versions in the Gitea release body
  (new version prepended, oldest trimmed)
- Other streams replace the release body entirely (single latest)
- Version derived from README.md, not the tag name

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:08:05 -05:00
Jonathan Miller 05a27210c5 feat(ci): use stream-based tags (stable/development/etc) not versions
Tags are now release stream names: stable, release-candidate, beta,
alpha, development. Version is read from README.md and auto-bumped.
Workflow dispatch also uses stream names as a choice input.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:04:30 -05:00
jmiller c802486210 chore: sync updates.xml stable 01.00.29 [skip ci] 2026-04-27 00:02:52 +00:00
gitea-actions[bot] 74bb01fb21 chore: update stable SHA-256 for 01.00.29 [skip ci] 2026-04-27 00:02:52 +00:00
gitea-actions[bot] c7652deb4d chore(version): bump 01.00.28 → 01.00.29 [skip ci] 2026-04-27 00:02:47 +00:00
Jonathan Miller 1a9e8ed7ef chore: remove .github/workflows — all workflows are in .gitea/
Create Release / Build Release Package (push) Successful in 9s
Gitea Actions only runs from .gitea/workflows/. The .github/ copies
created ghost runs (release events on ubuntu-latest) that blocked
the runner queue. All active workflows are in .gitea/workflows/.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 19:01:12 -05:00
Jonathan Miller e0ec8c4749 chore: prep stable release 01.00.29 [skip ci] 2026-04-26 18:59:20 -05:00
jmiller 366c35a5f3 chore: sync updates.xml from [skip ci] 2026-04-26 23:50:45 +00:00
jmiller a6dc571aac chore: sync updates.xml from [skip ci] 2026-04-26 23:48:29 +00:00
jmiller d9cfea99d5 chore: sync updates.xml stable 01.00.28 [skip ci] 2026-04-26 23:44:59 +00:00
gitea-actions[bot] 5d23920fc2 chore: update stable SHA-256 for 01.00.28 [skip ci] 2026-04-26 23:44:59 +00:00
gitea-actions[bot] 10bc83ba1f chore(version): bump 01.00.27 → 01.00.28 [skip ci] 2026-04-26 23:44:49 +00:00
Jonathan Miller 7a92adeebc feat(ci): add cascade logic to release.yml updates.xml step
Create Release / Build Release Package (push) Successful in 17s
Stable releases now update ALL channels (dev, alpha, beta, rc, stable),
not just the matching one. Follows the same cascade map as
update-server.yml: stable→all, rc→rc+lower, beta→beta+lower, etc.

This ensures Joomla sites at any minimum stability level see the
latest version after a stable release.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:44:04 -05:00
jmiller 75efd50d5a chore: sync updates.xml stable 01.00.27 [skip ci] 2026-04-26 23:40:50 +00:00
gitea-actions[bot] 3e08133fda chore: update stable SHA-256 for 01.00.27 [skip ci] 2026-04-26 23:40:50 +00:00
gitea-actions[bot] 9a3b88f982 chore(version): bump 01.00.26 → 01.00.27 [skip ci] 2026-04-26 23:40:44 +00:00
Jonathan Miller 7af916269d fix(ci): fix exit code bug + skip mirror when GH_TOKEN missing
Create Release / Build Release Package (push) Successful in 10s
- [ "$HTTP_CODE" -ge 400 ] && echo returns exit 1 when HTTP is OK
  (test returns false=1, becomes step exit code). Use if/then instead.
- Skip GitHub mirror step entirely when GH_TOKEN is empty rather than
  running and failing (Gitea marks job failed despite continue-on-error)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:39:28 -05:00
jmiller da62b0702a chore: sync updates.xml stable 01.00.26 [skip ci] 2026-04-26 23:36:49 +00:00
gitea-actions[bot] 7fee6b2454 chore: update stable SHA-256 for 01.00.26 [skip ci] 2026-04-26 23:36:49 +00:00
gitea-actions[bot] f14fedd970 chore(version): bump 01.00.25 → 01.00.26 [skip ci] 2026-04-26 23:36:44 +00:00
Jonathan Miller 3ddbcd7482 fix(ci): rewrite release.yml — fix detached HEAD, add verbose logging
Create Release / Build Release Package (push) Failing after 9s
Key fixes:
- Checkout main directly for tag triggers (ref conditional) instead of
  hacky detached HEAD switching after the fact
- Use git branch --show-current for target_commitish (was github.ref_name
  which returns the tag name, not a branch, on tag triggers)
- All git push uses HEAD:${BRANCH} explicitly
- All curl calls use -sS with HTTP code capture and response logging
- SHA256 tag: add if missing, update if present, never leave empty
- Conditional minify/composer steps (skip if files don't exist)
- Summary step runs on always() for visibility on failures

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:35:34 -05:00
jmiller 730c4efeb7 chore: sync updates.xml stable 01.00.26 [skip ci] 2026-04-26 23:32:39 +00:00
Jonathan Miller fb9ce4f408 fix: remove empty sha256 tags + fix detached HEAD in release workflow
Create Release / Build Release Package (push) Successful in 19s
- Remove empty <sha256></sha256> tags from updates.xml — Joomla fails
  checksum verification when the tag is present but empty. Omitting the
  tag entirely makes Joomla skip checksum validation.
- Fix release.yml detached HEAD on tag checkout — when triggered by a
  version tag, git checks out in detached HEAD state and `git push`
  fails. Now detects this and switches to main before committing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:29:44 -05:00
Jonathan Miller 19fcd0e65b Merge branch 'dev'
Create Release / Build Release Package (push) Failing after 11s
# Conflicts:
#	updates.xml
2026-04-26 18:18:31 -05:00
Jonathan Miller 0624a3ea0a fix(composer): remove duplicate enterprise dep from require
The enterprise package is dev tooling (MokoStandards), not a runtime
dependency. It was listed in both require (with broken dev-version/04
constraint) and require-dev (with correct ^4.0). The duplicate in
require caused release workflow failures since the published package
04.05.00 doesn't match the dev branch constraint.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-26 18:18:04 -05:00
jmiller 9ac27851d2 chore: sync updates.xml from [skip ci] 2026-04-26 23:10:40 +00:00
Jonathan Miller ba3e314ace chore: trigger dev build
Update Joomla Update Server XML Feed / Update updates.xml (push) Successful in 12s
2026-04-26 18:09:44 -05:00