A mobile application that allows sellers to create menus and allow buyers to order from businesses. Features custom seller tools that aim to help small businesses grow.
When an account is created, FirebaseAuth (used for storing emails and passwords) can succeed while FirebaseDatabase (used for storing user profiles) can potentially fail, creating a desync between systems.
Reproduction URL
None
Reproduction Steps
Create a new account using Credentials or OAuth
FirebaseAuth writes successfully (email and password in )
FirebaseDatabase writes unsuccessfully (user profile not in Users table)
DesyncError - program still runs successfully but may cause future errors
Potential Solutions
Create a check when a user logs in without a profile and create a profile
Additional safety layer when dashboard is accessed without a profile
Secondary account creation can fail, requires an additional database read per user per login
Delete account in FirebaseAuth if FirebaseDatabase fails
Description
When an account is created, FirebaseAuth (used for storing emails and passwords) can succeed while FirebaseDatabase (used for storing user profiles) can potentially fail, creating a desync between systems.
Reproduction URL
None
Reproduction Steps
Potential Solutions
System
Android/iOS/Chromium