feat: add anonymous installation ping to install scripts#6220
Open
wolfv wants to merge 6 commits into
Open
Conversation
Send a best-effort installation ping after a successful install in both install.sh and install.ps1. The ping never aborts the install (3s timeout, errors swallowed) and is skipped when PIXI_NO_TELEMETRY or DO_NOT_TRACK is set. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add PIXI_NO_TELEMETRY and DO_NOT_TRACK to the installer option tables and explain the anonymous installation ping and how to disable it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
After a successful `pixi self-update`, send a best-effort anonymous ping tagging os, arch and target version. It uses a 3s timeout and ignores all errors so it can never affect the update result, and is skipped when PIXI_NO_TELEMETRY or DO_NOT_TRACK is set. Reuses the same pixel id as the install scripts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Instead of arbitrary os/arch query params (which Scarf only reports with extra org config), encode event/version/platform into a synthetic page URL passed via the `Page` parameter. Scarf reports on the page dimension, so each combination (e.g. /ping/self-update/0.69.0/linux-x86_64) shows up as its own page without any dashboard setup. Applied to the self-update ping and both install scripts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
baszalmstra
requested changes
May 27, 2026
| std::env::consts::ARCH, | ||
| ); | ||
|
|
||
| let Ok((_, client)) = build_reqwest_clients(None, None) else { |
Contributor
There was a problem hiding this comment.
A reqwest client is available at the call site.
Contributor
|
I’m okay with anonymous install counting in principle, but I’d like this to be more transparent before merge. In particular, the self-update ping should be documented as CLI telemetry. The docs should avoid claiming “no personal data”, because the endpoint still receives normal request metadata such as IP. I’d also prefer the opt-out to be shown next to the install command, not only lower in installation docs.
|
baszalmstra
reviewed
May 29, 2026
| ("x-pxid", consts::INSTALL_PING_PXID), | ||
| ("Page", page.as_str()), | ||
| ]) | ||
| .header("User-Agent", user_agent()) |
Contributor
There was a problem hiding this comment.
this is already the default on the passed in client.
baszalmstra
reviewed
May 29, 2026
| std::env::consts::ARCH, | ||
| ); | ||
|
|
||
| let _ = client |
Contributor
There was a problem hiding this comment.
Should we add a comment to tell we explicitly dont care if this fails?
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
Adds a best-effort anonymous installation ping to the
install.shandinstall.ps1scripts so we can estimate how many installations happen.PIXI_NO_TELEMETRYor the commonDO_NOT_TRACKconvention.installation-ping.prefix.dev), so the backend can change later without touching the scripts.Docs
docs/installation.mddocuments both opt-out variables in the installer option tables and adds a transparent note explaining the ping and how to disable it.🤖 Generated with Claude Code