410 Commits

Author SHA1 Message Date
gitea-actions[bot] 7309c76fe7 chore(version): pre-release bump to 01.13.11-dev [skip ci] development 2026-07-07 10:16:22 +00:00
jmiller 314075de0f Merge pull request 'feat(menu): admin menu short-name constant COM_MOKOSUITECROSS_SHORT (#255)' (#258) from fix/short-menu-constant 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 10s
2026-07-07 10:15:16 +00:00
gitea-actions[bot] bbd7914efa chore(version): pre-release bump to 01.13.10-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
2026-07-06 22:43:21 +00:00
gitea-actions[bot] 52ebb5d023 chore(version): pre-release bump to 01.13.09-dev [skip ci] 2026-07-06 22:42:13 +00:00
gitea-actions[bot] b46b119dcc chore(version): pre-release bump to 01.13.08-dev [skip ci] 2026-07-06 22:41:10 +00:00
jmiller 0674332343 feat(menu): use COM_MOKOSUITECROSS_SHORT for admin menu label (#255)
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 11s
Generic: Project CI / Lint & Validate (pull_request) Successful in 31s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 17s
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
Claude-Session: https://claude.ai/code/session_01B9aZHSWbiiZykJD88pYx8R
2026-07-06 22:39:39 +00:00
jmiller 67dfe6be99 feat(menu): add COM_MOKOSUITECROSS_SHORT short-name constant (#255)
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
Claude-Session: https://claude.ai/code/session_01B9aZHSWbiiZykJD88pYx8R
2026-07-06 22:37:52 +00:00
jmiller e5ed21ca68 Merge pull request 'fix(installer): verify install success before showing success' (#256) from fix/installer-success-detection 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 12s
2026-07-06 16:15:35 +00:00
gitea-actions[bot] e7b0cf15cc chore(version): pre-release bump to 01.13.06-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
2026-07-06 03:56:08 +00:00
jmiller 60a9d81e22 fix(installer): verify install success before showing success
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 30s
Gate the success/license path in both installer scripts so a partial
install can no longer report success.

- Package script (pkg_mokosuitecross): add missingChildExtensions(),
  which reads the package manifest via getParent()->getManifest() and
  verifies each declared <file> child is registered in #__extensions
  (matching element+type, plus folder=group for plugins). If any are
  missing, enqueue an error and return before warnMissingLicenseKey().
  Housekeeping (download-key restore, core-plugin enable, PerfectPublisher
  migration detection) still runs unconditionally.
- Component script (com_mokosuitecross): postflight was empty. Add
  missingTables(), which parses the installed sql/install.mysql.sql for
  every CREATE TABLE and verifies each exists (prefix-substituted,
  case-insensitive). On any missing tables, enqueue an error and return
  before the success message; otherwise show install-success/license notice.

Both checks fail open (try/catch returning []/true) so a glitch never turns
a good install into a false failure. Extension names are htmlspecialchars'd.

Claude-Session: https://claude.ai/code/session_01MrxXW9iyuDda5yDZrjZMbF
2026-07-05 22:55:42 -05:00
gitea-actions[bot] 6970e888f5 chore(version): pre-release bump to 01.13.03-dev [skip ci] 2026-06-29 15:22:28 +00:00
gitea-actions[bot] 34de7cd2fc chore(version): auto-bump patch 01.13.02-dev [skip ci] 2026-06-29 15:22:11 +00:00
jmiller a9438c733e chore: migrate update server URLs to MokoGitea
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 22s
2026-06-29 15:21:51 +00:00
gitea-actions[bot] 6e6cd7bb1c chore(version): pre-release bump to 01.13.01-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 1s
2026-06-29 15:14:25 +00:00
jmiller f5fdd59e05 chore: migrate update server URLs to MokoGitea
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 9s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Generic: Project CI / Lint & Validate (pull_request) Successful in 27s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 21s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 59s
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
2026-06-29 15:13:14 +00:00
gitea-actions[bot] 423f2f4cce chore(version): pre-release bump to 01.12.06-dev [skip ci] 2026-06-29 11:40:17 +00:00
jmiller 32bff8e7be Merge pull request 'fix: calendar completeness — submenu entries and language strings' (#216) from fix/changelog-security-readme 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 14s
2026-06-29 11:40:02 +00:00
gitea-actions[bot] 08a898cd7e chore(version): pre-release bump to 01.08.59-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
2026-06-29 06:39:45 -05:00
gitea-actions[bot] 7de7cea10e chore(version): pre-release bump to 01.12.05-dev [skip ci] 2026-06-29 11:39:00 +00:00
jmiller dff90a26cf Merge pull request 'feat: visual post calendar with drag-drop rescheduling' (#215) from feature/160-visual-calendar 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
2026-06-29 11:38:39 +00:00
jmiller 0d49195f52 feat: add visual post calendar with drag-drop rescheduling (#160)
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 2s
Universal: Auto Version Bump / Version Bump (push) Successful in 13s
Generic: Project CI / Lint & Validate (pull_request) Successful in 50s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 52s
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
Authored-by: Moko Consulting
2026-06-29 06:37:56 -05:00
gitea-actions[bot] 9da83f1d40 chore(version): pre-release bump to 01.12.04-dev [skip ci] 2026-06-29 11:37:09 +00:00
jmiller 96261987de Merge pull request 'feat: best time to post analytics with engagement heatmap' (#214) from feature/165-best-time-analytics 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 15s
2026-06-29 11:36:44 +00:00
jmiller e702eb8d9e feat: add best time to post analytics with engagement heatmap (#165)
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Branch Cleanup / Delete merged branch (pull_request) Failing after 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Generic: Project CI / Lint & Validate (pull_request) Successful in 20s
Universal: Auto Version Bump / Version Bump (push) Successful in 11s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 40s
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
Authored-by: Moko Consulting
2026-06-29 06:36:07 -05:00
gitea-actions[bot] febaa856c5 chore(version): pre-release bump to 01.12.03-dev [skip ci] 2026-06-29 11:34:43 +00:00
jmiller acd8da441b Merge pull request 'feat: social image generator with GD text overlay' (#213) from feature/157-social-image-generator 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
2026-06-29 11:34:18 +00:00
jmiller 437189830f feat: add social image generator with GD text overlay (#157)
Universal: PR Check / Branch Policy (pull_request) Successful in 3s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 3s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: Auto Version Bump / Version Bump (push) Successful in 18s
Generic: Project CI / Lint & Validate (pull_request) Successful in 27s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 43s
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
Replace complex multi-platform compositing with simpler spec-compliant
implementation:
- SocialImageHelper: 1200x630 OG images with solid background, title
  overlay using TTF fonts (or GD fallback), and site name watermark
- SocialImageController: AJAX endpoint with CSRF + ACL checks
- Config: enabled toggle, bg/text color, font size, show site name
- Content plugin: Generate Social Image button in Share Content panel
- Saves to media/com_mokosuitecross/social/ with SHA-256 filename

Authored-by: Moko Consulting
2026-06-29 06:33:17 -05:00
jmiller 1aa58e1d8d feat: add social image generator with GD-based OG image compositing (#157)
Replace basic single-size OG image generation with full-featured
multi-platform social image compositing:

- Platform-specific canvas sizes: Facebook 1200x630, Twitter 1200x675,
  Instagram 1080x1080, Stories 1080x1920
- Vertical linear gradient fallback when no source image available
- Semi-transparent overlay with configurable color and opacity (0-100%)
- Logo placement in top-right corner, auto-scaled to 15% of canvas width
- TTF text rendering with word wrap and text shadow for readability
- GD bitmap font fallback when no TTF fonts are available
- Configurable text position: top, center, or bottom
- Output to images/mokosuitecross/{articleId}_{platform}.jpg
- Cache clearing per article via clearCache() method
- ImageController AJAX endpoint with platform parameter validation
- Full config fieldset: enabled toggle, overlay color/opacity,
  text color/position, gradient start/end, logo upload

Authored-by: Moko Consulting
2026-06-29 06:32:18 -05:00
gitea-actions[bot] 4810371bc0 chore(version): pre-release bump to 01.12.01-dev [skip ci] 2026-06-28 19:57:53 +00:00
jmiller 36c9867857 Merge pull request 'fix: sync main back to dev (CI templates, release commits)' (#212) from fix/sync-main-to-dev 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 15s
2026-06-28 19:57:36 +00:00
jmiller 657e5b2091 chore: sync issue-branch.yml from Template-Generic [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
2026-06-28 19:39:16 +00:00
gitea-actions[bot] eda0d222ed chore: promote changelog [Unreleased] → [01.12.00] 2026-06-28 19:37:02 +00:00
gitea-actions[bot] 1627841983 chore(release): build 01.12.00 [skip ci] 2026-06-28 19:36:58 +00:00
jmiller b8ebd8a5fd Merge pull request 'release: v01.11.01 -- Joomla 6 event fix + docs update' (#211) from release/v01.11.01 into main 2026-06-28 19:36:39 +00:00
jmiller 488f4df65a merge: resolve dev/main divergence for v01.11.01 release
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 3s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
Generic: Project CI / Lint & Validate (pull_request) Successful in 26s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 24s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 56s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 9m27s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 21m47s
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
Authored-by: Moko Consulting
2026-06-28 14:33:40 -05:00
gitea-actions[bot] 96f789dcec chore(version): pre-release bump to 01.11.03-dev [skip ci] 2026-06-28 19:27:29 +00:00
jmiller 97619eea0c Merge pull request 'docs: Joomla 6 event fix changelog, update version target' (#209) from fix/joomla6-docs 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
2026-06-28 19:26:53 +00:00
jmiller c6ab0cc438 docs: add Joomla 6 event fix to changelog, update Joomla version target
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 11s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 6s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
- Add content plugin AfterSaveEvent fix to CHANGELOG under Fixed
- Update README to reflect Joomla 6 target (not 5/6)
- Replace em-dashes with ASCII dashes in CHANGELOG

Authored-by: Moko Consulting
2026-06-28 14:25:10 -05:00
gitea-actions[bot] a54b621f9d chore: promote changelog [Unreleased] → [01.11.00] 2026-06-28 18:49:03 +00:00
gitea-actions[bot] 84513a81a5 chore(release): build 01.11.00 [skip ci] 2026-06-28 18:49:00 +00:00
jmiller fceb3d5bf5 Merge pull request 'fix: Joomla 6 event type compatibility (hotfix)' (#208) from fix/joomla6-event-hotfix into main 2026-06-28 18:48:24 +00:00
jmiller 18e84fbcfe fix: remove Joomla 5-only event type hints for Joomla 6 compatibility
Universal: PR Check / Branch Policy (pull_request) Failing after 2s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Generic: Repo Health / Access control (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Failing after 2s
Generic: Project CI / Lint & Validate (pull_request) Successful in 19s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 5s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 42s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 18s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Successful in 5m40s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5m55s
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
Joomla 6 dispatches Model\AfterSaveEvent instead of Content\AfterSaveEvent.
Remove strict type hints on onContentAfterSave() and onContentChangeState()
to accept both Joomla 5 and 6 event objects.

Authored-by: Moko Consulting
2026-06-28 13:47:45 -05:00
gitea-actions[bot] c552a12a0e chore(version): pre-release bump to 01.11.02-dev [skip ci] 2026-06-28 18:47:14 +00:00
jmiller 133944620b Merge pull request 'fix: Joomla 6 event type compatibility in content plugin' (#207) from fix/joomla6-event-handlers 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 14s
2026-06-28 18:46:11 +00:00
gitea-actions[bot] ed5a143439 chore(version): pre-release bump to 01.11.01-dev [skip ci]
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 2s
2026-06-28 18:45:54 +00:00
jmiller c1fa8c816e fix: use typed Joomla 6 event parameters, remove legacy fallbacks
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
Joomla 6 dispatches Model\AfterSaveEvent and Model\ContentChangeStateEvent
instead of Content\AfterSaveEvent and Content\ContentChangeStateEvent.
Remove specific type hints to accept both Joomla 5 and 6 event objects.

Authored-by: Moko Consulting
2026-06-28 13:45:17 -05:00
jmiller 1617452a3f chore: sync issue-branch.yml from Template-Generic [skip ci] 2026-06-28 18:35:50 +00:00
gitea-actions[bot] 313035cfa2 chore: promote changelog [Unreleased] → [01.11.00] 2026-06-28 18:35:24 +00:00
gitea-actions[bot] a72028a1ad chore(release): build 01.11.00 [skip ci] 2026-06-28 18:35:20 +00:00
jmiller 24a40a4117 release: v01.08.00 -- AI captions, social images, calendar, analytics alpha beta 2026-06-28 18:33:18 +00:00