🐛 Patch Changes
-
34c015d: Add error observability for diagnosing HTTP 400 spikes
- Add Express-level HTTP error logging middleware that logs all 4xx/5xx responses with request metadata (method, URL, status, user-agent, IP)
- Add
error_http_statuscolumn toagent_messagestable so proxy errors record the upstream HTTP status code (400, 500, 503, etc.) for queryable diagnostics - Remove
forbidNonWhitelisted: truefrom the global ValidationPipe —whitelist: truealready strips unknown fields silently, theforbidNonWhitelistedsetting was rejecting requests with extra fields as 400 errors - Expand proxy error log line to include provider, model, and tier context (up from 200 to 500 chars of error body)
-
9d3fb2e: fix: start embedded server eagerly instead of deferring to OpenClaw callback
The plugin previously only registered a deferred
start()callback via
api.registerService(), relying on OpenClaw to invoke it. Newer OpenClaw
versions may not invoke the callback, causing the server to never bind.Now the server starts eagerly during
register(), with the existing
checkExistingServer()health-check guard preventing double-starts if
OpenClaw also calls the callback.The dashboard banner is now only logged after the server is confirmed
running via health check, instead of prematurely during registration.