-
Notifications
You must be signed in to change notification settings - Fork 2
Feature/optional wallet configuration #62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
f7f376a1fcd0d0e11a10ed1b6577c9
merged 18 commits into
main
from
feature/optional-wallet-configuration
Jul 17, 2025
Merged
Feature/optional wallet configuration #62
f7f376a1fcd0d0e11a10ed1b6577c9
merged 18 commits into
main
from
feature/optional-wallet-configuration
Jul 17, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Route all wallet operations through /api/wallet-proxy/* instead of direct wallet communication - Remove REACT_APP_WALLET_BASE_URL requirement from configuration - Update authentication, health checks, transaction size calculation, and transaction creation endpoints - Simplify deployment by eliminating wallet URL configuration - Maintain same request/response formats for seamless backend integration - Remove conditional wallet availability checks since wallet is always available through API - Update documentation to reflect simplified configuration requirements
- Add panel JWT token authentication to all wallet proxy requests - Fix 401 errors by using readToken() to get panel authentication - Update challenge, verify, health check, and transaction endpoints - Ensure proper authentication flow: panel login -> wallet operations - Prevent circular dependency in authentication process
- Remove panel JWT requirement from /challenge and /verify endpoints - These endpoints are publicly accessible as part of wallet auth flow - Keep panel JWT authentication for protected endpoints (health, tx-size, transaction) - Resolve 401 errors on wallet authentication initiation
…management - Remove REACT_APP_OWN_RELAY_URL requirement from config and environment - Simplify NDK configuration to use default relay URLs only - Add automatic relay icon management with domain-aware default logo - Relay icon now defaults to logo-dark-192.png served from current domain - Auto-updates icon URL when domain changes (localhost to production) - Remove obsolete blossomUpload.ts (replaced by panel API) - Update documentation to reflect simplified configuration - Add profile API system with caching and default profile pictures - Clean up unused relay URL references across codebase
- Move isValidUrl and isImageUrl functions from deleted blossomUpload.ts to utils.ts - Update IconUpload component to import from utils instead of blossomUpload - Resolves compile error about missing blossomUpload module
- Add console logs to track when relay icon should be auto-updated - Debug why empty relayicon field is not triggering backend update - Logs will show settings state, expected icon URL, and update flow
- Replace direct URL setting with automatic upload via /api/relay/icon endpoint - Automatically upload default bee logo when relayicon field is empty - Detect domain changes (localhost to production) and re-upload icon - Remove infinite loop caused by backend not persisting URL strings - Add proper error handling and user feedback messages - Use existing panel API infrastructure for consistent behavior
- Remove NDK initialization since login uses window.nostr directly - Remove external relay URLs (relay.damus.io, relay.snort.social, etc.) - Profile API uses panel API instead of direct relay connections - Eliminates WebSocket connection errors to external relays - Simplifies app startup and reduces external dependencies - All Nostr operations now go through panel API or browser extension
- Add formatDate function to handle 0001-01-01T00:00:00Z (Go zero time) - Display 'Not available' for zero time values instead of raw timestamp - Format valid dates as readable format (e.g., 'January 15, 2024') - Update subscription status logic to ignore zero time values - Prevents confusing display of ancient dates from backend
- Add back global Window interface declaration for nostr property - Defines window.nostr as optional NostrProvider type - Fixes TypeScript compilation error in LoginForm and other components - Required after removing NDK which previously provided these types
- Remove REACT_APP_OWN_RELAY_URL from .env.production, .env.development, and .env.production.example - Remove REACT_APP_NOSTR_RELAY_URLS references from all environment files - Update comments to reflect that Nostr operations now use panel API - Simplifies environment configuration after removing direct relay connections
- Remove REACT_APP_NOSTR_RELAY_URLS from development and production examples - Update configuration comments to reflect panel API usage - Remove relay URLs from manual override section - Complete cleanup of obsolete relay configuration documentation
- Change routing: root (/) now serves panel service (port 9002) - Move relay service to /relay path (port 9001) - Keep wallet service at /wallet path (port 9003) - Maintain WebSocket support for relay service at new path - Panel (frontend + API) is now the main entry point for the domain
- Configure webpack to split chunks with 1MB max size limit - Separate vendor chunks from node_modules for better caching - Create common chunks for code shared across modules - Prevents large JavaScript files that cause truncation through ngrok - Improves reliability of asset delivery through tunnels - Resolves 'Unexpected end of input' JavaScript errors
- Replace Blossom upload with direct static file URL (/{origin}/logo-dark-192.png)
- Remove complex upload logic that was causing 500 errors
- Auto-detect domain changes (localhost to production) and update icon URL
- Simplify icon management - no server-side upload needed for default icon
- Fix malformed Blossom URLs that were causing ERR_NAME_NOT_RESOLVED
- Users can still upload custom icons via IconUpload component if needed
…aths - Update nginx configuration to use regex matching for relay location - Add rewrite rule to strip /relay prefix before forwarding to relay service - Handle WebSocket connections for both URL formats that clients might use - Update README with complete working nginx configuration example - Update fixed_nginx_config.conf with tested configuration for reference
- Replace existing logo-dark-192.png and logo-dark-512.png with new design - Update both public and src/assets folders with new logo files - Maintain consistent branding across panel interface
f7f376a1fcd0d0e11a10ed1b6577c9
approved these changes
Jul 17, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Migrate wallet operations to use panel API proxy routes, remove legacy relay URL configuration, implement automatic default icon
management, and add support for new Nostr event kinds.
Key Changes
/api/wallet-proxy/*instead of direct walletcommunication
Technical Details
window.nostrdirectly, profile API uses panel APIBreaking Changes
REACT_APP_OWN_RELAY_URLenvironment variable requirementREACT_APP_WALLET_BASE_URLenvironment variable requirement/api/wallet-proxy/*endpoints instead of direct wallet URLs