PluginProbe
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN / 1.3.7
xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN v1.3.7
1.3.7 1.3.6 1.3.5 1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.4 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 All 33 releases
← All changes | includes/class-admin.php +17 -1 1.3.1 → 1.3.7 View file →
@@ -551,9 +551,18 @@
551 551 // /status block so the dashboard callout renders on first paint
552 552 // without waiting for a status re-fetch.
553 553 'mobile_separate' => array(
554 554 'enabled' => (bool) ( $opts['cache_enabled'] ? ( Settings_Manager::get( 'cache' )['mobile_separate'] ?? false ) : false ),
555 - 'blocking' => $rewrite_capable && 'mobile_separate' === Cache::static_rewrite_block_reason(),
555 + // Gated to servers that HAVE a static fast path — on IIS or
556 + // an undetected server block_reason still falls through to
557 + // mobile_separate, and reporting that as "blocking" would
558 + // nag about a rewrite that does not exist there (#108).
559 + // LiteSpeed joined the capable set with the Static Fast
560 + // Path opt-in (#509); its own refusal (litespeed_dropin)
561 + // outranks mobile_separate, so this stays false there
562 + // until the opt-in is on.
563 + 'blocking' => ( $rewrite_capable || Server::LITESPEED === $server_type )
564 + && 'mobile_separate' === Cache::static_rewrite_block_reason(),
556 565 'needs_review' => Cache::mobile_separate_needs_review(),
557 566 ),
558 567 // One consolidated nginx server-block snippet aggregating
559 568 // every enabled module's directives (Cache static-rewrite,
@@ -656,8 +665,15 @@
656 665 'active_reason' => $module->active_reason(),
657 666 'label' => $meta['label'] ?? ucfirst( $slug ),
658 667 'icon' => $meta['icon'] ?? 'Square',
659 668 'description' => $meta['description'] ?? '',
669 + // The dashboard group the module belongs to (cache, performance,
670 + // network, insights, tools, ai-agents, settings), declared by the
671 + // module itself. The Hub kept its own copy of this map, so every
672 + // new module landed in its "Other" bucket until the Hub shipped.
673 + // Must agree with src/components/sidebarGroups.ts; a unit test
674 + // holds the two together.
675 + 'group' => $meta['group'] ?? null,
660 676 // Short label for the module's own tab when it hosts a tabbed
661 677 // page (FBS-83633). Only set on host modules.
662 678 'tab_label' => $meta['tab_label'] ?? null,
663 679 // Public view: real values except secret fields, which are masked.