VSCodium / vscodium

binary releases of VS Code without MS branding/telemetry/licensing
https://vscodium.com
MIT License
25.13k stars 1.08k forks source link

Tracking through external links in code analyzer popups #2029

Open pimlie opened 3 weeks ago

pimlie commented 3 weeks ago

Describe the bug

As the readme states that Telemetry is disabled, it seems to be undesired behaviour as opening links with tracking parameters means a form of telemetry still exists.

Please confirm that this problem is VSCodium-specific

This question is N/A, as VS Code does not state that Telemetry is disabled :)

Please confirm that the issue/resolution isn't already documented

To Reproduce

The one code analyzer I know that does this is Dart, but there might be others.

Steps to reproduce the behavior:

  1. Add dart-code.dart-code extension
  2. Create a new file test.dart
  3. Copy paste:
    void main() {
    runApp();
    }
  4. The runApp call should be red underlined as it's undefined image
  5. Hover with your mouse over the error to trigger the code analysis popup image
  6. Click on undefined_function
  7. You will then get the popup that asks Do you want VSCodium to open the external website, you can configure Trusted Domains from that popup but it does not mention anything with regards to tracking links. If you click Open then it will open the link: https://dart.dev/tools/diagnostic-messages?utm_source=dartdev&utm_medium=redir&utm_id=diagcode&utm_content=undefined_function#undefined_function

Expected behavior

That VSCodium would remove the utm_* parameters. Basically similar functionality as Firefox's Copy Link Without Site Tracking image

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Additional context

Although the source of the link is an extension and not VSCodium, I think this issue could be solved within VSCodium's Do you want VSCodium to open the external website? popup

daiyam commented 3 weeks ago

It's a link generated by the Dart extension.

We don't have control over any extensions so they can have telemetry or links with tracking.

pimlie commented 3 weeks ago

Thanks. But the links are intercepted by the Do you want VSCodium to open the external website? popup right? And that popup is from VSCodium not from the extension?

So within that popup it should be possible to strip the link from at least known tracking parameters similar as Firefox does?

pimlie commented 3 weeks ago

So we could add a patch to strip tracking query parameters here: https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.ts#L80

According to the Firefox Source Docs the list with query params they strip can be found here. But that doesn't seem to be complete, as it doesn't mention utm tags but they are still stripped.