General
- Q: What is the app for?
A: Tracking japa, reading/hearing, seva, and temple programs aligned to Ashraya/Initiated/Volunteer goals. - Q: Do I need an account?
A: Yes, sign in with email/password; MFA is optional but recommended. - Q: Can I use the app offline?
A: You can log entries; they sync when online. - Q: Where is my data stored?
A: In Supabase (encrypted at rest) with optional local cache. - Q: How do I reset my password?
A: Use the Sign In screen “Forgot password” flow or contact support. - Q: Can I change my email?
A: Contact support; email changes require verification. - Q: How do I sign out?
A: Settings → Sign out. - Q: How do I delete my account?
A: Contact support to request deletion; deleting the app does not remove server data. - Q: What is appGroup?
A: A code (FTM/VOL/KL/FOLK) used for goals and access; set during onboarding/mentor flow. - Q: Does the app send notifications?
A: Optional daily reminders and calendar alerts; toggle in Settings.
Onboarding & Profile
- Q: What if my name is short?
A: Minimum 3 characters for first/last name; add an initial if needed. - Q: Can I skip DOB?
A: DOB is required to set youth/adult targets; future dates are rejected. - Q: How is age calculated?
A: Based on DOB and today’s date; used for kid/youth targeting. - Q: How are targets chosen?
A: From spiritual status: Initiated → initiated targets; Ashraya levels → level targets; Volunteer → volunteer; otherwise adult default; kids/youth get kid targets. - Q: What if I am Full-time Missionary?
A: Select that status; targets update to FTM requirements. - Q: How do I update address/education?
A: Edit in the Contact/Profile flow (University sheet supports “Other”). - Q: Phone formatting is off—can I type my own code?
A: Yes. The dial code seeds the field, but typing “+…” overrides formatting. - Q: Why does the country code reappear?
A: It seeds when empty; if you keep a “+” code, auto-prefixing stops. - Q: University not listed?
A: Choose “Other” in the picker and enter it manually. - Q: What if I select Krishna Life?
A: appGroup is set to KL unless already defined.
Mentor & Children
- Q: How do I pick a mentor/guide?
A: From the mentor list (active, ordered by sort_order) fetched from Supabase. - Q: Can I add children?
A: Yes, add child profiles with relation, DOB, grade, and Ashraya participation. - Q: Under-13 consent?
A: Required; consent stored with method/timestamp. - Q: Ashraya level for kids?
A: Youth ≤18 in Ashraya get kid Ashraya targets (Shraddhavan/Sevak) including kirtan minutes. - Q: Non-Ashraya kids’ targets?
A: Kids default: 2 rounds, 20m read/hear, 15m kirtan. - Q: Why don’t all kids appear as separate rows?
A: Family is stored in JSON; only dependents added as separate records (with parent_id) appear as rows. - Q: Can I remove a child?
A: Yes, delete the entry in the Children card; it’s removed from the draft JSON. - Q: Does relation affect targets?
A: No; age and Ashraya status drive targets. - Q: Which icon text changed?
A: Section reads “Children” with “Add child profile.” - Q: Are mentors required?
A: Yes; Ashraya kids also need level/partOfAshraya set for correct targets.
Home: Practice & Overview
- Q: How are daily targets set?
A: Based on spiritual status, age, and Ashraya flags (kid default, kid Ashraya, adult Ashraya, initiated, volunteer, adult default). - Q: Why do I see a Japa toggle?
A: Youth/adult Shraddhavan/Sevak/Sadhak (and kids default) use a rounds toggle; others log completion time. - Q: Kirtan toggle missing?
A: Only shows if the target includes kirtan minutes; kid Ashraya and kids default include it. - Q: How is Svadhyaya progress computed?
A: Reading + hearing + kirtan, capped at target for OR profiles (kids/default/ashraya). - Q: Why is the overview ring 50% when I logged reading + hearing?
A: Progress sums reading + hearing + kirtan; for OR targets it caps at the daily target. Log enough minutes to reach the cap. - Q: Seva list source?
A: From Supabase `seva_services` (active, ordered); falls back to defaults if fetch fails. - Q: How is overall progress calculated?
A: Average of rounds, association, and seva progress. - Q: Can I switch profiles?
A: Yes; the dropdown selects primary or dependents. - Q: Why no calendar events?
A: If fetch fails, a fallback calendar is shown; mounted checks prevent errors on navigation. - Q: How are notifications scheduled?
A: Daily reminders and calendar alerts via NotificationService; rescheduled on init.
Seva Breakdown
- Q: Where do seva types come from?
A: Supabase `seva_services` table; ordered by sort_order, active only. - Q: What if the fetch fails?
A: Defaults (cooking, cleaning, etc.) are used. - Q: Can I edit hours per seva?
A: Yes, in the breakdown sheet; totals roll into daily service hours. - Q: Are seva hours per day or month?
A: Progress uses a daily equivalent (monthly target / 30). - Q: Is there a cap?
A: Progress is clamped to the target for scoring. - Q: How are changes saved?
A: Saved with daily tracking for the selected profile. - Q: Can I add new seva types?
A: Add to `seva_services` in Supabase (code, name, sort_order, active). - Q: Does seva affect notifications?
A: No; it affects progress and statistics. - Q: Do dependents share the same seva list?
A: Yes, list is global; hours tracked per profile. - Q: Why reset to zero?
A: Daily entries reset on date change; weekly stats sum saved days.
MFA / TOTP
- Q: How to set up TOTP?
A: Settings → Set up TOTP → scan QR or use link/key → enter code → verify. - Q: On mobile, how to use the QR?
A: Copy/share the TOTP link or key into your authenticator app. - Q: Which apps support the link?
A: Google/Microsoft Authenticator, 1Password, Duo, Authy (or paste key). - Q: Conflict error when re-enrolling?
A: The app removes unverified factors before enrolling and uses unique names; conflicts show a clear message. - Q: Missing share plugin?
A: Rebuild the app after adding `share_plus` and use the Share link button. - Q: Share origin error on iPad?
A: We pass sharePositionOrigin from the button to anchor the sheet. - Q: Can I disable MFA?
A: Yes, use “Disable MFA” to unenroll the factor. - Q: What if I lose my device?
A: Disable MFA via support or another logged-in session, then re-enroll. - Q: Does TOTP affect other logins?
A: Yes, MFA required for that account until disabled. - Q: Are TOTP secrets stored?
A: Supabase stores factors; the app surfaces the URI/secret only during setup.
Error Handling & Safety
- Q: Why “setState after dispose”?
A: Mounted checks added for async loads (calendar/seva) to avoid this when navigating away. - Q: Calendar not loading?
A: Fallback sample calendar is shown; errors logged. - Q: Supabase unavailable?
A: Defaults are used (seva list, calendar); save attempts may fail silently. - Q: Phone formatting issues?
A: Type “+” to override; auto-prefix stops when you use your own code. - Q: University selection help?
A: Hint in the sheet directs to “Other” for missing entries. - Q: MFA errors?
A: SnackBars show details; conflicts instruct to verify/disable prior setup. - Q: Missing mentor?
A: Mentor is required; list fetched from Supabase (active only). - Q: Child consent missing?
A: Under-13 requires consent; dialog prevents continuation. - Q: Progress not updating?
A: Ensure correct profile selected; entries save per-profile per day. - Q: How to report issues?
A: Use the Support screen or email info@ihf-njny.org.