feat: add install verification for failed sub-extensions #38

Open
jmiller wants to merge 2 commits from feat/install-verification into dev
Owner

Summary

  • Add post-install verification that checks all expected sub-extensions (component, plugins) registered in #__extensions
  • If any sub-extension failed to install, disables the package entry and shows a clear error message listing what's missing
  • Prevents a partially-installed package from appearing functional

Test plan

  • Install package normally — verify no error shown, package enabled
  • Simulate a failed plugin install — verify error message lists missing extension and package is disabled

https://claude.ai/code/session_01CwLGvFJPjoPTp9BEnSjtJf

## Summary - Add post-install verification that checks all expected sub-extensions (component, plugins) registered in `#__extensions` - If any sub-extension failed to install, disables the package entry and shows a clear error message listing what's missing - Prevents a partially-installed package from appearing functional ## Test plan - [ ] Install package normally — verify no error shown, package enabled - [ ] Simulate a failed plugin install — verify error message lists missing extension and package is disabled https://claude.ai/code/session_01CwLGvFJPjoPTp9BEnSjtJf
jmiller added 1 commit 2026-07-06 03:30:36 +00:00
feat: add post-install verification to detect failed sub-extensions
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Universal: PR Check / Validate PR (pull_request) Failing after 5s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 9s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
3396766c02
Checks that all expected component and plugins registered in
#__extensions after install. Disables the package entry and shows
an error if any sub-extension failed to install.

Claude-Session: https://claude.ai/code/session_01CwLGvFJPjoPTp9BEnSjtJf
jmiller added 1 commit 2026-07-06 15:47:27 +00:00
refactor(installer): replace hardcoded extension list with dynamic manifest verification
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 47s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
d38934c475
Read package manifest via $adapter->getParent()->getManifest() to discover
children dynamically instead of maintaining a hardcoded EXPECTED_EXTENSIONS
array. Fail-open pattern wraps verification in try/catch. Only the success
path (plugin enables, license warning) is gated; unconditional housekeeping
(DLID restore) runs regardless.

Claude-Session: https://claude.ai/code/session_01CwLGvFJPjoPTp9BEnSjtJf
Some required checks failed
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 47s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
This pull request has changes conflicting with the target branch.
  • source/script.php
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/install-verification:feat/install-verification
git checkout feat/install-verification
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/MokoSuiteNPO#38