Very important new data point from Apple CFO: European Union represents only 7% of App Store revenue. So there’s your answer on why Apple isn’t expanding the changes to other markets (unless they are forced to).
I've photographed every planet in our solar system. Here they all are to scale with my most recent photo of our sun.
Yes, we're quite small. But we're also very significant.
502,236 animals killed in 15 seconds.
That’s over 2,000,000 - yes, 2 MILLION - animals slaughtered per minute.
If we killed humans at the same rate we kill animals for food, the entire population would be gone in 17 days.
#Vegan#GoVegan#NewYear2024#Veganuary#Veganuary2024#NewYear
@Kilo_Loco you can create a user object asap, and if the login process failed in any reasons, later (regularly) you can clean the db, delete those stale user records which state is unsuccessful
I keep running into a big issue.
And it’s weird that I’m struggling with it so much since it’s so common in almost every app.
How should I handle 🔒user authentication and 👤 object creation?!
A user signs up using email and password and that information needs to be sent to some backend authentication layer.
After successfully authenticating, you now have some type of token that confirms your user is authenticated.
But what about the user object that needs to be in your database?
You could trigger a function to create the user object post authentication, but how does the client get the newly created user object? What if the creation of the object fails for some reason, the user wouldn’t be notified 🤷🏽♂️
The other option is to start a second request after the client receives the auth token.
This path slits in two:
1. Send the user information up in a request to be validated by the backend and return the newly created user object ☁️
2. Use your offline sync engine to create the user when it is persisted to the client 📲
Sending up the user info could leave an opening for a security vulnerability 👾
Persisting the user to the sync engine could lead to sync errors 🚫
I’m sure that there’s no silver bullet for this solution, but it’s absolutely astounding that this common issue hasn’t been solved.
I’m probably missing a few options, so feel free to share your recommended approach to handling this problem.
I look forward to the feedback 😁
@v_pradeilles "When you declare a function that takes a closure as one of its parameters, you can write @escaping before the parameter’s type to indicate that the closure is allowed to escape."
Did you know?
There’s a massive library in Minecraft populated with uncensored articles, journals, and information from all over the world. It’s accessible worldwide and offers a unique opportunity to people in censored countries to view uncensored texts