Skip to content

Conversation

@alessandroboron
Copy link
Contributor

@alessandroboron alessandroboron commented Nov 28, 2025

Task/Issue URL: https://app.asana.com/1/137249556945/project/1206329551987282/task/1211866611125558?focus=true
Tech Design URL:
CC:

Description

This PR removes two feature flags for SAD prompts:

Active Users
Commit: 60b2521
Feature Flag Task: https://app.asana.com/1/137249556945/project/1206329551987282/task/1211866611125558?focus=true

Inactive Users
Commit: 208a41a
Feature Flag Task: https://app.asana.com/1/137249556945/project/1206329551987282/task/1211866470962985?focus=true

Even though we use remote settings for the two prompts to function, the settings are defined in the parent feature, so it is safe to remove the subfeature from the codebase.

Testing Steps

  1. Put a breakpoint in DefaultBrowserPromptFeatureFlagger.swift -> private func getSettings(_ value: DefaultBrowserPromptFeatureSettings) -> Int line 102.
  2. Open Debug Menu -> 'Default Browser Prompt’ and follow the instructions to make SAD prompt appear.
  3. Ensure that settingsProvider.defaultBrowserPromptFeatureSettings[value.rawValue] as? Int returns a value and it’s not nil.

Impact and Risks

<!—
What's the impact on users if something goes wrong?

High: Could affect user privacy, lose user data, break core functionality
Medium: Could disrupt specific features or user flows
Low: Minor visual changes, small bug fixes, improvement to existing features
None: Internal tooling, documentation
—>

What could go wrong?


Note

Removes active/inactive scheduled default browser prompt feature flags and gating, simplifying to use privacy-config settings only and updating factory, logic, and tests accordingly.

  • Feature flags/config:
    • Remove iOS FeatureFlag cases scheduledSetDefaultBrowserPrompts and scheduledSetDefaultBrowserPromptsForInactiveUsers, related override/support lists, and source mappings in iOS/Core/FeatureFlag.swift.
    • Remove iOS subfeatures from SetAsDefaultAndAddToDockSubfeature in PrivacyFeature.swift.
  • Default Browser Prompt (SAD) implementation:
    • Simplify DefaultBrowserPromptFeatureFlagAdapter to only expose defaultBrowserPromptFeatureSettings (no enablement booleans).
    • DefaultBrowserPromptFactory no longer accepts featureFlagProvider; DefaultBrowserPromptFeatureFlag now constructed with only settingsProvider.
    • Drop enablement checks in prompt deciders (DefaultBrowserPromptTypeDecider active/inactive) and in DefaultBrowserPromptService.resume(); always record activity.
    • Debug view: always shows settings and is enabled; remove feature-enabled gating.
  • SetDefaultBrowserCore:
    • Delete active/inactive feature provider protocols; keep only settings-driven DefaultBrowserPromptFeatureFlagger values.
  • Tests:
    • Remove tests/mocks for enablement booleans; update tests to use settings-only paths and constructor changes.

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

@alessandroboron alessandroboron requested review from SabrinaTardio and Copilot and removed request for Copilot November 28, 2025 05:46
Copilot finished reviewing on behalf of alessandroboron November 28, 2025 05:48
Copy link
Contributor

@SabrinaTardio SabrinaTardio left a comment

Choose a reason for hiding this comment

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

LGTM

Copilot AI review requested due to automatic review settings December 2, 2025 03:06
Copilot finished reviewing on behalf of alessandroboron December 2, 2025 03:08
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@alessandroboron alessandroboron merged commit ca753bc into main Dec 2, 2025
57 checks passed
@alessandroboron alessandroboron deleted the alessandro/remove-default-browser-prompt-subfeatures branch December 2, 2025 03:47
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