* Add style prop to UserAvatar component for better customization
* Refactor UserAvatar to use getAvatarSeed utility for consistent avatar generation
* Fix React hook ordering issues in profile/overview.tsx to prevent crashes during auth state changes
* Add proper state initialization and cleanup during authentication transitions
* Ensure consistent fallback avatar display for unauthenticated users
These changes improve stability during login/logout operations and provide better visual continuity with Robohash avatars when profile images aren't available.
- Update outdated Expo packages to latest compatible versions
- Remove unmaintained expo-random package
- Remove unnecessary @types/react-native package
- Configure eas.json with preview and production profiles for iOS
- Fix updates URL in app.json with correct project ID
- Add /android and /ios to .gitignore to resolve workflow conflict
- Create comprehensive iOS TestFlight submission guide
- Add production flag in theme constants
- Hide development-only Programs tab in production builds
- Remove debug UI and console logs from social feed in production
- Update CHANGELOG.md with TestFlight preparation changes
All checks from expo-doctor now pass (15/15).
- Implemented global transaction lock mechanism in SocialFeedCache
- Updated ContactCacheService to use the transaction lock
- Enhanced Following feed refresh logic with retry mechanism
- Extended transaction lock to WorkoutService
- Updated documentation with transaction lock details
- Cleaned up code and improved error handling