Skip to content

Remove duckAiPaidSettingsStatus feature toggle#8048

Merged
mikescamell merged 8 commits intodevelopfrom
feature/mike/remove-duckai-ui-update-feature-toggle
Apr 1, 2026
Merged

Remove duckAiPaidSettingsStatus feature toggle#8048
mikescamell merged 8 commits intodevelopfrom
feature/mike/remove-duckai-ui-update-feature-toggle

Conversation

@mikescamell
Copy link
Copy Markdown
Contributor

@mikescamell mikescamell commented Mar 20, 2026

Task/Issue URL: https://app.asana.com/1/137249556945/project/1207908166761516/task/1212517664869201?focus=true

Description

Remove the duckAiPaidSettingsStatus feature toggle now that it has been confirmed stable. The toggle defaulted to TRUE and gated whether Duck.ai paid settings screens sync the status indicator with DuckChat enabled state and show branded icons.

  • Remove toggle declaration from DuckChatFeature
  • Simplify DuckAiPaidSettingsViewModel and DuckAiPlusSettingsViewModel — remove toggle checks, legacy code paths, and unused DispatcherProvider/DuckChatFeature dependencies
  • Remove isDuckAiPaidSettingsFeatureEnabled from ViewState and simplify UI conditionals in DuckAiPaidSettingsActivity and DuckAiPlusSettingsView
  • Update layout XML defaults to use branded icons (duckai_128, ic_duckduckgo_ai_color_24)
  • Delete legacy drawable assets (duckai_ddg_128, ic_ai_chat_grayscale_color_24) and remove lint baseline entry
  • Clean up tests — remove toggle-specific tests and simplify remaining ones

Steps to test this PR

Toggle removal

  • Open Duck.ai paid settings screen — verify branded duckai_128 icon displays
  • Verify status indicator syncs with DuckChat enabled/disabled state
  • Verify "Enable in AI Features Settings" / "Manage in AI Features Settings" button text switches based on DuckChat state
  • Open Pro/Premium settings — verify ic_duckduckgo_ai_color_24 icon shows for Duck.ai setting

UI changes

No visual changes — the "enabled" toggle path was already the default behavior.

Screenshot_20260320_165128 Screenshot_20260320_165007 Screenshot_20260320_164956 Screenshot_20260320_164949

Note

Low Risk
Low risk removal of an always-on feature flag and dead code paths; main risk is unintended UI/state regression in Duck.ai paid settings screens due to simplified ViewModel wiring.

Overview
Removes the duckAiPaidSettingsStatus remote toggle and all associated branching logic, including ViewState fields and injected dependencies in the Duck.ai paid settings ViewModels.

The paid settings screens now always observe DuckChat enabled state and always render the branded Duck.ai icons; legacy drawables are deleted and the design-system lint baseline is updated accordingly. Tests are simplified by dropping toggle-specific setup and assertions.

Written by Cursor Bugbot for commit d50bc17. This will update automatically on new commits. Configure here.

mikescamell and others added 7 commits March 20, 2026 17:07
… path

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nals

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…sViewModel

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@catalinradoiu catalinradoiu left a comment

Choose a reason for hiding this comment

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

Tested and works as expected.

@mikescamell mikescamell merged commit 5456bdd into develop Apr 1, 2026
23 checks passed
@mikescamell mikescamell deleted the feature/mike/remove-duckai-ui-update-feature-toggle branch April 1, 2026 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants