Claude/edit person bio view kq js x#42
Merged
Merged
Conversation
signInWithGoogle/Facebook now check isSupabaseAvailable() before loading oauthHelpers.ts (which requires expo-crypto). In Expo Go, returns a user-friendly error message instead of a native module crash. https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Social sharing:
- shareStreak(): "I'm on a X-day reading streak..."
- shareProgress(): "I've studied X% of the Bible..."
- StreakBadge now tappable → share streak via OS share sheet
- Progress card gets share icon button
- Analytics events: share_streak, share_progress
Deep linking (scripture:// URL scheme):
- scripture://book/{bookId}/{chapterNum} → opens chapter
- scripture://people/{personId} → opens genealogy tree
- scripture://map, scripture://timeline → explore tools
- NavigationContainer linking config in App.tsx
- Shared verse messages include deep link URL
https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Shows Old Testament and New Testament reading progress below the overall progress card. Each bar shows chapters read / total with percentage. Only appears for testaments where the user has started. - getTestamentProgress() in db/user.ts: groups reading_progress by OT/NT book IDs, returns chapters read vs total for each - HomeScreen: loads testament progress on focus, renders compact progress bars with gold fill https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Adding accessibility annotations to browse/detail screens. https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Panels: DiscoursePanel, EchoesView, PeoplePanel, PlacesPanel, TabbedPanelRenderer, TextualPanel, TimelinePanel Tree: PersonSearchBar Map: StoryPicker Screens: ConceptBrowse/Detail, WordStudyDetail, ProphecyDetail, DifficultPassagesBrowse/Detail, ScholarBio, Search, BookList, AllNotes Components: InterlinearSheet, CollectionPicker, ScholarInfoSheet, AuthorshipSheet, WordStudyPopup, CrossRefPopup, QnavOverlay All interactive elements (TouchableOpacity/Pressable) now have accessibilityRole + descriptive accessibilityLabel. Tab controls include accessibilityState for selected state. https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
- useTTS: accepts optional voiceId, passes to Speech.speak() - useAvailableVoices: lists device's English TTS voices - settingsStore: ttsVoice preference (persisted to SQLite) - ChapterScreen: passes ttsVoice from settings to useTTS - Added debug logging to diagnose TTS not playing https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Speech.stop() triggers onDone on some platforms, which caused the hook to auto-advance to the next verse even when paused. Added a stoppedManually ref flag — onDone only advances when the speech completed naturally, not when we explicitly stopped it. Also fixes: pause → play now restarts the current verse instead of silently skipping it. https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
expo-speech uses the iOS ringtone/phone-call audio channel, which is silenced by the hardware mute switch — even though music/video plays fine. Added expo-av to set playsInSilentModeIOS=true before speaking, which routes TTS through the media channel instead. Now TTS plays regardless of the mute switch position, matching user expectation (they tapped play, they want to hear it). https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
New section "TEXT-TO-SPEECH" in Settings lets users choose from all English voices available on their device. Includes hint to download enhanced voices from iOS Accessibility settings. - useAvailableVoices hook: enumerates system English voices via expo-speech - VoicePicker component in SettingsScreen: expandable list, persists selection - settingsStore: ttsVoice preference (persisted, hydrated on startup) - ChapterScreen: passes selected voice to useTTS hook iOS ships with dozens of voices (Samantha, Daniel, Aaron, etc.). Enhanced/premium voices can be downloaded free in Settings > Accessibility > Spoken Content > Voices > English. https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
Recommended voices (Nathan, Daniel, Samantha, Aaron Enhanced) sort to the top of the voice list with a RECOMMENDED badge. Helps users find the best voices for scripture reading without scrolling. https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
- LoginScreen: 7 tests (rendering, social buttons, inputs, links) - SignUpScreen: 5 tests (rendering, fields, social buttons, links) - ForgotPasswordScreen: 6 tests (rendering, input, button, links) - supabase.ts: 4 tests (isSupabaseAvailable, getSupabase when unconfigured) https://claude.ai/code/session_01A4HcModKHZYEAerBS28rzr
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Test Results✅ All tests passed
Coverage
⏱️ Duration: 46.4s |
This was referenced Apr 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.