Skip to content

Conversation

@etoledom
Copy link
Contributor

Description

This PR changes the previous MyProfileViewController with the Gravatar Quick Editor to edit the My Profile fields.

CleanShot 2025-06-11 at 22 25 03

Testing instructions

  • Go to Me tab
  • Tap on the avatar view
    • Check that the Quick Editor is presented on Avatar Picker mode
    • Check that selecting a new avatar updates the current avatar on Jetpack side
  • Go back
  • Tap on My Profile
    • Check that the Quick Editor is presented on About Editor mode (profile fields editor)
  • Update all the fields
  • Go back
    • Check that the display name has change on the My Profile tab header
    • Check on WP.com that the other fields have been updated acordingly

Consider testing the following yourself before requesting a review:

  • Compatibility with WordPress.com sites and self-hosted Jetpack sites
  • Both portrait and landscape orientations
  • Light and dark modes
  • Dynamic font sizes: larger, smaller and bold text
  • High contrast mode
  • Screen reader experience (e.g., VoiceOver)
  • Languages with large words or with letters/accents not frequently used in English
  • Right-to-left languages layout
  • Multi-tasking: split view and slide over

-->

@etoledom etoledom requested a review from kean June 11, 2025 20:31
@etoledom etoledom self-assigned this Jun 11, 2025
@etoledom etoledom added the Gravatar Gravatar SDK related updates label Jun 11, 2025
Comment on lines 106 to 113
@objc private func gravatarButtonTapped() {
guard let email = gravatarEmail,
let presenter = GravatarQuickEditorPresenter(email: email),
let presentingViewController else { return }
presenter.presentQuickEditor(on: presentingViewController)
guard
let presenter = GravatarQuickEditorPresenter(),
let presentingViewController
else { return }
presenter.presentQuickEditor(on: presentingViewController, scope: .avatarPicker())
}
}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe that this class and MyProfileViewController related types are no longer in use.

Should we clean up?

Copy link
Contributor

Choose a reason for hiding this comment

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

If you could remove MyProfileViewController and the related types, that would be ideal.

@dangermattic
Copy link
Collaborator

dangermattic commented Jun 11, 2025

2 Warnings
⚠️ This PR is larger than 500 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.
⚠️ PR is not assigned to a milestone.

Generated by 🚫 Danger

@etoledom etoledom marked this pull request as draft June 11, 2025 20:35
@wpmobilebot
Copy link
Contributor

wpmobilebot commented Jun 11, 2025

App Icon📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress
ConfigurationRelease-Alpha
Build Number27962
VersionPR #24583
Bundle IDorg.wordpress.alpha
Commit78b9126
Installation URL705b1hlvgk5oo
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot
Copy link
Contributor

wpmobilebot commented Jun 11, 2025

App Icon📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack
ConfigurationRelease-Alpha
Build Number27962
VersionPR #24583
Bundle IDcom.jetpack.alpha
Commit78b9126
Installation URL2mq702na5nk5g
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

Copy link
Contributor

@kean kean left a comment

Choose a reason for hiding this comment

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

Hey, I tested the editor on iPhone, and it worked well.

There is a little bit of a UX issue due to a large, non-scrollable header that makes the form much smaller than it can be:

It's especially visible with accessibility fonts on:

The email field also sticks out with large fonts. I'd suggest displaying in inside the header "card" below the name.

I haven't tested the iPad version. I presume the form is shown in a "form" modal?

Comment on lines 106 to 113
@objc private func gravatarButtonTapped() {
guard let email = gravatarEmail,
let presenter = GravatarQuickEditorPresenter(email: email),
let presentingViewController else { return }
presenter.presentQuickEditor(on: presentingViewController)
guard
let presenter = GravatarQuickEditorPresenter(),
let presentingViewController
else { return }
presenter.presentQuickEditor(on: presentingViewController, scope: .avatarPicker())
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

If you could remove MyProfileViewController and the related types, that would be ideal.

@AdamGrzybkowski
Copy link

Hey folks,

@nbradbury mentioned here that he likes combined avatarAndPicker scope. I think this is something that should be synced between iOS and Android. What are your thoughts about it?

@etoledom
Copy link
Contributor Author

Thank you @kean for the review!

We implemented a few changes taking into consideration reviews from Android and iOS PRs.
The changes are detailed here..

Regarding to your feedback, we have:

  • Removed the email from the top of the view, giving more vertical space.
  • The Profile card won't increase its size for dynamic type sizes beyond xxxl.
  • Removed the Profile card when the keyboard is present and the dynamic type size is Accessibility 3 or higher.

Besides this, I have removed from the project the types which have become obsolete.

We also wanted to mention that we have another alternative grid layout for the Avatar picker.
The alternatives can be seen here. We are currently using the "layout 3": Horizontal scrolling with intrinsic height size.


Regarding iPad, yes, it will present as a form modal:

@etoledom etoledom requested a review from kean June 16, 2025 09:21
@etoledom etoledom marked this pull request as ready for review June 18, 2025 09:28
@etoledom
Copy link
Contributor Author

@kean - Ready for another look 👀

Copy link
Contributor

@kean kean left a comment

Choose a reason for hiding this comment

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

LGTM

Minor comments:

  • I still find it strange that only a small portion of the screen is scrollable while the rest isn’t. Additionally, the scroll indicator seems too far from the right edge. I recommend making the entire screen scrollable, including the header. It would also be helpful to move the Gravatar logo elsewhere and place the "Save" button in the navigation bar. This change would help save vertical space and align with the standard design for these types of forms in the app. If this isn't the direction you want to take, that's okay, but it doesn't follow typical native app conventions.

  • The notice is shown too close to the keyboard

Hey, @crazytonyli , do you want to take a second look at this PR?

.package(url: "https://github.com/Automattic/Automattic-Tracks-iOS", from: "3.5.2"),
.package(url: "https://github.com/Automattic/AutomatticAbout-swift", from: "1.1.5"),
.package(url: "https://github.com/Automattic/Gravatar-SDK-iOS", from: "3.2.0"),
.package(url: "https://github.com/Automattic/Gravatar-SDK-iOS", revision: "ce04275c6237131576f424a215197bfaeaefc416"),
Copy link
Contributor

Choose a reason for hiding this comment

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

Just a reminder to update the commit to a tag.

@etoledom
Copy link
Contributor Author

Thank you all for the reviews!
We are aware of the existing issues with the current UI, and we will make a bigger revision of it later on, most probably based on the UI of the new Gravatar native App we started working on recently.

I have updated the reference to the latest release and will merge after CI gets ✅

🙏

@etoledom etoledom enabled auto-merge June 24, 2025 07:56
@sonarqubecloud
Copy link

@etoledom etoledom added this pull request to the merge queue Jun 24, 2025
Merged via the queue into trunk with commit 90e979e Jun 24, 2025
32 of 34 checks passed
@etoledom etoledom deleted the proposal/gravatar-quick-editor-as-profile-editor branch June 24, 2025 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Gravatar Gravatar SDK related updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants