gitea-actions[bot]
516e2a4a47
chore(version): pre-release bump to 01.00.01-rc [skip ci]
release-candidate
2026-05-31 01:54:51 +00:00
Jonathan Miller
fe92892310
feat(ci): trigger RC build on PR draft to main, rename branch to rc
...
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Auto Version Bump / Version Bump (push) Failing after 5s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 6s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Successful in 6s
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
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
When a PR is opened or drafted targeting main, the pre-release workflow
now automatically builds a release-candidate package and renames the
source branch to 'rc'.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-30 20:54:02 -05:00
Jonathan Miller
e1cf4cb385
docs: update README and CHANGELOG for v1.0.0 release
...
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 3s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 4s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Universal: Auto Version Bump / Version Bump (push) Failing after 4s
Universal: PR Check / Validate PR (pull_request) Successful in 6s
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
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
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-30 20:47:10 -05:00
jmiller
381557e79b
chore: sync .mokogitea/workflows/auto-bump.yml from moko-platform [skip ci]
2026-05-31 01:46:47 +00:00
jmiller
5da49ce416
chore: sync .mokogitea/workflows/cascade-dev.yml from moko-platform [skip ci]
2026-05-31 01:46:05 +00:00
gitea-actions[bot]
e1eb409943
chore: update development channel 01.00.01-dev [skip ci]
2026-05-31 01:40:50 +00:00
gitea-actions[bot]
5125fff078
chore(version): auto-bump 01.00.01-dev [skip ci]
2026-05-31 01:40:48 +00:00
Jonathan Miller
de9f7eeb58
fix(security): harden controllers, add site defaults, platform-specific OG tags
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Universal: Auto Version Bump / Version Bump (push) Failing after 7s
Update Server / Update Server (push) Successful in 11s
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
Security fixes:
- Fix JSON-LD XSS via </script> injection in content data (#34 )
- Add ACL permission checks to Batch and ImportExport controllers (#37 )
- Add CSV import file type, MIME, and size validation (#35 )
- Fix multilingual bug in content plugin load/save OG data (#41 )
Enhancements:
- Add site-wide default OG title and description plugin parameters
- Add Discord embed color (theme-color) plugin parameter
- Add og:image:width/height for faster social previews
- Add article:published_time, article:modified_time, article:author for LinkedIn
- Add onMokoOGAfterRender event for third-party plugin extensibility
- Add content_type regex validation on CSV import rows
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-30 20:40:21 -05:00
Jonathan Miller
a5b14048f4
refactor: rename MokoOpenGraph → MokoJoomOpenGraph, add moko-platform standards compliance
...
- Rename project display name across 69 files (PHP, XML, INI, SQL, CSS, JS, JSON, MD)
- Add <display-name> to .mokogitea/manifest.xml per moko-platform schema
- Update pkg_mokoog.xml <name> to "Package - MokoJoomOpenGraph" (Joomla convention)
- Update all update server URLs to new repo path
- Add CONTRIBUTING.md and CODE_OF_CONDUCT.md (required by repo-health workflow)
- Add .gitattributes for line-ending normalization and export-ignore rules
- Add .gitignore
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-30 20:40:21 -05:00
jmiller
d46f726a78
chore: sync .mokogitea/workflows/pr-check.yml from moko-platform [skip ci]
2026-05-30 16:03:52 +00:00
jmiller
0ff6798918
chore: sync .mokogitea/workflows/auto-release.yml from moko-platform [skip ci]
2026-05-30 15:04:57 +00:00
jmiller
5c175ebc21
chore: sync .mokogitea/workflows/auto-bump.yml from moko-platform [skip ci]
2026-05-30 15:02:21 +00:00
jmiller
182e8caa90
chore: sync .mokogitea/workflows/auto-release.yml from moko-platform [skip ci]
2026-05-30 01:17:07 +00:00
jmiller
56d7d8784b
chore: sync .mokogitea/workflows/auto-bump.yml from moko-platform [skip ci]
2026-05-29 10:32:33 +00:00
jmiller
efd86ee77e
chore: sync .mokogitea/workflows/update-server.yml from moko-platform [skip ci]
2026-05-28 20:51:44 +00:00
jmiller
7e4b391004
chore: sync .mokogitea/workflows/auto-release.yml from moko-platform [skip ci]
2026-05-28 20:46:53 +00:00
jmiller
9a88daec9d
chore: sync .mokogitea/workflows/auto-release.yml from moko-platform [skip ci]
2026-05-28 20:28:58 +00:00
jmiller
29917529ca
chore: sync .mokogitea/workflows/pre-release.yml from moko-platform [skip ci]
2026-05-28 20:09:45 +00:00
jmiller
afb431a62c
chore: sync .mokogitea/workflows/update-server.yml from moko-platform [skip ci]
2026-05-28 20:06:39 +00:00
jmiller
4fef3cd528
chore: sync .mokogitea/workflows/auto-release.yml from moko-platform [skip ci]
2026-05-28 20:03:23 +00:00
Moko Consulting
5d34cbced4
fix(workflows): rename remaining old secrets in repo-specific workflows [skip bump]
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
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-28 14:50:17 -05:00
Moko Consulting
90bcabd2fa
fix(workflows): GITHUB_TOKEN→GH_MIRROR_TOKEN (reserved name) [skip bump]
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
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-28 14:37:54 -05:00
Moko Consulting
a1d5953015
chore(workflows): sync all universal workflows from moko-platform [skip bump]
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 3s
Universal: Auto Version Bump / Version Bump (push) Has been skipped
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-28 14:25:41 -05:00
Moko Consulting
f3a76c93be
refactor(workflows): rename secrets MOKOGITEA_TOKEN/GITHUB_TOKEN, use x-access-token [skip bump]
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Joomla: Repo Health / Access control (push) Successful in 2s
Joomla: Repo Health / Release configuration (push) Has been cancelled
Joomla: Repo Health / Scripts governance (push) Has been cancelled
Joomla: Repo Health / Repository health (push) Has been cancelled
2026-05-28 14:24:11 -05:00
Moko Consulting
72639c1155
fix(workflows): proper suffix handling — use version_set_platform instead of sed [skip bump]
Universal: Auto Version Bump / Version Bump (push) Has been skipped
Joomla: Repo Health / Access control (push) Successful in 1s
Joomla: Repo Health / Release configuration (push) Has been cancelled
Joomla: Repo Health / Scripts governance (push) Has been cancelled
Joomla: Repo Health / Repository health (push) Has been cancelled
2026-05-28 14:16:05 -05:00
Moko Consulting
000d9a8fb6
feat(workflows): append stability suffix to manifest versions [skip bump]
Universal: Auto Version Bump / Version Bump (push) Has been skipped
2026-05-28 13:42:28 -05:00
jmiller
129a9d547b
chore(ci): update pre-release.yml from moko-platform [skip ci]
2026-05-26 22:51:25 +00:00
jmiller
e1c826a46a
chore(ci): update auto-bump.yml from moko-platform [skip ci]
2026-05-26 22:50:14 +00:00
jmiller
2c90881a5b
chore(ci): update auto-release.yml from moko-platform [skip ci]
2026-05-26 22:49:02 +00:00
jmiller
f86d1bca41
chore(ci): update pre-release.yml from moko-platform [skip ci]
2026-05-26 22:37:35 +00:00
jmiller
943b5077b3
chore(ci): update auto-release.yml from moko-platform [skip ci]
2026-05-26 22:36:08 +00:00
jmiller
1954b36720
chore(ci): update auto-bump.yml from moko-platform [skip ci]
2026-05-26 22:25:46 +00:00
jmiller
fa732f44c8
chore(ci): update auto-release.yml from moko-platform [skip ci]
2026-05-26 22:24:31 +00:00
jmiller
2b5b42567b
chore(ci): update pre-release.yml from moko-platform [skip ci]
2026-05-26 22:13:52 +00:00
jmiller
72e0f85e4b
chore(ci): add auto-bump.yml from moko-platform [skip ci]
2026-05-26 22:12:39 +00:00
jmiller
105d282077
fix(ci): use release_package.php for Joomla package builds [skip ci]
2026-05-26 19:54:38 +00:00
jmiller
23de6dcb07
chore(ci): update pre-release.yml from moko-platform [skip ci]
2026-05-26 19:36:22 +00:00
jmiller
bbda9318d8
chore(ci): update auto-release.yml from moko-platform [skip ci]
2026-05-26 19:36:22 +00:00
jmiller
292265841e
chore(ci): update auto-release.yml from moko-platform [skip ci]
2026-05-26 17:36:26 +00:00
jmiller
3563c62ec2
chore(ci): update pre-release.yml from moko-platform [skip ci]
2026-05-26 17:35:11 +00:00
gitea-actions[bot]
0b97a62c82
chore: update development channel 01.00.00 [skip ci]
2026-05-24 04:37:35 +00:00
gitea-actions[bot]
fc148084a1
chore(version): bump 01.00.00 → 01.00.00-dev [skip ci]
2026-05-24 04:37:34 +00:00
jmiller
11ad5be25e
Merge pull request 'chore: cascade main -> dev [skip ci]' ( #32 ) from main into dev
...
chore: cascade main → dev [skip ci]
2026-05-24 04:31:22 +00:00
Jonathan Miller
0509980b50
fix: production readiness improvements for admin panel and installer
...
Joomla: Repo Health / Access control (push) Successful in 2s
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 4s
Joomla: Repo Health / Release configuration (push) Has been cancelled
Joomla: Repo Health / Scripts governance (push) Has been cancelled
Joomla: Repo Health / Repository health (push) Has been cancelled
Add search/filter tools to tags list view, fix API content type naming,
build proper frontend URLs for social debugger links, and auto-enable
the content plugin on package install.
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-23 23:30:53 -05:00
gitea-actions[bot]
f7826ca60a
chore: update updates.xml (development: 01.00.00-dev) [skip ci]
2026-05-23 23:30:52 -05:00
Jonathan Miller
400d3759e5
feat(api): add Joomla Web Services API for OG tags ( closes #27 )
...
New sub-extension: plg_webservices_mokoog
- Registers REST API routes via onBeforeApiRoute
- CRUD endpoints at /api/index.php/v1/mokoog/tags
- Lookup endpoint at /api/index.php/v1/mokoog/lookup/:type/:id
- SubscriberInterface pattern with DI container
Component API layer (com_mokoog/api/):
- TagsController extending ApiController for CRUD operations
- JsonapiView with whitelisted fields for JSON:API output
- TagModel (AdminModel) for single-item operations
Package updates:
- pkg_mokoog.xml includes plg_webservices_mokoog
- Install script auto-enables webservices plugin
- Component manifest declares api/ directory
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-23 23:30:31 -05:00
Jonathan Miller
78fbe252cb
feat(preview): live social sharing preview in article editor ( closes #3 )
...
- Facebook and Twitter/X card previews update in real-time
- Renders below the OG fieldset in article/menu editors
- Reads og_title, og_description, og_image with fallback to
article title and meta description
- CSS mockups of each platform's card layout
- Registered via joomla.asset.json Web Asset Manager
- Safe DOM construction (no innerHTML with user data)
- MutationObserver watches media field for image changes
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-23 23:30:31 -05:00
Jonathan Miller
3d855f829f
feat(csv): add CSV import/export for OG tags ( closes #12 )
...
ImportExportController with export() and import() actions:
- Export: CSV with all OG + SEO fields, joined with article titles
- Import: Upload CSV, match on content_type + content_id
- Upsert logic: creates new or updates existing records
- Reports created/updated/skipped counts
- Toolbar buttons ready for integration
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-23 23:30:30 -05:00
Jonathan Miller
6674f354c6
feat(overlay): add OG image text overlay generator ( closes #7 )
...
ImageGenerator class renders article title onto a template background:
- Center-crop template to 1200x630px
- Semi-transparent dark overlay band for text readability
- TTF font rendering with word wrapping (max 3 lines)
- Cached output in images/mokoog/generated/overlay_*.jpg
- Configurable font size, color, quality
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-23 23:30:30 -05:00
Jonathan Miller
4a9433d2bb
feat(i18n): add multilingual OG tag support ( closes #11 )
...
- Add language column to #__mokoog_tags (default * for all languages)
- Updated unique key to include language
- SQL migration 01.02.00 for upgrades
- og:locale output from current Joomla language (en-GB to en_GB)
- Language-aware OG data loading: exact match preferred over wildcard
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-23 23:30:30 -05:00