From 6bed85cca48437cdc02debd7467414368343065d Mon Sep 17 00:00:00 2001 From: David Smith Date: Thu, 13 Feb 2025 08:31:16 -0600 Subject: [PATCH] someday the rest check will work --- wp-admin/admin-ajax.php | 1 + wp-admin/includes/class-wp-debug-data.php | 23 +++++++++++++++++++ .../class-wp-rest-site-health-controller.php | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php index 3ad60f9576..2c18e9fc8d 100644 --- a/wp-admin/admin-ajax.php +++ b/wp-admin/admin-ajax.php @@ -136,6 +136,7 @@ $core_actions_post = array( 'wp-privacy-erase-personal-data', 'health-check-site-status-result', 'health-check-dotorg-communication', + 'health-check-alt-update-api-communication', 'health-check-is-in-debug-mode', 'health-check-background-updates', 'health-check-loopback-requests', diff --git a/wp-admin/includes/class-wp-debug-data.php b/wp-admin/includes/class-wp-debug-data.php index bc081cab51..30b05e1185 100644 --- a/wp-admin/includes/class-wp-debug-data.php +++ b/wp-admin/includes/class-wp-debug-data.php @@ -301,6 +301,29 @@ class WP_Debug_Data { 'debug' => true ); + if ( WP_UPDATE_API_DEFAULT !== wp_get_update_api_base()) { + $wp_update_api = wp_remote_get( wp_get_update_api_base(), array( 'timeout' => 10 ) ); + + if ( ! is_wp_error( $wp_update_api ) ) { + $fields['alt_update_api_communication'] = array( + 'label' => __( 'Communication with update API' ), + 'value' => __( 'Update API is reachable.' ), + 'debug' => 'true', + ); + } else { + $fields['alt_update_api_communication'] = array( + 'label' => __( 'Communication with update API' ), + 'value' => sprintf( + /* TODO translator note */ + __('Unable to reach %1$s: %2$s' ), + gethostbyname( parse_url( wp_get_update_api_base(), PHP_URL_HOST ) ), + $wp_update_api->get_error_message(), + ), + 'debug' => $wp_update_api->get_error_message(), + ); + } + } + return array( 'label' => __( 'WordPress' ), 'fields' => $fields, diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-site-health-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-site-health-controller.php index 361287764e..32a10d78d4 100644 --- a/wp-includes/rest-api/endpoints/class-wp-rest-site-health-controller.php +++ b/wp-includes/rest-api/endpoints/class-wp-rest-site-health-controller.php @@ -136,7 +136,7 @@ class WP_REST_Site_Health_Controller extends WP_REST_Controller { 'methods' => 'GET', 'callback' => array( $this, 'test_alt_update_api_communication' ), 'permission_callback' => function() { - return $this->validate_request_permission( 'dotorg_communication' ); + return $this->validate_request_permission( 'alt_update_api_communication' ); }, ), 'schema' => array( $this, 'get_public_item_schema' ),