Repository navigation
Record where source opens land and fill code-navigation telemetry gaps - #1511
Merged
Merged
Conversation
Add review_source_opened, send the open_files_in choice, count references from peeks, report definition-peek editors, and count hovers only with a hover provider. Agent-Session: bc1bf4c6-92c5-43f7-ab76-1e3d3fee5932 Agent-Session: e35ee3f1-35bb-443a-a7fa-2d0fcb48c31e
thesiti92
added a commit
that referenced
this pull request
Nov 4, 2026
`review_lsp_used` from keyboard commands fired for any mapped command, even when the file had no provider for that feature. The mouse and hover paths already check for a provider. For example, F12 on the base side of a side-by-side peek has no language features since #1175. It shows "No definition found" but was still counted as `goto_definition`. - The command path now checks the matching provider (definition or declaration, type definition, implementation, references, rename, formatting, code action, hover, document symbols) before it records the event. - `docs/telemetry.md` notes the new condition. ## Context This is a follow-up to #1511. In a dev Desktop, go-to-definition in canvas peeks works for hover, ⌘-click and F12, in unified and side-by-side views and on lower peeks. Every case is tagged `editor_kind: inline_peek`. PostHog shows the ratio of go-to-definition to hover falling steadily from week to week, including within 0.2, not a sudden drop at 0.3.0. About a third of earlier go-to-definition users still use it on 0.3+. So the drop is not a regression. ## Testing - `pnpm lint`, `pnpm format`. - Desktop fork typecheck. - Fork test tier: 569 pass, 0 fail. - Not yet run in a Desktop.
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.
Telemetry could not say how often people leave the canvas to read code, or where they go. Every source open (go-to-definition from a peek, reveal links, file opens, the source tree) goes through
openSourceEditor, which sends it to the Source window or to the editor set inreview.openFilesIn. None of those opens was recorded.Changes
review_source_openedevent withdestination(source_window, vscode, cursor, zed, application) andkind(file, diff, references, tree). It is captured where the open lands, inreviewCanvasEditorTabsService.ts.review_setting_changedforopen_files_innow sends thechoice.REVIEW_OPEN_FILES_IN_CHOICESis now a const list in the protocol.review.action.embeddedShowReferences) now counts aslsp_usedreferences.editor_kind: definition_peekinstead offiles_tab. A jump inside an open definition peek now counts aspeek_openeddiff_definition.docs/telemetry.mdlists the new event and properties.Not in this PR
From v0.3.0 on, go-to-definition in canvas peeks dropped from about 30% to 5–8% of peek users, while hover held steady. We are still checking in a dev Desktop whether this is a regression or a telemetry gap. The fix will follow separately.
Testing
pnpm lint,pnpm format.ui-telemetry-events.test.tsand the tabs service, editor resolver, API editor serializer and telemetry contribution tests.