Repository navigation
Conversation
Feedback issues have never shown their context (#1724): the client nests it under "context" while the telemetry worker read top-level fields. The worker fix lands in mcpproxy-telemetry; this side pins the wire shape and sends what a maintainer needs to follow up. - FeedbackContext gains go_version, tool_count, daemon uptime_minutes and, only while telemetry is enabled, anonymous_id + machine_id (the heartbeat's own values) plus the heartbeat's enum-only diagnostics. - testdata/feedback_contract.json is the wire contract; the worker keeps a byte-identical copy. Tests check the struct round-trips it and that SubmitFeedback sends nothing it does not declare. - diagnosticsSnapshot / lastErrorCode are shared by heartbeat and feedback. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ire shape Review: feedback checked consent only before reading BBolt and ignored the opt-out latch; the contract test only checked sent paths were allowed, so dropping diagnostics/uptime/last_error_code passed. Consent is now !optedOut && enabled, rechecked just before marshal, and the test wires every store and requires the exact fixture key set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Deploying mcpproxy-docs with
|
| Latest commit: |
c964bfd
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://ffdc488f.mcpproxy-docs.pages.dev |
| Branch Preview URL: | https://claude-user-telemetry-debug.mcpproxy-docs.pages.dev |
Contributor
📦 Build ArtifactsWorkflow Run: View Run Available Artifacts
How to DownloadOption 1: GitHub Web UI (easiest)
Option 2: GitHub CLI gh run download 40181469450 --repo smart-mcp-proxy/mcpproxy-go
|
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
…-debug-info-63f79f # Conflicts: # oas/docs.go
…-debug-info-63f79f # Conflicts: # oas/docs.go
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Investigation of #1724 showed that feedback issues have never carried their context. The client sends it under
context, but the telemetry worker read top-level fields. The worker fix is smart-mcp-proxy/mcpproxy-telemetry branchfix/feedback-context. This PR pins the wire shape and sends what a maintainer needs to follow up on a report.FeedbackContextgainsgo_version,tool_countand the daemon'suptime_minutes. Only while telemetry is enabled (config, env and the opt-out latch, rechecked just before sending), it also carries the heartbeat's ownanonymous_id+machine_idand its enum-only diagnostics (last_startup_outcome,previous_shutdown,last_error_code,MCPX_*counts). The worker stores the ids privately and the public issue shows onlyfb-<id>.internal/telemetry/testdata/feedback_contract.jsonis the wire contract, and the worker keeps an identical copy. Tests check thatFeedbackRequestround-trips it and that a fully populatedSubmitFeedbacksends exactly its key paths. A mutation check confirmed that droppingDiagnosticsfails the test.diagnosticsSnapshot()/lastErrorCode()were extracted from the heartbeat builder and are shared by heartbeat and feedback; heartbeat behaviour is unchanged.docs/features/telemetry.mdgains a "Feedback submissions" section; the OpenAPI spec is regenerated.Refs #1724 (the user's CPU report itself stays open; we're waiting on their reply to the pprof instructions).
Test plan
go test -race ./internal/telemetry/... ./internal/httpapi/....github/.golangci.yml): 0 new issues;go build -tags server ./...;make swagger-verifymcpproxy feedbackfrom a dev build and check the issue's Context table🤖 Generated with Claude Code