Community FAQ
How Users Register
- Users register with 
emailandpassword. - Required fields: 
email,password,name. Optional:bio,image. - We collect device metadata and approximate location from IP for security/anti‑abuse.
 - Password reset is via email OTP.
 
iOS run bug
If you face this
error building IOS. What should I do if I have the following problem? [Failed to install the app on the device.Domain: The parent bundle has the same identifier]
- This comes from the ShareExtension. In Xcode, select 
ShareExtensiontarget and update its bundle id to match your main bundle id with.ShareExtensionsuffix. - For more info, check: share_handler
 
New features
- The app targets broad use cases. If you need custom features for your business, see Support for tailored work.
 
Stop ads
- Update ad settings from the admin panel, or set the flags in config as shown below.

 
Phone login
- The app ships with email/password auth to avoid vendor lock‑in. Phone OTP login is available in versions that support it.
 
Why not WebRTC for calls
- WebRTC requires expensive TURN/SFU infra and global distribution to maintain quality. Agora.io provides reliable, scalable calls with a free quota and lower operational overhead, so it’s used instead.
 
Call notifications
- Currently call notifications arrive like chat notifications. Full‑screen native call UI is being improved in upcoming updates.
 
Admin panel
- Admin panel will keep receiving user management improvements in updates.
 
Desktop voice recorder
- Desktop voice recording is disabled due to package limitations; will be revisited in future updates.
 
Bug while releasing Android (Your project requires a newer version of Kotlin)
- Fixed in recent releases. Configure Android release signing properly.
 - Create 
key.propertieswith your keystore info: 
storePassword=your storePassword
keyPassword=your keyPassword
keyAlias=your keyAlias
storeFile=/Users/hatemragap/super-up-keystore.jks
- If you are not publishing to Play right now, you can temporarily sign with debug keys. In 
android/app/build.gradle, replace release signing section per Flutter docs with: 
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
to Delete the signingConfigs{}
  buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
Flutter state management
- Custom state management based on 
ValueNotifierand streams is used across the app. 
Plan support requirements
- Firebase project (invite 
hatemragapdev@gmail.comtemporarily for setup) - VPS with AVX support (2 vCPU, 2 GB RAM min, 100 GB SSD recommended)
 - Domain name pointed to the VPS (wildcard optional). SSL will be configured (Let’s Encrypt).
 - Agora.io account with 10$ billing (optional) can be done later
 - Google Maps api key with place search enabled; it will require enable billing (optional) can be done later
 - Google Ads banner IDs for Android and iOS (optional)
 - App name, logo, and support email
 - SMTP credentials for password reset (EMAIL_HOST, EMAIL_USER, EMAIL_PASSWORD)
 - Backend can be deployed with CapRover or standard VPS (see Deployment doc)
 - If publishing, add 
hatemragapdev@gmail.comto Play/App Store as needed during setup - Support applies to one product per purchase; additional products require separate plans