refactor(divi): DiviTab geht im Reiter „Compatibility“ auf

Der eigene Divi-Reiter entfällt. DiviAdminExtras behält Admin-Hinweis, Orphan-Bereinigung vor der Ausgabe (lit_mcp_compat_profile_load), Hinweis zum nächsten Schritt und zur privaten Testseite (lit_mcp_compat_profile_intro), Zustandstexte mit Quelle (lit_mcp_compat_explanation), Automatik-Notiz und Visual-Builder-Hinweis (lit_mcp_compat_profile_extra) sowie die Spalten Quelle, Probleme und Betroffene Tools über die neue, gegen fehlerhafte Callbacks abgesicherte Erweiterung lit_mcp_compat_capability_columns. Texte, Doku, CSS (lit-mcp-compat-*) und Smoke auf den neuen Reiter umgestellt, tote divi_*-Hinweise entfernt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Jan-Niclas Loosen
2026-11-06 13:32:29 +01:00
co-authored by Claude Opus 5.5
parent 85f4138b36
commit b40b81f585
23 changed files with 1020 additions and 1284 deletions
+6 -9
View File
@@ -8,13 +8,12 @@ use Closure;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\ToolAvailability;
use LIT\MCP\Admin\CheckRoute;
use LIT\MCP\Admin\SettingsPage;
use LIT\MCP\ChangeLog\ChangeLog;
use LIT\MCP\Compatibility\CompatibilityCheck;
use LIT\MCP\Compatibility\Profile;
use LIT\MCP\Compatibility\ProvidesCompatibility;
use LIT\MCP\Integrations\Bootable;
use LIT\MCP\Integrations\Divi\Admin\DiviTab;
use LIT\MCP\Integrations\Divi\Admin\DiviAdminExtras;
use LIT\MCP\Integrations\Divi\Cli\DiviCheckCommand;
use LIT\MCP\Integrations\Divi\BlockTree\Parser;
use LIT\MCP\Integrations\Divi\Design\ColorRestorePlanner;
@@ -227,7 +226,7 @@ final class DiviIntegration implements Integration, Bootable, ProvidesCompatibil
return [new DiviLogoUsage()];
}
/** Which tools each Divi feature affects – for lit-site-status and the Divi tab (E3). */
/** Which tools each Divi feature affects – for lit-site-status and the tab "Compatibility" (E3). */
public function featureOverview(): FeatureOverview
{
return new FeatureOverview($this->allAbilities ?? static fn (): array => []);
@@ -250,8 +249,8 @@ final class DiviIntegration implements Integration, Bootable, ProvidesCompatibil
/**
* Divi's own boot steps, registered whether or not Divi is loaded yet (Bootable): a theme update checks the
* fingerprints again at once (spec §5.4), the admin check as REST route and WP-CLI command (spec §6, §7) and
* the tab "Divi" after the plugin's own tabs.
* fingerprints again at once (spec §5.4), the WP-CLI command (spec §7) and the Divi additions to the admin tab
* "Compatibility" (spec §6; the check route itself is generic, Admin\CheckRoute).
*/
public function boot(): void
{
@@ -273,10 +272,8 @@ final class DiviIntegration implements Integration, Bootable, ProvidesCompatibil
$profile = $this->profile();
DiviCheckCommand::register(static fn (): CompatibilityCheck => CompatibilityCheck::forProfile($profile));
add_filter(
SettingsPage::TABS_FILTER,
fn (array $tabs): array => [...$tabs, new DiviTab(log: $this->log, overview: $this->featureOverview())]
);
// No tab of its own: notice, orphan cleanup, columns and notes join the tab "Compatibility".
(new DiviAdminExtras($this->featureOverview()))->register();
}
public function abilities(): array