The goal of this project was to improve the React Native client's user onboarding and retention by implementing contacts synchronization.
Final Pull Request: RocketChat/Rocket.Chat.ReactNative#1159
Note: This PR is dependent on this unmerged PR.
- Device contacts sync with server contacts using a GDPR-compliant algorithm.
- The synced contacts (intersection of device and server contacts) are displayed on the New Message screen.
- Unsynced contacts (only present on device) are displayed below synced contacts.
- The New Message screen no longer shows subscriptions.
- Searching is supported for synced and unsynced contacts.
- Redesign of New Message screen's user interface to follow iOS design more closely. Includes user item, header, and group and channel buttons.
Wireframes and prototypes for UI: https://www.figma.com/file/KUeWSAMi7LNTFHzS4YizrfNd/ios-contacts-in-react-native?node-id=0%3A1
[TBD]