Skip to content

DRAFT PR: Web Implementation, EAS developer update, and Error Handling - #10

Open
BenGWeeks wants to merge 15 commits into
DocNR:mainfrom
BenGWeeks:eas-branch
Open

DRAFT PR: Web Implementation, EAS developer update, and Error Handling#10
BenGWeeks wants to merge 15 commits into
DocNR:mainfrom
BenGWeeks:eas-branch

Conversation

@BenGWeeks

@BenGWeeks BenGWeeks commented May 19, 2025

Copy link
Copy Markdown

Cross-Platform Enhancements and Error Handling

The objective was to get the application up and running for multiple developers so they could easily get POWR up and running locally for development.

This is a draft PR, and I shall re-factor somewhat and go through other pages so they load in the browser as well. Also needs further testing across multiple devices (Web/iOS/Android).

This pull request enhances the application with cross-platform capabilities, improved error handling, and EAS configuration for better developer collaboration.

EAS Configuration for Multiple Developers

  • Updated EAS configuration to facilitate collaboration among multiple developers
  • Added branch-specific build profiles for team development workflows
  • Configured shared development environment settings for consistent testing
  • Implemented profile-based environment variable handling for different scenarios
  • Documented EAS workflow

Cross-Platform Storage and Database Implementation

Web-Friendly SQLite Solution

  • Implemented a lightweight in-memory database with sessionStorage persistence
  • Maintained compatibility with the SQLiteDatabase API for consistent usage across platforms

Cross-Platform Authentication Support

  • Exported unified SecureStore implementation from secureStorage.ts
  • Updated AuthService.ts to use platform-aware storage adaptors
  • Modified AuthProvider.tsx to leverage the shared SecureStore implementation
  • Added missing methods to NDKAmberSigner to properly implement the NDKSigner interface
  • Implemented browser localStorage fallback for web environments

Custom Error Page Implementation

  • Created branded error pages with consistent application look-and-feel
  • Styled error components with application-specific typography and color scheme
  • Added visual components to make error pages more user-friendly and less jarring
  • Ensured error UI matches the overall application design language for seamless experience
  • Applied responsive design principles for proper display on various screen sizes

image

BenGWeeks added 15 commits May 17, 2025 13:33
- Refactored NDK store to properly handle web platform initialization
- Fixed DatabaseProvider service initialization with correct parameters
- Updated ProfileImageCache with platform-aware implementations
- Added robust error handling for web fallbacks
- Improved secureStorage implementation for cross-platform support
- Updated BannerImageCache to use platform-agnostic fileSystem adapter
- Fixed ConnectivityService to handle database operations on web
- Enhanced error handling for FileSystemAdapter in web environments
- Improved error handling for cache directory creation
- Export cross-platform SecureStore implementation from secureStorage.ts
- Fix AuthService.ts to use platform-aware storage adaptors
- Update AuthProvider.tsx to use shared SecureStore implementation
- Add missing methods to NDKAmberSigner to implement NDKSigner interface
- Handle browser localStorage fallback for web environments
…e. Replace mock database implementation with a lightweight in-memory database that maintains the SQLiteDatabase API.
@BenGWeeks BenGWeeks changed the title DRAFT PR: Cross-Platform Enhancements and Error Handling DRAFT PR: Web Implementation, EAS developer update, and Error Handling May 19, 2025
@DocNR
DocNR marked this pull request as ready for review May 22, 2025 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant