Files
MokoSuiteSupport/CHANGELOG.md
T
jmiller 471e0a7cc9
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
fix: honest install success for MokoSuiteSupport package installer
The package postflight showed the "license key required" next-steps
message even when a bundled child extension failed to install. Joomla
only logs a failed sub-install but still runs postflight.

Add missingChildExtensions(): verify every <file> declared in the
package manifest actually landed in #__extensions (plugins match on
element+type+folder with plg_<group>_ prefix stripping; component
matches element+type). Gate the license message on it and enqueue an
error listing any missing children. Fails open so a query/IO glitch
never turns a good install into a false failure.

Claude-Session: https://claude.ai/code/session_01B9aZHSWbiiZykJD88pYx8R
2026-07-06 11:14:26 -05:00

1.9 KiB

Changelog — MokoSuiteSupport

[Unreleased]

Added

  • Package Manifestpkg_mokosuitesupport.xml with dlid and updateservers
  • Plugin Manifestmokosuitesupport.xml with config fieldsets (chat widget, channels)
  • Extension ClassSupport.php with onBeforeRender chat widget injection hook
  • Services Provider — DI container registration for system plugin
  • SQL Install — 4 tables: conversations, messages, agents, canned_responses
  • SQL Uninstall — reverse-dependency drop order
  • Language Files — en-GB .ini and .sys.ini
  • ConversationHelper — create, message, unified inbox, assign, close with CSAT
  • AgentHelper — availability check, auto-assign (least-busy), performance metrics
  • CannedResponseHelper — quick replies, keyword search, category management
  • WebhookChannelHelper — Facebook + WhatsApp inbound processing, conversation continuity
  • CsatHelper — CSAT scoring, by-channel breakdown, weekly trend
  • Wiki — Home, guides/Installation, reference/Helpers
  • README — channel overview
  • CLAUDE.md — repo-specific with channels, key patterns

Fixed

  • Installer — honest install success: the package postflight now verifies every bundled child extension (component + system plugin) actually landed in #__extensions before showing the license/next-steps message, and enqueues an error listing any missing ones instead. Fails open so a transient query/IO glitch never fakes a failure.
  • WebhookChannelHelper — conversation race condition on concurrent webhooks (FOR UPDATE transaction)

Removed

  • Makefile — template artifact, not used for Joomla packages

Security

  • Review #19: 1 critical fix applied