Previously, if encryption failed for any recipient, the error was only
logged to console and the code continued, resulting in a message being
sent that some recipients couldn't decrypt. This creates a security and
reliability issue.
Changes:
- Collect all failed encryption attempts instead of silently logging
- Throw an error if any recipient encryption fails
- Provide detailed error message listing number of failures
- Implement all-or-nothing approach to prevent partial message delivery
This ensures senders are notified immediately if message encryption
fails for any recipient, preventing silent security failures.
- Updated all Chat component styles (Chat, MessageInput, MessageList, ConversationList)
- Replaced purple/pink gradients with cyan/green gaming theme
- Implemented glassmorphism effects with backdrop blur
- Updated message bubbles with gradient for own messages, dark glass for others
- Changed all light backgrounds to OLED-friendly pure black
- Added cyan glow effects and shadows throughout
- Installed react-router-dom dependency
- Updated Demo.css with full dark theme
- All components now match Astro landing site aesthetic
- Update design tokens with dark gaming theme (OLED-friendly)
- Pure black backgrounds (#000000)
- Cyan primary (#00d9ff) and neon green accent (#00ff88)
- Glassmorphism effects and mobile-specific tokens
- Build complete React Native mobile app screens
- HomeScreen: Chat list with dark cards and status indicators
- MessagesScreen: Chat view with gradient bubbles and typing indicators
- FriendsScreen: Friend list with online/offline sections and game presence
- GamesScreen: GameForge projects with team channels
- ProfileScreen: User profile with .aethex domain display
- AppNavigator: Bottom tab navigation with glow effects
- Create Astro marketing landing site
- Hero section with animated gradients and phone mockup
- Features showcase (6 cards)
- Pricing tiers (Free/Premium/Enterprise)
- Download section for all platforms
- Fully responsive dark theme
Design inspiration: BitChat, Root, Discord Dark, Telegram
Mobile-first approach with 48px touch targets and safe areas
- Fixed db module import path from '../db' to '../database/db'
- Applied to gameforgeIntegration.js and gameforgeRoutes.js
- Server now starts successfully with GameForge routes enabled
- Added IMPLEMENTATION-SUMMARY.md with complete Phase 3 overview