duckAI <> Subscription kill switch cleanup#8231
Conversation
| ) { | ||
| val jsMessageId = jsMessage.id ?: return | ||
|
|
||
| if (privacyProFeature.enableNewSubscriptionMessages().isEnabled().not()) return |
There was a problem hiding this comment.
safe to remove, we can control each independent FF from config
39dd19c to
a748c98
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ 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 |
There was a problem hiding this comment.
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.
Reviewed by Cursor Bugbot for commit a748c98. Configure here.
There was a problem hiding this comment.
diff merge not accurate:
- Default value changed to True is intended.
- the other FF has been removed, which creates a weird diff.
a748c98 to
2f33155
Compare



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, enablesgetFeatureConfigmessage, which includes values that are also gated by FF.duckAiPlusdefault value to True instead of Internal.Steps to test this PR
QA-optional: both flags have been enabled by default since released.
UI changes
Note
Medium Risk
Medium risk because it changes runtime feature-flag behavior by removing two kill-switches and making
getFeatureConfigalways respond, which could affect subscription web messaging and feature-fetch frequency.Overview
Removes the deprecated
refreshSubscriptionPlanFeaturesandenableNewSubscriptionMessagestoggles and their associated branching, simplifying subscription feature fetching andgetFeatureConfigJS messaging behavior.Updates
duckAiPlusto 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 adjustinggetFeatureConfigexpectations accordingly.Reviewed by Cursor Bugbot for commit 2f33155. Bugbot is set up for automated code reviews on this repo. Configure here.