feat: Implement Intelligent Plugin Conflict Detector WordPress plugin #3835
Cross-repo impact
See what breaks downstream if this PR merges.
⮌ Merged
This pull request was merged into main.
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts
Originally written by @Copilot on GitHub.
Imported from https://github.com/ccantynz-alt/Intelligent-Plugin-Conflict-Detector/pull/1
WooCommerce store owners waste hours manually deactivating plugins one-by-one after updates break their sites. This plugin provides automated background conflict detection, safe snapshot-based state management, and one-click rollback.
Architecture
Core classes (
includes/)IPCD_Plugin_State_Manager— captures/restores active plugin list snapshots to a custom DB table; auto-triggered on every plugin activate/updateIPCD_Conflict_Detector— records conflicts (HTTP 5xx probes + PHP error log scan) with three severity levels; stores up to 200 records in a WP optionIPCD_Background_Tester— WP-Cron queue processor; fires immediately on plugin change and on a configurable interval (default 6h); each run probes home URL + admin health endpointIPCD_Rollback_Manager— restores any snapshot with a pre-rollback safety snapshot auto-created first, making every rollback itself reversibleIPCD_Notification_Manager— admin notice queue + optional email alerts on conflict detectionAdmin UI (
admin/)Hooks for extensibility
// React to a newly recorded conflict add_action( 'ipcd_conflict_recorded', function( array $conflict, string $id ) { ... }, 10, 2 ); // React after a successful rollback add_action( 'ipcd_rollback_complete', function( string $snapshot_id, string $pre_rollback_id ) { ... }, 10, 2 );Tests
21 PHPUnit unit tests across all four core classes using Brain\Monkey to mock WP functions — no live WordPress installation required.
Original prompt