Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FindYourContactsFooterView to ContactsTableViewController #4709

Merged
merged 41 commits into from
Oct 11, 2021

Conversation

pixlwave
Copy link
Member

@pixlwave pixlwave commented Aug 13, 2021

The second part of the contacts portion of #4484. Depends upon matrix-org/matrix-ios-kit#879 and matrix-org/matrix-ios-sdk#1200.

A footer is added to ContactsTableViewController whenever the necessary permissions to display the user's contacts have not be granted. Rather than automatically prompting the user for contacts access whenever a ContactsTableViewController is shown, this is now prevented and waits until the user chooses to grant it.

Additionally fixes #4617 by removing the display of local contacts from Unified Search's People tab.

  • Add Identity Server explainer text for ℹ️ button. Possibly:

An identity server allows Element to find users on Matrix by looking up their phone number or email address.

  • Add Integration Manager explainer text for ℹ️ button. Possibly:

An integration manager allows you to add functionality from third parties into Element.
An integration manager allows you to add features to Element that are operated by third parties.
An integration manager connects additional services into the Matrix ecosystem, such as bots, bridges widgets, and sticker packs.

Review notes:

  • The NSContactsUsageDescription string has been updated in InfoPlist.strings. Is there anything extra that should be done for this?

Edit: The design below is out of date. There's a screen recording with the final design at the bottom of this PR
Frame 1

Update InviteFriendsHeaderView and StartChatViewController styles to match Figma doc.
Remove automatic triggering of contacts access.
Update the value of showLocalContacts in ContactsTableViewController.
…ove identity server terms modal from LegacyAppDelegate into ContactsTableViewController.
@pixlwave
Copy link
Member Author

Screenshot of how the changes look on an iPad - it currently matches the max width to the Invite Friends button:

Simulator Screen Shot - iPad Pro (11-inch) (3rd generation) - 2021-08-13 at 16 17 40

@pixlwave
Copy link
Member Author

pixlwave commented Aug 13, 2021

Both the best case and worst case flows:

Outdated https://user-images.githubusercontent.com/6060466/129382764-aac09642-dfae-48c0-b371-bdb38e2e6244.mov
bumpy-path-480p.mov

@github-actions
Copy link

github-actions bot commented Aug 17, 2021

📱 Scan the QR code below to install the build for this PR.
🔒 This build is for internal testing purpose. Only devices listed in the ad-hoc provisioning profile can install Element Alpha.

QR code

If you can't scan the QR code you can install the build via this link: https://i.diawi.com/xgPnRi

@pixlwave pixlwave changed the title Add RequestContactsAccessFooterView to ContactsTableViewController Add FindYourContactsFooterView to ContactsTableViewController Sep 15, 2021
@pixlwave
Copy link
Member Author

pixlwave commented Sep 15, 2021

Updated both the footer view and the terms of service modal from the latest Figma. A recording of the flow with both identity server and contacts access:

export.mp4

The changes to terms of service modal also affect the integration manager which now looks like this:

Simulator Screen Shot - iPhone 12 mini - 2021-09-30 at 12 58 45

# Conflicts:
#	Riot/Assets/en.lproj/Vector.strings
#	Riot/Generated/Strings.swift
#	Riot/Modules/Application/LegacyAppDelegate.m
#	Riot/Modules/Settings/SettingsViewController.m
@pixlwave pixlwave marked this pull request as ready for review September 30, 2021 14:44
Copy link
Member

@stefanceriu stefanceriu left a comment

Choose a reason for hiding this comment

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

Small comments otherwise lgtm 👍

Riot/Modules/Settings/SettingsViewController.m Outdated Show resolved Hide resolved
Use the new generated localisation strings. Add comments.

Address feedback from PR review.
@niquewoodhouse
Copy link

niquewoodhouse commented Oct 6, 2021

@pixlwave just looking at the text for the ℹ️s. I know there's a tone of voice being worked on so this might be temporary text.

  • Identity Server:
    • An identity server helps you find your contacts, by looking up their phone number or email address, to see if they already have an account on Matrix.*
  • Integration manager:
    • An integration manager lets you add features from third parties.
  • I personally am not sure the on matrix bit is that relevant but added in case its too controversial if not there.

@pixlwave
Copy link
Member Author

pixlwave commented Oct 6, 2021

Thanks, will update. Makes sense to me without the "on Matrix" bit.

…_access

# Conflicts:
#	Riot/Modules/ServiceTerms/Modal/ServiceTermsModalCoordinatorBridgePresenter.swift
@pixlwave pixlwave merged commit 60bc34d into develop Oct 11, 2021
@pixlwave pixlwave deleted the doug/4484_contacts_access branch October 11, 2021 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove local contacts from Unified Search
3 participants