64 Commits

Author SHA1 Message Date
Sergei
dde0ecb9cd Add Julia AI voice agent with LiveKit integration
Voice AI Features:
- LiveKit Agents integration for real-time voice calls
- Julia AI agent (Python) deployed to LiveKit Cloud
- Token server for authentication
- Debug screen with voice call testing
- Voice call screen with full-screen UI

Agent Configuration:
- STT: Deepgram Nova-2
- LLM: OpenAI GPT-4o
- TTS: Deepgram Aura Asteria (female voice)
- Turn Detection: LiveKit Multilingual Model
- VAD: Silero
- Noise Cancellation: LiveKit BVC

Files added:
- julia-agent/ - Complete agent code and token server
- app/voice-call.tsx - Full-screen voice call UI
- services/livekitService.ts - LiveKit client service
- contexts/VoiceTranscriptContext.tsx - Transcript state
- polyfills/livekit-globals.ts - WebRTC polyfills

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-17 17:58:31 -08:00
Sergei
a2eb4e6882 Fix iOS audio and transcript streaming
- Add AVAudioSession configuration via @livekit/react-native
- Configure playAndRecord, defaultToSpeaker, voiceChat for iOS
- Fix transcript spam: update existing message until isFinal
- Remove unused Sherpa TTS service
- Add simulator build profile to eas.json
2026-01-16 13:56:29 -08:00
Sergei
c1380b55dd Add unified assistant with Ultravox voice AI
Chat screen now supports both:
- Text messaging (keyboard input)
- High-quality Ultravox voice calls (WebRTC)

Features:
- Voice call button in input bar (phone icon)
- Green status bar when call is active
- Transcripts from voice calls appear in chat history
- Voice badge on messages from voice conversation
- Mute button during calls
- Auto-end call when leaving screen

Background audio configured for iOS (audio, voip modes)
2026-01-16 12:20:17 -08:00
Sergei
da2c4bebc9 Integrate voice chat with TTS and speech recognition
App screens:
- chat.tsx: Voice-enabled chat with TTS responses
- debug.tsx: TTS debugging and testing screen
- index.tsx: Updated home with voice indicators
- _layout.tsx: Added TTS and error boundaries

Config:
- app.json: Microphone permissions for voice input
- package.json: Added Sherpa ONNX dependencies
- constants/theme.ts: Voice UI colors

Features:
- Voice input via speech recognition
- TTS voice output for chat responses
- Real-time voice activity indication
- Debug screen for TTS testing
- Error boundaries for stability

User experience:
- Hands-free chat interaction
- Visual feedback during voice processing
- Graceful error handling
2026-01-14 19:09:50 -08:00
Sergei
b5eef6760c Add WellNuo logo to Dashboard header
Replaced "Dashboard" text with app logo image in header:
- Import Image component from react-native
- Replace Text with Image (icon.png) in both header states
- Add logo style: 36x36px with horizontal margins
- Remove unused headerTitle and headerTitleWithBack styles
- Refresh button now uses marginLeft: 'auto' for proper spacing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-12 12:09:13 -08:00
Sergei
5fc7586f09 Revert Account Deletion feature - B2B model exception
Removed in-app account deletion implementation.

Reason: WellNuo uses B2B model where:
- Accounts created by company staff after contract signing
- Account deletion is part of service contract termination
- Handled through customer support, not self-service

Updated APPLE_REVIEW_RESPONSE.md with B2B exception explanation
for Apple Guidelines 5.1.1(v) and 3.1.1.
2026-01-12 12:01:23 -08:00
Sergei
cddc766a34 Remove 'Dashboard' text from header
User requested to remove duplicate 'Dashboard' text from header
since the WebView already displays its own dashboard header.
2026-01-12 11:56:41 -08:00
Sergei
7205c2ad1e Fix Apple Review issues: Login cleanup + Account Deletion
Apple App Store Review - Submission ID: 0992528e-4ce9-4167-9a1b-07f4334a8055

Fix #2: Login Screen Cleanup (Guideline 2.1)
- Removed non-functional "Create Account" button
- Removed "Forgot Password" button (not needed)
- Added actual logo image instead of text
- Streamlined login screen to focus on core functionality

Fix #3: Account Deletion Feature (Guideline 5.1.1(v))
- Added "Delete Account" button to Profile screen
- Implemented confirmation dialog with clear warning
- API integration: deleteAccount() method in api.ts
- Automatically logs out and clears data after deletion
- Redirects to login screen after successful deletion

Updated APPLE_REVIEW_RESPONSE.md with full documentation.
2026-01-12 11:55:31 -08:00
Sergei
e4a70ef8c1 Fix: Add back button to Chat screen for App Store review
Apple Review Issue: Guideline 4.0 - Design
- Added back button in Chat screen header for iOS navigation
- Button navigates to Dashboard screen
- Includes proper touch target sizing (hitSlop) for accessibility

Technical changes:
- Added useRouter hook from expo-router
- Implemented TouchableOpacity with arrow-back icon
- Styled with consistent padding and app color scheme

Also added:
- APPLE_REVIEW_RESPONSE.md to track all review fixes

Submission ID: 0992528e-4ce9-4167-9a1b-07f4334a8055
2026-01-12 11:51:28 -08:00
Sergei
8c0be34f65 Fix WebView session expiration with auto-refresh token
- Add refreshToken() method to automatically refresh expired tokens
- Add isTokenExpiringSoon() to check if token expires within 1 hour
- Store password in SecureStore for auto-refresh capability
- Add periodic token check every 30 minutes in WebView
- Intercept WebView navigation to login pages and refresh instead
- Re-inject fresh token into WebView localStorage after refresh
- Add metro.config.js to fix Metro bundler path resolution

This prevents the app from showing web login page when session expires.
2026-01-07 12:11:13 -08:00
Sergei
5e550f0f2b WellNuo Lite - готово для модерации Apple
- Добавлены страницы Privacy Policy и Terms of Service
- Обновлён chat и profile
- Конфигурация для App Store submission
2025-12-26 19:17:32 -08:00
Sergei
84c17f68f7 Restore context fetching with parallel requests
- Fetch activity + dashboard context in parallel
- Context embedded in question for better AI responses

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-24 18:13:34 -08:00
Sergei
6e6b6b6c5f Fix chat and profile issues
- Terms of Service / Privacy Policy now open in browser
- Auto-select first beneficiary on chat load
- Allow typing while waiting for AI response
- Optimize AI response speed (removed pre-fetch)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-24 17:59:09 -08:00
Sergei
8bc9649146 WellNuo Lite v1.0.0 - simplified version for App Store review
- Removed voice input features
- Simplified profile page (only legal links and logout)
- Chat with AI context working
- Auto-select first beneficiary
- Dashboard WebView intact

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-24 17:13:13 -08:00