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/modules/Support/SupportModule.php +27 -6 1.0.7 → 1.3.7 View file →
@@ -20,16 +20,17 @@
20 20 final class SupportModule extends Module {
21 21
22 22 public const SLUG = 'support';
23 23 public const TIER = self::TIER_FREE;
24 - public const VERSION = '1.0.0';
24 + public const VERSION = '1.1.0';
25 25
26 26 public function ui_metadata(): array {
27 27 return array(
28 - 'label' => 'Help & Support',
28 + 'label' => __( 'Help & Support', 'xspeed' ),
29 29 'icon' => 'LifeBuoy',
30 - 'description' => 'Open a support ticket with a one-click system snapshot already attached.',
30 + 'description' => __( 'Open a support ticket with a one-click system snapshot already attached.', 'xspeed' ),
31 31 'custom_panel' => 'SupportPanel',
32 + 'group' => 'settings',
32 33 );
33 34 }
34 35
35 36 public function settings_schema(): array {
@@ -35,15 +36,34 @@
35 36 public function settings_schema(): array {
36 37 return array(
37 38 'support_url' => array(
38 39 'type' => 'string',
39 - 'default' => 'https://wpdeveloper.com/support',
40 - 'label' => 'Support URL',
41 - 'description' => 'Where the "Open ticket" button takes the user.',
40 + 'default' => 'https://xspeedcache.com/support/',
41 + 'label' => __( 'Support URL', 'xspeed' ),
42 + 'description' => __( 'The page the "Open ticket" button opens. Leave the default to reach xSpeed support.', 'xspeed' ),
43 + 'advanced' => true,
42 44 ),
43 45 );
44 46 }
45 47
48 + /**
49 + * The ticket link moved to the dedicated xSpeed support page (#414). A
50 + * site that persisted the old default keeps it in its options row, so the
51 + * new default alone would not reach it — rewrite exactly the old default
52 + * and leave any genuinely custom URL alone.
53 + */
54 + public function migrations(): array {
55 + return array(
56 + '1.1.0' => static function ( array $opts ): array {
57 + $stored = isset( $opts['support_url'] ) ? untrailingslashit( trim( (string) $opts['support_url'] ) ) : '';
58 + if ( 'https://wpdeveloper.com/support' === $stored ) {
59 + $opts['support_url'] = 'https://xspeedcache.com/support/';
60 + }
61 + return $opts;
62 + },
63 + );
64 + }
65 +
46 66 public function rest_routes(): array {
47 67 $default = parent::rest_routes();
48 68 return array_merge(
49 69 $default,
@@ -72,8 +92,9 @@
72 92 array(
73 93 'name' => 'xspeed support',
74 94 'callback' => array( $this, 'cli_handler' ),
75 95 'shortdesc' => 'Print the support snapshot.',
96 + 'ai_hint' => 'Generate a diagnostic snapshot (environment, settings, active plugins, recent errors) to attach to a support request. Use when a problem needs escalating and the user is asked for their configuration.',
76 97 'synopsis' => array(),
77 98 ),
78 99 );
79 100 }