36 Commits

Author SHA1 Message Date
DocNR
9ad50956f8 fix: improve authentication state persistence with Zustand
- 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
2025-04-05 23:47:12 -04:00
DocNR
c441c5afa5 feat(profile): Improve profile loading performance with tiered display system
- 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.
2025-04-04 22:43:03 -04:00
DocNR
e6f1677d2c fix(android): prevent profile screen hanging with timeout and fallbacks
- 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
2025-04-04 18:00:20 -04:00
DocNR
c64ca8bf19 fix: profile stats loading and display issues on iOS and Android
- 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.
2025-04-04 15:46:31 -04:00
DocNR
4b8193fef8 Add React Query integration plan and documentation 2025-04-03 22:21:56 -04:00
DocNR
ff8851bd04 feat(auth): implement auth system core infrastructure (Phase 1)
- 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
2025-04-02 23:40:54 -04:00
DocNR
969163313a fix(auth): Improve authentication state handling and avatar display
* 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.
2025-04-02 21:11:25 -04:00
DocNR
8e68fcf60f Fix Android Amber signer integration and cleanup repo structure
- Added Amber external signer integration for secure private key management on Android

- Fixed authentication issues and NIP-55 protocol implementation

- Added comprehensive documentation in amber-integration-fixes.md

- Moved android_backup to external location to keep repo clean

- Updated .gitignore to exclude APK files
2025-04-01 00:03:41 -04:00
DocNR
aad1b875a3 Android NIP-55 Amber integration and nsec key handling fixes 2025-03-29 17:47:10 -07:00
DocNR
89504f48e8 feat(deployment): prepare app for iOS TestFlight submission
- 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).
2025-03-28 21:22:20 -07:00
DocNR
3f2ababe4f nostr.band integration for follow/following count 2025-03-28 10:18:44 -07:00
DocNR
08bb9884bc fixed infinite loop in local/all workout toggle in history view 2025-03-28 07:24:09 -07:00
DocNR
e81012841f Merge branch 'stable-with-docs' 2025-03-26 20:03:16 -07:00
DocNR
22dcf81828 Restore documentation changes while maintaining stable codebase 2025-03-26 20:02:53 -07:00
DocNR
4e5ca9fcaf Fix Following feed transaction conflicts and improve error handling
- 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
2025-03-24 21:43:30 -04:00
DocNR
2316a93dc2 social feed wip, still having loading issues with following feed 2025-03-24 15:55:58 -04:00
DocNR
9043179643 Add NDK Mobile Cache Integration Plan and enhance offline functionality 2025-03-23 15:53:34 -04:00
DocNR
e4aa59a07e Add Profile Tab enhancements and Terms of Service modal 2025-03-22 23:21:26 -04:00
DocNR
6a8589662d updated documentation 2025-03-22 19:27:24 -04:00
DocNR
58194c0eb3 restructure and optimization of social tab 2025-03-21 22:21:45 -04:00
DocNR
a3e9dc36d8 POWR Pack feature WIP - basic functionality, need to associate exercise events with workout template events. 2025-03-13 14:02:36 -04:00
DocNR
ea5dde32f4 android ui bugs 2025-03-12 22:35:41 -04:00
DocNR
43d6d7d12b added k tag for social kind 1 quote posts of workout events 2025-03-12 11:42:14 -04:00
DocNR
25d40b3a12 workout completion flow WIP 2025-03-07 10:09:55 -05:00
DocNR
98a5b9ed09 add exercise to active workout and bug fixes 2025-03-05 14:37:38 -05:00
DocNR
173e4e31e4 update to nostr exercise nip and minor UI 2025-03-02 13:23:28 -05:00
DocNR
dca4ef5b33 nip update and WIP social tab 2025-03-01 13:43:42 -05:00
DocNR
0d460e8f3e fixed ui for template social feed 2025-02-27 00:13:44 -05:00
DocNR
05d3c02523 nostr login and initial settings component, workout template details component 2025-02-22 01:16:33 -05:00
DocNR
4ee041483f doc and planning update 2025-02-20 22:43:31 -05:00
DocNR
f26a59f569 Library tab MVP finished 2025-02-19 21:39:47 -05:00
DocNR
083367e872 update to exercise tab UI 2025-02-18 12:15:19 -05:00
DocNR
7d07beb7d6 design doc update 2025-02-15 14:10:51 -05:00
DocNR
96925999df db doc update 2025-02-11 16:23:23 -05:00
DocNR
c771af1b08 documentation update 2025-02-11 10:38:17 -05:00
DocNR
87cdf3fc1c Initial commit of new POWR version 2025-02-09 20:38:38 -05:00