fix: admin UI review round 1 (S47) - Art labels, usage only on success, result fallback

- Art column: only lit/media-delete and lit/divi-delete say "löscht",
  lit/post-trash "Papierkorb", other destructive tools "überschreibt".
- ConnectionUsage records only responses with status < 400 (mcp-oauth answers
  auth failures with WP_REST_Response 401, not WP_Error).
- Log result column: translated "unbekannt" instead of the raw value.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-26 17:02:39 +02:00
co-authored by Claude Opus 5.5
parent 843f45aeec
commit b044cacc9d
7 changed files with 127 additions and 10 deletions
+14 -1
View File
@@ -55,7 +55,7 @@ final class ConnectionUsage
public function record(mixed $response, array $handler, WP_REST_Request $request): mixed
{
$route = '/' . ServerRegistrar::NAMESPACE . '/' . ServerRegistrar::ROUTE;
if ($request->get_route() !== $route || is_wp_error($response)) {
if ($request->get_route() !== $route || ! self::succeeded($response)) {
return $response;
}
@@ -78,4 +78,17 @@ final class ConnectionUsage
return $response;
}
/**
* Only successful answers count as use: mcp-oauth answers auth failures with a
* WP_REST_Response(401), not a WP_Error (OAuthHttpTransport::build_auth_error_response).
*/
private static function succeeded(mixed $response): bool
{
if (is_wp_error($response)) {
return false;
}
return ! $response instanceof \WP_HTTP_Response || $response->get_status() < 400;
}
}