Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify GitLens telemetry settings #2612

Closed
tdworz opened this issue Mar 29, 2023 · 5 comments
Closed

Clarify GitLens telemetry settings #2612

tdworz opened this issue Mar 29, 2023 · 5 comments
Labels
not-bug Either not a bug or not related to the project
Milestone

Comments

@tdworz
Copy link

tdworz commented Mar 29, 2023

Description

This report is a follow-up to a negative review I wrote about GitLens. You may see my frustrated review and the response by Eric from GitKraken on the reviews page: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens&ssr=false#review-details (I don't see any way to link directly to my review so if you are viewing this issue far in the future, my review may no longer exist at this link).

The problem I have is that GitLens does not respect my global VS Code telemetry settings after installation. I would expect for GitLens to either (a) comply with my settings for VS Code telemetry or (b) make it abundantly clear that VS Code telemetry settings are not being honored and direct me to manually choose whether or not I want telemetry to be enabled or disabled.

GitLens Version

13.4.0

VS Code Version

Version: 1.76.2
Commit: ee2b180d582a7f601fa6ecfdad8d9fd269ab1884
Date: 2023-03-14T17:57:21.103Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: 10.2.154.26-electron.0
OS: Linux x64 6.2.8-arch1-1
Sandboxed: No

Git Version

2.40.0

Logs, Screenshots, Screen Captures, etc

I have recorded my screen installing GitLens for you to see the exact behavior I experienced. While I did uninstall GitLens to re-install it in the recording (meaning the installation on the video is not technically a clean install on a system that has never had GitLens installed), I assure you the behavior in the video is the behavior I experienced when I did install GitLens for the first time.

Here is the video documenting my experience: https://www.youtube.com/watch?v=hlJdn11P2MQ

@tdworz tdworz added potential-bug triage Needs to be looked at labels Mar 29, 2023
eamodio added a commit that referenced this issue Mar 30, 2023
@d13
Copy link
Member

d13 commented Mar 30, 2023

Thanks for taking the time to open an issue and record a video. This video has been super helpful in understanding your concern!

Our code checks that BOTH the VS Code telemetry setting "telemetry.telemetryLevel" AND the GitLens setting "gitlens.telemetry.enabled" are enabled. As noted by Eric in the review, you can verify this in our code:

private ensureTelemetry(container: Container): void {
this._enabled = env.isTelemetryEnabled && configuration.get('telemetry.enabled', undefined, true);
if (!this._enabled) {
if (this._initializationTimer != null) {
clearTimeout(this._initializationTimer);
this._initializationTimer = undefined;
}
this.eventQueue.length = 0;
this.provider?.dispose();
this.provider = undefined;
return;
}
if (this._initializationTimer != null) return;
this._initializationTimer = setTimeout(() => this.initializeTelemetry(container), 7500);
}

env.isTelemetryEnabled is the VS Code Setting and configuration.get('telemetry.enabled', undefined, true) is the GitLens setting.

Both must be on. If either are disabled... no telemetry.

I hope this clarifies things, but you could also verify using a network sniffer to feel confident about this.

To help avoid confusion in the future, we've added a note (89eeceb) to our setting that telemetry will ONLY be collected if BOTH the setting and VS Code telemetry are enabled.

@eamodio eamodio added not-bug Either not a bug or not related to the project and removed potential-bug triage Needs to be looked at labels Mar 30, 2023
@eamodio
Copy link
Member

eamodio commented Mar 30, 2023

Thanks again for taking the time to help us understand this.

Here is the updated setting description in the commit @d13 noted:

image

That will be in tomorrow's pre-release and next week's stable release.

FWIW, I added our own telemetry setting to allow users to turn off GitLens telemetry independently of VS Code telemetry. Many other extensions don't provide their own opt-out, so you are forced to disable all VS Code telemetry, even if you only want to block one extension.

@eamodio eamodio closed this as completed Mar 30, 2023
@tdworz
Copy link
Author

tdworz commented Mar 30, 2023

Thank you for your prompt response. I think this alleviates my concerns.

@eamodio Strictly related to UI as I understand actual behavior now -- I'm curious, why not just have the box unchecked when VS Code telemetry is disabled? That seems like a cleaner approach to UI than leaving the box checked with your detailed explanation.

@eamodio eamodio changed the title GitLens does not honor VS Code telemetry settings after install Clarify GitLens telemetry settings Apr 5, 2023
@eamodio
Copy link
Member

eamodio commented Apr 6, 2023

@tdworz Those settings are the user-chosen settings (user-level, workspace-level, or even folder-level). We don't write settings without user interaction. And unfortunately, VS Code doesn't offer the ability to control enablement of settings or (as far as I know) have the default of a setting dependent on another setting.

@eamodio eamodio added this to the 13.5 milestone Apr 6, 2023
@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 12, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
not-bug Either not a bug or not related to the project
Projects
None yet
Development

No branches or pull requests

3 participants