generated from MokoConsulting/Template-Joomla
471e0a7cc9
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
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
1.9 KiB
1.9 KiB
Changelog — MokoSuiteSupport
[Unreleased]
Added
- Package Manifest —
pkg_mokosuitesupport.xmlwith dlid and updateservers - Plugin Manifest —
mokosuitesupport.xmlwith config fieldsets (chat widget, channels) - Extension Class —
Support.phpwithonBeforeRenderchat 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
#__extensionsbefore 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