-
Notifications
You must be signed in to change notification settings - Fork 2
Release v2.1.12: Dev Debug Mode, Settings Enhancements, Font System, and Performance Improvements #52
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
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
- Custom Font System: Added Inter and JetBrains Mono fonts with comprehensive font system - Inter font family for UI text (Regular, Medium, SemiBold weights) - JetBrains Mono font family for technical content (Regular, Medium, Bold weights) - New font system with proper font family mappings and weight-to-family conversion - Font comparison and verification components for testing - Automated font download scripts and documentation - Enhanced typography consistency across all screens and components - Mempool Privacy Configuration: New user preference screen for enhanced privacy - Custom mempool.space API endpoint configuration during wallet setup - Privacy-focused feature to reduce third-party tracking of Bitcoin addresses - API endpoint validation with automatic URL normalization - Settings integration for changing API endpoint after wallet creation - Comprehensive Icon Asset Library: Added 50+ new icon assets - Icons for settings, actions, network status, and wallet features - Theme-aware icon support with inverted variants for dark mode - Consistent icon styling across all screens and components - Typography System Refactoring: Complete font system overhaul - Migrated from system fonts to custom Inter and JetBrains Mono fonts - New theme/fonts.ts module with font utilities and mappings - All components updated to use new font system - Code Cleanup: Removed unused contexts and components - Removed unused NetworkContext, UserContext, WalletContext files - Cleaned up unused components and utilities - Updated CHANGELOG.md for v2.1.12 release
- Wrap StyleSheet.create in useMemo with theme dependency - Fixes issue where sections didn't update correctly when switching between OS Default, Light, or Dark mode - All sections now properly re-render with correct theme colors when theme mode changes
- Add themeUpdateKey state that increments when theme changes - Use useEffect to watch theme.colors.background and themeMode - Apply key to SafeAreaView and ScrollView to force complete re-render - Fixes Android-specific issue where sections didn't update correctly when switching between OS Default, Light, or Dark mode - iOS already worked correctly, this ensures Android behaves the same
- WalletSettings theme switching: Force re-render on Android when theme changes - Wrap styles in useMemo with theme dependency for reactive updates - Add themeUpdateKey state to force complete re-render on Android - Fixes issue where sections didn't update correctly when switching themes - SendBitcoinModal: Fix derivation path computation for non-Nostr keyshares - Compute derivation path inline if currentDerivationPath is empty - Prevents 'Derivation path is required' error when sending Bitcoin - Uses getDerivePathForNetwork with proper network and address type - Modal border colors: Fix dark mode visibility for all modals - ShowcaseScreen: Add borders to modalContent and fix header border - TransportModeSelector: Add border to modalContent - MobilesPairing: Add border to modalContent - MobileNostrPairing: Add border to modalContent - All modals now use theme-aware borders (blackOverlay10/whiteOverlay20) - Button colors: Use Bitcoin orange for enabled states - BackupKeyshareModal: Enabled button always uses bitcoinOrange - BackupKeyshareModal: Improved disabled button visibility - SendBitcoinModal: Send button uses bitcoinOrange when enabled - Better visual consistency and dark mode readability
- Remove redundant nil check in btc.go (len() for nil slices is defined as zero) - Make address font size shrink to fit on one line in ReceiveModal
- Add Dev Debug section in WalletSettings (after Storage, before Legal) - Add warning message for advanced developers only - Implement debug logging toggle that reloads app - Fix dbg() function to respect debug logging state - Fix fontVariant 'no-ligatures' error by using fontFeatureSettings - Store original console methods to restore when enabling logging - Note: Timeout issues on Go side were fixed in separate agent session
- Extract color calculations to variables before using in style objects - Use IIFE to scope variables and avoid inline ternary expressions - Resolves ESLint warnings about inline style complexity
- Remove warningBg from theme types and definitions - Use conditional background color in WalletSettings based on theme mode - Keep warningBorder and warningText in theme for consistency
- Add warningBg back to theme types and definitions - Remove hardcoded background colors from WalletSettings - Use theme.colors.warningBg instead of conditional hardcoded values - All warning colors now centralized in theme system
- Add switchTrackFalse, switchTrackTrue, switchThumb, switchIosBackground to theme - Light theme: Light gray track when off, success green when on, white thumb - Dark theme: Dark gray track when off, success green when on, white thumb - Apply theme colors to all Switch components in WalletSettings - Improves visual consistency and accessibility in both themes
- Use disabled color (#cbd5e1 light, #424242 dark) for switchTrackFalse - Use success color (#34C759) for switchTrackTrue (already matched) - Use white color (#fff light, #FFFFFF dark) for switchThumb (already matched) - Use disabled color for switchIosBackground - All Switch colors now use values from existing theme palette for consistency
kar1timmins
approved these changes
Jan 25, 2026
Contributor
kar1timmins
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
- Fix PSBT co-sign button color in dark mode (use bitcoinOrange for better visibility) - Fix PSBT details scrolling on Android (enable nestedScrollEnabled and increase maxHeight) - Update PSBT details text colors to bitcoinOrange in dark mode for better visibility - Add network parameter to route params for PSBT signing (for consistency, network is read from app state) - Fix missing useEffect import in SignedPSBTModal
- Fix co-signing timeout by ensuring all npubs are fully converted before enabling button - Prevents session ID mismatch between Android and iOS devices - Improve Final Step section UI: remove card wrapper, better spacing - Move checkbox and button to appropriate sections - Update participant device information display and typography
- Restore LocalStateNostr type definition that was accidentally deleted - Fix concurrent map access issues with mutex protection - Fix potential deadlock in RunRelay by unlocking before calling StopRelay - Add mutex protection for hookListener, goLogListener, and server variable - Format code with gofmt
- Add Dev Debug Mode (advanced) accessible via build number clicks - Add wallet balance formatting option in settings - Enhance Dev Debug section UI with card layout and status indicators - Improve build number badge with progress tracking and toasts - Update CHANGELOG with v2.1.13 features: * Font normalizations (iOS and Android) * Settings: wallet balances formatting option * Settings: Dev Debug Mode (advanced) * Nostr Pairing UI Flow simplification * Enhanced Device Keyshare Modal info optimization * Better Network handling with background retries * React Native performance optimization and refactoring * Nostr/TSS performance and stability enhancements
…ling - Fix network routing when scanning QR codes with Nostr transport - Normalize network format (testnet -> testnet3) before passing to BBMTLib - Update LocalCache 'api' key to use correct network API - Temporarily update WalletService internal state for getWalletBalance calls - Ensures both devices use network from QR code regardless of their current network - Fixes timeout issues when devices are on different networks - Fix Android exit button border styling - Use thinner border (0.5px) on Android to prevent distortion - Remove elevation on Android to prevent border rendering issues - Update informationCard border styling in MobileNostrPairing for consistency - Apply fixes to both MobilesPairing and MobileNostrPairing screens
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.
🚀 Release v2.1.12
This release includes significant enhancements to developer tools, settings, typography, and overall app performance and stability.
✨ New Features
Settings Enhancements
Dev Debug Mode (Advanced): Hidden developer section accessible via build number (7 clicks on Android)
Wallet Balance Formatting Option: New user preference for balance display formatting
Typography & Design
Custom Font System: Professional typography with Inter and JetBrains Mono fonts
Font Normalizations (iOS and Android): Enhanced cross-platform font consistency
Privacy & Configuration
Mempool Privacy Configuration: New user preference screen for enhanced privacy
Comprehensive Icon Asset Library: Added 50+ new icon assets for improved UI consistency
🔄 Improvements
Typography System Refactoring: Complete font system overhaul
theme/fonts.tsmodule with font utilities and mappingsNostr Pairing UI Flow Simplification: Streamlined device pairing experience
Enhanced Device Keyshare Modal Info Optimization: Improved keyshare information display
Better Network Handling: Improved network error management
React Native Performance Optimization and Refactoring: Enhanced app performance
Nostr/TSS Performance and Stability Enhancements: Improved reliability
🐛 Fixes
Font Consistency Issues: Fixed inconsistent font rendering across platforms
Code Cleanup: Removed unused code and contexts
Co-Signing Timeout Fix: Fixed transaction co-signing timeout issues
Final Step UI Improvements: Enhanced Final Step section UI and layout
Dev Debug Section UI/UX: Enhanced developer tools interface
🔧 Technical Details
Font System: New
theme/fonts.tsmodule with comprehensive font utilitiesFont Assets: Added font files for both iOS and Android
User Preference Screen: New screen component for privacy configuration
Dev Debug Implementation: New developer tools section in WalletSettings
Performance Improvements: Multiple optimization passes
Asset Management: 50+ new icon assets added
Files Changed: 144+ files changed with significant additions and improvements
Components Updated: All major components updated for new font system and enhancements
Screens Updated: All screens updated with font improvements, privacy features, and performance optimizations
Build System: Updated iOS Xcode project and Android build configuration for font assets
Native Libraries: Updated TSS framework binaries for iOS and Android
See CHANGELOG.md for complete details.