Skip to content

Conversation

ChrisMattew
Copy link
Collaborator

@ChrisMattew ChrisMattew commented Sep 26, 2025

Short description

This PR integrates the new SEND engagement flow shown after a first app opening

List of changes proposed in this pull request

  • Added the WhatsNewScreenContent component and its unit tests
  • Added the SendEngagementOnFirstAppOpenScreen component and its unit tests
  • Added the SendActivationErrorScreen component and its unit tests
  • Added the pnLoginEngagementReducer to handle the new screen dismissal state
  • Added the checkShouldDisplaySendEngagementScreen saga
  • Modified the maybeHandlePendingBackgroundActions saga to return a boolean needed to determine whether the newly added saga should be forked
  • The dispatch logic for the setSecurityAdviceReadyToShow action is now handled by the new SEND engagement flow
  • Added two new routes into the PN_ROUTES:
    • SEND_ENGAGEMENT_ON_FIRST_APP_OPENING
    • SEND_ENGAGEMENT_ACTIVATION_ERROR

Demo

Privacy & ToS links

iOS Android
iOS-send-engagement-privacy-and-tos.MP4
android-send-engagement-privacy-and-tos.mp4

Onboarding

Scenario iOS Android
Dismiss
iOS-send-engagement-onboarding.MP4
android-send-engagement-onboarding.mp4
Activation (Error|Success)
iOS-send-engagement-onboarding-activation-error-and-success.MP4
android-send-engagement-onboarding-activation-error-and-success.mp4

Activation(Error & Success)

Scenario iOS Android
Error
iOS-send-engagement-activation-error.mov
android-send-engagement-activation-error.mp4
Success
iOS-send-engagement-activation.MP4
android-send-engagement-activation.mp4

Note

The demos were recorded before the fix to the ToS acceptance copy, specifically, the Privacy Policy link was corrected to use an initial capital letter

How to test

The new SEND engagement screen should be displayed if all of the following conditions are met:

  • It is not a firstOnboarding (this can be tested locally with the proper configuration on the dev server)
  • The SEND service is not active for the user account being used
  • The screen has not yet been shown and voluntarily dismissed (either after activating the service through the activation flow in the screen, or after explicitly choosing not to activate the service from the same screen)

Important

In case of an error during the activation flow, clicking "Close" is not considered an explicit dismissal. Therefore, the engagement screen will be shown again upon the next app launch if the previous conditions are still met

Therefore, to verify that everything works correctly, reproduce the behavior shown in the demo videos and make sure that the screen is not displayed whenever even one of the previously listed conditions is not met.

Tip

To test the error scenario, I used a proxy tool to trigger an error on the /activation endpoint

Copy link
Contributor

github-actions bot commented Sep 26, 2025

Jira Pull Request Link

This Pull Request refers to Jira issues:

Copy link
Contributor

github-actions bot commented Sep 26, 2025

PR Title Validation for conventional commit type

All good! PR title follows the conventional commit type.

Copy link
Contributor

@Vangaorth Vangaorth left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants