feat(desktop): settings toggle for opt-in agent metrics#4034
Merged
Conversation
Surfaces the desktop.metrics opt-in in Settings, mirroring the telemetry ping wiring end to end: SettingsView field, the SetDesktopMetrics bound method, the bridge AppBindings + dev mock, and the panel toggle with a disclosure hint (en + zh). The hint is the disclosure — it spells out that only enumerated counters ship, never conversations, prompts, keys, or paths. SetDesktopMetrics starts/stops the aggregator live so the toggle takes effect immediately, and a.metrics becomes an atomic.Pointer so the event sink reads it race-free while the setting flips mid-session.
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.
Phase 3 of the opt-in agent metrics: the user-facing Settings toggle. With this, the feature is fully wired end-to-end — worker
/v1/metrics(live), desktop aggregator (#4033), and now a way to turn it on.What it adds
SettingsView.Metrics,SetDesktopMetricsbound method, bridgeAppBindings+ dev mock, the panelToggleSegment, and en/zh strings.SetDesktopMetricsstarts/stops the aggregator immediately, anda.metricsis now anatomic.Pointerso the hot event sink reads it race-free while the setting flips mid-session.Test
go build ./...,go test ./(desktop) — passSetDesktopMetricsis mirrored in the hand-writtenAppBindings+ dev mock, so the binding-drift check stays satisfied; frontend tsc runs in CI.This completes the telemetry track. Worker is already deployed; this ships in the next desktop build.