- Rename `ContactPickerViewController` with `HomePeopleSearchViewController`.
- Define a basic view controller class `ContactsTableViewController` to display/filter a contacts list.
- Make `StartChatViewController` inherit of this new class `ContactsTableViewController` to handle contact invite.
Handle 'Start chat' and 'Add new member' screens. (TODO update people search screen)
- Display by default all the local contacts with at least one contact method (email, phone number...) in alphabetic order, mixing Matrix enabled and non-Matrix enabled users.
- The search result lists only the contacts who have the search pattern as prefix in their display name, their matrix identifiers and/or their contact methods (emails, phones).
- The search result is displayed in 2 sections: “Local Contacts" and “Known Contacts”.
- Local contacts with several contact methods are split in several contacts.
#904
- MXKContactManager: List the local contacts with methods (instead of handling only the emails).
- ContactTableViewCell: Highlight the Matrix-enabled contacts in local contacts section.
- Update `NSContactsUsageDescription` to turn on by default the matrix user discovering when the user allows the access to the local contacts.
- Ask to the existing users the permission to upload emails when the contact access is already granted.
- Update matrix ids for all the local contacts in only one request when device contacts are loaded and an identity server is available.
#887
- Improve the contact search in the 'Start Chat' screen.
- TODO: Report this changes in 'Room Settings' to add new members, and in 'People Search' screen.
* Settings: Add "LOCAL CONTACTS" > "Use emails to discover users" toggle button
Related to #551
* Users discovery: Warn explicitly that your addressbook's emails are uploaded for discovering matrix IDs if you enable that permission #551.
* FR keyboard typo