Skip to content

Add duck.ai categories to feedback #6217

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

Conversation

cmonfortep
Copy link
Contributor

@cmonfortep cmonfortep commented Jun 12, 2025

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

Description

We are adding new categories and subcategories to feedback flows to subscribers.
From settings -> feedback / settings -> subscriptions -> feedback: user is able to select new duck.ai category and subcategories.
Pixels and BE request are triggered at the end of the flow.

Steps to test this PR

First apply subscription staging patch.

No subscription

  • Go to settings -> send feedback
  • Ensure no subscription categories are shown

Settings feedback with Subscription

  • Purchase a subscription
  • Go to settings -> send feedback
  • Select privacy pro
  • Select Report a problem
  • Ensure duck.ai appears as category, select it (ensure pixel triggers with category duck.ai)
  • Ensure 3 sub-categories appear
  • Select any (and ensure pixel triggers with subcategory selected)
  • Ensure feedback form screen appears
  • Fill the form and send feedback
  • Ensure pixel triggers
  • Ensure BE triggers (and Toast message success)

Subscription Settings feedback with Subscription

  • Purchase a subscription (if you don't have it)
  • Go to settings -> Subscription Settings -> send feedback
  • Select Report a problem
  • Ensure duck.ai appears as category, select it (ensure pixel triggers with category duck.ai)
  • Ensure 3 sub-categories appear
  • Select any (and ensure pixel triggers with subcategory selected)
  • Ensure feedback form screen appears
  • Fill the form and send feedback
  • Ensure pixel triggers
  • Ensure BE triggers (and Toast message success)

Feedback with Subscription (feature flag disabled)

  • Go to FF inventory, disable "Privacy Pro -> duckAiPlus"
  • Purchase a subscription (if you don't have it)
  • Go to settings -> send feedback
  • Select Report a problem
  • Ensure duck.ai DOES NOT appear as category
  • Go to settings -> send feedback
  • Select privacy pro
  • Select Report a problem
  • Ensure duck.ai DOES NOT appear as category

UI changes

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

@cmonfortep
Copy link
Contributor Author

cmonfortep commented Jun 12, 2025

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

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

@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/show_duck_ai_pro_settings branch from 64d6881 to b8b75f2 Compare June 19, 2025 09:49
@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/update_feedback_flow branch 2 times, most recently from 1a116b0 to 51200d7 Compare June 19, 2025 13:06
@cmonfortep cmonfortep requested a review from Copilot June 19, 2025 13:14
Copy link
Contributor

@Copilot 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.

Pull Request Overview

This PR adds new duck.ai feedback categories and subcategories to the subscription feedback flow along with the corresponding UI and BE integrations.

  • Updates test cases and view models to support duck.ai category selection.
  • Introduces new strings and UI elements to handle duck.ai feedback, including changes in pixel event reporting.

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
subscriptions/subscriptions-impl/src/test/java/com/duckduckgo/subscriptions/impl/feedback/SubscriptionFeedbackViewModelTest.kt Updates test functions for subscriptions flows; adds duck.ai specific tests and renames several functions.
subscriptions/subscriptions-impl/src/main/res/values/donottranslate.xml Adds new string resources for duck.ai feedback categories and subcategories.
subscriptions/subscriptions-impl/src/main/res/layout/content_feedback_category.xml Adds a new UI element for the duck.ai category.
subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/feedback/SubscriptionFeedbackViewModel.kt Integrates duck.ai category processing in the view model and associated feedback logic.
subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/feedback/SubscriptionFeedbackParams.kt Adds new enum and parameter conversion for duck.ai, ensuring consistent API naming.
subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/feedback/SubscriptionFeedbackCategoryFragment.kt Injects duck.ai availability logic to control visibility in the feedback category fragment.
subscriptions/subscriptions-impl/src/main/java/com/duckduckgo/subscriptions/impl/feedback/FeedbackSubCategoryProvider.kt Includes duck.ai subcategories in the feedback subcategory provider.
Comments suppressed due to low confidence (2)

subscriptions/subscriptions-impl/src/test/java/com/duckduckgo/subscriptions/impl/feedback/SubscriptionFeedbackViewModelTest.kt:516

  • [nitpick] The test function name 'whenCategorySelectedIsDuckAithenShowDuckAiSubcategoriesScreenAndImpression' contains a typo ('DuckAithen') which should be corrected to 'DuckAiThen' to enhance clarity.
    fun whenCategorySelectedIsDuckAithenShowDuckAiSubcategoriesScreenAndImpression() = runTest {

subscriptions/subscriptions-impl/src/test/java/com/duckduckgo/subscriptions/impl/feedback/SubscriptionFeedbackViewModelTest.kt:537

  • The pixel event parameter here uses 'Duck.ai', which is inconsistent with DUCK_AI.asParams() returning 'duckAi'. Consider aligning the naming for consistent reporting.
                    "category" to "Duck.ai",

@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/show_duck_ai_pro_settings branch from b8b75f2 to d412f95 Compare June 19, 2025 15:54
@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/update_feedback_flow branch from 51200d7 to 3d70b4e Compare June 19, 2025 15:54
@cmonfortep cmonfortep marked this pull request as ready for review June 19, 2025 15:55
@cmonfortep cmonfortep requested a review from lmac012 June 19, 2025 15:55
@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/show_duck_ai_pro_settings branch 2 times, most recently from 1a42fd5 to 9a53001 Compare July 4, 2025 09:42
@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/show_duck_ai_pro_settings branch from 9a53001 to 7026706 Compare July 7, 2025 12:02
@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/update_feedback_flow branch from 3d70b4e to 9b5b254 Compare July 7, 2025 12:03
Copy link
Contributor

@lmac012 lmac012 left a comment

Choose a reason for hiding this comment

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

LGTM, only one nit.

@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/show_duck_ai_pro_settings branch from f3f9d77 to 2c15ec1 Compare July 9, 2025 13:35
@cmonfortep cmonfortep force-pushed the feature/cristian/subscriptions/update_feedback_flow branch from 9b5b254 to f8bc564 Compare July 9, 2025 13:35
@cmonfortep cmonfortep merged commit 841aa71 into feature/cristian/subscriptions/show_duck_ai_pro_settings Jul 9, 2025
3 of 6 checks passed
@cmonfortep cmonfortep deleted the feature/cristian/subscriptions/update_feedback_flow branch July 9, 2025 13:46
@cmonfortep cmonfortep mentioned this pull request Jul 9, 2025
16 tasks
cmonfortep added a commit that referenced this pull request Jul 11, 2025
Task/Issue URL:
https://app.asana.com/1/137249556945/task/1210461583262423?focus=true

### Description
We are adding new categories and subcategories to feedback flows to
subscribers.
From settings -> feedback / settings -> subscriptions -> feedback: user
is able to select new duck.ai category and subcategories.
Pixels and BE request are triggered at the end of the flow.

### Steps to test this PR

First apply subscription staging patch.

_No subscription_
- [x] Go to settings -> send feedback
- [x]  Ensure no subscription categories are shown

_Settings feedback with Subscription_
- [x] Purchase a subscription
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Subscription Settings feedback with Subscription_
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> Subscription Settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Feedback with Subscription (feature flag disabled)_
- [x] Go to FF inventory, disable "Privacy Pro -> duckAiPlus"
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category



### UI changes
| Before  | After |
| ------ | ----- |
!(Upload before screenshot)|(Upload after screenshot)|
cmonfortep added a commit that referenced this pull request Jul 14, 2025
Task/Issue URL:
https://app.asana.com/1/137249556945/task/1210461583262423?focus=true

### Description
We are adding new categories and subcategories to feedback flows to
subscribers.
From settings -> feedback / settings -> subscriptions -> feedback: user
is able to select new duck.ai category and subcategories.
Pixels and BE request are triggered at the end of the flow.

### Steps to test this PR

First apply subscription staging patch.

_No subscription_
- [x] Go to settings -> send feedback
- [x]  Ensure no subscription categories are shown

_Settings feedback with Subscription_
- [x] Purchase a subscription
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Subscription Settings feedback with Subscription_
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> Subscription Settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Feedback with Subscription (feature flag disabled)_
- [x] Go to FF inventory, disable "Privacy Pro -> duckAiPlus"
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category



### UI changes
| Before  | After |
| ------ | ----- |
!(Upload before screenshot)|(Upload after screenshot)|
cmonfortep added a commit that referenced this pull request Jul 14, 2025
Task/Issue URL:
https://app.asana.com/1/137249556945/task/1210461583262423?focus=true

### Description
We are adding new categories and subcategories to feedback flows to
subscribers.
From settings -> feedback / settings -> subscriptions -> feedback: user
is able to select new duck.ai category and subcategories.
Pixels and BE request are triggered at the end of the flow.

### Steps to test this PR

First apply subscription staging patch.

_No subscription_
- [x] Go to settings -> send feedback
- [x]  Ensure no subscription categories are shown

_Settings feedback with Subscription_
- [x] Purchase a subscription
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Subscription Settings feedback with Subscription_
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> Subscription Settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Feedback with Subscription (feature flag disabled)_
- [x] Go to FF inventory, disable "Privacy Pro -> duckAiPlus"
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category



### UI changes
| Before  | After |
| ------ | ----- |
!(Upload before screenshot)|(Upload after screenshot)|
cmonfortep added a commit that referenced this pull request Jul 15, 2025
Task/Issue URL:
https://app.asana.com/1/137249556945/task/1210461583262423?focus=true

### Description
We are adding new categories and subcategories to feedback flows to
subscribers.
From settings -> feedback / settings -> subscriptions -> feedback: user
is able to select new duck.ai category and subcategories.
Pixels and BE request are triggered at the end of the flow.

### Steps to test this PR

First apply subscription staging patch.

_No subscription_
- [x] Go to settings -> send feedback
- [x]  Ensure no subscription categories are shown

_Settings feedback with Subscription_
- [x] Purchase a subscription
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Subscription Settings feedback with Subscription_
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> Subscription Settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Feedback with Subscription (feature flag disabled)_
- [x] Go to FF inventory, disable "Privacy Pro -> duckAiPlus"
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category



### UI changes
| Before  | After |
| ------ | ----- |
!(Upload before screenshot)|(Upload after screenshot)|
cmonfortep added a commit that referenced this pull request Jul 21, 2025
Task/Issue URL:
https://app.asana.com/1/137249556945/task/1210461583262423?focus=true

### Description
We are adding new categories and subcategories to feedback flows to
subscribers.
From settings -> feedback / settings -> subscriptions -> feedback: user
is able to select new duck.ai category and subcategories.
Pixels and BE request are triggered at the end of the flow.

### Steps to test this PR

First apply subscription staging patch.

_No subscription_
- [x] Go to settings -> send feedback
- [x]  Ensure no subscription categories are shown

_Settings feedback with Subscription_
- [x] Purchase a subscription
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Subscription Settings feedback with Subscription_
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> Subscription Settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai appears as category, select it (ensure pixel
triggers with category duck.ai)
- [x] Ensure 3 sub-categories appear
- [x] Select any (and ensure pixel triggers with subcategory selected)
- [x] Ensure feedback form screen appears
- [x] Fill the form and send feedback
- [x] Ensure pixel triggers
- [x] Ensure BE triggers (and Toast message success)

_Feedback with Subscription (feature flag disabled)_
- [x] Go to FF inventory, disable "Privacy Pro -> duckAiPlus"
- [x] Purchase a subscription (if you don't have it)
- [x] Go to settings -> send feedback
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category
- [x] Go to settings -> send feedback
- [x] Select privacy pro
- [x] Select Report a problem
- [x] Ensure duck.ai DOES NOT appear as category



### UI changes
| Before  | After |
| ------ | ----- |
!(Upload before screenshot)|(Upload after screenshot)|
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