52 Commits

Author SHA1 Message Date
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
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
755e86e30b fix(profile): standardize login experience across profile screens
- Create reusable NostrProfileLogin component for consistent UI across all screens
- Fix profile feed error when not authenticated by conditionally calling useSocialFeed
- Resolve hook ordering inconsistencies to prevent React errors
- Improve feed loading state management during authentication transitions
- Update all profile screens (overview, activity, progress, settings) to use shared component
- Add proper error handling for profile data loading when not authenticated

This change resolves the console error that appeared when accessing the profile tab
while not logged in, while also providing a better user experience through
consistent styling and messaging across all profile screens.
2025-04-01 21:28:50 -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
b5bf32d10f Update RelayInitializer and SocialFeedService to use transaction lock 2025-03-24 21:51:15 -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
329154fc3d fix(templates): preserve exercise IDs during template creation
- Modified NewTemplateSheet to store full exercise objects
- Updated handleAddTemplate to use original exercise IDs
- Fixed type definitions to support enhanced template exercises
2025-03-22 20:14:19 -04:00
DocNR
58194c0eb3 restructure and optimization of social tab 2025-03-21 22:21:45 -04:00
DocNR
24e7f53ac3 fixed favorites refresh and fixed but in powrpacksection that wasn't showing filtered powr packs (directly adding powrpacks by hex id now) 2025-03-18 15:55:00 -04:00
DocNR
c6a9af080c added library store and fixed refresh issues in exercise and template screens in user library 2025-03-17 23:37:08 -04:00
DocNR
6ac0e80e45 splash screen, fixed delete exercises and templates when deleting powr pack bug, ui improvement to import powr pack screen 2025-03-17 20:20:16 -04:00
DocNR
f1411e8568 powr pack bug fixes 2025-03-16 21:31:38 -04:00
DocNR
80bdb87fdc removed mock data! using powr pack to seed library 2025-03-13 23:07:09 -04:00
DocNR
5b706b3894 bug fix to associate exercise and workouts in powr pack 2025-03-13 22:39:28 -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
43df1aeb79 android icon and other bug fixes 2025-03-12 19:23:28 -04:00
DocNR
704fa27950 improved relay system, fixed bugs 2025-03-11 23:59:00 -04:00
DocNR
4cd62cf775 basic relay managment system working 2025-03-09 12:48:24 -04:00
DocNR
07fada6d07 new relay managment system 2025-03-09 11:15:28 -04:00
DocNR
29c4dd1675 feat(database): Add workout and template persistence
Implements database tables and services for workout and template storage:
- Updates schema to version 5 with new workout and template tables
- Adds WorkoutService for CRUD operations on workouts
- Enhances TemplateService for template management
- Creates NostrWorkoutService for bidirectional Nostr event handling
- Implements React hooks for database access
- Connects workout store to database layer for persistence
- Improves offline support with publication queue

This change ensures workouts and templates are properly saved to SQLite
and can be referenced across app sessions, while maintaining Nostr
integration for social sharing.
2025-03-08 15:48:07 -05:00
DocNR
001cb3078d history tab wip, still need to connect db 2025-03-07 23:46:41 -05:00
DocNR
3feb366a78 bug fix workout completion flow 2025-03-07 12:38:21 -05:00
DocNR
25d40b3a12 workout completion flow WIP 2025-03-07 10:09:55 -05:00
DocNR
b61381b865 updated with NDK-mobile library and removed custom nostr functions 2025-03-06 16:34:50 -05:00
DocNR
4eb9d428a2 updated exercise/template UI, publication queue, forking of exercises (templates next) 2025-03-06 09:19:16 -05:00
DocNR
98a5b9ed09 add exercise to active workout and bug fixes 2025-03-05 14:37:38 -05:00
DocNR
8e85ee4704 nostr testing component for publishing workout events 2025-03-03 22:40:11 -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
15c973f333 updated header in tabs and searchbar in library 2025-02-27 20:24:04 -05:00
DocNR
0a0af436c0 updated template details and fixed favoriting workouts 2025-02-26 23:30:00 -05:00
DocNR
b4dc79cc87 added active workout bar 2025-02-25 15:03:45 -05:00
DocNR
665751961e delete exercise tracker 2025-02-24 22:49:51 -05:00
DocNR
17cb416777 workout screen WIP 2025-02-24 22:27:01 -05:00
DocNR
05d3c02523 nostr login and initial settings component, workout template details component 2025-02-22 01:16:33 -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
7fd62bce37 sqlite db implementation with development seeding and mock exercise library and more 2025-02-17 13:40:37 -05:00
DocNR
76433b93e6 update to add new exercise UI and database testing 2025-02-17 11:24:17 -05:00
DocNR
90ea708e9b add new exercises to sqlite db 2025-02-16 23:53:28 -05:00
DocNR
df91cbd9bb basic SQLite db initialized 2025-02-16 22:47:47 -05:00
DocNR
147ea582fc minor ui update 2025-02-15 14:03:42 -05:00
DocNR
8c7db4e778 small UI update to library tab 2025-02-12 12:55:51 -05:00