Skip to content

[ENHANCEMENT] Remove unsolicited announcement and upsell surfaces#139

Draft
allquixotic wants to merge 1 commit into
Zoo-Code-Org:mainfrom
allquixotic:zoo-port/nag-removals
Draft

[ENHANCEMENT] Remove unsolicited announcement and upsell surfaces#139
allquixotic wants to merge 1 commit into
Zoo-Code-Org:mainfrom
allquixotic:zoo-port/nag-removals

Conversation

@allquixotic

Copy link
Copy Markdown

Related GitHub Issue

Closes: #134

Description

This PR removes several unsolicited announcement and upsell surfaces from the extension UI while preserving unrelated consent and safety surfaces.

Key changes:

  • Removes the chat Announcement component and its tests.
  • Removes announcement auto-show state and extension messages, including latestAnnouncementId, lastShownAnnouncementId, shouldShowAnnouncement, and didShowAnnouncement.
  • Changes VersionIndicator from a clickable release-notes/announcement trigger into a passive version label.
  • Removes DismissibleUpsell, its tests, dismissedUpsells global state, and the dismissUpsell/getDismissedUpsells webview message paths.
  • Removes announcement localization blocks across locales and updates the version indicator aria label.
  • Updates affected chat/app/context/settings tests after removing the announcement/upsell props and state.

Reviewer focus:

  • Whether Zoo wants full removal, an opt-out setting, or relocation to a user-initiated changelog/news surface.
  • Confirming no required consent, safety, or account-critical notice was removed.
  • Confirming localization cleanup is acceptable.
  • Confirming telemetry consent remains untouched.

Test Procedure

From the Zoo Code worktree:

pnpm lint
pnpm check-types
pnpm --filter zoo-code test -- core/webview/__tests__/ClineProvider.spec.ts
pnpm --filter @roo-code/vscode-webview test -- src/__tests__/App.spec.tsx src/components/chat/__tests__/ChatView.spec.tsx src/components/settings/__tests__/SettingsView.spec.tsx src/context/__tests__/ExtensionStateContext.spec.tsx

Manual verification recommended:

  • Launch the extension webview.
  • Confirm no announcement modal/banner appears in chat.
  • Confirm the version indicator no longer opens release notes/news as a click target.
  • Confirm removed upsell state is not expected by settings or extension state hydration.
  • Confirm telemetry/consent surfaces still behave normally.

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue.
  • Scope: My changes are focused on the linked issue.
  • Self-Review: I have performed a thorough self-review of my code.
  • Testing: New and/or updated tests have been added to cover my changes.
  • Documentation Impact: I have considered if my changes require documentation updates.
  • Contribution Guidelines: I have read and agree to the Contributor Guidelines.

Screenshots / Videos

TODO: Attach before/after screenshots if maintainers want to compare removed announcement/upsell surfaces.

Documentation Updates

No user-facing documentation update appears required unless Zoo docs mention these announcement or upsell surfaces.

Additional Notes

This PR is likely to need product-maintainer agreement because it removes product communication surfaces. If maintainers prefer a preference flag, this branch can be adapted into "disable unsolicited announcements by default" or "add quiet mode" instead of hard removal.

Get in Touch

Discord: coorbin

@coderabbitai

coderabbitai Bot commented May 15, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: ec7e15e1-d4bf-4f13-9e89-1d0cddd355ab

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@edelauna edelauna left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove the upsell component since it's not used, but the logic related to announcement is still useful to bump on release.


public isViewLaunched = false
public settingsImportedAt?: number
public readonly latestAnnouncementId = "apr-2026-v3.53.0-community-handoff-gpt55-opus47" // v3.53.0 Community handoff, GPT-5.5, Claude Opus 4.7, checkpoint navigation

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This param is still read for the announcement component.

@codecov

codecov Bot commented May 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@edelauna edelauna added the good first issue Good for newcomers label May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

good first issue Good for newcomers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Remove unsolicited announcement and upsell surfaces

2 participants