Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add rollout for cookie popup management enabled by default #2373

Merged
merged 14 commits into from
Feb 5, 2024

Conversation

dus7
Copy link
Contributor

@dus7 dus7 commented Jan 24, 2024

Task/Issue URL: https://app.asana.com/0/1206264112133008/1206441673559117/f

Description:

Adds the incremental rollout for autoconsent being enabled by default.
Removes the Dax dialog used to prompt for enabling the cookie autoconsent feature.
The dialog was disabled due to https://app.asana.com/0/1203936086921904/1204496002772588/f so the UI code was dead anyway.

Rollout steps are controlled by onByDefault subfeature being defined under autoconsent. If the feature is not present, no rollout steps are defined or randomized probability value does not match the rollout, there are no changes to existing behavior.

Steps to test this PR:

Test disabled by default when not in rollout
  1. Make sure cookie popup setting was not toggled or remove the app or use Debug menu to clear them
  2. Go to Settings, “Manage Cookie Pop-ups” should be enabled
Test rollout is respected when no user setting present
  1. Make sure cookie popup setting was not toggled or remove the app or use Debug menu to clear them
  2. Go to Settings, “Manage Cookie Pop-ups” should be disabled
  3. Update privacy settings URL to https://www.jsonblob.com/api/1201863389659127808
  4. Restart app
  5. Go to Settings, “Manage Cookie Pop-ups” should be enabled, and cookies managed automatically
Test user setting is respected
  1. Disable CPM
  2. Visit webpage with manageable cookie prompt (e.g. facebook.com)
  3. Ensure cookies were not managed automatically
  4. Enable CPM
  5. Reload webpage
  6. Ensure cookies were managed automatically

@dus7 dus7 marked this pull request as draft January 24, 2024 15:13
@@ -229,7 +222,7 @@ extension AutoconsentUserScript {
return
}

if preferences.autoconsentPromptSeen == true && preferences.autoconsentEnabled == false {
Copy link
Contributor Author

@dus7 dus7 Jan 24, 2024

Choose a reason for hiding this comment

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

To make reasoning about this and following changes easier, note autoconsentPromptSeen was set to true after user enabled the feature (https://github.com/duckduckgo/iOS/pull/2373/files#diff-d04b75c0b651987027e4a487112e5facbd38ff7c45b585c5e202b118eaf68b3dL71).

@dus7 dus7 marked this pull request as ready for review January 24, 2024 16:42
@dus7 dus7 marked this pull request as draft January 25, 2024 11:05
@dus7
Copy link
Contributor Author

dus7 commented Jan 25, 2024

Converted back to draft due to additional circumstances mentioned in https://app.asana.com/0/0/1206430574685321/1206433715557448/f

@dus7 dus7 changed the title Enable cookie popup management by default Add enabled by default subfeature for autoconsent Jan 31, 2024
@dus7 dus7 changed the title Add enabled by default subfeature for autoconsent Add onByDefault subfeature for autoconsent Jan 31, 2024
Copy link

github-actions bot commented Jan 31, 2024

Warnings
⚠️ PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible.

Generated by 🚫 dangerJS against 1b2812e

@dus7 dus7 changed the title Add onByDefault subfeature for autoconsent Add rollout for cookie popup management enabled by default Feb 1, 2024
dus7 added a commit to duckduckgo/macos-browser that referenced this pull request Feb 1, 2024
Task/Issue URL: https://app.asana.com/0/0/1206474382370291/f

**Description**:
No changes in logic. Subfeature will be used in
duckduckgo/iOS#2373

**Steps to test this PR**:
No changes in Cookie management settings.

---
###### Internal references:
[Pull Request Review
Checklist](https://app.asana.com/0/1202500774821704/1203764234894239/f)
[Software Engineering
Expectations](https://app.asana.com/0/59792373528535/199064865822552)
[Technical Design
Template](https://app.asana.com/0/59792373528535/184709971311943)
[Pull Request
Documentation](https://app.asana.com/0/1202500774821704/1204012835277482/f)
@dus7 dus7 marked this pull request as ready for review February 1, 2024 14:33
Copy link
Contributor

@brindy brindy left a comment

Choose a reason for hiding this comment

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

LGTM! Nice job.

@dus7 dus7 merged commit b28a385 into main Feb 5, 2024
20 checks passed
@dus7 dus7 deleted the mariusz/default-autoconsent branch February 5, 2024 08:23
samsymons added a commit that referenced this pull request Feb 8, 2024
# By Mariusz Śpiewak (11) and others
# Via Bartek Waresiak (3) and others
* main: (52 commits)
  Release 7.108.0-3 (#2454)
  User Authentication (#2431)
  Fix BSK reference to tagged version (#2447)
  Set proper border color for widgets (#2446)
  Check subfeature state before reading rollout data (#2426)
  Remove the mock VPN invite code (#2442)
  Release 7.108.0-2 (#2445)
  Keep DuckDuckGo Settings after Fire Button (#2444)
  Release 7.108.0-1 (#2440)
  Release 7.107.1-1 (#2439)
  Updates internal user flag to reset state (#2438)
  Release 7.107.1-0 (#2437)
  Hide the debug menu when debug mode is not enabled (#2436)
  Autoconsent 9.7.2 (#2425)
  Release 7.108.0-0 (#2432)
  Autofill: Fix footer sizing for multiline labels (#2422)
  Add rollout for cookie popup management enabled by default (#2373)
  Update BSK with autofill 10.1.0 (#2414)
  Bump submodules/privacy-reference-tests from `a3acc21` to `6b7ad1e` (#2408)
  Add Autoconsent onByDefault subfeature (#2423)
  ...

# Conflicts:
#	DuckDuckGo.xcodeproj/project.pbxproj
#	DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
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