Skip to content

duckAI <> Subscription kill switch cleanup#8231

Merged
cmonfortep merged 5 commits intodevelopfrom
feature/cristian/subscriptions/duckai_ff_cleanup
Apr 27, 2026
Merged

duckAI <> Subscription kill switch cleanup#8231
cmonfortep merged 5 commits intodevelopfrom
feature/cristian/subscriptions/duckai_ff_cleanup

Conversation

@cmonfortep
Copy link
Copy Markdown
Contributor

@cmonfortep cmonfortep commented Apr 9, 2026

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

Description

Removes 2 kill switches that have been enabled by default since release and stable.

  • refreshSubscriptionPlanFeatures: stable, service support caching.
  • enableNewSubscriptionMessages: stable, enables getFeatureConfig message, which includes values that are also gated by FF.
  • duckAiPlus default value to True instead of Internal.

Steps to test this PR

QA-optional: both flags have been enabled by default since released.

UI changes

Before After
!(Upload before screenshot) (Upload after screenshot)

Note

Medium Risk
Medium risk because it changes runtime feature-flag behavior by removing two kill-switches and making getFeatureConfig always respond, which could affect subscription web messaging and feature-fetch frequency.

Overview
Removes the deprecated refreshSubscriptionPlanFeatures and enableNewSubscriptionMessages toggles and their associated branching, simplifying subscription feature fetching and getFeatureConfig JS messaging behavior.

Updates duckAiPlus to default to enabled and makes subscription plan features always fetched/stored per base plan (instead of optionally skipping when cached). Tests were updated by deleting coverage for the removed flags and adjusting getFeatureConfig expectations accordingly.

Reviewed by Cursor Bugbot for commit 2f33155. Bugbot is set up for automated code reviews on this repo. Configure here.

@cmonfortep
Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

) {
val jsMessageId = jsMessage.id ?: return

if (privacyProFeature.enableNewSubscriptionMessages().isEnabled().not()) return
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

safe to remove, we can control each independent FF from config

@cmonfortep cmonfortep requested a review from lmac012 April 9, 2026 15:40
@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/duckai_ff_cleanup branch from 39dd19c to a748c98 Compare April 9, 2026 17:27
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a748c98. Configure here.

*/
@Toggle.DefaultValue(DefaultFeatureValue.TRUE)
fun enableNewSubscriptionMessages(): Toggle
fun duckAiPlus(): Toggle
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.

duckAiPlus default changed from INTERNAL to TRUE

High Severity

The duckAiPlus() toggle default value changed from DefaultFeatureValue.INTERNAL to DefaultFeatureValue.TRUE. This was not mentioned in the PR description, which only lists refreshSubscriptionPlanFeatures and enableNewSubscriptionMessages as targets. It appears the @Toggle.DefaultValue(DefaultFeatureValue.TRUE) annotation that previously belonged to the removed enableNewSubscriptionMessages() was inadvertently reused for duckAiPlus(). This enables DuckAI Plus subscriber features (advanced models) for all production users by default, whereas previously it only defaulted to enabled for internal builds.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit a748c98. Configure here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

diff merge not accurate:

  • Default value changed to True is intended.
  • the other FF has been removed, which creates a weird diff.

@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/duckai_ff_cleanup branch from a748c98 to 2f33155 Compare April 27, 2026 16:04
@cmonfortep cmonfortep merged commit 8cde282 into develop Apr 27, 2026
11 checks passed
@cmonfortep cmonfortep deleted the feature/cristian/subscriptions/duckai_ff_cleanup branch April 27, 2026 16:31
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.

2 participants