Release: dev -> main #263

Merged
jmiller merged 39 commits from dev into main 2026-07-13 09:37:10 +00:00
Owner

Roll up dev to main.

Roll up dev to main.
jmiller added 39 commits 2026-07-13 09:36:53 +00:00
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
f5fdd59e05
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
6e6cd7bb1c
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
a9438c733e
fix: resolve 10 critical/medium bugs from deep dive audit
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
d6848e6b90
- deleteFromPlatforms(): use CredentialHelper::decrypt() + Joomla 6
  dispatcher pattern instead of json_decode + deprecated triggerEvent (#226, #228)
- PostsController: add ACL checks on retryFailed/purgePosted (#224)
- QueueProcessor: recover stale posting entries stuck >10min (#235)
- onContentChangeState: respect post_on_first_publish_only (#238)
- Uninstall SQL: add analytics + category_rules table drops (#225)
- Dashboard/Calendar: remove deprecated Sidebar::render() (#250)
- AnalyticsHelper: rewrite AJAX endpoints to query posts table (#246)
- Submenu helper: remove duplicate calendar key (#248)
- CHANGELOG: remove 3 duplicate version headers (#240)

Authored-by: Moko Consulting

Claude-Session: https://claude.ai/code/session_014iwLv3vUVsSxP8LyZ6STTj
fix(installer): verify install success before showing success
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 30s
60a9d81e22
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
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
e7b0cf15cc
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
e5ed21ca68
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
67dfe6be99
Claude-Session: https://claude.ai/code/session_01B9aZHSWbiiZykJD88pYx8R
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
0674332343
Claude-Session: https://claude.ai/code/session_01B9aZHSWbiiZykJD88pYx8R
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
bbd7914efa
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
314075de0f
Merge remote-tracking branch 'origin/main' into chore/cascade-main-to-dev
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 4s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (pull_request) Successful in 19s
Generic: Project CI / Tests (pull_request) Failing after 31s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 32s
Universal: PR Check / Validate PR (pull_request) Failing after 37s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
a209af3236
# Conflicts:
#	.mokogitea/workflows/issue-branch.yml
#	CODE_OF_CONDUCT.md
#	GOVERNANCE.md
#	README.md
#	SECURITY.md
#	source/packages/com_mokosuitecross/mokosuitecross.xml
#	source/packages/plg_content_mokosuitecross/mokosuitecross.xml
#	source/packages/plg_mokosuitecross_activitypub/activitypub.xml
#	source/packages/plg_mokosuitecross_blogger/blogger.xml
#	source/packages/plg_mokosuitecross_bluesky/bluesky.xml
#	source/packages/plg_mokosuitecross_brevo/brevo.xml
#	source/packages/plg_mokosuitecross_constantcontact/constantcontact.xml
#	source/packages/plg_mokosuitecross_convertkit/convertkit.xml
#	source/packages/plg_mokosuitecross_devto/devto.xml
#	source/packages/plg_mokosuitecross_discord/discord.xml
#	source/packages/plg_mokosuitecross_facebook/facebook.xml
#	source/packages/plg_mokosuitecross_ghost/ghost.xml
#	source/packages/plg_mokosuitecross_googlebusiness/googlebusiness.xml
#	source/packages/plg_mokosuitecross_googlechat/googlechat.xml
#	source/packages/plg_mokosuitecross_hashnode/hashnode.xml
#	source/packages/plg_mokosuitecross_instagram/instagram.xml
#	source/packages/plg_mokosuitecross_linkedin/linkedin.xml
#	source/packages/plg_mokosuitecross_mailchimp/mailchimp.xml
#	source/packages/plg_mokosuitecross_mastodon/mastodon.xml
#	source/packages/plg_mokosuitecross_matrix/matrix.xml
#	source/packages/plg_mokosuitecross_medium/medium.xml
#	source/packages/plg_mokosuitecross_mokosuitecalendar/mokosuitecalendar.xml
#	source/packages/plg_mokosuitecross_mokosuitegallery/mokosuitegallery.xml
#	source/packages/plg_mokosuitecross_nostr/nostr.xml
#	source/packages/plg_mokosuitecross_ntfy/ntfy.xml
#	source/packages/plg_mokosuitecross_pinterest/pinterest.xml
#	source/packages/plg_mokosuitecross_reddit/reddit.xml
#	source/packages/plg_mokosuitecross_rssfeed/rssfeed.xml
#	source/packages/plg_mokosuitecross_sendgrid/sendgrid.xml
#	source/packages/plg_mokosuitecross_slack/slack.xml
#	source/packages/plg_mokosuitecross_teams/teams.xml
#	source/packages/plg_mokosuitecross_telegram/telegram.xml
#	source/packages/plg_mokosuitecross_threads/threads.xml
#	source/packages/plg_mokosuitecross_tiktok/tiktok.xml
#	source/packages/plg_mokosuitecross_tumblr/tumblr.xml
#	source/packages/plg_mokosuitecross_twitter/twitter.xml
#	source/packages/plg_mokosuitecross_webhook/webhook.xml
#	source/packages/plg_mokosuitecross_whatsapp/whatsapp.xml
#	source/packages/plg_mokosuitecross_wordpress/wordpress.xml
#	source/packages/plg_mokosuitecross_youtube/youtube.xml
#	source/packages/plg_system_mokosuitecross/mokosuitecross.xml
#	source/packages/plg_system_mokosuitecross_events/mokosuitecross_events.xml
#	source/packages/plg_system_mokosuitecross_gallery/mokosuitecross_gallery.xml
#	source/packages/plg_task_mokosuitecross/mokosuitecross.xml
#	source/packages/plg_webservices_mokosuitecross/mokosuitecross.xml
#	source/pkg_mokosuitecross.xml
Merge pull request 'chore(sync): cascade main -> dev (conflict-resolved)' (#259) from chore/cascade-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 11s
a022b50cd2
Merge remote-tracking branch 'origin/dev' into pr252
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: PR Check / Secret Scan (pull_request) Successful in 5s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Failing after 4s
Generic: Project CI / Lint & Validate (pull_request) Successful in 18s
Generic: Project CI / Tests (pull_request) Failing after 24s
Universal: PR Check / Validate PR (pull_request) Failing after 28s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 31s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
cf12fee0f9
# Conflicts:
#	.mokogitea/workflows/issue-branch.yml
#	CHANGELOG.md
#	CODE_OF_CONDUCT.md
#	GOVERNANCE.md
#	README.md
#	SECURITY.md
#	source/packages/com_mokosuitecross/mokosuitecross.xml
#	source/packages/plg_content_mokosuitecross/mokosuitecross.xml
#	source/packages/plg_mokosuitecross_activitypub/activitypub.xml
#	source/packages/plg_mokosuitecross_blogger/blogger.xml
#	source/packages/plg_mokosuitecross_bluesky/bluesky.xml
#	source/packages/plg_mokosuitecross_brevo/brevo.xml
#	source/packages/plg_mokosuitecross_constantcontact/constantcontact.xml
#	source/packages/plg_mokosuitecross_convertkit/convertkit.xml
#	source/packages/plg_mokosuitecross_devto/devto.xml
#	source/packages/plg_mokosuitecross_discord/discord.xml
#	source/packages/plg_mokosuitecross_facebook/facebook.xml
#	source/packages/plg_mokosuitecross_ghost/ghost.xml
#	source/packages/plg_mokosuitecross_googlebusiness/googlebusiness.xml
#	source/packages/plg_mokosuitecross_googlechat/googlechat.xml
#	source/packages/plg_mokosuitecross_hashnode/hashnode.xml
#	source/packages/plg_mokosuitecross_instagram/instagram.xml
#	source/packages/plg_mokosuitecross_linkedin/linkedin.xml
#	source/packages/plg_mokosuitecross_mailchimp/mailchimp.xml
#	source/packages/plg_mokosuitecross_mastodon/mastodon.xml
#	source/packages/plg_mokosuitecross_matrix/matrix.xml
#	source/packages/plg_mokosuitecross_medium/medium.xml
#	source/packages/plg_mokosuitecross_mokosuitecalendar/mokosuitecalendar.xml
#	source/packages/plg_mokosuitecross_mokosuitegallery/mokosuitegallery.xml
#	source/packages/plg_mokosuitecross_nostr/nostr.xml
#	source/packages/plg_mokosuitecross_ntfy/ntfy.xml
#	source/packages/plg_mokosuitecross_pinterest/pinterest.xml
#	source/packages/plg_mokosuitecross_reddit/reddit.xml
#	source/packages/plg_mokosuitecross_rssfeed/rssfeed.xml
#	source/packages/plg_mokosuitecross_sendgrid/sendgrid.xml
#	source/packages/plg_mokosuitecross_slack/slack.xml
#	source/packages/plg_mokosuitecross_teams/teams.xml
#	source/packages/plg_mokosuitecross_telegram/telegram.xml
#	source/packages/plg_mokosuitecross_threads/threads.xml
#	source/packages/plg_mokosuitecross_tiktok/tiktok.xml
#	source/packages/plg_mokosuitecross_tumblr/tumblr.xml
#	source/packages/plg_mokosuitecross_twitter/twitter.xml
#	source/packages/plg_mokosuitecross_webhook/webhook.xml
#	source/packages/plg_mokosuitecross_whatsapp/whatsapp.xml
#	source/packages/plg_mokosuitecross_wordpress/wordpress.xml
#	source/packages/plg_mokosuitecross_youtube/youtube.xml
#	source/packages/plg_system_mokosuitecross/mokosuitecross.xml
#	source/packages/plg_system_mokosuitecross_events/mokosuitecross_events.xml
#	source/packages/plg_system_mokosuitecross_gallery/mokosuitecross_gallery.xml
#	source/packages/plg_task_mokosuitecross/mokosuitecross.xml
#	source/packages/plg_webservices_mokosuitecross/mokosuitecross.xml
#	source/pkg_mokosuitecross.xml
Merge pull request 'fix: deep-dive critical/medium bug fixes (reconciled with dev)' (#260) from chore/deep-dive-fixes-rebased 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
c651a838bc
docs(changelog): note admin menu short-name constant (#255)
Generic: Project CI / Lint & Validate (pull_request) Has been cancelled
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Has been cancelled
Universal: PR Check / Require Docs Update (pull_request) Has been cancelled
Universal: PR Check / Wiki Update Reminder (pull_request) Has been cancelled
Universal: PR Check / Secret Scan (pull_request) Has been cancelled
Universal: PR Check / Validate PR (pull_request) Has been cancelled
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Has been cancelled
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
RC Revert / Rename rc/ back to dev/ (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
dfd64b01ee
Claude-Session: https://claude.ai/code/session_01B9aZHSWbiiZykJD88pYx8R
Merge pull request 'docs(changelog): note admin menu short-name constant' (#261) from jmiller/changelog-short-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 9s
2c8cd7535b
chore: align composer.json to Joomla 6 / PHP 8.3
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
e4031273e1
chore: align CLAUDE.md to Joomla 6 / PHP 8.3
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
b44b1f4b7e
chore: align .mokogitea/CLAUDE.md to Joomla 6 / PHP 8.3
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
Generic: Project CI / Tests (pull_request) Failing after 7s
Generic: Project CI / Lint & Validate (pull_request) Successful in 16s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 4s
Universal: PR Check / Validate PR (pull_request) Failing after 13s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 8s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
c90d317505
chore(version): pre-release bump to 01.13.17-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
adf97d97e0
Merge pull request 'chore: align to Joomla 6 / PHP 8.3' (#262) from fix/joomla6-php83 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 11s
9e1169b5ce
chore(sync): CI notify retry + JEXEC whole-file scan from Template-Generic
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
38603e15f1
chore(sync): CI notify retry + JEXEC whole-file scan from Template-Generic
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 14s
bcaa15d96e
chore(version): pre-release bump to 01.13.21-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: Workflow Sync Trigger / Sync workflows to live repos (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 17s
a517034085
jmiller merged commit 5089abbff5 into main 2026-07-13 09:37:10 +00:00
Sign in to join this conversation.
No Reviewers
Priority -
Type -
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteCross#263