Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@ycheng-kickstarter
Copy link
Contributor

@ycheng-kickstarter ycheng-kickstarter commented Sep 3, 2025

πŸ“² What

Update new user heuristic to remove notifications permissions conditional and reorder the screens in the flow.

πŸ€” Why

This new user heuristic will more strictly only show the onboarding flow to truly new users. Previously, the || conditional showed a subset of existing users the onboarding flow which we do not want:

val newUserHeuristic = !sharedPreferences.contains(CONSENT_MANAGEMENT_PREFERENCE) ||
                !sharedPreferences.getBoolean(HAS_SEEN_NOTIF_PERMISSIONS, false)

Move the consent management screen closer to the front of the flow in order to get earlier consent for analytics.

πŸ›  How

πŸ‘€ See

πŸ“‹ QA

On fresh install, verify that the new order of the screens in the flow is:
WELCOME
SAVE_PROJECTS
ACTIVITY_TRACKING
ENABLE_NOTIFICATIONS
SIGNUP_LOGIN

Story πŸ“–

https://kickstarter.atlassian.net/browse/MBL-2752

@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

βœ… All modified and coverable lines are covered by tests.
βœ… Project coverage is 64.66%. Comparing base (8abb8db) to head (29e21bb).
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #2415   +/-   ##
=========================================
  Coverage     64.66%   64.66%           
- Complexity     2404     2405    +1     
=========================================
  Files           375      375           
  Lines         28433    28432    -1     
  Branches       4124     4123    -1     
=========================================
  Hits          18386    18386           
  Misses         7782     7782           
+ Partials       2265     2264    -1     

β˜” View full report in Codecov by Sentry.
πŸ“’ Have feedback on the report? Share it here.

πŸš€ New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ycheng-kickstarter ycheng-kickstarter marked this pull request as ready for review September 3, 2025 16:51
primaryButton.performClick() // Welcome -> Save
Thread.sleep(500)
primaryButton.performClick() // Save -> Activity Tracking
Thread.sleep(500)
Copy link
Contributor

@Arkariang Arkariang Sep 3, 2025

Choose a reason for hiding this comment

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

nitpick no need to change anything: not fan of Thread.sleep(), usually advanceUntilIdle() does the trick better. There are a few samples of it in LocationSheetTest where there is a debounce operator in place ->

advanceUntilIdle() // Account for debounce when tipping on search input

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yup I have a ticket in this sprint https://kickstarter.atlassian.net/browse/MBL-2727 to remove the Thread.sleeps in these tests

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Was the debounce in LocationSheet implemented with coroutines? The onboarding button debounce was just implemented on the onclick without use of coroutines, so I didn't end up using advanceUntilIdle(). I used an injectable clock instead: #2417

@ycheng-kickstarter ycheng-kickstarter merged commit fed6d75 into master Sep 3, 2025
3 checks passed
@ycheng-kickstarter ycheng-kickstarter deleted the MBL-2752-onboarding-analytics-followup branch September 3, 2025 22:24
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.

4 participants