copy(firstrun): stop promising "no telemetry" on the setup screen - #1410
Conversation
The trust line under Start installation claimed "no account, no cloud,
no telemetry" without qualification. That stopped being true when
opt-in PostHog analytics shipped in every build behind the first-run
consent prompt — the screen was asserting something the app doesn't do.
Now reads "Privacy first: everything runs and stays on this machine —
no account, no cloud." The two claims that remain are unconditional and
true; the analytics ask stays where it belongs, in its own consent
prompt. Translated across all 21 locales.
README's version is already correctly conditioned on consent ("until
you answer yes") and is left alone.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (23)
🚧 Files skipped from review as they are similar to previous changes (23)
📝 WalkthroughWalkthroughThe first-run privacy message was revised in the UI, changelog, and supported locales. Explicit “no telemetry” claims were removed while local-only, account-free, and cloud-free wording was retained where applicable. ChangesFirst-run privacy messaging
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 6 | ❌ 3❌ Failed checks (3 warnings)
✅ Passed checks (6 passed)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CHANGELOG.md`:
- Line 25: Update the Unreleased Changed entry describing the first-run setup
screen so it remains a single line and ends with the appropriate issue or pull
request reference in the required (`#N`) format.
In `@frontend/src/components/FirstRunSetup.jsx`:
- Line 853: Update the fallback trust-line copy in
frontend/src/components/FirstRunSetup.jsx:853-853 and the corresponding
translations in frontend/src/i18n/locales/en.json:2765-2765, pt.json:2022-2022,
ru.json:2022-2022, sv.json:2022-2022, th.json:2022-2022, tr.json:2022-2022,
uk.json:2022-2022, vi.json:2022-2022, zh-CN.json:2029-2029, and
zh-TW.json:2022-2022. Replace the unconditional local-only claim with wording
scoped to voice and project data, explicitly stating that analytics leaves the
machine only after user consent, while preserving each locale’s language.
In `@frontend/src/i18n/locales/ar.json`:
- Line 2022: Revise the firstrun.trust_line translation at
frontend/src/i18n/locales/ar.json:2022-2022,
frontend/src/i18n/locales/de.json:2022-2022,
frontend/src/i18n/locales/es.json:2022-2022,
frontend/src/i18n/locales/fr.json:2022-2022,
frontend/src/i18n/locales/hi.json:2022-2022,
frontend/src/i18n/locales/id.json:2022-2022,
frontend/src/i18n/locales/it.json:2022-2022,
frontend/src/i18n/locales/ja.json:2022-2022,
frontend/src/i18n/locales/ko.json:2022-2022,
frontend/src/i18n/locales/nl.json:2022-2022, and
frontend/src/i18n/locales/pl.json:2022-2022 to narrow the local-only claim to
voice processing or explicitly mention the PostHog analytics exception,
preserving accurate meaning in each language.
In `@frontend/src/i18n/locales/id.json`:
- Line 2022: Update the Indonesian `trust_line` translation to use an idiomatic
privacy-first phrase, replacing `Privasi utama` with `Utamakan privasi` or
`Privasi adalah yang utama`, while preserving the rest of the message.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 94ca2077-d85d-4a15-9a6c-b66a03471c4e
📒 Files selected for processing (23)
CHANGELOG.mdfrontend/src/components/FirstRunSetup.jsxfrontend/src/i18n/locales/ar.jsonfrontend/src/i18n/locales/de.jsonfrontend/src/i18n/locales/en.jsonfrontend/src/i18n/locales/es.jsonfrontend/src/i18n/locales/fr.jsonfrontend/src/i18n/locales/hi.jsonfrontend/src/i18n/locales/id.jsonfrontend/src/i18n/locales/it.jsonfrontend/src/i18n/locales/ja.jsonfrontend/src/i18n/locales/ko.jsonfrontend/src/i18n/locales/nl.jsonfrontend/src/i18n/locales/pl.jsonfrontend/src/i18n/locales/pt.jsonfrontend/src/i18n/locales/ru.jsonfrontend/src/i18n/locales/sv.jsonfrontend/src/i18n/locales/th.jsonfrontend/src/i18n/locales/tr.jsonfrontend/src/i18n/locales/uk.jsonfrontend/src/i18n/locales/vi.jsonfrontend/src/i18n/locales/zh-CN.jsonfrontend/src/i18n/locales/zh-TW.json
| - The repository moved to github.com/debpalash/VoiceStudio. Every link in the app, docs and scripts now points there; GitHub redirects the old URLs, and the Docker image paths, the app bundle identifier and your data folder are all deliberately unchanged. (#1394) | ||
| - The app is now **VoiceStudio** (previously OmniVoice-Studio). Only the name you see changes — your data folder, settings and the Docker image paths stay put, so upgrading needs nothing from you. On Linux the .deb is now `voicestudio`; remove the old `omnivoice-studio` package once. | ||
| - macOS floor raised to 13.3 (Ventura) — the frontend has required Safari 16.4 for some time, so macOS 12 was a promise the stack could not keep (#1268) | ||
| - The first-run setup screen now reads "Privacy first: everything runs and stays on this machine — no account, no cloud." It previously promised "no telemetry" without qualification, which stopped being true once opt-in analytics shipped behind the consent prompt. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Add the issue or pull request reference.
This Unreleased ### Changed entry does not end with (#N). Add the tracking reference and keep the entry as one line. As per coding guidelines, every Unreleased entry under Changed must end with a (#N) reference.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CHANGELOG.md` at line 25, Update the Unreleased Changed entry describing the
first-run setup screen so it remains a single line and ends with the appropriate
issue or pull request reference in the required (`#N`) format.
Source: Coding guidelines
CodeRabbit, correctly: dropping "no telemetry" fixed one overclaim and left two. "Everything runs and stays on this machine — no account, no cloud" is still unconditional, and still false for anyone who opts into analytics, which sends events to PostHog EU. Scope it to the claim that holds either way — the one users actually care about, and the one README already makes: content never leaves the machine, and no processing happens in the cloud. Analytics carries allowlisted content-free metadata only, so both remain true whichever way the consent prompt is answered. Also takes CodeRabbit's Indonesian correction: "Privasi utama" reads as "main privacy"; "Utamakan privasi" is the idiomatic "privacy first".
The trust line under Start installation read:
That last claim stopped being true when opt-in PostHog analytics shipped in every build behind the first-run consent prompt. The setup screen was asserting something the app doesn't do — and asserting it on the screen where the user decides whether to trust it.
Now reads:
The two remaining claims are unconditional and true. The analytics ask stays where it belongs: its own consent prompt, two equal-weight buttons, skipping means no.
Scope
firstrun.trust_linein all 21 localesFirstRunSetup.jsx### ChangedREADME's version is already correctly conditioned on consent ("until you answer yes: no analytics, no telemetry…") and is deliberately untouched.
Locale parity, CJK and changelog-style gates pass;
format:checkclean; the 5 FirstRunSetup tests pass. No test pinned the old string.Updates the first-run trust line in all 21 locales and the fallback to remove the unconditional “no telemetry” claim, reflecting opt-in PostHog analytics with consent while preserving local-only, account-free, and cloud-free wording. Review translations, especially the corrected Indonesian text, for accurate privacy claims.