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

Remove ParseUI #1760

Closed
3 tasks done
mtrezza opened this issue Oct 8, 2023 · 4 comments · Fixed by #1783
Closed
3 tasks done

Remove ParseUI #1760

mtrezza opened this issue Oct 8, 2023 · 4 comments · Fixed by #1783
Labels
state:breaking type:feature New feature or improvement of existing feature

Comments

@mtrezza
Copy link
Member

mtrezza commented Oct 8, 2023

New Feature / Enhancement Checklist

Current Limitation

Building a UI has become a lot easier over the years, especially with SwiftUI; ParseUI today looks like an obsolete convenience that could be dropped from the Parse SDK.

Feature / Enhancement Description

Remove ParseUI

@parse-github-assistant
Copy link

Thanks for opening this issue!

  • 🎉 We are excited about your ideas for improvement!

@mtrezza mtrezza added the type:feature New feature or improvement of existing feature label Oct 8, 2023
@dplewis
Copy link
Member

dplewis commented Oct 26, 2023

Seems like a lot of users are using the Sign in with Apple UI feature and other interfaces. This is based on the number of open issues related to it. I don't know if they are still relevant.

The Parse UI demo can be considered Facebook and Twitter utils integration tests. We can move the integration as described here #1729 (comment)

@JohnCaccavale
Copy link
Contributor

JohnCaccavale commented Apr 27, 2024

ParseUI today looks like an obsolete convenience that could be dropped from the Parse SDK.

Having just removed Parse UI from my project, I completely agree with this assessment. I originally used Parse UI as a means of getting my app shipped quicker by not having to worry about building onboarding / login flows. I think this ended up being a mistake as a proper onboarding/branded experience is quite necessary and makes for a better user experience.

I also think the Parse SDK should be entirely focused on one thing, and thats being a great SDK for interacting with Parse Server. Any sort of "extra conveniences" is just a distraction, resulting in more code that then needs to be maintained. As an example with ParseUI, someone will need to provide appropriate updates so that this legacy code works appropriately with the new trait collection system.

Rather than doing that, Parse UI should just be deprecated as soon as possible, and removed in the next major version.

Seems like a lot of users are using the Sign in with Apple UI feature and other interfaces.

@dplewis I am utilizing Sign in With Apple myself after removing the Parse UI. I think transitioning away from having ParseUI handle that should be straightforward enough for a developer. Just make the method call to retrieve the Sign in with Apple button from the framework, place it in their UI, and implement appropriate delegate methods.

What I ended up doing was in my authorizationController:didCompleteWithAuthorization: delegate function, I call +[PFUser logInWithAuthTypeInBackground:authData:] passing in "apple" for the Auth Type.

I think it should also be up to the 3rd party developers to manage their refresh tokens and such accordingly, which would be needed should one of their users wish to delete their account. Those tokens are needed to provide to Apple's revoke API upon account deletion. I tried looking around, but I found no docs regarding Parse Server's handling of this. If Parse Server is handling the revocation of Sign in with Apple tokens upon account deletion, I think it should be documented much better.

I'd be happy to help get the process of removing Parse UI going. I can definitely help review a PR or help write documentation as my limited time allows.

@dplewis
Copy link
Member

dplewis commented Apr 27, 2024

@mtrezza @JohnCaccavale I agree with removing ParseUI. We should update the documentation to include 3rd party linking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:breaking type:feature New feature or improvement of existing feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants