RiChuOriginal post
Apple Developer
hi guys, I'm trying to sign with just phone number and it returns existingUser.documents[0] data , but then it just crashes the whole expo app, but it works fine for web
JavaScript
export async function signIn(phone) { try { // Delete any active sessions to avoid conflicts await deleteSession();
// Validate the phone number and check if user exists await validatePhoneNumber(phone); console.log("Checking if user with phone number exists...");
const existingUser = await databases.listDocuments( appwriteConfig.databaseId, appwriteConfig.userCollectionId, [Query.equal("phone", phone)] );
if (existingUser.documents.length > 0) { console.log("User found, creating a new anonymous session..."); // Create a new anonymous session for the existing user const session = await account.createAnonymousSession(); console.log("Session created:", session);
return existingUser.documents[0]; } else { throw new Error("No user found with this phone number."); } } catch (error) { console.error("Error in sign-in:", error.message); throw new Error("Error in sign-in: " + error.message); }}
export async function deleteSession() { try { console.log("Deleting all sessions if available..."); const activeSessions = await account.listSessions(); for (const session of activeSessions.sessions) { await account.deleteSession(session.$id); } console.log("All active sessions deleted."); } catch (error) { console.error("Error while deleting session:", error.message); }}Summary
Issue: The app crashes when trying to sign in with a phone number, but it works fine on web.
Solution: It seems the crash is related to creating an anonymous session for an existing user. Developers can check the code for any bugs or errors in the authentication flow to resolve the crash issue.