Experiment: Enable analytics by default with clear opt-out - #570
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
React Doctor found no new issues. 🎉 Reviewed by React Doctor for commit |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 42cf0b7f84
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Replace the blocking opt-in dialog with a disclosed default-on experiment for new and undecided installs while preserving every explicit existing choice.
254cfea to
fd112b3
Compare
Analytics-default experiment
Summary
Regression investigation
The reported inability to opt in is not reproducible on the current head. Before this change,
AnalyticsConsentDialog.tsxstill rendered an enabledEnable analyticsbutton wired tohandleAccept, and the focused Playwright flow clicked it and observedanalytics_opted_in. Git history shows the dialog action itself had not been removed by the latest UI changes.The fragile part was the startup architecture: undecided users could opt in only through a mandatory modal, while onboarding, welcome, support, and resume flows were gated on that modal closing. A suppressed, obscured, or failed modal therefore left no first-run path to opt in. This change removes that blocking dependency entirely.
Measurement
90-day baseline supplied for this experiment:
consent_dialog_shownanalytics_opted_inanalytics_opted_outEvent mapping:
consent_dialog_shown->analytics_settings_disclosure_viewedanalytics_default_enabledanalytics_opted_in/analytics_opted_outAll new experiment markers include
experiment: analytics_default_on. Parsa will annotate PostHog when this ships. As the opted-in floor approaches true usage, measured usage is expected to trend up approximately 5-6x; this PR does not claim that increase as product growth.Data protection
This deliberately changes product analytics from opt-in to default-on. The tradeoff is documented rather than hidden: telemetry begins enabled for new/undecided installs, and Privacy Settings states that default clearly beside the opt-out toggle. It also discloses that usage may be associated with locally available GitHub or Git account details such as a username or email. The repository contains no legal or privacy statement requiring boot-time disclosure, so the experiment avoids a dedicated first-run interruption. Pane continues to exclude prompts, code, and file paths. Explicit prior opt-outs are never flipped, and after a new opt-out Pane sends only the choice marker directly, opts the SDK out, and discards queued usage.
Verification
pnpm lint(passes; five pre-existing non-blocking ESLint warnings inmain/src/services/skillCacheManager.ts)pnpm typecheckpnpm --filter main test -- configManager.test.ts(91 files passed, 893 tests passed, 2 skipped; Vitest's command selected the full main suite)pnpm test -- tests/analytics-consent.spec.ts(2 passed)pnpm build(electron-builder --publish never; notarization disabled)pnpm --filter frontend build(rerun after removing the startup notice)Workflow lane: light, with an implementation review and a focused E2E verification pass.