Page MenuHomePhabricator

[lib] Don't insert username into UserStore when UserInfo missing
ClosedPublic

Authored by ashoat on Thu, Sep 26, 12:43 PM.
Tags
None
Referenced Files
F2841633: D13494.id44613.diff
Sun, Sep 29, 10:30 AM
F2840912: D13494.diff
Sun, Sep 29, 8:39 AM
Unknown Object (File)
Fri, Sep 27, 12:23 AM
Unknown Object (File)
Fri, Sep 27, 12:23 AM
Unknown Object (File)
Fri, Sep 27, 12:23 AM
Unknown Object (File)
Fri, Sep 27, 12:21 AM
Subscribers

Details

Summary

This addresses ENG-9373.

What's happening here:

  1. When findUserIdentities starts, there is a UserInfo for this user in the store
  2. By the time findUserIdentitiesActionTypes.success is reduced, the UserInfo is empty, so we end up inserting just the username into the store
  3. As a result, we end up passing a UserInfo without an ID to C++, which causes a crash
Test Plan

I tested the following 5 times and confirmed that it didn't cause a crash:

  1. Create a test account on iOS Simulator
  2. Create a test account on Android
  3. Send a friend request from Android to iOS (necessary to create a relationship)
  4. Delete account on Android

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable