Commit Graph

63 Commits

Author SHA1 Message Date
gitea-actions[bot] 740fb4e1f6 chore(version): pre-release bump to 01.05.01-dev [skip ci] 2026-06-28 19:48:07 +00:00
gitea-actions[bot] 1413f62476 chore(version): auto-bump patch 01.04.18-dev [skip ci] 2026-06-28 19:47:54 +00:00
jmiller d6fb2816cf refactor: replace Joomla-7-deprecated APIs (forward compatibility)
Universal: Auto Version Bump / Version Bump (push) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
Removes accessors deprecated in Joomla 5 and slated for removal in 7
(extension already runs on 6; this future-proofs for 7):
- Factory::getDbo() -> Factory::getContainer()->get(DatabaseInterface::class)
  across plugins, controllers, static helpers, and the install script
- Factory::getUser() -> Factory::getApplication()->getIdentity()
- Factory::getSession() -> Factory::getApplication()->getSession()
- jexit(Text::_('JINVALID_TOKEN')) -> throw new \RuntimeException(..., 403),
  consistent with the access-denied checks already in those controllers

Note: SQL update-version concern is already resolved — the release bumped
to 01.05.00, which matches the 01.05.00.sql update slot.
2026-06-28 14:47:34 -05:00
gitea-actions[bot] 77cf557b71 chore(version): pre-release bump to 01.04.17-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 24s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 33m1s
2026-06-28 19:34:12 +00:00
gitea-actions[bot] ff2c1a0483 chore(version): auto-bump patch 01.04.16-dev [skip ci] 2026-06-28 19:33:59 +00:00
jmiller 7fb7e38762 refactor: rename MokoJoomOpenGraph -> MokoSuiteOpenGraph; require Joomla 6+
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 10s
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Generic: Project CI / Lint & Validate (pull_request) Successful in 16s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 16s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 47s
Generic: Project CI / Tests (pull_request) 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
Universal: PR Check / Report Issues (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
Generic: Repo Health / Report: Scripts Governance (pull_request) Has been cancelled
Generic: Repo Health / Report: Repository Health (pull_request) Has been cancelled
Product rename (display name / docs / comments / language strings only —
technical element names mokoog/com_mokoog/MokoOG namespace unchanged):
- Replace "MokoJoom" -> "MokoSuite" across 55 files
- Fixes the update-site license lookup in script.php, which matched the
  old "%MokoJoomOpenGraph%" name and would never find a "MokoSuite" site

Joomla 6 compatibility:
- script.php: minimumJoomla 4.0.0 -> 6.0.0, minimumPhp 8.1.0 -> 8.2.0,
  and actually enforce the Joomla floor in preflight() (was PHP-only)
- Add PKG_MOKOOG_JOOMLA_VERSION_ERROR language strings (en-GB, en-US)
- openapi.yaml + README state Joomla 6.0+ requirement
- Audit confirmed the codebase already uses only Joomla-6-supported APIs
2026-06-28 14:33:35 -05:00
gitea-actions[bot] cedf6808d2 chore(version): pre-release bump to 01.04.15-dev [skip ci] 2026-06-28 19:25:11 +00:00
gitea-actions[bot] 36ce686ae1 chore(version): auto-bump patch 01.04.14-dev [skip ci] 2026-06-28 19:24:54 +00:00
gitea-actions[bot] 42ffb4b46c chore(version): pre-release bump to 01.04.13-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 5s
2026-06-28 18:56:12 +00:00
gitea-actions[bot] 2907e64641 chore(version): auto-bump patch 01.04.12-dev [skip ci] 2026-06-28 18:56:01 +00:00
jmiller b77054b769 fix: harden input handling and output safety (#79)
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 4s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Universal: Auto Version Bump / Version Bump (push) Successful in 11s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 11s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
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
Universal: PR Check / Report Issues (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
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
- canonical_url: sanitize via sanitizeUrl() (scheme allowlist) instead of
  bare trim() — closes stored-XSS via addHeadLink() on the public frontend
- AI endpoint: replace die('Invalid Token') with a clean event result,
  and strip_tags + truncate article_title to 200 chars before use
- SitemapBuilder: whitelist changefreq against the sitemap spec enum,
  intval() noindex IDs, strict in_array comparison
- MokoOG: log a WARNING when sitemap.xml write fails instead of ignoring it
2026-06-28 13:55:14 -05:00
gitea-actions[bot] 5afbc75f23 chore(version): pre-release bump to 01.04.11-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 28s
2026-06-28 08:07:44 +00:00
gitea-actions[bot] 7ef082a8de chore(version): pre-release bump to 01.04.10-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 5s
2026-06-28 08:07:24 +00:00
gitea-actions[bot] c65ef345ef chore(version): pre-release bump to 01.04.09-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 25s
2026-06-28 08:05:36 +00:00
gitea-actions[bot] 281e742b54 chore(version): pre-release bump to 01.04.08-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 8s
2026-06-23 18:28:10 +00:00
gitea-actions[bot] 8de243b181 chore(version): pre-release bump to 01.04.07-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 8s
2026-06-23 18:21:17 +00:00
gitea-actions[bot] 9793bd4031 chore(version): pre-release bump to 01.04.06-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 7s
2026-06-23 18:07:08 +00:00
gitea-actions[bot] cf783c6b83 chore(version): pre-release bump to 01.04.05-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 37s
2026-06-23 17:54:40 +00:00
gitea-actions[bot] bc6ce4397f chore(version): auto-bump patch 01.04.04-dev [skip ci] 2026-06-23 17:54:31 +00:00
Jonathan Miller 49d644566a feat: add custom schema, AI generation, XML sitemap, platform images
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
- Custom JSON-LD schema builder: per-article textarea for arbitrary
  structured data with JSON validation. Closes #70
- AI-powered meta generation: Generate with AI buttons for OG title
  and description, supports Claude and OpenAI APIs. Closes #71
- XML sitemap: auto-generates sitemap.xml on article save, respects
  noindex directives. Closes #72
- Per-platform image resizing: Twitter 1200x600, Pinterest 1000x1500,
  WhatsApp 400x400 alongside default Facebook 1200x630. Closes #74
- DB migration 01.05.00: adds custom_schema column
2026-06-23 12:54:01 -05:00
gitea-actions[bot] 7a38025b5e chore(version): pre-release bump to 01.04.03-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 7s
2026-06-23 17:20:08 +00:00
gitea-actions[bot] e530ca821e chore(version): auto-bump patch 01.04.02-dev [skip ci] 2026-06-23 17:19:49 +00:00
Jonathan Miller 872074cd5b feat: add FAQ, HowTo, Event, and Recipe JSON-LD schema types
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 23s
- FAQ: auto-detects h3/h4 + paragraph patterns, outputs FAQPage (#62)
- HowTo: auto-detects ordered lists, outputs HowTo with steps (#63)
- Event: per-article fields (dates, venue, tickets), event_data JSON
  column, outputs Event schema (#64)
- Recipe: per-article fields (times, ingredients, nutrition),
  recipe_data JSON column, outputs Recipe schema (#66)
- DB migration 01.04.00: adds event_data and recipe_data columns

Closes #62, closes #63, closes #64, closes #66
2026-06-23 12:19:37 -05:00
gitea-actions[bot] c871b7d30d chore(version): pre-release bump to 01.04.01-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 4s
2026-06-23 16:33:35 +00:00
gitea-actions[bot] 641eee753a chore(version): auto-bump patch 01.03.08-dev [skip ci] 2026-06-23 16:33:26 +00:00
Jonathan Miller 44d9daf3bc feat: add LocalBusiness JSON-LD schema type
Universal: Auto Version Bump / Version Bump (push) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
Adds configurable LocalBusiness structured data with address,
contact, geo coordinates, and opening hours. Enabled via plugin
parameters. Closes #65
2026-06-23 11:30:45 -05:00
Jonathan Miller aeea65423c feat: add VideoObject JSON-LD schema for video content
Outputs VideoObject structured data when an article has a video URL
set, enabling Google video rich results. Closes #67
2026-06-23 11:28:37 -05:00
gitea-actions[bot] e939e90733 chore(version): pre-release bump to 01.03.07-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 7s
2026-06-23 16:03:42 +00:00
gitea-actions[bot] d4c22ebdbf chore(version): auto-bump patch 01.03.06-dev [skip ci] 2026-06-23 16:03:32 +00:00
gitea-actions[bot] 07b296db61 chore(version): pre-release bump to 01.03.05-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 39s
2026-06-23 15:47:35 +00:00
gitea-actions[bot] 6a0ee812d8 chore(version): auto-bump patch 01.03.04-dev [skip ci] 2026-06-23 15:47:22 +00:00
Jonathan Miller fcfa6838e5 fix: address PR #82 review findings
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 14s
Universal: Auto Version Bump / Version Bump (push) Successful in 16s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 54s
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
Universal: PR Check / Report Issues (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
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
- Only emit og:video:secure_url for HTTPS URLs (review #1)
- Only emit og:video:width/height for direct files, not embeds (review #2)
- Add server-side http/https scheme validation on og_video save (review #3)
- Consolidate duplicate com_mokoshop product blocks into one (review #4)
- Fix stale com_virtuemart reference in SQL comment (review #5)
- Use COM_MOKOOG_* language keys in tag.xml instead of plugin keys (review #6)
2026-06-23 10:46:58 -05:00
gitea-actions[bot] 908e1d3e1b chore(version): pre-release bump to 01.03.03-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 29s
2026-06-23 15:37:27 +00:00
gitea-actions[bot] 9539bb44c2 chore(version): auto-bump patch 01.03.02-dev [skip ci] 2026-06-23 15:37:17 +00:00
Jonathan Miller 5b29690d34 feat: add og:video support and Pinterest rich pin tags
Universal: Auto Version Bump / Version Bump (push) Successful in 16s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
- Add og:video meta tags with per-article video URL field and auto
  MIME type detection for YouTube/Vimeo/direct files. Includes DB
  migration for og_video column. (closes #59)
- Add Pinterest rich pin tags: article:tag from Joomla content tags
  on article pages, product:availability from MokoSuiteShop stock
  quantity on product pages. (closes #60)
2026-06-23 10:36:04 -05:00
Jonathan Miller 881bb0a2ae feat: add fediverse:creator tag, character counters, LinkedIn preview
- Add fediverse:creator meta tag for Mastodon/Fediverse author
  attribution — first extension on any CMS to support this (closes #57)
- Add live character count indicators with green/yellow/red color
  coding on OG title, description, SEO title, and meta description
  fields in the article/menu editor (closes #58)
- Add LinkedIn social preview card alongside existing Facebook and
  Twitter/X previews in the editor (closes #61)
2026-06-23 10:36:04 -05:00
gitea-actions[bot] 7d1a939b6a chore(version): pre-release bump to 01.03.01-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 5s
2026-06-21 22:55:44 +00:00
gitea-actions[bot] 6a3f9c126e chore(version): auto-bump patch 01.02.04-dev [skip ci] 2026-06-21 22:55:32 +00:00
gitea-actions[bot] 20b62b95d8 chore(version): pre-release bump to 01.02.03-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 6s
2026-06-21 22:27:35 +00:00
gitea-actions[bot] 437a23cec2 chore(version): auto-bump patch 01.02.02-dev [skip ci] 2026-06-21 22:27:19 +00:00
gitea-actions[bot] b033cfe4e2 chore(version): pre-release bump to 01.02.01-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 4s
2026-06-21 22:22:24 +00:00
gitea-actions[bot] e86bb5906b chore(version): auto-bump patch 01.01.02-dev [skip ci] 2026-06-21 22:22:14 +00:00
gitea-actions[bot] 549a3b5599 chore(version): pre-release bump to 01.01.01-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 26s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 25s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2m51s
2026-06-21 22:00:50 +00:00
gitea-actions[bot] 19e177f1a4 chore(version): auto-bump patch 01.00.09-dev [skip ci] 2026-06-21 22:00:38 +00:00
gitea-actions[bot] dfd0fef3b8 chore(version): pre-release bump to 01.00.08-dev [skip ci] 2026-06-21 21:43:08 +00:00
Jonathan Miller 26328d530e Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteOpenGraph into dev
Generic: Repo Health / Access control (push) Successful in 2s
Generic: Repo Health / Site Health (push) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 6s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 12s
Universal: PR Check / Validate PR (pull_request) Successful in 11s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Security Audit / Dependency Audit (pull_request) Successful in 4s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (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
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (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
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-21 16:42:56 -05:00
Jonathan Miller 77da0c5517 fix: remove remaining @ suppression, check Folder::create() returns
- Remove @getimagesize() suppression in ImageHelper, ImageGenerator,
  MokoOG — let PHP report warnings for corrupt/unreadable images
- Add Log::add() when ImageHelper::resize() cannot read image dimensions
- Check Folder::create() return value in ImageGenerator and ImageHelper,
  return graceful fallback if directory creation fails
2026-06-21 16:42:54 -05:00
gitea-actions[bot] 6a928f856f chore(version): pre-release bump to 01.00.07-dev [skip ci] 2026-06-21 21:26:34 +00:00
Jonathan Miller fa75b7d9c4 Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteOpenGraph into dev
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 8s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 7s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Security Audit / Dependency Audit (pull_request) Successful in 4s
Universal: PR Check / Validate PR (pull_request) Successful in 25s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (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
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (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
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-21 16:26:18 -05:00
Jonathan Miller 46e30c950b fix: address PR review findings — error handling and data integrity
- Add missing language field to batch-generated records
- Wrap batch insert in try-catch to handle duplicate key races
- Add logging to all empty catch blocks (script.php, MokoOG license check)
- Guard loadShopProduct() with try-catch for missing MokoSuiteShop tables
- Guard reviews query in JsonLdBuilder for missing #__mokoshop_reviews
2026-06-21 16:26:13 -05:00