Skip to content

fix: E2EI flow can be interrupted - WPB-23171 🍒#4397

Merged
netbe merged 1 commit intodevelopfrom
fix/e2ei-interruption-wpb-23171-cherry-pick
Mar 6, 2026
Merged

fix: E2EI flow can be interrupted - WPB-23171 🍒#4397
netbe merged 1 commit intodevelopfrom
fix/e2ei-interruption-wpb-23171-cherry-pick

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Mar 4, 2026

This PR was automatically cherry-picked based on the following PR:

Original PR description:


BugWPB-23171 [iOS] E2EI enrollment flow is interrupted

Issue

When logging in to an account that requires End-To-End-Identity, if the user interrupts the E2EI enrollment flow (either put app in BG then FG, or restart app) then the user can bypass the flow and end up in a state where they should have E2EI but don't and can't get it.

The logic to determine what is the top level app state (e.g authenticated -> go to conversation list, or e2ei required -> go to e2ei flow) is spread out in various places and is a fragile network of competing code paths. This broke at some point due to the various refactoring made to session loading and authentication flows.

The solution was to go step by step correcting various regressions, which I won't explain here but instead via comments on the changes.

Testing

There are three main flows to test:

  1. Log in to an account that requires E2EI without interruption (log in -> conversation list), verify success.
  2. Log in to an account that requires E2EI, but before completion go BG, then FG, complete and verify success.
  3. Log in to an account that requires E2EI, but before completion terminate app. Relaunch, see E2EI flow, complete and verify success.

Checklist

  • Title contains a reference JIRA issue number like [WPB-XXX].
  • Description is filled and free of optional paragraphs.
  • Adds/updates automated tests.

UI accessibility checklist

If your PR includes UI changes, please utilize this checklist:

  • Make sure you use the API for UI elements that support large fonts.
  • All colors are taken from WireDesign.ColorTheme or constructed using WireDesign.BaseColorPalette.
  • New UI elements have Accessibility strings for VoiceOver.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 4, 2026

@netbe netbe self-requested a review March 5, 2026 09:47
@netbe netbe marked this pull request as draft March 5, 2026 09:47
@netbe netbe marked this pull request as ready for review March 5, 2026 09:48
@netbe netbe enabled auto-merge March 5, 2026 09:48
@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 5, 2026

Test Results

6 295 tests   6 268 ✅  8m 15s ⏱️
  782 suites     27 💤
    4 files        0 ❌

Results for commit 8608599.

Summary: workflow run #22712075129
Allure report (download zip): html-report-28311-fix_e2ei-interruption-wpb-23171-cherry-pick

Copy link
Collaborator

@zenkins zenkins left a comment

Choose a reason for hiding this comment

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

✅ Auto-approved cherry-pick PR 🍒.

@netbe netbe added this pull request to the merge queue Mar 6, 2026
Merged via the queue into develop with commit 86d816f Mar 6, 2026
14 checks passed
@netbe netbe deleted the fix/e2ei-interruption-wpb-23171-cherry-pick branch March 6, 2026 15:35
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.

3 participants