Skip to content

Conversation

@joshliebe
Copy link
Contributor

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

Description

Steps to test this PR

Feature 1

  • [ ]
  • [ ]

UI changes

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

# Conflicts:
#	app/src/main/java/com/duckduckgo/app/pixels/remoteconfig/AndroidBrowserConfigFeature.kt
Copy link
Contributor Author

joshliebe commented Nov 27, 2025

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

viewModelScope.launch(dispatchers.io()) {
onboardingStore.storeInputScreenSelection(inputScreenSelected)
if (inputScreenSelected) {
inputScreenOnboardingWideEvent.onInputScreenEnabledDuringOnboarding()
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't love this, ie. the fact that we use something from the impl module :(

I haven't found a good way to have this exposed as a public API that would make sense though -- we're also kinda bypassing the public API proposal process 💃

I leave it up to you.

Comment on lines +56 to +62
getCurrentWideEventId()?.let { wideEventId ->
wideEventClient.flowFinish(
wideEventId = wideEventId,
status = FlowStatus.Unknown,
)
cachedFlowId = null
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do we do this? isn't this method supposed to be called only once?
Is it just a safe guard?

Comment on lines +65 to +69
.flowStart(
name = INPUT_SCREEN_ONBOARDING_FEATURE_NAME,
flowEntryPoint = "onboarding",
cleanupPolicy = OnProcessStart(ignoreIfIntervalTimeoutPresent = true),
)
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think should remove the cleanupPolicy. If I understand correctly, when doing that, if 7d pass an event will be sent with status unknown.

Suggested change
.flowStart(
name = INPUT_SCREEN_ONBOARDING_FEATURE_NAME,
flowEntryPoint = "onboarding",
cleanupPolicy = OnProcessStart(ignoreIfIntervalTimeoutPresent = true),
)
.flowStart(
name = INPUT_SCREEN_ONBOARDING_FEATURE_NAME,
flowEntryPoint = "onboarding",
)

If we do this we can tell how many users went through onboarding but never saw the toggle in the next 7d.

If we do this, we could send FlowStatus.Failure in line 59 above to distinguish them (?)

@joshliebe joshliebe force-pushed the feature/josh/input-screen-onboarding-wide-event branch from 264395b to e1920c1 Compare November 27, 2025 21:02
@joshliebe joshliebe force-pushed the feature/josh/input-screen-onboarding-wide-event branch from e1920c1 to edfd7b1 Compare November 27, 2025 21:25
@joshliebe joshliebe force-pushed the feature/josh/input-screen-onboarding-wide-event branch from edfd7b1 to fcc17e2 Compare November 27, 2025 22:00
@joshliebe joshliebe force-pushed the feature/josh/input-screen-onboarding-wide-event branch from fcc17e2 to 0f57bed Compare November 27, 2025 23:18
Base automatically changed from feature/josh/inout-screen-onboarding-step to develop November 28, 2025 18:07
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