diff --git a/work/wiki/apple-browsers/chat-path-onboarding-tracker-blocking.md b/work/wiki/apple-browsers/chat-path-onboarding-tracker-blocking.md index 44e9abc9..3c13ec7a 100644 --- a/work/wiki/apple-browsers/chat-path-onboarding-tracker-blocking.md +++ b/work/wiki/apple-browsers/chat-path-onboarding-tracker-blocking.md @@ -53,19 +53,19 @@ --- -### 🔴 SR — Design: "Try a Search or AI chat" dialog — Remove pointer/tail +### ✅ SR — Design: "Try a Search or AI chat" dialog — Remove pointer/tail **Source:** [Asana task 1214846580751519](https://app.asana.com/1/137249556945/project/1202406491309510/task/1214846580751519) (Ship Review: Design, May 15). Remove the bubble pointer/tail from the bottom of the "Try a Search or AI chat" dialog container since Dax is not present in this dialog. -**State:** 🔴 NOT done. Not in any PR. NOT in working tree. +**State:** ✅ Already done — `OnboardingBubbleView.withDismissButton(tailPosition: nil, ...)` in `RebrandedContextualOnboardingDialogs+TrySearch.swift`. Confirmed 2026-05-18. --- -### 🔴 SR — Design: "You've Got This!" dialog — Remove pointer/tail +### 🟠 SR — Design: "You've Got This!" dialog — Remove pointer/tail **Source:** [Asana task 1214828145455345](https://app.asana.com/1/137249556945/project/1202406491309510/task/1214828145455345) (Ship Review: Design, May 15). Remove the bubble pointer/tail from the bottom of the "You've Got This!" EOJ dialog container since Dax is not present. -**State:** 🔴 NOT done. Not in any PR. NOT in working tree. +**State:** 🟠 Fix in working tree, NOT committed — `tailPosition: nil` in `RebrandedContextualOnboardingDialogs+EndOfJourney.swift`. Applied 2026-05-18. Needs committing to `sr-feedback` branch. --- @@ -614,7 +614,7 @@ All resolved on GitHub. Fixed in later commits on the `#4544` branch. 2. **App** — update `FeatureFlag.onboardingDuckAIQueryExperiment` to reference the new subfeature case; update experiment pixel names accordingly 3. **`privacy-configuration` repo** — add new entry `onboardingDuckAIQueryTrackersDemoExperiment` with `targets`; set old `onboardingDuckAIQueryExperiment` to `"state": "disabled"` -**State:** 🔴 Name decided, NOT yet implemented. +**State:** ✅ Implemented (2026-05-18). BSK `PrivacyFeature.swift` + iOS `FeatureFlag.swift` updated. `resolveDuckAIQueryExperimentCohortID` switched to new flag. Privacy-config PR [#5189](https://github.com/duckduckgo/privacy-configuration/pull/5189): disables old experiment, adds new one with US/EN targeting + control/treatmentA cohorts. --- @@ -624,7 +624,7 @@ All resolved on GitHub. Fixed in later commits on the `#4544` branch. **What:** Fill `onboardingDuckAIQueryTrackersDemoExperiment` into [O-J <> O-N Coordination](https://app.asana.com/1/137249556945/project/1214157224317277/task/1214288645859692) and [O-N Live Onboarding Experiment Details](https://app.asana.com/1/137249556945/task/1214601039604921). -**State:** 🔴 Name now known — can be filled in once PRE-SHIP-2 is done. +**State:** 🟠 PRE-SHIP-2 done. Fill `onboardingDuckAIQueryTrackersDemoExperiment` into [O-N Live Onboarding Experiment Details](https://app.asana.com/1/137249556945/task/1214601039604921) and [O-J <> O-N Coordination](https://app.asana.com/1/137249556945/project/1214157224317277/task/1214288645859692). --- @@ -640,11 +640,11 @@ All resolved on GitHub. Fixed in later commits on the `#4544` branch. **GJ8/ "Ask.ai" toggle label** 🟠 Copy confirmed as **"Ask.ai"** (with dot) by [Alessandro May 14](https://app.asana.com/1/137249556945/task/1214348462471176/comment/1214794310099718). Currently implemented as "Ask AI" (no dot) in working tree — needs correction to "Ask.ai" before committing. -**Experiment rename in privacy config** 🔴 Name decided: **`onboardingDuckAIQueryTrackersDemoExperiment`** ([Alessandro May 15](https://app.asana.com/1/137249556945/task/1214348462471176/comment/1214794564106665)). Reason: reusing the old name would complete NA analysis immediately (already at sample size). Still needs implementing: new `AIChatSubfeature` case in BSK, update `FeatureFlag`, new entry in `privacy-configuration/overrides/ios-override.json` (disable old one). +**Experiment rename in privacy config** ✅ Done (2026-05-18). BSK + iOS FeatureFlag updated. Privacy-config PR [#5189](https://github.com/duckduckgo/privacy-configuration/pull/5189) open. -**Privacy config `targets` payload** 🔴 TBD. `"targets": [{ "localeLanguage": "en", "localeCountry": "US" }]` must be added to the experiment entry. Local edit exists on wrong branch in `privacy-configuration` repo. Do together with rename above. +**Privacy config `targets` payload** ✅ Done (2026-05-18). Included in privacy-config PR #5189. -**O-N Live Onboarding Experiment Details ([task 1214601039604921](https://app.asana.com/1/137249556945/task/1214601039604921))** 🔴 Name now known (`onboardingDuckAIQueryTrackersDemoExperiment`). Fill into [O-N Live Onboarding Experiment Details](https://app.asana.com/1/137249556945/task/1214601039604921) and [O-J <> O-N Coordination](https://app.asana.com/1/137249556945/project/1214157224317277/task/1214288645859692) once PRE-SHIP-2 is implemented. +**O-N Live Onboarding Experiment Details ([task 1214601039604921](https://app.asana.com/1/137249556945/task/1214601039604921))** 🟠 Fill `onboardingDuckAIQueryTrackersDemoExperiment` into [O-N Live Onboarding Experiment Details](https://app.asana.com/1/137249556945/task/1214601039604921) and [O-J <> O-N Coordination](https://app.asana.com/1/137249556945/project/1214157224317277/task/1214288645859692). **Alessandro's May 15 QA** — Tested PR #4855 against test cases in [task 1214683268207880](https://app.asana.com/1/137249556945/task/1214683268207880). Test run: [task 1214794564106677](https://app.asana.com/1/137249556945/project/1206329551987282/task/1214794564106677). Left notes in test run and new comments in PR (see PR #4855 — Alessandro line 450 item above). @@ -652,21 +652,25 @@ All resolved on GitHub. Fixed in later commits on the `#4544` branch. --- -## Experiment Config (current, local override only) +## Experiment Config (PR #5189 — test config active) + +Privacy-config PR: [#5189](https://github.com/duckduckgo/privacy-configuration/pull/5189) `alex/duckai-trackers-demo-experiment` +Test config URL: `https://duckduckgo.github.io/privacy-configuration/pr-5189/v4/ios-config.json` `privacy-configuration/overrides/ios-override.json` under `aiChat` subfeatures: ```json -"onboardingDuckAIQueryExperiment": { +"onboardingDuckAIQueryExperiment": { "state": "disabled" }, +"onboardingDuckAIQueryTrackersDemoExperiment": { "state": "enabled", "targets": [{ "localeLanguage": "en", "localeCountry": "US" }], "cohorts": [ { "name": "control", "weight": 1 }, - { "name": "treatmentA", "weight": 1 }, - { "name": "treatmentB", "weight": 1 } + { "name": "treatmentA", "weight": 1 } ] } ``` -> Feature flag: `FeatureFlag.onboardingDuckAIQueryExperiment` in `iOS/Core/FeatureFlag.swift` -> Cohort type: `FeatureFlag.DuckAIQueryExperimentCohort` +> Feature flag: `FeatureFlag.onboardingDuckAIQueryTrackersDemoExperiment` in `iOS/Core/FeatureFlag.swift` +> Cohort type: `FeatureFlag.DuckAIQueryExperimentCohort` +> iOS embedded config (`ios-config.json`) updated from PR test URL, SHA `dc1d8ae9bee10e43...` (2026-05-18)