- Standardize secure storage keys across auth systems
- Fix inconsistent key naming in NDK store and auth providers
- Implement proper credential migration between storage systems
- Enhance error handling during credential restoration
- Fix private key authentication not persisting across app restarts
- Add detailed logging for auth initialization sequence
- Improve overall authentication stability with better state management
- Add ultra-early content display after just 500ms with ANY data available
- Implement progressive content loading with three-tier timeout system
- Reduce timeouts from 5s to 4s on Android and 4s to 3s on iOS
- Enhance render state logic to prioritize partial content display
- Improve parallel data loading for all profile elements
- Add multiple fallback timers to ensure content always displays
- Update CHANGELOG.md with detailed performance improvements
This commit dramatically improves perceived performance by showing content
as soon as it becomes available rather than waiting for complete data load.
- Adds 5-second timeout for Android API calls to NostrBand with AbortController
- Implements platform-specific settings for React Query with longer caches on Android
- Creates error recovery with fallback values instead of empty UI states
- Fixes memory leaks with proper component mount tracking via useRef
- Adds Android-specific safety timeouts to force-refresh unresponsive screens
- Prevents hook ordering issues with consistent hook calling patterns
- Enhances error handling with dedicated error boundaries and recovery UI
- Adds comprehensive documentation for the Android profile optimizations
- Enhanced NostrBandService with aggressive cache-busting and better error handling
- Improved useProfileStats hook with optimized refresh settings and platform-specific logging
- Fixed ProfileFollowerStats UI to show actual values with loading indicators
- Added visual feedback during refresh operations
- Updated CHANGELOG.md to document these improvements
This resolves the issue where follower/following counts were not updating properly
on Android and iOS platforms.
- Add state machine for authentication state management
- Add signing queue for background processing
- Add auth service for centralized authentication logic
- Add React context provider for components
- Keep feature flag disabled for now
* 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.